так это должно быть написано в отдельной программе получается..
так это должно быть написано в отдельной программе получается..
Привыкайте разбивать проект на части. Все равно сложные задачи неудобно писать одним блоком, тем более на CFC. Чем раньше поймете, тем легче Вам будет в дальнейшем.
Вложение 19617
получилось как то так... Где D5 кнопка начало цикла, а D10 сброс RS тригеров в программах. Я правильно все написал?
Я не знаю правильно или нет, так как сильно не вникал в Вашу программу. По идее при старте все триггеры должны быть просто сброшены. Смысл в том, чтобы в начале работы переменные имели нужные значения. Вот и смотрите, что чему должно быть равно и присваивайте нужные значения, проверьте, может где таймер окажется не отключен, тогда надо будет и его сбросить при инициализации.
Спасибо большое за помощь.Буду пробовать на выходных.
Может не все нужные переменные проинициализировали. При отладке посмотрите какие переменные на сбросились и добавьте их обнуление при инициализации.
Всем привет! Подскажите, есть ли возможность запихать три разных USINT в нужные места переменной TIME? Например, из СКАДы приходят Часы, минуты и секунды. Можно ли как-то просто их разместить по нужным местам в переменную TIME или нужно их пересчитывать в милисекунды, складывать и класть UDINT_to_TIME?
Вот в этой библиотеке гляньте: http://www.codesys.ru/docs/timeexp.zip Но как по мне, то проще пересчитать t := UDINT_TO_TIME((hr * 3600 + mn * 60 + sec) * 1000).