Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

На месте М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

Варианты лабораторных работ

Используя базовую программу STEND3.fkсформировать программу ввода тока CURENTот нуля до величины IZ, через дискрету определяемую таймером [ТВД]TIM[ПРС]TV, с добавлением к заданию DAP величины 1 и выходом в блок слежения за величиной IZ(стабилизация величины IZ = CURENT определяется добавлением или вычитанием 1 из задания DAP, через дискрету определяемую таймером [ТВД]TIM[ПРК]25d, где d – признак десятичной системы исчисления):

· вариант 1; IZ = 250, TV = 1;

· вариант 2; IZ = 240, TV = 1;

· вариант 3; IZ = 230, TV = 2;

· вариант 4; IZ = 220, TV = 2;

· вариант 5; IZ = 210, TV = 3;

· вариант 6; IZ = 200, TV = 3;

· вариант 7; IZ = 190, TV = 4;

· вариант 8; IZ = 180, TV = 4;

· вариант 9; IZ = 170, TV = 5;

· вариант 10; IZ = 160, TV = 5;

· вариант 11; IZ = 150, TV = 1;

· вариант 12; IZ = 140, TV = 1;

· вариант 13; IZ = 130, TV = 2;

· вариант 14; IZ = 120, TV = 3;

· вариант 15; IZ = 110, TV = 4;

· вариант 16; IZ = 150, TV = 6;

· вариант 17; IZ = 140, TV = 7;

· вариант 18; IZ = 130, TV = 8;

· вариант 19; IZ = 120, TV = 9;

· вариант 20; IZ = 110, TV = 10;

· вариант 21; IZ = 100, TV = 11.





Дата публикования: 2015-04-09; Прочитано: 251 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...