西门子1200与MCGS上位机通过Modbus tcp进行通讯案例

已锁定

思辨

  • 帖子

    2
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2018-08-07

普通 普通 如何晋级?

西门子1200与MCGS上位机通过Modbus tcp进行通讯案例

30811

15

2018-08-07 10:25:05

一、 测试环境

硬件:CPU1214C DC/DC/DC 6ES7 214-1AG40-0XB0  S V-K4A12823 2018

编程软件:Portal  V15

其他测试软件:modscan32(modbus测试软件客户端,发送数据测试用),modsim32(modbus测试软件服务端,提供数据测试用)

其他说明:电脑连接PLC通讯口的IP地址为:192.168.0.241;PLC设置IP地址为192.168.0.1;

二、 测试过程

1. PLC程序编程

1.1.   程序画面:


1.2.   主程序OB1

程序段1:PLC1200作为客户端,与测试软件通讯


1.3.   1200PLC客户端数据块rcv(存放数据)和网络连接数据块tcp(存放网络连接参数)

1.3.1. rcv数据块配置


定义aa数组变量(20个数据),数据类型为Array[0..20] of Word

1.3.2. tcp数据块配置


1.4.   1200PLC服务端数据块ser和(存放数据)和网络连接数据块tcp_ser(存放网络连接参数)

1.4.1. ser数据块配置


定义bb数组变量(20个数据),数据类型为Array[0..20] of Word

1.4.2. tcp_ser数据块配置


2. 使用Modbus通讯测试软件分别作为服务端和客户端,同1200编辑的客户端和服务端程序进行测试;

2.1.   为确认测试软件功能正常,首先进行modbus通讯测试软件进行收发测试

2.1.1. Modsim作为服务端,同modscan客户端通讯

2.1.2. 设置通讯模式为modbus/tcp svr,在弹出对话框中设置端口为502

 



2.1.3. 设置设备ID为1,通讯开始地址为1,数据数量为20,通讯模式为03


2.1.4. 在connect中设置客户端连接参数,



2.1.5. 设置设备ID为1,通讯开始地址为1,数据数量为20,通讯模式为03


2.1.6. 然后就会发现服务端和客户端的数据已经连接并且为一致的


2.2.   Modbus通讯测试软件作为服务端,1200PLC作为客户端进行通讯测试


改变服务端或客户端40001-40010任意数值(PLC程序中读取数据为10个),两边的数值均会同步改变;

2.3.   Modbus通讯测试软件作为客户端,1200PLC作为服务端进行通讯测试

设置modscan地址为1,数据个数为20,通讯模式为03


然后选择Connection-Connect,设置服务端参数如下:


点击OK后,即可取得两端通讯数据;


3.  使用modbus tcp通用协议,使MCGS上位机软件和modbus测试工具进行通讯测试;测试成功后,再进行MCGS上位机软件与1200通讯测试;

3.1.   MCGS上位机软件和modbus测试工具(服务器端)进行通讯测试

组态硬件,设置TCP/IP父设备-标准TCP子设备


通用TCP/IP父设备参数设置

 



标准Modbus  TCP子设备参数设置

 



设置设备内部属性




在设备调试中已可读取


新建变量,建立内部参数与变量的连接,建立画面,如下图,测试成功


3.2.   MCGS上位机软件和1200PLC进行通讯测试

修改父设备IP地址为192.168.0.1(PLC地址),其他参数及配置保持不变


运行MCGS工程,可发现组态画面中数据与PLC中数据一致,任意修改一端数据,另一端数据均会同步发生变化。


至此,全部测试均已通过,测试成功!

4. 注意事项

1. 数据块属性中块优化勾选项去除,便于进行直接寻址


2. PLC作为客户端需要注意通讯系统背景数据块中参数MB_Unit_ID(默认为255),使用ModSim通讯测试软件时,需注意将ModSim中ID设置与PLC中MB_Unit_ID参数一致;


参考资料:

http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/PROFINETnew/Modbus%20TCP%20V4/Modbus%20TCP(V4.0)%20Client.html

3. 当排查参数及测试服务器都正常,但是仍有status报错80C8,ERROR一直触发;可尝试停止CPU运行,再次开启即可恢复。

例程如下

1 1200程序(归档项目博图V15).zip

3 MCGS测试程序(通用版).zip


西门子1200与MCGS上位机通过Modbus tcp进行通讯案例 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15117条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。