请教SmartPlc和仪表之间的MoudbusRtu通信的精简算法

已锁定

手机用户20190703489842

  • 帖子

    24
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2019-07-03

普通 普通 如何晋级?

请教SmartPlc和仪表之间的MoudbusRtu通信的精简算法

1457

18

2019-12-04 10:06:04

项目的基本结构如图:


设备有两个柜子,现场控制柜和中控室控制柜

仪表和它下面的HMI在现场柜里面,SMART 200PLC和它下面的HMI在中控室

 

我现在采用如图的方法,仪表和HMI之间通过232连接走rtu通信,仪表和smart200之间通过485连接走rtu通信,smart和hmi之间走profinet连接。

要达到的目的就是不管在现场还是中控室的HMI更改数据,两边的HMI上数据同时更改,并且更改的数据存储进仪表的EEPROM里面。

 

我现在程序里在SMART200里面开辟了4个存储区域  VW100-VW200  VW300-VW400  VW500-VW600   VW700-VW800

 

VW100-VW200用来存储smart200从仪表读过来的所有参数

vw300-vw400存储上一次vw100-vw200的值,用来比较vw100-vw200数据是否发生变化,它们之间是一一对应的关系,比如说本次从仪表读过来的数据VW100发生变化(现场触摸屏更改),那么它和存储它上次数据的VW300必然不想等,然后我通过比较指令判断到这个条件之后,就将vw300,vw500,vw700都刷新成最新的vw100的值。

 

Vw700-vw800用来和它之间的HMI通信的数据区。

VW500-VW600的作用和vw300-vw400类似,也是用来储存vw700-vw800上一次的数据,当vw700的数据变化(中控HMI更改),它和vw500储存的数据不一致,然后通过比较指令判断到这个条件之后,调用modbus主站指令将数据发送仪表,仪表对最新的数据进行存储,现场的HMI也会显示最新的数据。

 

上面就是现在运用的方法,运行起来也没有什么问题,就是程序太乱了,读写几个数据通过这种方法也还可以,但是当数据多了之后,就要写很多这样的比较指令,程序就会显的很杂乱。

请问有没有好的算法,来简化程序。

贴一小段程序:



标识和上面的代码可能不太对的上,不过就是这个意思了

请教SmartPlc和仪表之间的MoudbusRtu通信的精简算法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7560条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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