https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1755118&b_id=64&s_id=83&num=10#anch
之前分享了smart中模块化编程的方案,其中第5点提到了这个方案可以与WINCC的结构变量一起使用,这里我将分享一些这个方案。
这个smart与wincc通过讯方式选择的是modbusTCPIP(opc的因为是在opc软件中配置地址,wincc中只需要读取,所有不能使用wincc的结构变量)。
1,smart中需要编写的程序。smart中需要写的编写MODBUS TCP SERVER的程序,这里设计为监控7个温度,温度传感器都是0到10V的,量程都是0到50℃。
moodbus TCP SERVER设置端口号为502(smart做modbus TCP SERVER一个端口号只能被一个客户端访问,如果想被多个访问需要在增加端口。)
模拟量块中程序参考之前分享的。
2,PLC中数据结构展示。
3. wincc中结构变量创建。由于使用modbus TCP通信,结构有一点点不同,具体如下。
4.创建wincc中的MODBUS tcp连接。创建连接后需要修改参数,CPU类型选择984(选择不同CPU对应的数据结构不同,这里以984为例);设置服务器地址,这个就是PLC的IP地址;设置端口号,端口在写PLC程序时设置,默认为502;从站地址不需要修改,默认255,需要勾选转换字类型为16位值。
5.数据连接,创建完结构变量和驱动就可以进行数据连接了。下面是7个温度传感器在PLC中的起始地址与对应的modbus地址。
有了上面的对应表就可以在wincc中创建变量了,具体如下名称按设备名称,数据类型选择之前创建的结构变量类型;选择连接为创建modbus连接地址;地址区域选择4x保持寄存器,地址按照上表。
以上为本次分享的全部内容,下面是plc的程序与wincc的地址表。欢迎大家来交流,看看有没有什么更好的办法。
Desktop.rar