AD
首頁 > PLC > 歐姆龍plc > 正文

歐姆龍PLC分別做modbus tcp客戶端和服務器的通訊案例

[2019-09-29 20:20:31] 來源:電工學習網 編輯:電工考試 點擊量:
評論 點擊收藏
導讀:NJ并不支持ModbusTCP協議,庫文件是在socket的基礎上開發出來的功能塊。庫文件共有8個功能塊,根據不同的功能塊實現不同的modbusTCP的功能。8個功能塊分別為客戶端使用7個功能塊,客戶端連接、讀線圈、讀輸入寄存器 ...
NJ并不支持ModbusTCP協議,庫文件是在socket的基礎上開發出來的功能塊。庫文件共有8個功能塊,根據不同的功能塊實現不同的modbusTCP的功能。
8個功能塊分別為客戶端使用7個功能塊,客戶端連接、讀線圈、讀輸入寄存器、讀保持寄存器、寫單個線圈、寫單個保持寄存器、寫多寄存器;和服務器使用一個功能塊。


1、客戶端連接
取其中一個功能塊為例,進行測試。
添加客戶端連接功能塊,寫入對方IP、端口號、連接信號變量;功能塊使能后,置位connect。輸出部分,可以看到錯誤和錯誤代碼。
添加讀保持寄存器功能塊,寫入從設備地址、起始地址、字節長度,connect功能塊中的輸出TCP_socket需要和讀寫功能塊輸入的TCP_socket為同一變量;建立好輸出變量,send_request置位即可讀取。
接收數據為Word,如果需要轉為其他數據類型,可以使用數據轉換指令。

2、服務器連接
添加功能塊,在輸入中分別填入需要發送的寄存器和線圈數據;上位進行連接后,將會顯示對方IP和端口。
由于modbus的固定端口為502,因此調試工具或者其他上位需要將連接端口設置為502;否則無法進行通訊。
注:以太網通訊中,部分端口號為固定用途,例如網頁打開的默認端口為80,在使用中會自動省略;modbus端口為502.
連接成功后,發送Modbus功能碼進行通訊。

3、服務器連多個客戶端
在實際使用中,會遇到連多個客戶端的情況,由于功能塊是使用socket方式開發,因此,可以使用多個端口連接。但是,如果對方是標準的modbusTCP,無法更改端口的話,那么將無法進行多個客戶端連接。
先將功能塊里的內容復制出來,然后再將端口號的改為變量的方式,這樣就可以進行多客戶端連接。經測試,通訊沒有問題。

為您推薦

对错不改料的六肖有没有