-
Попробовал при выводе сделать задержку для work_mode рывки уменьшить не удалось, а вот для SINGLE_MODE визуально вывод стал ровнее. Посмотрел как такие изменения будут выводится в штатном меню, завел там оперативный параметр, который увеличивал в основном цикле, так в штатном меню вывод идет еще ровнее практически без рывков. В общем направление поисков немного прояснилось.
Да возник еще один вопрос по CoDeSys для ПЛК63 - не нашел описания рабочего цикла. Обычно он имеет вид:
1)чтение входов и запись их значений в область памяти
2)обмен по сети
3)выполнение программы пользователя
4)установка выходов (данные берутся из области памяти)
Причем программа пользователя может как работать со входами напрямую так и через зарезервированную для них область памяти.
Если работа идет через зарезервированную область памяти, то программа работает со снимком входов на момент начала цикла (этап 1) и на протяжении всего цикла значения входов не меняются (этап 3) даже, если реальное значение входа изменится. Если же программа работает со входами на прямую, то она видит реальное состояние входа, т.е. значение входа может измениться при каждом обращении ко входу внутри одного цикла (этап 3). Нечто подобное происходит и с выходами, если работа идет напрямую, то значение выхода за цикл (этап 3) можно менять много раз, а если через область памяти то выход будет установлен в соответствии с последним значением записанным в область памяти причем произойдет это только на этапе 4.
А как с этим обстоят дела в CoDeSys ? Когда я обращаюсь к %IX0.0.0.0 идет обращение к снимку в памяти или к реальному входу, и тот же вопрос для выхода, например %QD0.1.0?
Заранее извиняюсь за возможно глупые вопросы, но в документации к CoDeSys и ПЛК 63 ответа на них не нашел (возможно плохо искал).
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума