704工程
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 134 点
下载积分: 740 分
在线时间: 25(小时)
注册时间: 2017-06-03
最后登录: 2024-01-15
查看704工程的 主题 / 回贴
楼主  发表于: 2017-10-09 20:05
如题。

客户有个项目,用到了FX5U PLC带31台变频器,进行数据通讯。

通讯内容,包括写入频率、读取状态、读取电流、如有发生错误,还需要复位变频器。

其中最重要的,是各个电机的频率。频率是在生产过程中,根据光电和接近开关的情况自动调节的,所以会变化,需要实时写入。

目前使用的是MODBUS协议,RTU格式,使用的是三菱自带的ADPRW指令。


现程序里设计的是,做了一个循环程序:首先,往第1个变频器写入数据,完成后SM8029置位下一个,往第2台里面写入,完成后,再置位第3台……如此反复,直到第31台写入后,sm8029再置位第1台,如此一直循环。

从第1台变频器写入,到最后一台写入,看做一个周期的话,现在这个周期长达650毫秒。而且这还只是往里面写频率数据,其他的读取电流、读取状态、复位目前都屏蔽了,还这么长时间。

但是根据现场需求,需要将这一周期的时间压缩在300毫秒以内。



各位老师们,有没有好的方法?
[ 此帖被704工程在2017-10-11 22:55重新编辑 ]
uthman
QQ:3749615
级别: 家园常客
精华主题: 1 篇
发帖数量: 442 个
工控威望: 800 点
下载积分: 2718 分
在线时间: 752(小时)
注册时间: 2007-10-25
最后登录: 2024-04-30
查看uthman的 主题 / 回贴
1楼  发表于: 2017-10-09 20:39
写入优先,需要写入的时候写入,需要读取时读取。程序扫描周期长的话通信可用定时中断进行