Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Программирование задач автоматического управления объектами на различных алгоритмических языках

..pdf
Скачиваний:
2
Добавлен:
12.11.2023
Размер:
3.28 Mб
Скачать

2)длина адреса устройства (Address Length) – 8 bit;

3)адрес устройства (Address) – установить 4;

4)видимость (Visibility) – установить NO.

Параметры каналов всех слейвов должны полностью соответствовать подобным параметрам каналов мастера.

После завершения конфигурации системы для задачи в окне PLC_PRG(PRG-ST) набираем программу, в которой раздел описания переменных выглядит таким образом:

VAR TP:=DWORD; DC:=WORD;

END_VAR

Сама программа, написанная на языке ST, состоит из следующих команд:

%QB9.3:=255; (включение контроллера в работу); TP:=%QD9.2.0.0; (передача температуры параметру ТР); DC:=%QW9.3.0.0; (передача показаний счетчика);

IF %IX0.2 THEN %QX1.3:=1; ELSE %QX1.3:=0;END_IF; (вклю-

чение нагревателя печи);

IF %IX0.5 THEN %QX1.2:=1; ELSE %QX1.2:=0;END_IF; (вклю-

чение вентилятора);

IF %IX0.0 THEN %QB9.7.0.0:=63; ELSE %QB9.7.0.0:=0; END_IF; (включение привода датчика на максимальную скорость);

IF %QX1.0 THEN %QB9.6.0.0:=63; ELSE %QB9.6.0.0:=0; END_IF; (подача импульсов на счетчик);

IF %IX0.1 THEN %QB9.4.0.0:=63; ELSE %QB9.4.0.0:=0; END_IF; (понижение скорости датчика);

IF %IX0.3 THEN %QB9.5.0.0:=63; %QB9.4.0.0:=63;

ELSE %QB9.5.0.0:=0;END_IF; (второе понижение скорости датчика).

Для того чтобы исключить ошибки при исполнении этой программы, перед ее запуском в работу необходимо в разделе Module parameters| параметр времени 50 мс заменить на 300 мс. Если при этом ошибка 81 все же появится, то указанный временной параметр нужно еще больше увеличить. Наберите программу этой задачи и проверьте ее работу.

201

После этого, не меняя содержания задачи, дополните ее следующим условием.

Дополнение к задаче: После нажатия на кнопку К7, подключенную к каналу дискретного ввода DI01 модуля МДВВ, резервный канал D010 этого модуля становится активным.

Поскольку содержание задачи существенно не меняется и в ее конфигурации присутствует резервный канал, в существующую конфигурацию этой задачи необходимо ввести только дополнительный канал, обеспечивающий связь ПЛК с каналом дискретного ввода DI01 модуля МДВВ. По режиму работы этот канал должен соответствовать типу Unsigned variable (Listen), так как через него мастер прослушивает состояние канала DI01 порта дискретного ввода модуля МДВВ.

Для дополнения этой конфигурации сначала для модуля OWEN (Master)[VAR] вышеописанным способом введем канал Unsigned variable (Listen) и дополним его восьмибитовой переменной %QB9.8.0.0 (каналом), привязанной командой Hash name R.CN с адресом 16 к порту DI01 дискретного ввода модуля МДВВ.

Структура этого дополнения показана на рис. 6.17.

Рис. 6.17. Фрагмент конфигурационной привязки канала DI01 модуля МДВВ к модулю OWEN (Master)[VAR]

Аналогичную процедуру проделаем для соответствующей привязки модуля Unsigned variable (Listen) слейва в структуру новой конфигурации. В результате этого в этой структуре появится дополнительная восьмибитовая переменная %QB10.8.0.0 с параметром идентификации Hash name R.CN и адресом 16 без индексации.

После внесения указанных дополнений в конфигурацию задачи необходимо внести изменения в ее программу. Для этого в окне PLC_PRG (PRG-ST) нужно добавить следующую строку:

202

IF %QB9.8.0.0=1 THEN %QB9.1.0.0:=63; ELSE %QB9.1.0.0:=0; END_IF;

Смысл этого программного дополнения заключается в том, что если кнопка К7 будет нажата, то переменная %QB10.8.0.0 примет истинное значение, в результате чего другая переменная %QB9.1.0.0 станет равной 63. При этом условии канал D010 порта дискретного вывода модуля МДВВ станет активным.

Внесите рассмотренные изменения в конфигурацию и программу задачи с учетом ее дополнения. Перегрузите ее в память ПЛК

ипроверьте ее работу.

6.3.7.Принцип программирования визуализации результата управления объектами

впрограммном пакете CoDeSys

Визуализация результата управления объектами в программном пакете CoDeSys обеспечивается применением специального приложения Visualizations, которое запускается в работу через раскрытие позиции Visualizations (см. рис. 6.3, кнопка 3). После раскрытия этого приложения нужно установить курсор на контуре позиции Visualizations и щелчком правой клавиши мыши раскрыть окно, в котором выбрать позицию Object, Add и в строке New Visualization следующего окна написать Vizo как имя файла визуализации. После нажатия кнопки ОК ниже позиции Visualizations появится надпись Vizo, а в верхней части рабочего окна пакета CoDeSys появится набор рабочих кнопок, предназначенных для построения элементов объекта визуализации.

Для установки на поле рабочего окна Vizo объекта визуализации типа кнопка необходимо выполнить следующие операции:

1.Из инструментального набора нажатием левой клавиши мыши выбрать позицию Rectangle (прямоугольник). После чего перенести курсор на поле рабочего окна Vizo и появившейся стрелкой вычертить квадрат, как это показано на рис. 6.18.

2.Далее установить курсор на поле полученного квадрата, дважды щелкнуть по нему левой клавишей мыши, в результате чего раскроется окно меню Regular Element Configuration (#0).

203

Рис. 6.18. Вид рабочего окна модуля Vizo

3.В этом меню установить курсор на позицию Text и в раскрывшемся окне в строке Content: записать К1. Этим именем мы назовем пусковую копку.

4.Для того чтобы цвет этой кнопки отражал ее состояние, необходимо задать эту цветность. Для этого необходимо установить курсор на позицию Colors и в очерченной области с именем Color раскрывшегося окна нажать клавишу Inside. Эта позиция определяет цвет кнопки в режиме OFF. В раскрывшейся палитре «Цвет» выбрать окраску кнопки для ее нерабочего состояния (например, зеленый). Нажатием клавиши ОК выбрать этот цвет для данного режима работы кнопки. Аналогичную операцию проделать в очерченной области

сименем Alarm color для выбора необходимого цвета (например, красного) для случая нажатого состояния кнопки (режим ON).

5.После этого выйти из позиции Colors и установить курсор на позицию Vareables, где в строковой рамке окна Change color записать К1. В результате этого мы запрограммируем изменение цвета кнопки с именем К1 при изменении ее состояния с OFF на ON.

6.Затем установить курсор на позицию Input и в строке Input «галочкой» отметить позицию Toggle variable (режим постоянно нажатой кнопки), а в строковой рамке этого окна записать К1.

204

7. Нажатием клавиши ОК необходимо зафиксировать набранные параметры и выйти из меню Regular Element Configuration (#0). После этого данному анимационному объекту присвоится номер #0, который поместитсявсерыйпрямоугольникнаегоконтуре(см. рис. 6.18).

Для установки на поле рабочего окна Vizo объекта визуализации типа лампа необходимо:

1. Из инструментального набора аналогично выбрать позицию Elipse (эллипс). После чего перенести курсор на поле рабочего окна Vizo и появившейся стрелкой вычертить контур окружности, как это показано на рис. 6.18.

2. Затем установить курсор на поле полученной окружности и дважды щелкнуть по этому контуру левой клавишей мыши, в резуль-

тате чего раскроетсяокноменю Regular Element Configuration (#2).

3.Далее в этом меню в позиции Text на поле Content: записать L1, а затем в позиции Colors определить цветность лампы для ре-

жима OFF и ON.

4.В следующей позиции Variables в строковой рамке окна Change color записать L1, обеспечив изменение ее цветности при переходе из режима OFF в режим ON.

Для визуализации процесса работы таймера на поле рабочего окна Vizo используем объектный блок Bar display. Для его установки необходимо:

1.Из инструментального набора аналогично выбрать позицию Bar display. После переноса курсора на поле рабочего окна Vizo вслед за стрелкой курсора раскроется окно Configure bar display,

вкотором нужно точкой выбрать вариант Vertical и нажать клавишу

Vertical/Scale.

В результате мы выберем столбчатый указатель с вертикальным положением шкалы.

2.После нажатия на клавишу Vertical/Scale раскроется окно Configure scale and variable, в котором нужно установить следующие параметры: Scale star – 0; Scale and – 10; Main scale – 5; Sub scale – 1; Scale formal (C-Syntax)-%1f. Позицию Variables этого окна нужно при-

вязать к имени таймера, анимацию которого нужно обеспечить (например, PLC_PRG.taimer.PT). Длявыхода изэтогоокнанажатьОК.

205

3.Для выбора цвета столбчатого указателя необходимо нажать клавишу Bar color, где в раскрывшейся палитре выбрать необходимый цвет. Для выхода из этого окна нажать ОК.

Для визуализации процесса работы счетчика на поле рабочего окна Vizo используем объектный блок Meter, который устанавливается на рабочем поле файла визуализации следующим образом:

1.Из инструментального набора аналогично необходимо выбрать позицию Meter. После переноса курсора на поле рабочего окна Vizo вслед за стрелкой курсора раскроется окно Configure meter,

вкотором нужно в позиции Arrowtype выбрать необходимый тип стрелки, а в позиции Label определить положение цифр на шкале циферблата.

2.В строке Arrow start нужно указать параметр верхнего предела состояния счетчика (в нашем случае 20). В строке Arrow end нужно записать ноль.

3.При нажатии клавиши Arrowcolor раскроется цветовая палитра окраски стрелки объекта Meter.

После нажатия на клавишу Vertical/Scale раскроется окно Configure scale and variable, в котором нужно установить следующие параметры: Scale star – 0; Scale and – 20; Main scale – 5; Sub scale – 1; Scale formal (C-Syntax)-%1f.

4.Позицию Variables этого окна нужно привязать к имени параметра счетчика, анимацию которого нужно обеспечить (например, PLC_PRG.sch.CV). Для выхода из этого окна нажать ОК.

При разработке файла визуализации надо учитывать то, что

блоки, входящие в его состав, могут взаимодействовать только с переменными глобального типа. Исходя из этого, прежде чем запустить в работу программу совместно с модулем визуализации, надо параметры программы, с которыми взаимодействует этот модуль, перевести в глобальный тип.

Для перевода переменных программы PLC_PRG в глобальный тип нужно:

1. Кнопкой 4 (см. рис. 6.3) вызвать режим Resuorcs отображения всех ресурсов, в котором раскрыть позицию Global Variables и повторно раскрыть подменю с этим же именем. При этом раскро-

206

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

2. В это окно из основной программы нужно перенести параметры, с которыми будет взаимодействовать файл Vizo.

Составленный таким образом модуль Vizo является структурным приложением программы PLC_PRG, с помощью которого можно наглядно оценить результатвыполненияпоставленной задачи.

6.3.8.Пример задачи взаимодействия модулей

ипрограммных объектов в составе общей сети управления контроллера ОВЕН ПЛК-150

Мы познакомились с принципами программирования работы микропроцессорных устройств типа ОВЕН, работающих независимо друг от друга под управлением контроллера ОВЕН ПЛК-150. На практике, как правило, эти устройства работают совместно в системе автоматизации конкретного технологического процесса, поэтому рассмотрим некоторые особенности программирования их совместной работы на следующем примере.

Задача: Составить программу, по которой при включении кнопки К2, подключенной к первому каналу дискретного ввода контроллера ОВЕН ПЛК-150, включается нагреватель эмулятора печи. Этот нагрев продолжается до тех пор, пока температура, регистрируемая измерителем ОВЕН ТРМ 201, не превысит значения числа 38. После выполнения этого условия нагреватель печи отключается и сигналом нулевого канала порта дискретного вывода модуля МДВВ производится запуск привода импульсного датчика РТМ18-08N. Импульсный сигнал с этого датчика подается на вход прямого счета счетчика ОВЕН СИ8. Привод датчика работает до тех пор, пока показания счетчика (в режиме прямого счета) не достигнут значения числа 215. После выполнения этого условия привод импульсного датчика останавливается и в работу вступает (активизируется) второй канал порта дискретного вывода модуля МДВВ, работающий в режиме ШИМ со скважностью 0,5. Импульсы этого канала подаются на вход обратного счета счетчика ОВЕН СИ8. При этом показания этого счетчика снижаются.

207

Как только показания достигают значения числа 190, включается привод вентилятора, охлаждающего нагреватель эмулятора печи. При этом импульсы обратного счета продолжают поступать на соответствующий вход счетчика СИ8. Подача импульсов обратного счета и работа вентилятора прекращаются только тогда, когда счетчик СИ8 полностью обнуляется или температура нагрева печи снижается до значения числа 35. Указанный цикл контролируется программным счетчиком, содержание которого увеличивается на единицу при каждом включении датчика прямого счета. Указанный цикл прекращается только тогда, когда состояние программного счетчика достигает значения числа 5.

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

Среди этих слейвов должны быть следующие:

модуль МДВВ с двумя активнымиканалами садресами16 и17;

измерительРТМ-201 соднимпассивным каналомс адресом4;

счетчик импульсов СИ8 с одним пассивным каналом с адресом 8.

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

С этой целью известным способом раскроем меню PLC Configuration, где в рабочем окне поместим вначале модуль OWEN (Master)[VAR], а затем последовательно три модуля OWEN (slave)[VAR] (или наоборот). Для всех модулей используем каналы связи типа Unsigned variable (Listen). В модуле мастер каналы, свя-

занные с устройством МДВВ, должны иметь тип Write, а связь мастера с остальными устройствами осуществляется по типу Listen. Структура конфигурации и тип всех каналов указаны на рис. 6.19.

В этой структуре назначение каналов следующее:

%QB12.1.0.0 – для включения привода датчика импульсов;

%QB12.2.0.0 – для передачи импульсного сигнала на СИ8;

%QB12.3.0.0 – для активизации всех каналов в линии управления;

208

%QD12.3.0.0 – для передачи сигнала датчика температуры;

%QW12.4.0.0 – для передачи сигналасостояния счетчика СИ8.

Рис. 6.19. Структура конфигурации задачи

Программа PLC_PRG для этой задачи должна состоять из двух модулей, один из которых будет составлен на языке LD, а другой – на языке ST.

Раздел описания переменных этой программы представлен следующим командами:

VAR

VAR

K2: AT%IX0.0:BOOL; q1: AT%QX1.0:BOOL; А: BOOL;

sch:CTD;

TP:REAL;

PS:DWORD; END_VAR VAR_INPUT

209

in:BOOL; END_VAR VAR_OUTPUT out:BOOL;

END_VAR

END_VAR,

где k2 − имя кнопки, подключенной к первому каналу порта дискретного ввода контроллера ОВЕН ПЛК-150;

А − промежуточная переменная;

CV − имя переменной, связанной с числовым состоянием программного счетчика;

q1 − имя переменной, связанной с выходным сигналом программного счетчика;

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

PS − имя переменной, связанной с числовым состоянием счетчика СИ8;

sch − имя программного счетчика типа CTD; in − входной параметр модуля act(ST);

out − выходной параметр модуля act(ST). Структура LD-модуля показана на рис. 6.20.

Для объединения в программе PLC_PRG двух подпрограмм, написанных на разных языках, в общую структуру LD-программы вводят дополнительный модуль Add Action, назначение которого было описано выше.

Рис. 6.20. Структура LD-модуля

210

Соседние файлы в папке книги