Обмен и обработка информации по коммуникационным сетям в распределенных системах управления ASCII и Modbus, страница 3

1.  Если машина хочет выехать, то она подъезжает к воротам и пересекает датчик 2 и ворота открываются (если они еще не открыты). При этом красный свет сменяется на мигающий красный. Если после открытия ворот внутри разъезда нет машин, то загорается зелёный и машина выезжает, мигает красный свет. Если при проходе датчика 0 нет машин, которые хотели бы въехать или выехать, то ворота гаража закрываются и мигает красный свет. После закрытия свет становится красным.

2.  Если машина хочет въехать в гараж, то она подъезжает к шлагбауму и водитель опускает жетон в жетоноприёмник. Если ворота гаража закрыты, то они  открываются, красный сменяется на мигающий красный. Если после открытия ворот внутри разъезда нет машин, то открывается шлагбаум, загорается зелёный и машина въезжает. После прохода датчика 0 шлагбаум закрывается, мигает красный. После въезда в гараж (пересечения датчика 1), счётчик машин увеличивает на 1 своё значение и если нет машин, которые хотели бы въехать или выехать, то ворота закрываются и мигает красный свет.

3.  Если гараж полностью заполнен, то водитель не сможет опустить жетон, появляется сообщение о переполненности гаража.

III. Конфигурирование контроллеров (См. Часть 1 - IV. Некоторые простые примеры)

IV.Программа

Для написания программы используется язык IL. Всю программу в Master разобьем на 5 частей:

1.Прием входных сигналов от Slave

2. Главная часть, для управления режимами.

3. Часть, отвечающая за выезд автомобиля.

4. Часть, отвечающая за въезд автомобиля.

5. Передача выходные сигналы в Slave

Каждая часть будет иметь свою секцию и главная часть будет устанавливать активной либо часть въезда, либо выезда.

В программе используются следующие переменные:

В Slave:

*Входные переменные:

Адресс

Называние

Описание

%M0

S_sen0

Внешний датчик

%M1

S_sen1

Первые внутренний датчик

%M2

S_sen2

Второй внутренний датчик

%M3

S_card

Жетон

%M4

S_sbros

Кнопка сброса

*Выходные переменные:

Адресс

Называние

Описание

%M5

S_shlak

шлагбаум

%M8

S_green1

Зеленая лампочка внешнего светофора

%M9

S_red1

Красная лампочка внешнего светофора

%M10

S_green2

Зеленая лампочка внутреннего светофора

%M11

S_red2

Красная лампочка внутреннего светофора

%M12

S_full

Перегрузка

%MW0

S_amount

Количество машин в гараже

В Master:

Адресс

Называние

Описание

%M0

M_sen0

Внешний датчик

%M1

M_sen1

Первые внутренний датчик

%M2

M_sen2

Второй внутренний датчик

%M3

M_card

Жетон

%M4

M_sbros

Кнопка сброса

%M5

M_shlak

шлагбаум

%M6

M_doorOpen

Открытие двери?

%M7

M_doorClose

Закрытие двери?

%M8

M_green1

Зеленая лампочка внешнего светофора

%M9

M_red1

Красная лампочка внешнего светофора

%M10

M_green2

Зеленая лампочка внутреннего светофора

%M11

M_red2

Красная лампочка внутреннего светофора

%M12

M_full

Перегрузка

%MW0

M_amount

Количество машин в гараже

%MW1

M_max

Максимальное количество

%C0

M_counter

UP/DOWN счетчик количества машин

%M13

M_goOn

Движится ли машина?

%M14

M_IN

Сигнал во вход UP M_counter

%M15

M_INf

Есть машина начинается входить

%M16

M_OUT

Сигнал во вход DOWN M_counter

%M17

M_OUTf

Есть машина начинается выходить

%TM0 (TON)

M_TIMERO

Таймер открытия двери

%TM1 (TON)

M_TIMERC

Таймер закрытия двери

%TM2  (TP)

M_PULSE

Таймер мигания двери

%M18

M_PU

Входный сигнал M_PULSE