Size: a a a

2020 October 16

N

Nick in ru_ASUTP
Да, я сирани любитель оптимизации.
источник

А

Артем in ru_ASUTP
VAR_INPUT
_sensor_status:ARRAY[1..5] OF BOOL;//массив состояния датчиков
END_VAR
VAR_OUTPUT
alarm:BOOL;//авария по датчикам
END_VAR
VAR
 i:WORD;//счетчик цикла
 count:WORD;//счетчик сработки датчиков
END_VAR
////////////////////////////////
count:=0;
i:=1;
FOR i:=1 TO 5 DO
 IF _sensor_status[i]=TRUE THEN
 count:=count+1;
 END_IF
END_FOR
alarm:=count>=3;
источник

N

Nick in ru_ASUTP
Ну и да, в теории обнулять каждый цикл можно, но не для всех контроллеров вроде, нормалевайзе таблица считывается входов, потом замораживается, все операции внутри, потом запись в таблицу выходов. При этом внутри в меркеры часть операций запрещены, работают, но могут вызвать неоднозначные результаты.
источник

N

Nick in ru_ASUTP
Артем
VAR_INPUT
_sensor_status:ARRAY[1..5] OF BOOL;//массив состояния датчиков
END_VAR
VAR_OUTPUT
alarm:BOOL;//авария по датчикам
END_VAR
VAR
 i:WORD;//счетчик цикла
 count:WORD;//счетчик сработки датчиков
END_VAR
////////////////////////////////
count:=0;
i:=1;
FOR i:=1 TO 5 DO
 IF _sensor_status[i]=TRUE THEN
 count:=count+1;
 END_IF
END_FOR
alarm:=count>=3;
Так лично мне более приемлемо, хоть и код на VBasic похож, там свои косяки.
источник

VL

Vyacheslav Lapshin in ru_ASUTP
Артем
VAR_INPUT
_sensor_status:ARRAY[1..5] OF BOOL;//массив состояния датчиков
END_VAR
VAR_OUTPUT
alarm:BOOL;//авария по датчикам
END_VAR
VAR
 i:WORD;//счетчик цикла
 count:WORD;//счетчик сработки датчиков
END_VAR
////////////////////////////////
count:=0;
i:=1;
FOR i:=1 TO 5 DO
 IF _sensor_status[i]=TRUE THEN
 count:=count+1;
 END_IF
END_FOR
alarm:=count>=3;
Жесть.  Это АСУ?
источник

N

Nick in ru_ASUTP
Святослав Евдокимов
Спасибо
Для 5 датчиков сработать должно.
источник

А

Артем in ru_ASUTP
Vyacheslav Lapshin
Жесть.  Это АСУ?
Да, в сомашине накидал только что
источник

N

Nick in ru_ASUTP
Для очень много условий - не оптимально.
источник

VL

Vyacheslav Lapshin in ru_ASUTP
Артем
Да, в сомашине накидал только что
Как совет старайтесь не использовать циклы в циклах А если используете то используйте их для определения массивов и работы с ними. Длядля работы с датчиками и прочим оборудованием используется экземпляры
источник

N

Nick in ru_ASUTP
Vyacheslav Lapshin
Как совет старайтесь не использовать циклы в циклах А если используете то используйте их для определения массивов и работы с ними. Длядля работы с датчиками и прочим оборудованием используется экземпляры
Это уже левелап
источник

N

Nick in ru_ASUTP
Для 5 датчиков и 3 в сработке - эребор,  подпрограммы не нужны, это если будешь потом в проектах использовать.
источник

А

Артем in ru_ASUTP
Vyacheslav Lapshin
Как совет старайтесь не использовать циклы в циклах А если используете то используйте их для определения массивов и работы с ними. Длядля работы с датчиками и прочим оборудованием используется экземпляры
Так здесь и нет вложенных циклов, или имеются ввиду цикл сканирования контроллера?Не совсем понятна претензия.
источник

VL

Vyacheslav Lapshin in ru_ASUTP
Артем
Так здесь и нет вложенных циклов, или имеются ввиду цикл сканирования контроллера?Не совсем понятна претензия.
Просто наблюдаю в проектах это явление. Используют FOR, WHILE везде. Каналы, датчики, насосы юзают. Это не оптимально, не для АСУ
источник

VL

Vyacheslav Lapshin in ru_ASUTP
Массивы, структуры, архивы - вот для чего это
источник

N

Nick in ru_ASUTP
Vyacheslav Lapshin
Просто наблюдаю в проектах это явление. Используют FOR, WHILE везде. Каналы, датчики, насосы юзают. Это не оптимально, не для АСУ
Примерно так же и я думаю.
источник

N

Nick in ru_ASUTP
Безусловные переходы, они удобны, но ошибка очень чревата.
источник

N

Nick in ru_ASUTP
А вообще люблю Сименса IL, хоть и depricated, зато сразу очевидно, что говорю сделать контроллеру.
источник

DD

Davydov Denis in ru_ASUTP
а я сегодня свою гидравлику испытывал, не взорвался... в общем немного не докачав до тыщи атмосфер у меня одно из соединений просто травить начало, и из-за него давление больше не удалось накачать
источник

MI

Maksim IL in ru_ASUTP
Артем
VAR_INPUT
_sensor_status:ARRAY[1..5] OF BOOL;//массив состояния датчиков
END_VAR
VAR_OUTPUT
alarm:BOOL;//авария по датчикам
END_VAR
VAR
 i:WORD;//счетчик цикла
 count:WORD;//счетчик сработки датчиков
END_VAR
////////////////////////////////
count:=0;
i:=1;
FOR i:=1 TO 5 DO
 IF _sensor_status[i]=TRUE THEN
 count:=count+1;
 END_IF
END_FOR
alarm:=count>=3;
Ерунда такое городить
источник

AB

Aleksandr Burkaev in ru_ASUTP
Alexander Krylasov
твердотельное реле не выполняет условий гальванической развязки что не гуд по условиям электробезопасности, + в процессе эксплуатации возможна ситуация когда ттр прошивает накоротко, если с него запитан тэн это уже не гуд по пожарной безопасности
Варистары хорошо помогают загасить энергию. Главное, что бы автоматы были предусмотрены
источник