1

在某些欧姆龙 plc 逻辑中,我有一个如下所示的移动语句

----------
|@Mov(021)
|        |
|        |
|&110    |
|        |
|        |
|D5000   |  
|        |
|(value) |
|        |
----------

对 @ 符号和 & 符号的含义感到困惑?

我问的原因是,值始终是 0 、 110 、 120 (数字),但我发现的唯一动作是 0 和 &110 ,谢谢

4

2 回答 2

1

@符号(在这种情况下!!! *)表示差分指令。这意味着该指令仅在输入进行 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时,这只会将值移动&110D5000单个 PLC 扫描。如果另一条指令稍后在保持 ON 的情况下12.34写入,则上述指令不会覆盖它,除非再次关闭,然后再重新打开。然后,该指令使指令成为一次性指令-它不会连续工作,而是每次完全满足输入条件时才工作一次。D500012.3212.34@

虽然含义和实现不同,但上述梯级的工作方式与例如:

  12.34

---|↑| -------------------|  MOV |
                          | &110 |
                          | D5000|

在上述情况下,触点是差分的,并且仅在进行 OFF->ON 转换12.34时打开一次扫描。12.34但是,您通常可能有更复杂的输入逻辑,因此差分@MOV指令代替差分触点更方便、更明智,甚至是所需行为所必需的。

如果您在内存位置发现神秘值,您可以使用 CX-Programmer 中的地址参考工具(查看 -> Windows -> 地址参考工具 -- 或ALT+4 )追踪它们的来源。单击 Ladder 中的 D-Memory 位置将列出使用该地址的所有梯级。这应该可以帮助您找到它在程序中的写入位置:

地址参考工具

* 注意欧姆龙 PLC 中 @ 的其他用途- 请参见此处

于 2013-03-07T12:23:21.170 回答
0

& 符号表示该值为小数。

于 2013-03-07T12:01:35.467 回答