vsa Тебе нужен R_TRIG, который ты поставишь на вход импульсов, чтобы он отрабатывал ОДИН раз, когда на входе TRUE.
А потом пишешь банально так: OUT := NOT OUT;
(всё-таки накидал код)
Код:FUNCTION_BLOCK T_TRIG (* Copyright © 2024 Cs-Cs.Net Laboratory & Studio https://cs-cs.net *) VAR_INPUT Trig : BOOL := FALSE; END_VAR VAR_OUTPUT Out : BOOL := FALSE; END_VAR VAR fbRTrig : R_TRIG; END_VAR fbRTrig(CLK:= Trig); IF (fbRTrig.Q) THEN Out := NOT Out; END_IF
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Проблема с ПЛК 73. Почему-то modbus возвращает функцию на чтение регистра сам в себя. На картинке normal_receive нормальный ответ от устройства, а на картинке это фукнция modbus, которая идет от ПЛК к устройству. Из-за этого данные скачут, вне зависимости от проверок. Вложение 82077Вложение 82078test_read_UPS.pro
Писал код по примеру от разработчиков к библиотеке Modbus. Сам заметил что флаг complete не устанавливается. Но, к сожалению, не могу понять почему. Можете, пожалуйста, подсказать как он работает или указать на какой-либо пример?С кодом.