Академический Документы
Профессиональный Документы
Культура Документы
Особенности языка LAD в CodeSys
Особенности языка LAD в CodeSys
Как и было описано, в первой статье, ПЛК осуществляет циклическое чтение входов,
выполнение прикладной программы и запись выходов. Потому написание программы для
ПЛК отличается от традиционного написания программы для микроконтроллеров и ПК. К
программам для ПЛК предъявляются жесткие требования по надежности, одно дело
зависает текстовый редактор, а другое дело программа, управляющая ядерным
реактором. Другое не менее важное требование – это своевременное реагирование на
событие. А что значит, во время не прореагировать на событие в промышленности? Это
значит потерять контроль над технологическим процессом. Что в некоторых случаях,
примером с реактором, приведет к непоправимым последствиям.
1. Записать в порт лог. 1.
2. Временная задержка
3. Записать в порт лог.0.
4. Временная задержка
5. Переход по метке на начало программы.
Релейная схема представляет собой две вертикальные шины, между ними расположены
горизонтальные цепи образованные контактами и обмотками реле. Пример на рисунке:
- нормально разомкнутый контакт
- обмотка реле
Идея релейных схем, такова, что все цепи работают параллельно, т.е. ток во все цепи
подается одновременно. Но мы знаем, что программу процессор выполняет
последовательно, и мы не можем это сделать одновременно. Так и в LAD программа
выполняется последовательно слева направо, сверху вниз. Но цикл процессора мал,
поэтому и получается эффект параллельности.
Любая переменная в рамках одной цепи имеет одно и то же значение. Если даже реле в
цепи изменит переменную, то новое значение поступит на контакты только в следующем
цикле. Цепи расположенные выше получают новое значение переменной сразу, а цепи
расположенные ниже – только в следующем цикле. Строгий порядок выполнения очень
важен, и благодаря ним LAD- диаграмма сохраняет устойчивость при наличии обратных
связей.
Хоть это и противоречит аналогии LAD с релейными схемами, порядок выполнения LAD-
программы можно нарушить с помощью меток и переходов. Это ухудшает читаемость
программе, и в них бывает сложно разобраться, но как говориться если очень хочется, то
можно. Для этого желательно разбить программу на модули, и делать переходы между
модулями.
После установки, выбираем создать новый проект, и CoDeSys попросит выбрать целевую
платформу для ПЛК. Указание целевой платформы необходимо, чтобы среда знала, для
какого типа контроллера пишется программа. Выбираем 3S CodeSyS Sp PLCWinNT V2.4 и
жмем OK.
Имя проекта оставляем по умолчанию, язык выбираем LD
Вместо вопросительных знаков пишем имя нашей переменной, например SB, и нажимаем
Enter, выходит окно объявление переменной, выбираем Bool и нажимаем OК.
Рассмотрите, какие типы можно выбрать, а также какие классы переменных.
Пока IN равен FALSE, выход Q = FALSE, выход ET = 0. При переходе IN в TRUE выход Q
устанавливается в TRUE и таймер начинает отсчет времени на выходе ET до достижения
длительности, заданной PT. Далее счетчик не увеличивается. Таким образом, выход Q
генерирует импульс длительностью PT по фронту входа IN.