Привет всем!
ПЛК160 аналоговые входы
переменные Real автоматом назначены
Подаю на АЦП +5.15в, получаю значение 1030.
Читаю мануал - нет про это удвоение.
Делаю ADC8/2/1000 - получаю то что надо.
В ПЛК160 вообще намудрили с АЦП,
пишут, что только напряжение меряет.
И ещё
AI read time (10ms) - не совсем понятно что считает беспрерывно.
Последний раз редактировалось ПавелП; 30.03.2023 в 10:52.
Добрый день, расскажите про энерго не зависимые переменные в Кодесис 2,3.
Для моего устройства необходимо хранить некоторые значения,
такие как время задержки и частота Частотного преобразователя.
Сейчас эти значения меняю вручную, во время отладки, переменные обьявлены внутри VAR RETAIN END_VAR,
в будущем планирую использовать ип120 или ип320 для изменения их значений.
Проблема в том что при запуске программы с ПК через меню "Онлайн" программа работает корректно,
но при запуске при помощи переключателя на панели ПЛК, программа ведет себя не адекватно.
Но если эти переменные объявить внутри VAR END_VAR все работает корректно.
Всё зависит от программы, как у вас не известно. Можно и не объявлять RETAIN переменные, а просто добавить их в конфигурацию слейва,
там все переменные по умолчанию глобальные и RETAIN.
Если ПЛК мастер, можно сделать начальную инициализацию.
А вообще надо выкладывать проект или хотя бы скрины.
Последний раз редактировалось kondor3000; 30.03.2023 в 13:27.
скорее всего - поэтому всё неправильно и работает
которые вы получаете по модбас вероятнотакие как время задержки и частота Частотного преобразователя.
а переменные "внутри" конфигурации уже являются RETAIN, поэтому всё зависит от того, как вы их "вручную" меняете и что с ними дальше делаете.
Если у вас нет железа, то правильнее не делать какую-то псевдоимитацию обмена внутри плк, а нормально делать внешней программой обмен по сети.
Будем дальше гадать или скрины выложите? 1 Аналоговый вход ПЛК160jpg.jpg
И после применения изменений, надо перезагрузить ПЛК по питанию.
Последний раз редактировалось kondor3000; 30.03.2023 в 14:11.
Вы не правильно поняли. Ни какой имитации нет. Сейчас значение переменных меняю в режиме "Онлайн" из Кодесис. Проблема в том что программа по разному ведет себя при запуске с ПК и самостоятельном запуске. Если эти переменные
Pallet_run_length:WORD:= 2360; (*Длина пробега поддона*)
Braking_distance:WORD:=150; (*Расстояние торможения*)
Network_delay_time: TIME := T#250ms; (*время на задержку сети 485*)
High_frequencyPCH3:WORD := 650; (*высокая скорость линии*)
low_frequencyPCH3:WORD := 200; (*низкая скорость линии*)
strike_holding_time: TIME := T#150ms; (*время удержания удара*)
объявить как локальные VAR то все работает нормально. Если их объявить как RETAIN программа перестает верно считать
Run_time_at_high_speed := REAL_TO_TIME ((Pallet_run_length - Braking_distance) / (High_frequencyPCH3 * 5.42814737) * 10000) - Network_delay_time;
(Это мое предположение), из за чего таймер High_speed_timer_TP : TP; (*таймер высокой скорости*) не останавливается.
При этом если этот же код запустить с ПК, он нормально работает.