Показано с 1 по 10 из 353

Тема: SCADA-система Simple-Scada

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Пишу все всегда намного проще. Причем задачи намного сложнее, чем Пуск и Стоп.
    Но тут Вы правы. У каждого свой стиль

    Вот пример:

    FUNCTION_BLOCK EXHAUST_FAN
    VAR_INPUT
    STS1:WORD;(*UZ21_STS1*)
    ALM1:WORD;(*UZ21_ALM1*)
    FRIQ1:WORD;(*UZ21_FRIQ1*)
    A1:WORD;(*UZ21_A1*)
    END_VAR
    VAR_OUTPUT
    CMD1:WORD;(*UZ21_CMD1*)
    SP1:WORD;(*UZ21_SP1*)
    STS:WORD;(*Слово состояния у блока вентиляторов*)
    MODE:WORD;(*Режим блока вентиляторов*)
    FREQUENCY:WORD;(*Частота на скаду*)
    AMPER:WORD;(*AMPER*)
    ALM:WORD;(*Слово нарушений*)
    State1:INT;
    END_VAR
    VAR_IN_OUT
    CMD:WORD;(*Слово команд*)
    Setpoint:WORD;(*Установленное значение частоты*)
    END_VAR
    VAR
    TON:TON;(*Задержка для передачи команды*)
    TON1:TON;(*Выработка нарушений*)
    TON2:TON;(*Для сброса команд*)
    Setpoint_old:WORD;
    M_AUTO:BOOL;(*Выбран автоматический режим*)
    M_DIST:BOOL:=TRUE;(*Выбран дистанционный режим*)

    END_VAR
    (* @END_DECLARATION := '0' *)
    STS:=0; Mode:=0; ALM:=0;

    (* ------------------------ Чтение ----------------------------- *)
    IF M_AUTO THEN Mode := Mode OR 4; END_IF;(*Автоматический 1 Алгоритм в автоматическом режиме*)
    IF M_DIST THEN Mode := Mode OR 2; END_IF;(*Дистанционный 2 Алгоритм в дистанционном режиме*)

    (* ------------------------ Установка режима----------------------------- *)
    IF (CMD AND 4)<>0 THEN M_AUTO:=TRUE; M_DIST:=FALSE; END_IF;(*Перевести в автоматический режим*)
    IF (CMD AND 8)<>0 THEN M_AUTO:=FALSE; M_DIST:=TRUE; END_IF;(*Перевести в дистанционный режим*)

    CASE State1 OF
    0*Отключен*)
    IF M_DIST AND (CMD AND 1)<>0 THEN State1:=1; END_IF;
    IF M_AUTO AND (CMD AND 16)<>0 THEN State1:=1; END_IF;

    1*Включается*)
    TON1(IN:=TRUE, PT:=T#10s);
    CMD1:=1;
    SP1:=Setpoint*100;

    IF FREQUENCY>=5 THEN TON1(IN:=0); State1:=2; END_IF;
    IF TON1.Q THEN TON1(IN:=0); State1:=4; END_IF;

    2*Включен*)
    CMD1:=1;
    SP1:=Setpoint*100;

    IF M_DIST AND (CMD AND 2)<>0 THEN State1:=3; END_IF;
    IF M_AUTO AND (CMD AND 32)<>0 THEN State1:=3; END_IF;

    3*Отключается*)
    TON1(IN:=TRUE, PT:=T#10s);
    CMD1:=0;
    SP1:=Setpoint*100;

    IF FREQUENCY=0 THEN TON1(IN:=0); State1:=0; END_IF;
    IF TON1.Q THEN TON1(IN:=0); State1:=4; END_IF;

    4*Неисправность*)
    IF M_DIST AND (CMD AND 1)<>0 THEN State1:=1; END_IF;
    IF M_AUTO AND (CMD AND 16)<>0 THEN State1:=1; END_IF;
    IF M_DIST AND (CMD AND 2)<>0 THEN State1:=3; END_IF;
    IF M_AUTO AND (CMD AND 32)<>0 THEN State1:=3; END_IF;

    IF FREQUENCY>=5 THEN State1:=2; END_IF;

    END_CASE;

    FREQUENCY:=FRIQ1/100;
    AMPER:=A1;

    IF FRIQ1=0 AND STS1=0 THEN STS:=STS OR 1; END_IF; (*Отсутствует связь*)
    IF FREQUENCY>5 AND State1<>4 THEN STS:=STS OR 2; END_IF;(*Включен*)
    IF FREQUENCY=0 AND State1<>4 THEN STS:=STS OR 4; END_IF;(*Отключен*)
    IF State1=4 THEN STS:=STS OR 16; END_IF;(*Неисправность*)

    IF NOT M_DIST AND NOT M_AUTO THEN MODE:=MODE OR 1; END_IF;
    IF M_DIST THEN MODE:=MODE OR 2; END_IF;
    IF M_AUTO THEN MODE:=MODE OR 4; END_IF;

    IF State1=4 THEN ALM:=ALM OR 2; END_IF;

    TON2(IN:=CMD<>0, PT:=T#1s);
    IF TON2.Q THEN CMD:=0; END_IF;(*Сбрасываем команду после ее появления*)

    Setpoint_old:=Setpoint;

    END_FUNCTION_BLOCK
    Последний раз редактировалось krollcbas; 29.03.2019 в 22:26.
    +79104444236
    С уважением,
    Лапшин Вячеслав

Похожие темы

  1. Скада-система SCADA+
    от Romcheg в разделе Другие SCADA системы
    Ответов: 14
    Последнее сообщение: 30.01.2017, 20:08
  2. SCADA OPM и система на ПЛК Овен
    от Ильдар_1 в разделе OWEN Proces Manager
    Ответов: 6
    Последнее сообщение: 27.06.2013, 09:13
  3. SCADA-система Reliance
    от ks-app в разделе Другие SCADA системы
    Ответов: 27
    Последнее сообщение: 03.09.2010, 16:58
  4. SCADA-система Reliance
    от ks-app в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 27.07.2010, 07:10
  5. Scada-система Owen Process Manager
    от tvv7-7-7 в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 13.04.2010, 19:47

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •