介紹一款神器,YC-PNM-TCP,它能在ModbusTCP和Profinet網(wǎng)關(guān)之間做橋梁。
YC-PNM-TCP是ModbusTCP和Profinet網(wǎng)關(guān),使用數(shù)據(jù)映射方式工作。在ModbusTCP側(cè)作為ModbusTCP從站,接PLC、上位機(jī)、wincc屏等;在Profinet側(cè)做為Profinet主站控制器,接Profinet設(shè)備,如伺服驅(qū)動器。使用場景:ModbusTCPClient通過ModbusTCP控制Profinet接口設(shè)備,Profinet接口設(shè)備接入DCS/工控機(jī)等。ModbusTCP側(cè)支持03H、04H、10H、01H、02H、0FH功能碼,最多支持20個client連接;Profinet側(cè)支持PROFINETV2.4。Profinet最多支持128個從站。
數(shù)據(jù)映射說明
ModbusTCP和Profinet是通過數(shù)據(jù)映射的方式交換數(shù)據(jù)的。用戶需要按照數(shù)據(jù)映射說明操。
PN地址與博圖組態(tài)時的I&Q地址一一對應(yīng)。PN中未被使用的地址無法進(jìn)
行操作,實際使用時必須嚴(yán)格按照組態(tài)時的地址進(jìn)行操作。
使用01H、02H、0FH功能碼數(shù)據(jù)映射說明
上圖為PN地址與ModbusTcp線圈或者離散量地址的映射關(guān)系,線圈或者離散量地址以bit為單位。
使用01H、02H、0FH功能碼讀寫數(shù)據(jù)時,地址和數(shù)據(jù)長度必須是8的整數(shù)倍。如不是8的整數(shù)倍會被強(qiáng)制整除8后再按照相應(yīng)的地址和數(shù)據(jù)長度進(jìn)行讀寫。讀寫的地址也必須合法,在博圖中組態(tài)時被設(shè)備使用,否則會讀寫錯誤。
如需從PN的I(輸入)地址2讀取3個字節(jié)數(shù)據(jù)。則可以使用02H功能碼,設(shè)置起始地址為2*8=16,數(shù)據(jù)長度為3*8=24,進(jìn)行讀取得到PN地址2、3、4的數(shù)據(jù)。
如需從PN的Q(O輸出)地址6寫入5個字節(jié)的數(shù)據(jù),則可以使用0FH功
能碼,設(shè)置起始地址為6*8=48,數(shù)據(jù)長度5*8=40,進(jìn)行數(shù)據(jù)寫入。若此時地址6到地址11中有地址未被使用,會導(dǎo)致寫入失敗。
如需從PN的Q(O輸出)地址讀取數(shù)據(jù)可以使用01H功能碼,操作同02H功能碼。需要注意的是PN的Q(O輸出)地址無法讀取,此時讀取的數(shù)據(jù)是讀取的網(wǎng)關(guān)設(shè)備緩存的數(shù)據(jù)可能會讀取到錯誤數(shù)據(jù),不建議使用此功能。
使用03H、04H、10H功能碼數(shù)據(jù)映射說明
使用03H、04H、10H功能碼讀寫數(shù)據(jù)時,讀寫地址直接對應(yīng)的是PN的實際地址。由于03H、04H、10H功能碼是對寄存器(2個字節(jié))操作,只能操作PN的偶數(shù)個字節(jié),不能進(jìn)行單字節(jié)操作。如從地址0讀1個寄存器,讀取到的是PN地址0和地址1的數(shù)據(jù),如從地址1讀1個寄存器,讀取到的是PN地址
1和地址2的數(shù)據(jù)。
如上圖,從PN的I(輸入)地址2讀取3個寄存器。則可以使用04H功能碼,設(shè)置起始地址為2,數(shù)據(jù)長度為3,進(jìn)行讀取得到PN地址2到7的數(shù)據(jù)。此時若起始地址為3,則是直接從PN的地址3開始讀取。
如上圖,從PN的Q(O輸出)地址6寫入4個寄存器,則可以使用10H功能碼,設(shè)置起始地址為6,數(shù)據(jù)長度4,數(shù)據(jù)會被寫入到PN的地址6到13。若從地址6到地址13中間有地址未被占用,會導(dǎo)致寫入失敗。
如需從PN的Q(O輸出)地址讀取數(shù)據(jù)可以使用03H功能碼,操作同04H功能碼。需要注意的是PN的Q(O輸出)地址無法讀取,此時讀取到的數(shù)據(jù)是網(wǎng)關(guān)設(shè)備緩存的數(shù)據(jù),可能會讀取到錯誤數(shù)據(jù)。不建議使用此功能。
注:10H、0FH都是對PN的Q(O輸出)地址操作,會緩存到相同的地址內(nèi),使用01H、03H讀取的數(shù)據(jù)相同。
應(yīng)用實例
使用ModbusPoll通過網(wǎng)關(guān)控制匯川IS620FS1R6I伺服驅(qū)動器帶動匯川
MS1H1-10B30CB電機(jī)進(jìn)行簡單運行。
先按照3.2使用博圖配置實例,組態(tài)配置IS620F,并將組態(tài)文件導(dǎo)入到網(wǎng)關(guān)。
連接好IS620F和網(wǎng)關(guān)并上電。
從博圖組態(tài)中可以看到IS620F占用PN的I地址0—17,Q地址0—9。
IS620F與網(wǎng)關(guān)正常通信后會顯示44ry,表示網(wǎng)絡(luò)已聯(lián)通、應(yīng)用模式AC4、準(zhǔn)備就緒(具體含義詳見IS620F用戶手冊)。
使用ModbusPoll測試
1、電腦要確保和網(wǎng)關(guān)IP在同一網(wǎng)段,網(wǎng)關(guān)及電腦IP使用DHCP的方式(可
按照IP設(shè)置改為靜態(tài)IP)。
2、打開ModbusPoll,使用ModbusTCP連接網(wǎng)關(guān)502端口。
3、設(shè)置04功能碼從寄存器0開始讀9個寄存器,對應(yīng)PN的I地址0—17。
此時可以讀取到IS620F的狀態(tài),具體含義參考IS620F用戶手冊。
3、設(shè)置16功能碼從寄存器0開始寫5個寄存器,對應(yīng)PN的Q地址0—9。
此時給寄存器0寫入0x047E(STW1控制字)、寄存器1寫入0x2000(NSOLL_B轉(zhuǎn)速設(shè)定值B)。
寄存器0從0x047E修改為0x047F。此時IS620F控制伺服電機(jī)按照設(shè)定轉(zhuǎn)速開始旋轉(zhuǎn),LED顯示由44ry改為44rn。
此時能看到04H功能碼讀到的寄存器0(ZSW1狀態(tài)字)由0x6200變?yōu)?x6700。
這款產(chǎn)品可以應(yīng)用在很多領(lǐng)域,比如能源、制造業(yè)等,快來試試這款神器吧!歡迎點贊收藏
審核編輯:湯梓紅
-
電機(jī)
+關(guān)注
關(guān)注
142文章
8933瀏覽量
145105 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4307瀏覽量
50951 -
Profinet
+關(guān)注
關(guān)注
6文章
1067瀏覽量
23328 -
ModbusTCP
+關(guān)注
關(guān)注
0文章
107瀏覽量
4373
發(fā)布評論請先 登錄
相關(guān)推薦
評論