代码之家  ›  专栏  ›  技术社区  ›  Glen Morse

&符号是什么意思?

plc
  •  1
  • Glen Morse  · 技术社区  · 12 年前

    在奥姆龙公司的某些逻辑中,我有一个移动语句,看起来像这样

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

    困惑于@符号和&签名

    我问的原因是,值总是0、110、120(数字),但我找到的唯一移动是0和&110,谢谢

    2 回复  |  直到 12 年前
        1
  •  1
  •   Community CDub    7 年前

    这个 @ 标志( 在这种情况下!!! *)表示差分指令。这意味着只有当输入进行OFF到ON的转换时,才执行指令。

    例子:

      12.34
    
    ---| | -------------------| MOV  |
                              | &110 |
                              | D5000|
    

    对于上述情况,任何时候 12.34 十进制值为ON(由 & )110将移动到 D5000 。它将被存储为 [x006E] 。如果您使用 #110 它将被移动为HEX或BCD值(即: 5000第纳尔 将包含 [x0110] -110的BCD值或272的十进制值,具体取决于如何解释)

    现在就考虑

      12.34
    
    ---| | -------------------| @MOV |
                              | &110 |
                              | D5000|
    

    这只会移动值 &110 5000第纳尔 12.34 从OFF变为ON。如果以后有其他指令写入 5000第纳尔 虽然 12.32 保持ON,则上述指令不会覆盖它,除非 12.34 再次关闭,然后重新打开 @ 然后,使指令成为一次性指令——它不是连续工作的,而是每次完全满足输入条件时只工作一次。

    虽然在含义和实现上有所不同,但上述梯级的工作原理与以下相同,例如:

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

    在上文中 12.34 触点是差分的,并且仅在以下情况下打开一次扫描 12.34 使OFF(关)->ON转换。然而,通常情况下,您可能有更复杂的输入逻辑,例如 @MOV 代替差动触点的指令更方便或更明智,甚至是所需行为所需的指令。

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

    Address Reference Tool

    *在奥姆龙PLC中小心使用@ - See Here

        2
  •  0
  •   Bart Schouwenaars-Harms    12 年前

    &符号表示该值为十进制。