Скачиваний:
123
Добавлен:
17.03.2015
Размер:
526.34 Кб
Скачать

2.3.1 Теоретические основы программирования

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

На месте М06 установлен модуль КМ5500, который является модулем аналого-цифрового преобразователя (АЦП), подключенного по нулевому каналу через преобразователь Е854 переменного тока в постоянный (2,5 А в 4 – 20 мА) к нагрузке (лампе HL1), модуль не маскируется.

На месте М07 установлен модуль КМ5401 цифроаналогового преобразователя ЦАП, подключенного (с выходом 0 – 10 В) к блоку управления тиристором БУСТ, который через тиристор V1 управляет лампой HL1, модуль не маскируется. Схема стенда показана на рис.2.3.

М06 АЦП ПРЕОБРАЗОВАТЕЛЬ E854

I HL1

М07 ЦАП БУСТ

U

V1

Рис. 2.3. Схема стенда управления током нагрузки:

I-ток нагрузки;U-напряжение управления;Imax = 250 Ма,Umax = 10,0 В

Алгоритм программы:

– программа конфигурирует модуль АЦП и в ячейке CURENT (003) формирует ток лампы в мА ;

– одновременно в программе формируется задание ЦАП DAP (004) изменяющееся периодически от значения 0000 до 9999 и обратно, дискретность задания 0,01 В, то есть, напряжение U меняется от 0 – 10 В (что является максимальным заданием по управлению током лампы). Обращение и задание в ЦАП происходит по команде записи в регистр ЗПР071.

Заданию DAP(004) = 1000 соответствует напряжение подаваемое на БУСТ U = 10,0 В и ток измеренный на лампе CURENT = 250 соответствующий 250 мА.

Базовая программа работы стенда (название STEND3.fk) представлена ниже, а варианты лабораторных работ приведены после листинга программы.

// БАЗОВАЯ ПРОГРАММА СТЕНДА (ФАЙЛ 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 // код канала АЦП (код 4 000 = 2 500мА)

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