S7-1200根據CPU的版本不同,使用的MODBUS-TCP通訊指令是不一樣的,這節給大家介紹V4.1及以上版本的CPU MODBUS-TCP通訊方法,下個星期的文章會給大家介紹V4.1以下版本的CPU MODBUS-TCP通訊方法,敬請期待。
第一步:建立服務器
(1)建立項目,組態好CPU硬件(注意CPU版本V4.1及以上),打開CPU屬性
(2)打開OB1,調用服務器指令
DISCONNECT:斷開連接,“1”斷開連接,“0”通訊繼續
MB_HOLD_REG:數據存儲區(列如:P#DB1.DBX0.0 WORD 10 注意DB不能優化)
CONNECT:這個針腳比較坑爹,下面有具體解釋
NDR:服務器被寫入數據指示“1”被寫入數據,“0”沒有
DR:服務器被讀取數據指示“1”被讀取數據,“0”沒有
ERROR:錯誤指示燈
STATUS:狀態信息
(3)CONNECT參數:
這個參數存儲的是網絡數據,大家要自己建立一個共享DB,然后建立一個變量,數據類型是:TCON_IP_V4(這個數據類型比較坑爹不能選擇,只能人工輸入)
InterfaceId:CPU的硬件標示符
ID:連接ID,你自己輸入一個數字就行,不要重疊,記一下,到客戶機的時候要填寫
ConnectionType:連接類型,默認16#0B就是MODBUS-TCP的意思
ActiveEstablished:是否主動建立連接(服務器“0”不主動,客戶機“1”主動)
RemoteAddress:服務器連接的客戶機IP地址,要是想這個服務器啥客戶機都能連就輸入0.0.0.0(注意16#格式的)
RemotePort:遠程的端口號,默認0
LocalPort:本地的端口號,默認502
第二步:建立客戶機
(1)建立項目,組態好CPU硬件(注意CPU版本V4.1及以上),打開CPU屬性
(2)打開OB1,調用客戶機指令
REQ:通訊激活,“1”開始通訊,“0”停止通訊
DISCONNECT:斷開連接,“1”斷開連接,“0”通訊繼續
MB_MODE:讀/寫模式,“1”讀取數據,“0”寫入數據
MB_DATA_ADDR:MODBUS功能碼
MB_DATA_LEN:數據長度
MB_DATA_PTR:數據存儲區
CONNECT
DONE:完成位
BUSY:正在通訊指示
ERROR:錯誤指示
STATUS:狀態代碼