技术论坛

 smart与wincc通信使用结构变量方法分享

返回主题列表
作者 主题
手机用户20180604694547
侠圣

经验值: 3788
发帖数: 729
精华帖: 3
楼主    2022-03-31 12:15:22
主题:smart与wincc通信使用结构变量方法分享 精华帖 

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





ABBCCC
至圣

经验值: 24344
发帖数: 4846
精华帖: 6
1楼    2022-03-31 13:28:35
主题:回复:smart与wincc通信使用结构变量方法分享

谢谢分享的内容,辛苦了!

谨慎低调
yuanchunwei99
侠士

经验值: 1194
发帖数: 107
精华帖: 4
2楼    2022-03-31 17:55:42
主题:回复:smart与wincc通信使用结构变量方法分享
经验分享,为你点赞??
SIEMENS-XP
侠士

经验值: 1747
发帖数: 258
精华帖: 3
3楼    2022-03-31 23:34:12
主题:回复:smart与wincc通信使用结构变量方法分享

感谢分享  就是感觉地址的跨度比较大

相互学习 共同进步
yzm_cumt
至圣

经验值: 18253
发帖数: 2653
精华帖: 14
4楼    2022-04-01 09:11:03
主题:回复:smart与wincc通信使用结构变量方法分享


,确实可以。这种方法也是很不错的

sometimes you have to be your own hero!
手机用户20180604694547
侠圣

经验值: 3788
发帖数: 729
精华帖: 3
5楼    2022-04-01 09:23:43
主题:回复:smart与wincc通信使用结构变量方法分享
smart的地址结构与modbus的地址结构不同所以会出现地址跨度大的问题,但这些都是有规律的比如我这个就是(V号/2)+1然后再加上modbus的区域号,如果使用我这种方式只需要写一个起始地址就可以了,在结构变量中设置的地址还是和PLC的一样的。
天芯
至圣

经验值: 18789
发帖数: 2104
精华帖: 0
6楼    2022-04-01 12:49:31
主题:回复:smart与wincc通信使用结构变量方法分享

这个真的有时候可以解决大问题,感谢分享哦

黑猫警长W
至圣

经验值: 18377
发帖数: 2409
精华帖: 1
7楼    2022-04-01 13:17:40
主题:回复:smart与wincc通信使用结构变量方法分享

图文并茂,一看就懂了

zhcwos
侠圣

经验值: 3103
发帖数: 440
精华帖: 0
8楼    2022-04-01 14:25:07
主题:回复:smart与wincc通信使用结构变量方法分享


很不错,值得学习

云淡风轻
CK DONG
奇侠

经验值: 5198
发帖数: 637
精华帖: 6
9楼    2022-04-01 22:30:17
主题:回复:smart与wincc通信使用结构变量方法分享


向楼主学习啦!

QQ群592162017,电气绘图、自动化维护交流!
aa13123
至圣

经验值: 30072
发帖数: 4506
精华帖: 26
10楼    2022-04-02 06:33:34
主题:回复:smart与wincc通信使用结构变量方法分享

这个帖子必须点赞的,smart用opc方式和wincc通讯虽然简单,但是稳定性差,软件版本受限。

这个modbus tcp通讯有开辟了一条新通路,而且还可以用结构变量。

胖头陀
奇侠

经验值: 9575
发帖数: 432
精华帖: 0
11楼    2022-04-02 08:32:24
主题:回复:smart与wincc通信使用结构变量方法分享


图文并茂,感谢分享

手机用户20220320634958
游士

经验值: 191
发帖数: 28
精华帖: 0
12楼    2022-04-07 20:53:59
主题:回复:smart与wincc通信使用结构变量方法分享

你这样用指针分配VB0起始存储区,不怕引起Modbus TCP库的V区地址冲突吗?!显然,这是损招。

手机用户20180604694547
侠圣

经验值: 3788
发帖数: 729
精华帖: 3
13楼    2022-04-08 08:05:02
主题:回复:smart与wincc通信使用结构变量方法分享

如果你用我的方法测试过你就不会这么说了。西门子早就想到这点了,如果modbus的存储区与modbus库区域重复modbus服务器指令会报错的。

手机用户20180604694547
侠圣

经验值: 3788
发帖数: 729
精华帖: 3
15楼    2022-04-11 08:38:04
主题:回复:smart与wincc通信使用结构变量方法分享

smart写的MODBUS TCP SERER同时只能被一个客户端访问,如果想被多台上位机同时访问则需要多次创建modbus TCP SERVER,设置端口号不同即可。但冗余服务器中此方案不行(冗余服务器链接设置是相同的无法设置不同端口,所以只有一个服务器可以连上PLC另外一个会一致处于断线状态。),冗余服务器只能使用OPC。

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