回复:【求助】关于for-next循环的疑问

已锁定

迷失中原

  • 帖子

    466
  • 精华

    5
  • 被关注

    47

论坛等级:侠圣

注册时间:2013-01-18

白金 白金 如何晋级?

发布于 2023-02-21 15:31:54

9楼

    我只能说你的想法和需求,我能实现,但是不是使用MODBUS库,而是自由口。

    在编写MODBUS通讯时,个人倾向使用自由口方式通讯,协议还是MODBUS。程序容量小,也更灵活。一般采用定时中断,定时读写设备,速度快的话,20MS一个周期。不考虑重发、断线屏蔽功能,一般不做控制使用。

    采用定时触发通讯读写,需要使用控制字节,进行周期控制。比如需要读写10个数据,就需要控制字节1-10周期循环变化【这个不需要FOR \NEXT循环控制,定时中断累加、比较、复位即可】。

    争对你的需求,如果你的设备是相同的,只是地址不一样,完全可以使用控制字节,通过间接地址生成你设备的从站地址,实现多设备的通讯功能;包括接收地址,同样使用间接地址传送,使接收数据保存在不同的数据区。

    对不同一设备的寄存器,如果是连续的、或者比较近,最好一次读取;如果分散的话,只能一个设备多次读取,再对多个设备通讯读取。想简化,就必须通过通讯控制字节,自动换算从站地址、从站寄存器地址、从站数据接收地址,理论上就简化程序,实现你的功能了!

生命不息,奋斗不止!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9426条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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