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

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

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

личится до предельного значения. При величине входного сигнала, равном 4 мА, значение параметра I1 не будет превышать значения 1.030000е+009, поэтому этот числовой параметр принимаем за минимальную границу заданного диапазона изменения параметра I1 и присваиваем это значение параметру М1. За верхнюю границу этого диапазона принимаем число 1.077000Е+009 и аналогично присваиваем его параметру М2. Если выполняется условие, по которому величина I1 не будет выходить за пределы заданного диапазона, то нулевой канал порта дискретного вывода контроллера должен быть включен, в противном случае он останется пассивным. В программе это условие контролируется следующей командой:

IF (I1>M1) AND (I1<M2) THEN K1:=TRUE; ELSE K1:=FALSE; END_IF;.

Диапазон для срабатывания первого канала порта дискретного вывода выбирается аналогично. За минимальную границу этого диапазона принимаем число 1.090000Е+009 и присваиваем его параметру М3, а за его максимальную границу принимаем другое число 1.096000е+009 и присваиваем его параметру М4. Тогда условие, по которому включается первый канал порта дискретного вывода, будет обеспечено следующей командой:

IF (I1>M3) AND (I1<M4) THEN K2:=TRUE; ELSE K2:=FALSE; END_IF;.

Наберите и перенесите в оперативную память контроллера ОВЕН ПЛК-150 эту программу. Установите по прибору стенда величину входного тока портааналогового вводапо уровнюменее 4 мА.

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

6.3.4. Принцип программирования работы порта аналогового вывода контроллера ОВЕН ПЛК-150

Порт аналогового вывода контроллера ОВЕН ПЛК-150 представлен отдельным модулем, который необходимо аналогично сконфигурировать по одному из трех вариантов в зависимости от типа выходного сигнала. Этот сигнал может быть:

171

универсальным, настроеннымна параметртокаили напряжения;

фиксированным, настроенным только на параметр тока;

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

PLC Configuration установкой курсора на позиции Analog output[FIX]. После двойного нажатия левой клавиши мыши раскры-

вается окно Base parameter: Module parameters, в котором выбирает-

ся параметр «тип входа». Тип этого параметра может быть Curent 4 – 20mA или Voltage 0 – 10 V. Остальные параметры остаются без изменения.

Для проверки принципа работы порта (модуля) аналогового вывода контроллера ОВЕН ПЛК-150 наберем простую программу, по которой в разделе описания типов запишем:

VAR

I1: AT %ID3.0:REAL;

I2: AT %QD7.0:REAL; M1 :REAL;

END_VAR,

где I1 и I2 − переменные, связанные с номером канала вывода аналогового сигнала;

M1 − переменная памяти, предназначенная для промежуточного хранения одного из параметров.

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

M1:=10.0;

I2:=M1;

При запуске этой программы на приборе, регистрирующем величину выходного сигнала, появится значение, близкое к 10 мA. Эта программавсегда будетвыдаватьна выходе портапостоянный сигнал.

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

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

172

После выбора языка про-

 

 

 

 

 

граммирования

в варианте SFC

 

 

 

 

 

на рабочем поле пакета CoDeSys

 

 

 

 

 

первоначально

появится

фигура

 

 

 

 

 

прямоугольника начального дей-

 

 

 

 

 

ствия программы

с

названием

 

 

 

 

 

Init. В нижней части этой фигуры

 

 

 

 

 

на линии связи со стрелкой по-

 

 

 

 

 

мещается надпись Trans0, обо-

 

 

 

 

 

значающая

условный

 

переход

 

 

 

 

 

к действию последующего шага

 

 

 

 

 

(см. рис. 6.7, а). Для ввода ос-

 

 

 

 

 

тальных шагов последовательных

 

 

 

 

 

действий

программы

установим

 

 

 

 

 

курсор на поле начального шага

 

 

 

 

 

Init и правой клавишей мыши

 

 

 

 

 

раскроем

окно

набора

команд

 

 

 

 

 

языка SFC. В этом окне выберем

 

 

 

 

 

команду Step-Transition (after),

 

 

 

 

 

которая предназначена для ввода

 

 

 

 

 

фигуры последующего шага про-

 

 

 

 

 

граммы. Щелчком левой клавиши

 

а

 

 

 

 

 

б

мыши введем фигуру этого шага

Рис. 6.7. Фрагменты вариантов

программы,

которому

автомати-

чески присвоится имя Step2. На

программы изменения выходного

числового параметра порта

линии связи с последующим ша-

аналогового вывода контроллера

гом автоматически

установится

ОВЕН ПЛК-150: а – начало

следующий

условный

переход

программирования; б – рабочий

Trans1. Установив курсор на поле

 

 

вариант

шага Step2,

аналогично вызовем

 

 

 

 

 

следующие шаги Step3 и Step4.

 

 

 

 

 

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

173

ST. Нажатием кнопки ОК выйдем в следующее окно Action Init (ST), на поле которого запишем команду М1:=4.0. При вводе этой команды программный пакет потребует присвоения типа переменной М1. Этот тип определим как тип REAL и введем его через окно Declare Variable. В адресной части этого окна нужно записать %QD7.0 как адрес первого канала порта аналогового вывода типа Value для контроллера ОВЕН ПЛК-150.

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

Step2 − М1:=10.0;

Step3 − М1:=15.0;

Step4 − М1:=20.0;

На следующем этапе подготовки программы необходимо прописать условия Trans перехода одного действия программы в другое, поэтому переход Trans1 заменим на символ К1, в результате чего переход от шага Init к шагу Step2 станет возможным только тогда, когда параметр К1 будет истинным. Параметр К1 – это кнопка нулевого канала порта дискретного ввода контроллера. Для его привязки к этому каналу необходимо прописать адрес этой переменной как %IX0.0;. На всех остальных переходах запишем TRUE, что обеспечит им безусловную связь друг с другом.

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

Extras и Time Overview раскроем окно SFC Time Limit Overview,

в котором для всех шагов, кроме Init, определим Minimal Time = T#3s, и Maximal Time = T#4s. Это время будет указано спра-

ва от контура поля каждого шага.

Общий вид структуры составленной программы показан на рис. 6.7, б. После загрузки программы в контроллер и последующего ее запуска программа выполнит шаг Init и остановится, ожидая

174

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

6.3.5. Принцип программирования работы автономного модуля ТРМ-201 при передаче показаний датчика температуры печи по сети

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

Передача сигналов по сети управления производится в соответствии с протоколом передачи этих данных. Нашу сеть управления мы строим на основе принципов протокола канального уровня типа ОВЕН. Переменные этого протокола бывают двух типов. Переменные, предназначенные для чтения информации из сети управления, обозначаются как Listen, и переменные, предназначенные для передачи (записи) информации в сеть, обозначаются соответственно как Write. Как ведущее устройство, Master может оперировать переменными обоих типов, в то время как Slave может оперировать только переменной Listen.

Для того чтобы обеспечить связь Master с подключенными к нему модулями (Slaveми) по протоколу ОВЕН, необходимо создать файл конфигурации, который должен быть привязан к конкретной задаче управления объектом. Первоначально создадим файл конфигурации для следующей задачи.

Задача: Передать по сети в оперативную память ПЛК уровень температуры печи, регистрируемой прибором ТРМ 201. Включение

175

печи производится кнопкой К1 через порт D04 на самом ПЛК, а кнопкойК2 включаетсявентилятор обдува черезпорт D03 наПЛК.

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

Раскрываем позицию PLC Configuration. В раскрывшемся окне слева вверху появляется надпись □----PLC 150 I, подтверждающая выбранный нами тип ПЛК. Правая половина этого окна с надписью Settings| Module parameters пока остается без изменения. В левой половине этого окна будет развернута конфигурация структуры внутренних ресурсов контроллера (порты ввода-вывода). Об этом свидетельствует наличие знака «+», помещенного в квадрат. Если щелкнуть мышью по этому знаку, то внутренняя структура конфигурации контроллера раскроется (рис. 6.8).

Первоначально в структуру конфигурации нашей задачи нужно дополнительно ввести объекты мастер и слейв. Для этого надо установить курсор на позиции □---PLC 150 I и щелчком правой клавиши мыши раскрыть всплывающее окно, в котором из строки Append Subelement выйти в следующее окно, где приведен список устройств с различными протоколами связи. В этом списке нужно последовательно выбрать сначала позицию OWEN (Master)[VAR]

иустановить ее на поле файла конфигурации задачи, а затем аналогично установить модуль OWEN (slave)[VAR]. Оба этих модуля последовательно войдут в конфигурацию нашей задачи. Дальше устанавливаем курсор на перекрестие надписи OWEN (Master)[VAR]

идвойным щелчком левой клавиши мыши раскрываем структуру этого элемента в файле конфигурации задачи.

Структурно в модуле OWEN (Master)[VAR] всегда присутствует пять каналов, информирующих пользователя о работе системы в процессе передачи данных (см. рис. 6.8).

Среди них следующие:

канал AT %QW9.0:WORD;(*Last error *)[CHANNTL (Q)]; ре-

гистрирует ошибки при работе сети;

канал AT %QW9.1:WORD;(*Last hash *)[CHANNTL (Q)]; ре-

гистрирует код последней hash-команды;

176

Рис. 6.8. Структура окна конфигурации внутренних ресурсов контроллера ОВЕН ПЛК-150

канал AT %QW9.2:WORD;(*Last address *)[CHANNTL (Q)];

регистрирует адрес последнего обращения мастера к слейву;

канал AT %QW9.3:WORD;(*Start/Stop *)[CHANNTL (Q)]; ис-

пользуется для управления процессом включения в работу модуля (Master). Если в этот канал записывается число 0x00FF (255), то происходит старт работы модуля (Master). Остановка работы модуля

(Master) выполняется по команде 0x00FE (254);

177

– канал RS-485 (Slot) используется для записи параметров физического интерфейса RS-485.

По умолчанию протокол ОВЕН настроен на физический протокол RS-232, поэтому для перехода на физический протокол RS-485 нужно установить курсор на надписи RS-232 и двойным щелчком правой клавиши мыши раскрыть окно, в котором выбрать позицию Insert Element, и в следующем окне выбрать интерфейс RS-485-1, для которого нужно установить следующие параметры:

1)скорость передачи информации в сети (Communication Sheed) –

9600;

2)проверка четности (Parity) – остается NO PARITI CHTK;

3)количество битов данных (в команде посылки) (Data Bits) – 8;

4)количество стоп-битов (Stop Leength) – 1;

5)тип интерфейса (InterfaseType) – RS-485;

6)тип протокола обмена (FrameOriented) – ASCII;

7)время задержки ответа на запрос (Framing time) – 50 мс;

8)видимость (Visibility) – NO.

После ввода этих параметров снова устанавливаем курсор на надписи OWEN (Master)[VAR] и через позицию Append Subelement

выходим в окно, где из предложенного списка вариантов каналов связи выбираем позицию Unsigned variable (Listen). В результате этого выбора в нашей структуре появляется канал связи мастера со слейвом, позволяющий мастеру принимать данные в любом формате. Этот канал связи необходимо привязать к определенному типу формата принимаемого сигнала, поэтому устанавливаем курсор на надписи Unsigned variable (Listen) и щелчком правой клавиши мыши снова через позицию Append Subelement выходим в окно выбора этого формата. В этом окне формат канала может быть выбран из следующего набора: 2 byte…, 8 bite…, 4 byte…, Float… . Каждый из этих форматов соответствует определенному типу переменных. Переменной формата 2 byte… присваивается тип WORD, а переменная формата 8 bite… имеет тип BYTE, а формат переменной 4 byte… соответственно имеет тип DWORD.

Внашей задаче для передачи сигнала от прибора ТРМ 201

кмастеру требуется сигнал формата DWORD, поэтому из предло-

178

женного списка выбираем позицию 4 byte…, в результате этого при конфигурации системы строка Unsigned variable (Listen) преобразуется в вид, показанный на рис. 6.9.

Рис. 6.9. Структура канальной привязки модуля OWEN (Master)[VAR]

к модулю OWEN (slave)[VAR

Как видно из рис. 6.9, параметру формата 4 byte… конфигура-

тор ОВЕН присвоил имя AT %QD9.1.0.0: DWORD;(* *)[CHANNTL (Q)] . Смысл этой записи состоит в том, что конфигуратор автоматически привязал канал Unsigned variable (Listen) к переменной %QD9.1.0.0, которая, в свою очередь, строго привязана к ячейке памяти контроллера с определенным адресом.

Протокол ОВЕН автоматически разбивает оперативную память контроллера на равные части определенного размера. Каждая из таких частей этой памяти контроллера называется регистром. Каждому регистру отводится 2 байта. Кроме того, каждому регистру в соответствии с типом переменной присваивается определенный адрес. Эти адреса конфигуратором автоматически распределяются по определенному типу переменных.

179

Для обеспечения работоспособности канала Unsigned variable (Listen) ему необходимо задать соответствующие параметры. Для этого, установив курсор на надписи этого канала, выделяем ее щелчком левой клавиши мыши. После этого переносим курсор на надпись Settings| Module parameters|, расположенную в правой половине окна конфигурации, и соответствующим щелчком левой клавиши мыши раскрываем окно установки параметров этого канала. Эти параметры должны иметь следующее содержание:

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

2)адрес устройства (Address) – в нашем случае 4;

3)признак команды опроса прибора (Hash name) – команда PV;

4)индекс прибора (Index) – установить 0;

5)период опроса (Polling time, ms)– установить 100;

6)режим работы (Work mode) – установить Value change (по изменению значения);

7)точность (Precision)– установить 2;

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

На этом пока прерываем установку параметров канала связи модуля OWEN (Master)[VAR] и переходим к конфигурации модуля OWEN (slave)[VAR]. Для этого аналогично устанавливаем курсор на перекрестие надписи OWEN (slave)[VAR] и двойным щелчком левой клавиши мыши в файле конфигурации задачи раскрываем структуру этого элемента. После этого переносим курсор на надпись Settings| Module parameters|, расположенную в правой половине окна конфигурации, и соответствующим щелчком левой клавиши мыши раскрываем окно установки параметров для этого модуля. Эти параметры должны иметь следующее содержание:

1)имя прибора (Slave Name) – установить TPM;

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

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

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

После установки этих параметров аналогично вводим в структуру этого модуля канал Unsigned variable (Listen) и присваиваем ему тип 4 byte. При этом аналогично конфигуратор ОВЕН привязывает канал связи Unsigned variable (Listen) модуля слейв к перемен-

ной %QD10.1.0.0..

180

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