Модераторы: ama_kid
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ST. Управление освещением на ПЛК на языке ST, написать програму на CoDeSys 
V
    Опции темы
82Andrey
Дата 29.10.2012, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.10.2012

Репутация: нет
Всего: нет



На входе в квартиру установлены два датчика: один снаружи квартиры, другой внутри. Если 
срабатывает сначала внешний, а потом внутренний датчики, то человек зашел в квартиру. Если 
срабатывает сначала внутренний, а потом внешний датчики, то человек вышел из квартиры. 
Необходимо включать свет в квартире, когда человек зашел у нее, и выключать светло через 
10 секунд после выхода человека из квартиры. Также необходимо считать количество людей, 
которые зашли в квартиру. 

На основе задания разработать : 
a) прикладную программу для ПЛК; 
b) дать описание работы прикладной программы.


проверте пожалуста мне кажется у меня гдето ошибка, и можете обяснить описание работы прикладной программы.

Код

PROGRAM PLC_PRG
VAR
    vh_N: BOOL;
    N: INT;
    vuh_N: BOOL;
    TMR: TOF;
    vuh: BOOL;
    vh: BOOL;
    lamp: BOOL;
END_VAR
 
 
IF vuh AND NOT (vh_N)
THEN;
N:=N+1;
END_IF;
IF vh AND vuh AND NOT (vuh_N)
THEN;
N:=N-1;
END_IF;
IF N>0
THEN;
lamp:=TRUE;
END_IF;
IF N=0
THEN;
lamp:=FALSE;
END_IF;
TMR( IN:=%QX1.0,PT:=T#10s);
vh_N:=vh;
vuh_N:=vuh;





Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  7.pdf 48,19 Kb
PM MAIL   Вверх
ama_kid
Дата 29.10.2012, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 1
Всего: 95



Цитата(82Andrey @  29.10.2012,  19:23 Найти цитируемый пост)
мне кажется у меня гдето ошибка
Если я правильно понял, то тебе надо написать это дело на CoDeSys? У меня его с собой сейчас нет (я в командировке), но на коленке набросал такой код:
Код
PROGRAM PLC_PRG
VAR
    Sensor_Out AT %IX0.0    : BOOL;
    Sensor_Out_Flag            : BOOL;
    Sensor_In AT %IX0.1        : BOOL;
    Sensor_In_Flag            : BOOL;
    Lamp AT %QX0.0            : BOOL;
    ActiveLamp                : BOOL;
    TD                        : TOF;
    Count                    : INT:=0;
END_VAR

IF Sensor_Out AND NOT Sensor_Out_Flag THEN    // Появился сигнал с первого датчика
    IF Sensor_In_Flag THEN                    // Если уже есть сигнал со второго датчика
        Count:=Count-1;                    // Увеличиваем счетчик людей
    END_IF;
ELSIF Sensor_In AND NOT Sensor_In_Flag THEN    // Появился сигнал со второго датчика
    IF Sensor_Out_Flag THEN                // Если уже есть сигнал с первого датчика
        Count:=Count+1;                    // Уменьшаем счетчик людей
    END_IF;
END_IF;
Count:=SEL(Count<0,Count,0);                // Ограничиваем нулем на всякий случай
TD(IN:=Count>0,PT:=T#10S);                    // Таймер
Lamp:=TD.Q;                                // Формируем выход контроллера

Sensor_Out_Flag:=Sensor_Out;                // Защелка внешнего датчика
Sensor_In_Flag:=Sensor_In;                    // Защелка внутреннего датчика

Чуть более проще можно было бы реализовать с использованием RE-функции R_TRIG, но я хз, нужно тебе это или нет.
В общем, сравнивай и ищи, где у тебя ошибки (а они у тебя практически в каждой строке)


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
82Andrey
Дата 30.10.2012, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.10.2012

Репутация: нет
Всего: нет



огромное спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SCADA-системы и контроллеры стандарта IEC (МЭК) | Следующая тема »


 




[ Время генерации скрипта: 0.1379 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.