Лекция: Теоретические основы программирования стенда 3
Программирование стенда 3 основано на литературе [1…6] и имеет в основе базовый язык релейно–контактных символов систем управления на основе контроллеров Микродат. Программно–логическая модель стенда 2, который является имитатором управления током нагрузки, представляет следующее:
– на месте М06 установлен модуль КМ 5500, который является модулем аналого-цифрового преобразователя (АЦП), подключенного по нулевому каналу через преобразователь Е854 переменного тока в постоянный (2,5 А в 4…20 Ма) к нагрузке (лампе HL1), модуль не маскируется;
– на месте М07установлен модуль КМ 5401 цифро–аналогового преобразователя ЦАП, подключенного (с выходом 0–10 В) к блоку управления тиристором БУСТ, который через тиристор V1 управляет лампой HL1; модуль не маскируется. Схема стенда 3 показана на рис. 3.
М06-АЦП ПРЕОБРАЗОВАТЕЛЬ E854
| |||
| |||
I HL1
М07-ЦАП БУСТ
|
|
U
V1
Рис. 3. Схема стенда 3 управления током нагрузки:
I -ток нагрузки; U-напряжение управления; Imax = 250 Ма,Umax = 10,0 В.
Базовая программа работы стенда 3 (название STEND3.fk) представлена ниже:
Алгоритм программы:
– программа конфигурирует модуль АЦП и в ячейке CURENT (003) формирует ток лампы в Ма ;
– одновременно в программе формируется задание ЦАП DAP (004) изменяющееся периодически от значения 0000 до 9999 и обратно, дискретность задания 0,01 В, то есть, напряжение U меняется от 0…10 В (что является максимальным заданием по управлению током лампы). Обращение и задание в ЦАП происходит по команде записи в регистр ЗПР071. Заданию DAP(004) =1000 соответствует напряжение подаваемое на БУСТ U = 10,0 В и ток измеренный на лампе CURENT = 250соответствующий 250 Ма.
//БАЗОВАЯ ПРОГРАММА СТЕНДА 3 (ФАЙЛ STEND3.fk)
#define maska0 0 0
#define maska1 0 0
#define maska2 0 0
#define maska3 0 0
#define Address 10022
#define Interrupt 0
#define Block 0
#define Scan 377
#define Period 0
var ATR_ADP 020
const 0005h // атрибуты конфигурирования каналов АЦП
var CONFIG_ADP 021
const 0001000011111111b // режим обработки циклический,
1 байт атрибутов, работа
var ZERO 000 // нулевое слово
var ZER_ 000.00 // нулевой бит
var STATUS_ADP 001 // слово состояния модуля АЦП
var TEST_ADP 001.04 // тест АЦП выполнен
var ADP 002 // код канала АЦП (код 4000=2500мА)
var CURENT 003 // ток нагрузки в мА
var DAP 004 // код канала ЦАП (1разряд=0.01В)
var CH 005 // счетчик
var MUS 006 // промежуточное слово
var TIM 007 // таймер
var TIK 007.16 //
var C25 100 // константа 25d
var C40 101 // константа 40d
var C100 102 // константа 100d
[НСТ]00
[НБЛ]000
[СБС]ZERO
[СБС]DAP
[СБС]TIM
[КБС]0, [КБМ]25d, [ЗПС]C25
[КБС]0, [КБМ]40d, [ЗПС]C40
[КБС]0, [КБМ]100d, [ЗПС]C100
// читаем слово состояния АЦП
[ЧТР]060, [ЗПС]STATUS_ADP
// если тест выполнен, перейти на конфигурирование модуля АЦП
TEST_ADP=[ПБЛ]001
// — - — - — - — - — - — - — - — - — -
[НБЛ]001
// записать файл атрибутов в модуль АЦП
[СБС]CH, [ПФМ]CH[УНС]020[ПРС]ATR_ADP[ПРС]6022[ПРК]1[ПРК]1
// записать слово конфигурации в модуль АЦП
[СБС]CH, [ПФМ]CH[УНС]020[ПРС]CONFIG_ADP[ПРС]6000[ПРК]1[ПРК]1
[ПБЛ]002
// — - — - — - — - — - — - — - — - -
[НБЛ]002
// читаем данные АЦП
[ЧТР]062, [ЗПС]ADP, [УМН]C25[ПРС]MUS, [ДЕЛ]C40[ПРС]MUS,
[ЗПС]CURENT
[ТВД]TIM[ПРК]20d
TIK=[СБС]TIM, [ЧТС]DAP, [САС]C100, [ЗПС]DAP
// записываем данные в канал ЦАП
^ZER_=[ЧТС]DAP, [ЗПР]071
[БЛШ]DAP[ПРК]999d = [ПБЛ]003
// — - — - — - — - — - — - — - — - — -
[НБЛ]003
// читаем данные АЦП
[ЧТР]062, [ЗПС]ADP, [УМН]C25[ПРС]MUS, [ДЕЛ]C40[ПРС]MUS,
[ЗПС]CURENT
[ТВД]TIM[ПРК]20d
TIK=[СБС]TIM, [ЧТС]DAP, [ВАС]C100, [ЗПС]DAP
// записываем данные в канал ЦАП
^ZER_=[ЧТС]DAP, [ЗПР]071
[РВН]DAP[ПРК]0d = [ПБЛ]002
[НОП]
[НОП]
[КОН]00