恭喜,你发布的帖子
发布于 2016-09-05 10:05:32
3楼
感谢Zane的提示,参照了 N侠 的例程,做了如下整理,并通过在线实验,希望对大家的应用有所参考。
1、 在原声明的结构体数据类型的静态变量中增加了一个数组,用于存放连续读取的数值,见截图;
2、 将编辑的FB块的“优化的块访问”取消,否则出现”818C”错误,(DATA_PTR 的指针无效或 Blocked_Proc_Timeout 无效)见截图;
2、修改程序,在MODBUS-MASTER库的DATA_PTR管脚填入已声明的数组变量,见截图;
3、程序下载运行,在线监测,正常,见截图;
至此,解决了轮询多台变频器的多组数据采集及指定变频器的起、停、初始化。通过上述程序的调整,缩短了轮巡的时间,便于某一台变频器的状态发生改变后能更早的时间发现。另外应用中还应尽可能的将从站地址连续。减少通信判断的延时。
应注意的是:
DATA_PTR 参数指向要写入或读取的 DB地址,应取消“优化的块访问”,否则无法支持绝对寻址。在前期编程过程中也声明了数组变量,但由于没有取消“优化”,因此无法实现功能,参照了N侠的分享后此问题解决。
精华帖版主置评:不但自己学会,并且分享给大家,好样的!
请填写推广理由:
分享
只看
楼主