通讯指令什么时候执行?

一个完整的扫描周期包括了通讯和执行程序等部分,请问 :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日

相关推荐

  • 西门子200的数据拼接问题

    假设MW0的值是45,MW2的值是68,现在要合并起来组成一个浮点数45.68,不知道怎么拼接,求各位指点,谢谢了,感谢 问题补充:我补充下,MW0可能是1,也可能是102,也可能…

    SIMATIC S7-200 2021年7月5日
  • 从s7-200中如何提取程序

    本人不小心把备份程序给误删了,现单位资料室要求各类资料存档,我想从现场PLC中提取,型号为s7-200,不知可不可以,如果可以该如何去提取?谢谢 最佳答案 可以!用Mrro/Win…

    SIMATIC S7-200 2021年7月5日
  • STEP 7 Micro/WIN V 4.0

    STEP 7 Micro/WIN V 4.0软件使用手册在哪里下载,打开软件帮助也打开不了。 钻石用户推荐最佳答案 西门子 ste…

    SIMATIC S7-200 2021年7月5日
  • 200 Smart 信号板SB DT04 接线问题

    1、200 Smart 信号板SB DT04 是数字量 2输入2输出的,我看数字输入是漏型的,那请问可以接NPN型的传感器吗?可否…

    2021年7月5日
  • 为什么200一上电时候,有点有上升沿?

    采集的模拟量通道的压力,当压力大于一个值时的上升沿置位一个m点,比如m11.0现在有个现象就是我每次通电的时候,m11.0就会被职位,我可以确定没有其他的位置再对m11.0进行输的…

    SIMATIC S7-200 2017年11月2日
  • S7200 重启后 系统继续从上一次的操作开始执行

    S7200 重启后 系统继续从上一次的操作开始执行 就是M位以及定时器等状态继续保持 问题补充:s7 200 存储区中的MB0至M…

    SIMATIC S7-200 2021年7月5日
  • 如何将VD300的值,作定时器T101的PV值。

    如何将VD300的值,作定时器T101的PV值。 最佳答案 PV值是用于计数器中,而不是定时器的,定时器通常用是TV值。只要将两部分数据换成相同要求的数据类型即可。PV值是要求为W…

    SIMATIC S7-200 2021年7月5日
  • S200 PID手自动怎么才能做无扰动切换

    S200 PID 手自动怎么才能做无扰动切换,用PID向导做,自动切手动可以,但手动到自动怎么才能无扰动切换,我想把切换时把自动的输出值写到手动值中,但自动的值…

    SIMATIC S7-200 2020年10月31日
  • bcd码。

    什么是bcd码有什么作用 最佳答案 1.BCD格式,首先要搞清楚它在存储方式 ,假设整数 999,在存储 BCD时以二进制来看是这样的: 2#1001 1001 1001,在二进制…

    SIMATIC S7-200 2017年11月16日
  • 200plc的uss-ctrl指令问题

    USS-CTRL指令里的速度给定和反馈是用全速的百分数表示的,我能否把这个数直接转换成电机的转速来显示?比如转换成0—1435R/MIN。谢谢指教 最佳答案 我能否把这个数直接…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论