CODESYS

Турникет на языке ST

 

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

Рис. 1. Блок-схема примерного алгоритма программы

 

Перед написанием программы желательно сконфигурировать входы и выходы ПЛК как на рис.2. Два дискретных входа привязать к двум датчикам «D1» и «D2». А дискретный выход связать с переменной «Lampa», который в последующем будет управлять лампой индикации наличия людей в здании.

 

Конфигурирование входов и выходов ПЛК

Рис.2. Конфигурирование входов и выходов ПЛК

 

                        Переменные программы показаны на рис. 3. Признаки срабатывания датчиков «D1» и «D2» будут иметь булевский тип, а переменная «Cheloveki» целочисленный.

 

PROGRAM PLC_PRG

VAR

            P_D1: BOOL;

            P_D2: BOOL;

            Cheloveki: INT;

END_VAR

Рис. 3. Раздел описания локальных переменных

 

            Листинг программы показан на рис.4. Если первым срабатывает датчик «D1», то признак срабатывания этого датчика устанавливается в состояние ИСТИНА. И далее при срабатывании датчика «D2» происходит увеличение на «1» числа людей, находящихся в здании. Если первым срабатывает датчик «D2», то это означает что кто-то выходит из здания, признак этого датчика «P_D2» устанавливается в состояние ИСТИНА и при последующем срабатывании датчика «D1», при дополнительном условии что число находящихся людей в здании больше «0» произойдет уменьшение числа людей на «1». 

 

IF D1=TRUE AND

    D2=FALSE THEN P_D1:= TRUE;

END_IF;

 

IF D2=TRUE AND

    D1=FALSE THEN P_D2:= TRUE;

END_IF;

 

IF P_D1=TRUE AND

    D2=TRUE THEN Cheloveki:=Cheloveki+1;

END_IF;

 

IF P_D2=TRUE AND

    D1=TRUE AND

   Cheloveki>0 THEN Cheloveki:=Cheloveki-1;

END_IF;

 

IF P_D1=TRUE AND

   P_D2=TRUE THEN  P_D1:=FALSE; P_D2:=FALSE;

END_IF;

 

IF Cheloveki>0 THEN Lampa:=TRUE;

END_IF;

Рис. 4. Листинг программы на языке ST

 

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

Визуализация программы

Рис. 5. Визуализация программы

 

            Датчики изображены как 2 кнопки и связаны  с физическими входами «D1» и «D2». Стрелки направления движения людей по коридору связаны с признаками срабатывания датчиков «PLC_PRG.P_D1» и «PLC_PRG.P_D2». Лампа индикации связана с переменной на изменение цвета «Lampa». Надпись формируется на основании переменной «PLC_PRG.Cheloveki», которая сконфигурирована в графическом элементе как переменная на вывод текста.