上期說(shuō)到仿真PID,這次來(lái)說(shuō)說(shuō)仿真Modbus_TCP。
使用方式請(qǐng)參見這一期文章
-
創(chuàng)建兩個(gè)PLC,一個(gè)為Client,客戶端。一個(gè)為Server,服務(wù)器。如圖一。
圖一
此處為了方便記憶,取1511的IP地址為192.168.0.11。取1513的IP地址為192.168.0.13
-
打開PLCSIM Advanced,創(chuàng)建兩個(gè)PLC。如圖二。
圖二
-
Client端程序編寫
3.1_首先回到Client PLC中,在OB1中,拖入兩個(gè)Modbus_TCP的塊,并創(chuàng)建實(shí)例,分別用于讀和寫。如圖三。
圖三
3.2_創(chuàng)建一個(gè)DB塊,分別用于讀寫指令的管腳處填寫對(duì)應(yīng)的參數(shù),如圖四。圖四
3.3_參數(shù)詳細(xì)說(shuō)明InterfaceId:硬件標(biāo)識(shí)符,在系統(tǒng)常數(shù)中可以看到。
ID:引用該連接的唯一ID。
ConnectionType:連接類型,對(duì)于TCP,選擇11,不可以使用其他類型
ActiveEstablished:建立連接的方式所對(duì)應(yīng)的 ID,對(duì)于主動(dòng)連接建立,應(yīng)選擇 TRUE。
RemoteAddress:連接伙伴(Modbus 服務(wù)器)的 IP 地址。
RemotePort:遠(yuǎn)程連接伙伴的端口號(hào)。
LocalPort:本地連接伙伴的端口號(hào),可不填。
詳細(xì)可以參考F1幫助。
3.4_引腳參數(shù)關(guān)聯(lián)。將REQ等參數(shù)分配到引腳上,寫好Modbus的讀寫寄存器的地址區(qū)。如圖五。
圖五
至此,Client已經(jīng)完成,把程序下載到Client的PLC。
-
Server端程序編寫
4.1_將Modbus_TCP的Server指令拖入程序段并創(chuàng)建實(shí)例,如圖六。
圖六
4.2_創(chuàng)建一個(gè)DB塊,將Server指令所需的參數(shù)創(chuàng)建在DB塊中。如圖七。圖七
4.3_參數(shù)詳細(xì)說(shuō)明
參見3.3,大部分都相同,唯一需要注意的就是ActiveEstablished為False,因?yàn)樗潜粍?dòng)連接的、其次就是LocalPort,對(duì)于Client來(lái)說(shuō),他是遠(yuǎn)程端口,對(duì)于Server來(lái)說(shuō),他是本地端口,所以他的本地端口需要為333。如圖七。
其余參數(shù)詳見F1幫助
4.4_引腳參數(shù)關(guān)聯(lián),如圖八。
圖八
至此,Server已經(jīng)完成,把程序下載到Server的PLC。
-
仿真測(cè)試_Client寫數(shù)據(jù)到Server
將Write的REQ置1,此時(shí)Client的數(shù)據(jù)發(fā)送到Server,如圖九_(tái)1-3。
圖九_(tái)1
圖九_(tái)2
圖九_(tái)3
可以看到已經(jīng)將數(shù)據(jù)從Client端發(fā)送到Server端。
-
仿真測(cè)試_Client從Server讀取數(shù)據(jù)
將Read的REQ置1,將數(shù)據(jù)從Server讀取到Client,,如圖十_1-3。
圖十_1
圖十_2
圖十_3
可以看到已經(jīng)將數(shù)據(jù)從Server端讀取到Client端
-
數(shù)據(jù)區(qū)域問題
Client的MB_DATA_ADDR的數(shù)據(jù),一個(gè)是40001,一個(gè)是40011,分別讀取和寫入5個(gè)數(shù)據(jù),那么服務(wù)器對(duì)應(yīng)的MB_HOLD_REG的第一個(gè)就為40001,第十一個(gè)就為40011,所以是分別往這兩個(gè)地方去讀取和寫入的。
-
總結(jié)
注意點(diǎn)1:客戶端的“RemotePort”
注意點(diǎn)2:服務(wù)器的“LocalPort”
注意點(diǎn)3:MB_HOLD_REG地址
注意點(diǎn)4:ActiveEstablished,客戶端為1,因?yàn)榭蛻舳酥鲃?dòng)連接。服務(wù)器為0,因?yàn)榉?wù)器被動(dòng)接受
-
也可以使用Modbus_POLL或者M(jìn)odbus_Slave等軟件測(cè)試。
-
MODBUS
+關(guān)注
關(guān)注
28文章
2117瀏覽量
79533 -
仿真
+關(guān)注
關(guān)注
52文章
4283瀏覽量
135789 -
TCP
+關(guān)注
關(guān)注
8文章
1402瀏覽量
81011
發(fā)布評(píng)論請(qǐng)先 登錄
Modbus TCP的設(shè)計(jì)與實(shí)現(xiàn)

Modbus TCP通信報(bào)文解析

Modbus TCP轉(zhuǎn)Modbus RTU的實(shí)現(xiàn)
有沒有哪位道友在RTThread內(nèi)核上移植modbus_tcp成功的啊
Modbus_TCP驅(qū)動(dòng)組件設(shè)計(jì)與實(shí)現(xiàn)_史運(yùn)濤
單片機(jī)Modbus_TCP協(xié)議在大功率整流設(shè)備中的應(yīng)用_梁丁
Modbus/TCP通訊配置

Modbus TCP通訊協(xié)議概述

Modbus RTU和Modbus TCP的區(qū)別
ModBus RTU 與 ModBus TCP
Modbus TCP通訊概述
Modbus tcp轉(zhuǎn)ETHERCAT網(wǎng)關(guān)modbus tcp和modbusRTU的區(qū)別

EtherCAT轉(zhuǎn)Modbus TCP協(xié)議網(wǎng)關(guān)(JM-ECT-TCP)

MODBUS TCP 轉(zhuǎn) CANOpen

評(píng)論