-
Супер Модератор
1. Совет: забудьте про СИ. То, что одинаковые команды не значит что код будет работать. Априори. У ПК и ПЛК разные принципы работы - контроллер выполняет обсчет циклически с верху вниз. ПОСТОЯННО.
То есть с вержу вниз проходит все вычисления один раз (не стоит в цикле - не надо пробовать его туда загнать - перезагрузится, а просто проверяет свершилось ли условие), записывает результаты, считывает входы и снова выполняет программу один раз...
На семинаре я стараюсь показать это простым примером. Вспомните что будет на Си от такой строчки a:=a+1; Потом прошу написать эту строчку в CoDeSys и смотрю на удивленные лица...
2. Выполнение по таймеру очень просто:
if timer_TP.q=true then
"Вызвать подпрограмму работы"
"не проверять больше предыдущее условие"
А на SFC делается вообще просто
Первый шаг - в нутри шага на ST пишете какие переменные в какое состояние перевести, запускаете таймеры...
Переход после шага - ставите любое логическое условие...То же окончание таймера
Ну а во втором шаге пишете свою программу на ST...
Только не забудьте во втором шаге сбросить таймер, который Вы в первом шаге использовали. Ну и почитайте про SFC - там есть свои особенности - например контроллер обсчитывает только активный шаг...
Последний раз редактировалось Николаев Андрей; 11.02.2010 в 16:51.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума