回复:可以在定时中断程序里面使用MBUS_MSG去写数据吗?

阳春节拍

  • 帖子

    379
  • 精华

    2
  • 被关注

    5

论坛等级:侠士

注册时间:2023-03-01

钻石 钻石 如何晋级?

发布于 2025-04-26 08:19:09

4楼

msg执行的前置条件是执行过ctrl,如果只把msg放在中断中,可能会无法正确执行。

通讯多依赖于通讯中断才能正常运行,即ctrl和msg本身就需要调用中断程序,因此把ctrl或msg也放入中断程序中,会加重中断处理的时间占用。

一个9.6K的RTU通讯多在五十毫秒以上,一个运行周期通常低于一毫秒,因此,通过中断可能提高的通讯速度很有限。虽然更高速率的通讯时间也会更短,但由于干扰的影响,在485线路上的通讯速度,受plc周期影响的程度很有限,毕竟随便一个485中继器或网关的延迟都在150毫秒左右。当然plc做为RTU从站时除外。

plc标准数据处理方式要求,通讯数据的处理和准备,需要在周期外进行,以防止同一个数据在周期前后半段不一致,引起程序跑飞。比如屏幕上有一个置位按钮(屏幕也是通讯的一种),该位在程序前后半段会执行不同的动作,而前一动作是后一动作的前置条件,如果同一个周期中此位被中断改变状态,可能会发生未执行前置动作而直接执行后一动作的情况。因此试图通过中断程序来加快通讯速度的方式,是危险的。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8933条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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