在某些欧姆龙 plc 逻辑中,我有一个如下所示的移动语句
----------
|@Mov(021)
| |
| |
|&110 |
| |
| |
|D5000 |
| |
|(value) |
| |
----------
对 @ 符号和 & 符号的含义感到困惑?
我问的原因是,值始终是 0 、 110 、 120 (数字),但我发现的唯一动作是 0 和 &110 ,谢谢
在某些欧姆龙 plc 逻辑中,我有一个如下所示的移动语句
----------
|@Mov(021)
| |
| |
|&110 |
| |
| |
|D5000 |
| |
|(value) |
| |
----------
对 @ 符号和 & 符号的含义感到困惑?
我问的原因是,值始终是 0 、 110 、 120 (数字),但我发现的唯一动作是 0 和 &110 ,谢谢
@
符号(在这种情况下!!! *)表示差分指令。这意味着该指令仅在输入进行 OFF 到 ON 转换时执行。
例子:
12.34
---| | -------------------| MOV |
| &110 |
| D5000|
对于上述情况,任何时间12.34
为 ON,十进制值(由 表示&
)110 将移动到D5000
。它将被存储为[x006E]
. 如果您改为使用#110
它,它将作为 HEX 或 BCD 值移动(即:D5000
将包含[x0110]
- BCD 值 110 或十进制值 272,取决于它的解释方式)
现在考虑
12.34
---| | -------------------| @MOV |
| &110 |
| D5000|
当从 OFF 变为 ON时,这只会将值移动&110
到D5000
单个 PLC 扫描。如果另一条指令稍后在保持 ON 的情况下12.34
写入,则上述指令不会覆盖它,除非再次关闭,然后再重新打开。然后,该指令使指令成为一次性指令-它不会连续工作,而是每次完全满足输入条件时才工作一次。D5000
12.32
12.34
@
虽然含义和实现不同,但上述梯级的工作方式与例如:
12.34
---|↑| -------------------| MOV |
| &110 |
| D5000|
在上述情况下,触点是差分的,并且仅在进行 OFF->ON 转换12.34
时打开一次扫描。12.34
但是,您通常可能有更复杂的输入逻辑,因此差分@MOV
指令代替差分触点更方便、更明智,甚至是所需行为所必需的。
如果您在内存位置发现神秘值,您可以使用 CX-Programmer 中的地址参考工具(查看 -> Windows -> 地址参考工具 -- 或ALT+4 )追踪它们的来源。单击 Ladder 中的 D-Memory 位置将列出使用该地址的所有梯级。这应该可以帮助您找到它在程序中的写入位置:
* 注意欧姆龙 PLC 中 @ 的其他用途- 请参见此处
& 符号表示该值为小数。