这几天有空拜读 宝冬 帖子,都很精彩,慢慢研究。
其中有一篇介绍Modbus任务队列的帖子,我以前参考过,但没有研究透。
一种通用化的Modbus站点任务队列执行的模块实现
可惜帖子已经封闭不能评论了,所以另发帖请教。
还没看完,有几个问题:
通讯的时候为了提高通讯效率对于没有变化的数据写操作就不再进行通讯而是选择跳过。这点怎么说呢我挺不能理解的,如果主站数据没有变化,但是从站对应接受区相关的数据发生变化了呢,是否不能更新了?
这点挺似乎很奇怪,但是现实确实有这种情况存在,从站覆写了接受区数据,比如编程错误,比如其他未知的原因,如果主站没有数据改变就不通讯了且不是很无辜?
还有一点,写优先这点也挺费解的。我理解为什么这么做,但读操作就没有优先的需要吗?事实上无论读还是写都需要主站主动发起通讯,从这个角度来理解都是向从站写操作。所以公平和完备起见还是应该每个任务都有优先权的需求的。
刚看一半,很长,需要时间消化。还没有看完,可能我理解有问题。