ABBAC900F学习笔记192:modbus通讯4
标签:
abbac900ffreelancemodbus通讯 |
分类: ABBDCS |
继续学习,依据资料《Freelance Engineering Communication and Fieldbusses》第四章。
如果modbus功能块在比modbus作业能够执行速度更快的任务中运行,不必要的CPU时间就浪费了。如果这种状态发生,输出信号OVR置为1。在非自动处理模式下,需求会被拒绝。输入管脚REQ需要重新触发。虽然所有的需求在自动模式下执行,不再能够保证各种modbus功能块的处理顺序。
输出
RSP
为确定任务周期时间提供了进一步的帮助。此输出以毫秒为单位显示从modbus消息的发送到modbus从属响应的到达和评估之间的时间间隔(包括总线时间)。来自从站的响应数据不能在主读/写块生成新请求的任务周期中输出,因为modbus通信本身不是在用户任务中执行,而是在后台执行。如果从站的响应已被接收,则最早可以在任务的下一次运行中由读/写块输出。如果客户端的相应没有到达,当前任务周期没有进一步的动作。净效应是,每两次运行中生成新请求的频率不能超过一次。为了实现数据的最佳吞吐量,用户任务的运行周期时间必须等于所有请求传输时间的一半(RSP时间之和)。
选择任务周期时间
“自动模式”和“非自动模式”的概念见前一篇博客关于“自动请求”可选项的记录。
设置"超时"的指导值
"超时"是连接的从设备的预期反应时间,无论绑定速率如何。这个值需要定义。典型的,反应时间介于 50 和 100 ms
之间。但是,应谨慎行事,因为在许多modbus从机实现中响应时间可能会波动。
提示:超时时间需要使用毫秒单位输入。在函数上运行合理性检查时,无法检查输入的"超时"。当一个通讯模板使用时,响应时间较高,因为以太网总线上的传输时间加上通信模块中的处理时间必须加到基本响应时间上。
这一篇有点绕,我先保存下来,然后慢慢领会,做修改注释。

加载中…