【发布时间】:2015-08-06 22:39:17
【问题描述】:
我正在尝试在我的 PLC(使用梯形逻辑)和电机控制器(使用 VB)之间设置握手。我正在使用隐式通信,这意味着 PLC 有一些输出寄存器,它可以写入电机控制器将其视为输入寄存器。同样,控制器有一些输出寄存器可用于回写,PLC 会将这些视为输入。重要的是要注意,这两个设备都不能更改它视为输入的寄存器。
这一事实很重要,因为通常我会让 PLC 通过将寄存器设置为 1 来发送命令,然后一旦电机控制器完成该命令,它会将相同的寄存器设置回零,并且该过程可以重复。但由于电机控制器无法将相同的寄存器设置回零,因此它必须使用不同的寄存器向 PLC 发出信号。在我的 PLC 代码中,当“确认”寄存器打开时,“命令”寄存器恢复为零,但取决于当时 PLC 代码的位置,它可能只是在检查“确认”寄存器之前再次发出命令.目前,当我发出移动电机的命令时,它会移动 3 或 6 次。
当使用两个单独的寄存器时,有没有一种常用的握手方式?
【问题讨论】:
-
只有当互操作信号从 0 变为 1 时,您的 PLC 才应向控制器发出命令。只需保留信号副本即可检测。您的 VB 代码只需要在知道控制器空闲时发出命令。
-
欢迎来到事件驱动与循环的精彩世界。如果这是一项真正的时间关键任务,那么您应该使用的最后一件事是 VB。为什么PLC和MC之间不能直接通信?