回复:S7-200Smart子程序编程思路之二-分享最简单的ModbusRTU多参数读写

已锁定

holdkcsxyz

西门子1847工业学习平台

  • 帖子

    1560
  • 精华

    24
  • 被关注

    161

论坛等级:至圣

注册时间:2015-06-03

钻石 钻石 如何晋级?

发布于 2022-09-16 16:52:36

61楼

V1.6最终版修改了1:某个任务掉站后及时的将错误信息通知到后续站号相同的从站;2:MBUS_CTRL全扫描;3:时钟DI相减后面的比较指令从减法指令的ENO处移动到减法指令的EN处,主要是防止减法指令溢出后,结果虽然正确,并且可以拿来使用,但减法指令的ENO不输出可能导致比较指令失效;4:并且修正了第7网络反复指回首个私有区首地址的疏忽,方法是在网络7的最后面添加上一句指令MOVW AC0 AC2形成一个"上升沿"即可.以上4点虽然都不会导致致命的错误,但是需要修正.

(1)如下图未修改前,虽然能够及时通知后续相同站号的站点跳站(#从被跳站==1,#从超动时都被更新),但#从读写错没传递给后续站号相同的站点,导致后续相同站号的站点只知道自己被跳站了,但一头雾水,不知道自己被跳站的具体错误原因,心里很疑惑.

(2)如下图修改了通讯错误通知部分的程序

(3)如下图修改后可以及时通知后续相同站号的站点被动跳站,重算其#从超动时,并通知其错误原因.(Retries重试次数VB386由默认的2次改成0次).动图:PLC的硬件RS485口没电气接线所有站点都掉站时子程序  Smart_MP的运行情况.


(4)如下图将程序导入任意一个S7-200Smart-PLC且控制的RS-485硬件接口电气上未连接任何从站,此时四个从站全掉站的情况,调整恢复毫秒为300ms,如下图所有站号相同的从站只有一个任务在尝试恢复链接,其余站号相同的任务被持续的因为通讯错误而跳站即#从被跳站==1,并持续更新其恢复时间即#从超动时被持续重算.

             

Smart_MP_V1.6.zip







评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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