本文給大家介紹兩(liang) 台西門子S7-200 SMART PLC,CPU ST30如何進行modbus tcp以太網通信程序的編寫(xie) 。
要求如下:
1、將客戶端的VW100開始的10個(ge) 字寫(xie) 到服務器的VW50開始的十個(ge) 字中。
2、將服務器的VW100開始的10個(ge) 字中的數據讀取到客戶端的VW50開始的10個(ge) 字中。
一
首先編寫(xie) 客戶端的程序,以太網通信屬於(yu) 全雙工通信模式,通信雙方都可以發送數據和接收數據,而且發送和接收都可以同時進行,在本例中,發送數據程序和讀取數據程序寫(xie) 到一個(ge) PLC中。
在MODBUS_CLIENT程序中,
EN:使能;
Req:發送通信請求,ON允許通信,OFF禁止通信;
Connect:建立連接,ON連接,OFF斷開;
ipadsdr1-4設置的是服務器的IP地址;
IP_PORT指的是客戶端嚐試連接、且隨後使用 Modbus TCP 進行通信的服務器的端口號;
RW指示該操作是讀還是寫(xie) ;
Addr指的是要讀或者是寫(xie) 的服務器的起始地址;
COUNT:個(ge) 數;
DataPtr指客戶端的起始地址。
二、服務器程序如下:
MBUS_SERVER指令說明:
IP_Port:服務器物理端口號;
MaxIQ:開放可訪問IQ點數量;
MaxAI:開放可訪問AI數量;
MaxHold:開放可訪問V區字數,不能與(yu) 庫存儲(chu) 區分配地址產(chan) 生重疊;
HoldStart:V區開放起始地址。
Holdstart:保持區起始地址。即MODBUS地址40001對應的VW地址。&VB0則表示40001代表VW0,&VB100則表示40001代表VW100。
注意:一台服務器不能連接多台客戶端,但是服務器又可以作為(wei) 客戶端與(yu) 其它服務器通信。每台服務器隻能定義(yi) 一個(ge) 端口,不同服務器的端口可以相同。