通讯指令什么时候执行?

一个完整的扫描周期包括了通讯和执行程序等部分,请问 :1.程序中的通讯指令在什么时候执行?在下个周期执行吗?比如写指令是不是下个周期发送出去,而读指令也是下个周期把通讯对象的数据接回来,所以要读取的目标数据只能在下个周期使用;  2. 如果是下个周期,那么是通讯结束后才执行程序还是两者同步进行?  3. 通讯是怎么发生的,是执行程序的时候把通讯指令内的数据送到通讯专用存储器还是由通讯处理器直接到程序里边读取?  谢谢

问题补充:
谢谢wwwcwwc,第3个问题明白了。我想再问关于第1和第2个问题. 
第1个 .资料上说,每个扫描周期都是先执行通讯,然后执行程序,而指令是在程序中,也就是说执行了通讯指令后,这个周期就结束了,通讯数据怎么能在这个周期发送出去呢?
第2个,一次通讯需要若干周期的话,那么因为每个扫描周期都会有一次通讯,与其相邻的下个通讯怎么办?
以上问题我是针对modbus通讯协议的,通讯完成的标志是主站置1还是通讯对象反馈信号置1?

最佳答案

200的通讯几乎都是异步的。
1.本周期发送出去,要加上通讯链路上的传输时间,加上从站接收后的处理时间,加上返回到主站的通讯链路时间,再后加上主站处理过程时间。
2.异步。通讯自发送到返回需要若干个周期,具体时间与通讯频率,数据长度,程序架构有关,我曾经给200smart与富士仪表测试读温度值的时间,贴子在论坛里
3.是前者。
补充问题回复:
1)你只是理解了一个片面。一个通讯指令比如是MSG指令,完成一次读取或者写入需要若干的plc扫描周期,而不是一个周期就能够完成的。
2)与其相邻的通讯只能等待。
优先执行通讯的含义是指,在一个周期内首先采集完成的那部分,而尚未采集完成的只能是等待了。
我把你的问题理解为一段金属导体,通讯频率的大小就是导体截面的大小,当通讯频率高,在大截面下的载流量当然大(快),通讯频率低,相当于截面小的可想而知。
哦,忘了说最后的问题了。是主站判断MSG指令完成done位输出为1,或者是当指令错误时该位也是1,而非从站反馈的信号置1,从站没有办法在这个点上来置1,通讯是否成功都还是未知数来。
上述回复因为是在手机上,难免有语句问题请见谅。

提问者对于答案的评价:
我有些明白了,非常感谢您的回答。
实际上这个问题是在我的应用中出现,我通过modbus操作两个伺服驱动器,偶尔会无规律的出现一些“失控”现象,现在看来是执行下一步的时机选择有问题,相信我能解决掉它了

最佳答案作者回复:
我有几个modbus 通讯测试,不能够作为参考,但是也是一种方式放在论坛上,如一个数据发送需要多少时间,发送到接收完成需要多少时间,我用的是间隔定时器及标志位捕捉的。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午11:44
下一篇 2021年7月5日 上午11:44

相关推荐

  • 如何找到指令帮助

    再看别人的程序时,如何找到指令帮助,为了学习,当看不懂第二步时,如何向下 最佳答案 按F1 ,选中指令然后按F1, 看不懂指令可以看帮助,看不懂为什么要用这个指…

    SIMATIC S7-200 2021年7月5日
  • 关于CUP224XP模拟量输入

    关于CUP224XP自带的模拟量输入,如果接入4-20mA的压力表,最大量程0.6Mpa,最大电压是多少,模数转换后的最大值是多少,模数转换的精度是多少. 最佳答案 1。CUP22…

    SIMATIC S7-200 2021年7月5日
  • 电机控制问题

    我用抱闸电机(用变频器控制电机)控制输送桥.我想抱闸先电机启动.但是也要抱闸延时3S之后再动作(因为不能立即制动)请问怎么控制呢? 问题补充:抱闸是先于电机3S启动,但也延时电机3…

    SIMATIC S7-200 2021年7月5日
  • 谁有s7-200与温控表(台达)RTU通讯的例子

    想自己做一个例子与几个温控表通讯 想借鉴一下!谢谢 问题补充:SUBROUTINE_BLOCK SBR_0:SBR0 TITLE=子程序注释&nbsp…

    SIMATIC S7-200 2021年7月4日
  • 求200PLC和300PLC以太网通讯资料。

    如题,200PLC和300PLC以太网通讯,200PLC侧和300PLC侧资料都需要,谢谢。 最佳答案 1、《S7-200与S7-300之间的以太网通讯的以太网通讯》下载:http…

    SIMATIC S7-200 2017年12月8日
  • S7200的模拟量存储

    请问,西门子200PLC中有没有,可以保持存储一个模拟量数值的存储器?是什么?我需要采集一个模拟量数值,并且将它保存住,然后过一段时间在读这个数。(就是类似于S7300中的DB块的…

    SIMATIC S7-200 2020年11月5日
  • 求教三台s7-200与触摸屏主从通讯的方案

    现有三台plc,一台plc226(A点),一台plc224(B点),一台备用plc224(C点)。触摸屏K-TP178 (D点)A点距B点50米,B点距D点120米,现需…

    SIMATIC S7-200 2017年6月24日
  • 西门子200PTO脉冲输出,怎么停止输出

    找原点程序,用PTO单方向单速输出,检测到原点之后怎么中断脉冲输出,是给SM67.7赋值吗?但是好像还是停止不了脉冲输出 最佳答案 先将0传送给SMB67,然后再执行一次PLS命令…

    SIMATIC S7-200 2017年6月13日
  • 200环境下的Modbus编程

    用了一天的时间做200与变频器之间的通讯没通讯上,已经知道变频器的数据格式为 “从站地址 XX 功能码 XX 读取地址 …

    SIMATIC S7-200 2020年11月1日
  • TP177B接线失误仍能使用吗

    我拿了一个TP177B触摸屏准备预先下载程序,结果脑子不在线接电接成220V,导致空开跳闸,触摸屏冒了火花,拆开发现接线端子旁边两个小元器件烧了,但是我又接了24V试了一下,居然能…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论