Вы про GetTime? Если да, то я не понимаю как это работает.
Таймер.png
Вы про GetTime? Если да, то я не понимаю как это работает.
Таймер.png
Что не понятного тут? В зависимости от входящего шага State, меняется время для таймера, для каждого шага своё время. Например для шага State=1 время t0=5.
Время в таймере надо задавать в ms, так как время конвертируется PT= UDINT_TO_TIME (CurMinute),
если не умножить на 1000, то вы получите 5ms, и шаги просто пролетят с 1 до 12 за пол секунды.
Умножение на 1000 это перевод времени в секунды, 5*1000=5000ms=5секунд,
а умножение на 60000 перевод в минуты 5*60000=300 000ms=300 секунд=5 минут
Переменная Zad и переключает либо отсчёт в секундах, либо в минутах. Там ведь даже подписано!
Всё что нужно сделать, запустить эмуляцию, нажать Старт и смотреть как работает.
Последний раз редактировалось kondor3000; 11.02.2024 в 19:15.
Спасибо за развернутый ответ! Первым же делом хотел посмотреть как это работает в эмуляции, но при открытии файла вылазит куча ошибок, в том числе и в самой программе.
Безымянный.jpg
Безымянный2.jpg
Безымянный3.jpg
Безымянный4.jpg
Офигеть, вы за столько времени, даже примеры на сайте не открывали?
Просто у вас таргеты не все стоят, как вы будете примеры открывать, они все для разных ПЛК сделаны. Поставьте все таргеты один раз и всё. У меня примеры для ПЛК154UM https://owen.ru/product/codesys_v2/service_po иногда для ПЛК154АM или ПЛК110_60_М
То, что биб-ка другой версии, это фигня, всё будет работать. Главное, что бы она вообще была. Библиотеки тоже желательно все поставить сразу.
https://owen.ru/product/codesys_v2/libraries
Последний раз редактировалось kondor3000; 12.02.2024 в 15:21.