Я пытаюсь настроить квитирование между моим ПЛК (используя лестничную логику) и контроллером двигателя (используя VB). Я использую неявную связь, что означает, что ПЛК имеет несколько выходных регистров, в которые он может записывать данные, которые контроллер мотора видит как входные регистры. Точно так же у контроллера есть несколько выходных регистров, которые он может использовать для обратной записи, и ПЛК увидит их как входы. Важно отметить, что ни одно из устройств не может изменять регистры, которые оно считает входными.
Этот факт важен, потому что обычно ПЛК отправляет команду, устанавливая регистр равным 1, затем, когда контроллер мотора завершает эту команду, он устанавливает тот же регистр обратно в ноль, и процесс может повторяться. Но поскольку контроллер мотора не может обнулить тот же регистр, вместо этого он должен сигнализировать ПЛК с помощью другого регистра. В моем коде ПЛК у меня есть регистр «команды», возвращающийся к нулю, когда регистр «подтверждения» включен, но в зависимости от того, где находится код ПЛК в то время, он может просто снова выдать команду, прежде чем он проверит регистр «подтверждения». . В настоящее время, когда я даю команду на движение двигателя, он будет двигаться 3 или 6 раз.
Есть ли такой общий способ рукопожатия, когда используются два отдельных регистра?