Материал: 2142

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Задача 3. Программный генератор периодических импульсов

оздать программный генератор прямоугольных импульсов с постоянной скважностью и задаваемым периодом, использовать таймеры.

С и б А Д Рисунок 20. Программа генератора прямоугольныхИимпульсов на языке LD

Такая программа генератора будет использована и в других лабораторных работах. Работа таймера описана во встроенной справке

CoDeSys.

Внешний вид программы показан на рисунке 20. Принцип функционирования генератора приведен ниже.

Допустим, непосредственно после первого запуска программы, переменные B и C равны логическому нулю, в результате таймер T1 не запускается, а таймер T2 – запускается, так как на его входе находится инвертированная переменная C, которой таймер по истечении времени передал значение логической единицы.

26

После заданного времени (на таймере T2 в данном примере время равно 1 сек.) устанавливается в единицу переменная B, стоящая на выходе таймера T2, при этом запускается таймер T1. Таймер T1 через заданное время (тоже 1 сек.) выдаст на выходе логическую единицу, которая будет присвоена переменной C. При этом таймер T2 переста-

Сет держать на выходе логическую единицу, и ноль сразу же записывается в переменную B, при этом выключается и первый таймер, так как с его входа пропадает логическая единица, в виде переменной B. После выключен я первого таймера переменная C сбрасывается и снова запускается таймер T2, на входе которого появляется логическая единийница в в де нверт рованной переменной C. Цикл повторяется.

Третья строка программы предназначена только для того, чтобы вывод ть значен е переменной на дискретный выход.

Послебзапуска программы можно увидеть, когда контроллер подключен к компьютеру, что переменная C не меняет своих значе- , а переменная B – периодически устанавливается и сбрасывается, так как, установка с рос переменной C происходит с интервалом времени в од н ц кл, а установка и сброс переменной B – с заданны-

ми промежутками времениА.

Д И

27

Лабораторная работа №3

ОСНОВНЫЕ ВОЗМОЖНОСТИ ЯЗЫКОВ ST, CFC И FBD

Особенности построения программ на языках ST, CFC и FBD

Ссостоит л шь в удобстве ее прочтения.

Цель работы: освоить основные приемы программирования на

основных МЭК-языках.

Любая с стема промышленного программирования построена так, что любую программную единицу, созданную для ПЛК с ее помощью можно зап сать на любом языке стандарта МЭК, и разница

машиннойстым для пон ман я, в то же время применим для узкого круга задач лог ки простого дискретного управления, в то время, как

Каждый язык программирования стандарта МЭК подходит для определенного круга задач. Язык LD, знакомство с которым имело

место на предыдущ х ла ораторных работах, являясь наиболее про-

организовать выч слен я с его помощью не представляется особенно удобным.

б Язык ST похожАна многие популярные языки программирования

высокого уровня, такие, как BASIC, или Pascal. В языке имеются все стандартные структуры, нео ходимые программисту: условия и цик-

лы. На нем удобно организовывать вычисления, обработку строк, но сложные логические конструкцииДна нем выглядят гораздо более громоздко и непонятно, чем на LD. Также, если нужно описать на языке ST некоторую структуру, хорошо представимую в виде схемы, состоящей из блоков, соединенных линиями, то легкость прочтения и наглядность такого описания также будет невысока.

Язык CFC – полностью графический, в Инем очень удобно оперировать с функциональными блоками. Приложения, которые представимы в виде схем и состоят из функциональных блоков, выглядят в такой системе наглядно и интуитивно понятны, но также, сложные вычисления с большим количеством элементарных действий приводят к быстрому разрастанию «собираемой схемы», уменьшению удобства ее прочтения и уменьшению эффективности данного применения языка. Несмотря на то, что язык не является стандартным языком системы МЭК, при решении задач, для которых характерны «схемотехнические» представления данных он применяется довольно часто. Еще две особенность его реализации в системе CoDeSys – автоматическая трассировка связей между блоками схемы и возмож-

28

ность обработки обратных связей внутри схемы (с задержкой на цикл). Также на языке CFC сложно управлять порядком выполнения функций и функциональных блоков, так как в случае устройства, собранного по схеме и непрерывно работающего, очередность работы каждого блока отсутствует, как понятие: управлять алгоритмической

Споследовательностью выполнения блоков можно посредством связей (связанные блоки исполняются от входа к выходу всей цепи), разновидностью такого управления является условное управление выполнением функц ональных блоков с помощью сигналов EN и ENO, ко-

торые можно добав ть к любому блоку с помощью кнопки на панели инструментовпод главным меню, об этом подробнее в следующих работах, хотя это уже применялось в языке LD (см. рисунок 19).

б А Д И

Рисунок 21. Решение задачи об автоматическом включении света на языке CFC

29

Язык FBD является промежуточным между LD и CFC. Схема разбивается на смысловые фрагменты, каждый из которых помещается в строку, выглядящую наподобие строки языка LD, при этом взаимное расположение блоков не так свободно, как в CFC. В отличие от языка CFC, данный язык принят как стандарт. Его можно рассматри-

Свать как попытку объединить определенность очередности выполне-

ния операторов, присущую языку LD с наглядностью CFC. Язык мало примен м, пр меняется в отсутствие языка, подобного CFC на других системах. Язык FBD более популярен среди ПЛК Siemens, в частно-

сти Siemens S7-300 в среде Step 7 MicroWin.

Решенбе одной з задач предыдущей лабораторной работы на языке CFC представлено на рисунке 21.

РешениенаязыкахST, CFC иFBD задачиобуправлениивключениемсвета

А Д И

Рисунок 22. Решение задачи об автоматическом включении света

30