请教PLC与三个积算仪485通讯问题

分享到:
283
下一篇 >

菜鸟:

我的程序用PLC做主站,ModbusRTU协议与三个积算仪通讯,我用**个MSG的完成做下一个MSG的使能,轮询过程中发现其中一个MSG的DONE=0,程序不再执行此MSG模块后面的命令,而是重新从**个MSG命令开始执行,只是为什么?每个MSG完成的时间大概为多少?之前的程序发现每执行一次MSG的时间间隔大概为2-3s,是否有问题?

侠客:

认真检查DONE位,肯定用错乱了。

菜鸟:

认真检查了,没有用乱的DONE。程序里我用初始化命令的DONE的上升沿开启**个MSG,*后一个MSG的DONE置位**个MSG的使能,当程序运行到中间的一个MSG时,DONE位为1,这之后的MSG命令不被执行,却可以重新从**个MSG开始,不知道为什么。

会是因为我一共有9个MSG轮询,初始化命令的Timeout设置的是1000,所以超时了吗?

侠客:

DONE位地址有没有其他程序在赋值?触摸屏里有没有写相关地址?

菜鸟:

**个MSG的使能用初始化命令完成位置一,之后用作*后一个MSG的DONE,其余DONE没有被置位的程序,只是在初始化前被复位。我连接的是三个从站,一个积算仪,两个虚拟串口,有写地址。

侠客:

你把程序导出来,发上来看看。


你可能感兴趣: 工控菜鸟园 自动化系统 PLC 通讯
无觅相关文章插件,快速提升流量