用Control VAR预置变量的错误结果-PLC技术网(www.plcjs.com)-可编程控制器技术门户


用Control VAR预置变量的错误结果

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-1-23 18:46:09     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.

问题:
当用编程设备功能"Control VAR"对变量进行预先设置时,如果变量大于一个字节,可能会发生一个周期的错误结果。

解答:
当指定大于一个字节或一个字的变量时,必须确保用"Control VAR"将变量传送到PLC内存不是以一个闭运算进行。

控制功能的传送是一个字节一个字节完成。如果控制了一个字,那么首次是传送高字节,然后再是低字节。
控制值之间的差别在于低字节,因为这是后来所更新的,虽然高字节已经有了新值。根据传送步骤和波特率,一个字的传送次数不同。
所有CPU和PG类型都是属于该类型的传送(AS 511 协议)。

下列示例用于说明该点:
MW 24 的内容是十六进制 0000 ,将变为十六进制 2356 。

内存字中的内存字节的位置与"Forcing VAR"中显示的一致。

MW n MB n MB n+1

如果MW 24通过"Forcing VAR"功能发生了改变,那么MB 25首先被传送到自动设备,然后是MB 24。这导致在一个OB1周期长度内MW24 (MB24)的错误内容。

MW 24的内容是十六进制0000 ,将变为十六进制2356。

执行 MW24内容
1 - PLC 周期 n-1 0000 十六进制
2 - 强制 VAR 写入 MB 25 MB 25 := 56 hex -
3 - PLC 周期 n 0056 十六进制
4 - 强制 VAR 写入 MB 24 MB 24 := 23 hex -
5 - PLC 周期 n+1 2356 十六进制

上一篇: 摩托车整车装配板链线、零件输送悬挂线同步控制方案!
下一: 用PLC和变频器实现机械传动装置的多点定位及往返运动