恭喜,你发布的帖子
发布于 2016-08-02 01:10:50
1楼
做好上述准备后,与服务器端相同。新建个FC功能;从右侧拖入两个 MB_CLIENT 客户端功能块。
图4
要为客户端功能块准备一个标准(非优化的)DB保持寄存器数据块。(我这里直接复制了服务器的那个寄存器DB)
其中,WORD9 用于服务器的控制字; WORD10用于发送给服务器 正弦信号(INT)。
与服务器端相同,对于MB_CLIENT 功能块的状态输出,建立个DB,集中处理。(自己做个数据类型好了。)
与服务器端一样;新建一个连接DB(CONNECT_DB);每一个MB_CLIENT需要用一个连接参数。(数据类型栏直接敲入哦。)
(也可以从已经编写好的服务器端的程序中,直接拷贝过来,修改即可。)
接口ID(interfaceid)如前帖,要查一下PLC组态的网络端口硬件标识符。
连接ID 选用没有被用到的ID。每个客户端用不同的连接ID。(反正就要用个没被占用的即可,号在范围内随你。)
连接类型 只能是11(16#0B)
主动连接(ActiveEstabilished)必须为真(客户端当然是主动去访问服务器啦。)
远程地址 就填写 上贴那个 服务器的 IP地址(169.254.1.71)
远程端口号:完全根据服务器侧的要求。就是说,要看服务器(MODBUS TCP 传感器)的说明。这里的服务器是自己“做”的。所以“读”服务器的用502端口号,“写”服务器用503端口号。
本地端口 不需要=0 (这是客户端,没人能来访问。)
以上完成后,就是 拖拽放 把 FC 写完。
图8
注意: 数据地址;读和写服务器的两个客户端的MB_DATA_ADDR地址都是 40001;这是因为(前帖)的服务器的写寄存器的指针是DBX16.0;所以,第一个字就是用40001即可。(这就是一定要看服务器说明的原因。)
最后写一下主程序MAIN (OB1)
图 9
编译,保存。这就完成了 MB_CLIENT客户端PLC的程序。
请填写推广理由:
分享
只看
楼主