回复:【S7-200 Smart开源标准化编程】modbus rtu终极封装-单条msg指令多任务读轮询写优先掉站跳过掉站恢复

已锁定

不欲勿施

  • 帖子

    836
  • 精华

    16
  • 被关注

    388

论坛等级:奇侠

注册时间:2009-03-27

钻石 钻石 如何晋级?

发布于 2022-06-21 11:36:20

13楼

展开查看
以下是引用Zaxife在2022-06-21 11:01:28的发言 >12楼

其实吧,对我来说楼主说的下面这段要求才是这个程序的价值吧。


这个程序是做为标准化编程的一个对象存在的。

在标准化编程里通信是读写IO的工具。IO同样做为对象存在的。

通信不应受到工艺逻辑的影响。通信程序中也不应有工艺逻辑存在。

比如与变频器,仪表通信,读写的数据都做为PLC的外设IO存在。


通讯事务必须满足这段要求才能使用这个程序,如果不符合就要增加一个通讯事务子程序来专门修改数据块对应的读、写次序了,不过这样就得改L001ModbusRtuComm了....

再有就是,整个程序不能存在非标准化的符号表占用,否则可能会被坑得很惨....比如L001ModbusRtuComm中的sBits,如果L001ModbusRtuComm前面的L区值带入到L001ModbusRtuComm感觉会很可怕(以前这样用一个子程序多次调用被坑过),所以不能有非标准化的应用...这局限啊....

@Zaxife

总结一下你说的两个问题:

1、通讯事务必须满足这段要求才能使用这个程序,如果不符合就要增加一个通讯事务子程序来专门修改数据块对应的读、写次序了,不过这样就得改L001ModbusRtuComm了....

目前程序通信中的轮询就只是按照通信任务的数量来做的,至于通讯事务想怎么排列是用户用了算,修改数据块或参数的程序块就可以。至于写是不分次序的,因为只有写的数据发生变化才会有写操作。

2、整个程序不能存在非标准化的符号表占用,否则可能会被坑得很惨....比如L001ModbusRtuComm中的sBits,如果L001ModbusRtuComm前面的L区值带入到L001ModbusRtuComm感觉会很可怕(以前这样用一个子程序多次调用被坑过),所以不能有非标准化的应用...这局限啊....

首先我不知道你有没有看懂我的程序,你说的问题是不存在的。在你没看懂我的程序之前,不要妄下判断。欢迎你留下电话或打我电话13478405725探讨。

13478405725
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9019条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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