Главная страница

scada 2000 пособие. SCADA КРУГ-2000_ Быстрый старт. Руководство Пользователя. Модульная интегрированная scada круг2000 б ы с т р ы й с та


Скачать 5.44 Mb.
НазваниеРуководство Пользователя. Модульная интегрированная scada круг2000 б ы с т р ы й с та
Анкорscada 2000 пособие
Дата12.03.2022
Размер5.44 Mb.
Формат файлаdocx
Имя файлаSCADA КРУГ-2000_ Быстрый старт.docx
ТипРуководство
#392981
страница34 из 35
1   ...   27   28   29   30   31   32   33   34   35

Приложение B. Программа учебная

Программа Учебная Начало

: получаем текущее время (час: мин: сек) (пц1,пц2,пц3)=stime()
: получаем текущую дату (год: месяц: день) (пц11,пц12,пц13)=sdate()


:Состояние насоса
Если дв1=1 : Если команда "Пуск"

{
вд1=1 : состояние насоса "Включен"

}
Иначе

{
вд1=0 : состояние насоса "Отключен"

}
:Состояние задвижки

Если дв2=1 : Если команда "Открыть" задвижку
{

вд3=0 : состояние задвижки "Закрыта" = ложь вкл тс1 : включить таймер
Если тс1>3

{
вд2=1 : состояние задвижки "Открыта" = истина дв2=0 : "сбросить" команду "Открыть задвижку" выкл тс1 : выключить таймер

тс1=0 : обнулить таймер
}

}
Если дв3=1 : Если команда "Закрыть задвижку"

{
вд2=0 : состояние задвижки "Открыта" = ложь вкл тс2 : включить таймер

Если тс2>3
{

вд3=1 : состояние задвижки "Закрыта" = истина дв3=0 : "сбросить" команду "Закрыть задвижку" выкл тс2 : выключить таймер
тс2=0 : обнулить таймер

}
}


122 Приложение А

:Уровень в колонне

Если вд1=1 : Если состояние насоса "Включен"
{ : уровень растёт ва1.a28=ва1.а28+1

}
Если вд2=1 : Если состояние задвижки "Открыта"

{ : уровень падает ва1.a28=ва1.а28-2
}

:Имитация температуры в баке ва2=20+cos(ва2)
:Имитация давления на выходе насоса Если вд1=1 : Если насос включен

{
ва3=cos(ва3): есть давление

}
Иначе

{
ва3=0 : давления нет

}
Защиты : вызов процедуры ПД : вызов процедуры Выход

Конец

Процедура Защиты Начало

пв1=цв(пц1) :час
пв2=цв(пц2) :минуты

пв3=цв(пц3) :секунды пв11=цв(пц11-2000) :год пв12=цв(пц12) :месяц
пв13=цв(пц13) :день


Если ва1>ва1.а16 : Если уровень превысил уставку, отключить насос и открыть задвижку
{

дв1=0 дв2=1
Если тс11<1

{
рв2=пв1*10000+пв2*100+пв3 : Время возникновения аварии (ЧЧММСС)

рв2.а9=пв13*10000+пв12*100+пв11 : Дата возникновения аварии (ДДММГГ)

Программа учебная 123


}
вкл тс11

}

Если ва1<ва1.а15 : Если уровень меньше НАГ, включить насос и закрыть задвижку

{
дв1=1 дв3=1

Если тс11<1
{

рв2=пв1*10000+пв2*100+пв3 : Время возникновения аварии (ЧЧММСС)
рв2.а9=пв13*10000+пв12*100+пв11 : Дата возникновения аварии (ДДММГГ)

}
вкл тс11

}

Если тс11>10 : Через 10 секунд после аварии формируем "Протокол аварии"

{
выкл тс11 тс11=0 пц5=ппд(3)

Если пц5=0 { message("Сформирован протокол пред- и послеаварийной ситуации") }
Иначе { message("Ошибка формирования протокола пред- и послеаварийной ситуации") }

}

Если вд1=1 { рв1=рв1+1 } Иначе { рв1=0 }


Выход Конец

Процедура ПД Начало

:Ручное формирование сменной ведомости
:Ведомость формируется, если рв1.а9 (атрибут 9 - "Текущее значение 2")=1 Если рв1.а9=1

{
рв1.а9=0 Если пл1=0

{

124 Приложение А


Если пц1>12
{ пц4=ппд(1)} Иначе { пц4=ппд(2)} пл1=1

: послать сообщение в протокол событий
Если пц4=0 { message("Сменная ведомость сформировалась") } Иначе { message("Ошибка формирования сменной ведомости") }

}
}

Иначе { пл1=0 }

:Автоматическое формирование сменной ведомости Если пц1=12 : если системное время 12 часов

{
Если пл2=0

{
пц4=ппд(2) пл2=1

Если пц4=0 { message("Сменная ведомость №2 сформировалась") } Иначе { message("Ошибка формирования сменной ведомости") }
}

}
Иначе { пл2=0 }


Если пц1=0 : если системное время 00 часов
{

Если пл3=0
{

пц4=ппд(1) пл3=1
Если пц4=0 { message("Сменная ведомость №1 сформировалась") } Иначе { message("Ошибка формирования сменной ведомости") }

}
}

Иначе { пл3=0 }
Выход Конец

Приложение С. Как это сделать? 121
1   ...   27   28   29   30   31   32   33   34   35


написать администратору сайта