在某些Omron plc逻辑中,我有一个看起来像这样的移动语句
----------
|@Mov(021)
| |
| |
|&110 |
| |
| |
|D5000 |
| |
|(value) |
| |
----------
对于@符号的含义和&登录?
我问的原因是,值总是0,110,120(数字),但我找到的唯一动作是0和& 110,谢谢
答案 0 :(得分: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|
当&110
从OFF变为ON时,这只会在单个PLC扫描中将值D5000
移动到12.34
。如果另一条指令稍后写入D5000
而12.32
保持为ON,则上述指令不会覆盖它,除非12.34
再次关闭,然后再打开。然后,@
使指令成为一次性指令 - 它不会连续工作,但每次输入条件完全满足时只能工作一次。
虽然在含义和实现上有所不同,但上述梯级的工作方式与例如:
相同 12.34
---|↑| -------------------| MOV |
| &110 |
| D5000|
在上文中,12.34
触点是差分触点,仅在12.34
进行OFF-> ON转换时才开启一次扫描。但是,通常情况下,您可能会有更复杂的输入逻辑,这样,差分@MOV
指令代替差分触点,对于所需的行为来说更方便,更明智甚至是必需的。
如果您在内存位置找到神秘值,您可以使用CX-Programmer中的地址参考工具(查看 - > Windows - >地址参考工具)追踪它们的来源。 - 或 ALT + 4 )。单击梯形图中的D-Memory位置将列出使用该地址的所有梯级。这可以帮助您找到程序中的写入位置:
*小心欧姆龙PLC中@的其他用途 - See Here
答案 1 :(得分:0)
&符号表示该值为小数。