Смекни!
smekni.com

Разработка системы автоматизации компрессорного цеха (стр. 20 из 21)

""""""""""""""""чтение тахогенератора 12090_1

ФУНКЦИЯ (FRDQC01), входные параметры (2,0),

выходные параметры (ТАХ_12090_1);

ЕСЛИ (КОНВ_12090_1) (=) (1), то {

ВЫЧИСЛИТЬ (ПРЕД_ТАХ_12090_1) (-) (ТАХ_12090_1) (ДЛ_ТАХ_12090_1);

ЕСЛИ (ДЛ_ТАХ_12090_1) (<) (0), то {

ВЫЧИСЛИТЬ (ДЛ_ТАХ_12090_1) (+) (10000) (ДЛ_ТАХ_12090_1);

}

}ИНАЧЕ {

ПЕРЕСЛАТЬ значение (0) в (ДЛ_ТАХ_12090_1);

}

ПЕРЕСЛАТЬ значение (ТАХ_12090_1) в (ПРЕД_ТАХ_12090_1);

ВЗВЕСТИ флаг (ФЛ_ЧТ_12090_1);

""""""""""""""""чтение тахогенератора 12090_2

""""""""""""""""чтение тахогенератора 12090_3

""""""""""""""""чтение тахогенератора 12090_4

""""""""""""""""чтение тахогенератора 12543

""""""""""""""""чтение тахогенератора 12544

""""""""""""""""чтение тахогенератора 12_1

""""""""""""""""чтение тахогенератора 12_2

СТАРТ таймер (ТАЙМ_ТАХ);

} "КОНЕЦ ПОДПРОГРАММЫ

""""""""""""""""""""""""""""ПРОЦЕДУРА ТАРИРОВАНИЕ""""""""""""""""""""""""""

ПРОЦЕДУРА (ТАРИРОВАНИЕ) {

ЕСЛИ (СТАТ_ТАР_12090_1) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_1) в (ТАРА_СТАТ_12090_1);

СБРОСИТЬ флаг (СТАТ_ТАР_12090_1);

}

ЕСЛИ (СТАТ_ТАР_12090_2) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_2) в (ТАРА_СТАТ_12090_2);

СБРОСИТЬ флаг (СТАТ_ТАР_12090_2);

}

ЕСЛИ (СТАТ_ТАР_12090_3) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_3) в (ТАРА_СТАТ_12090_3);

СБРОСИТЬ флаг (СТАТ_ТАР_12090_3);

}

ЕСЛИ (СТАТ_ТАР_12090_4) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_4) в (ТАРА_СТАТ_12090_4);

СБРОСИТЬ флаг (СТАТ_ТАР_12090_4);

}

ЕСЛИ (СТАТ_ТАР_12543) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12543) в (ТАРА_СТАТ_12543);

СБРОСИТЬ флаг (СТАТ_ТАР_12543);

}

ЕСЛИ (СТАТ_ТАР_12544) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12544) в (ТАРА_СТАТ_12544);

СБРОСИТЬ флаг (СТАТ_ТАР_12544);

}

ЕСЛИ (СТАТ_ТАР_12_1) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12_1) в (ТАРА_СТАТ_12_1);

СБРОСИТЬ флаг (СТАТ_ТАР_12_1);

}

ЕСЛИ (СТАТ_ТАР_12_2) (=) (1), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12_2) в (ТАРА_СТАТ_12_2);

СБРОСИТЬ флаг (СТАТ_ТАР_12_2);

}

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12090_1"""""""""""""""""""""""

ЕСЛИ (ДИН_ТАР_12090_1) (=) (1), то {

ЕСЛИ (ДИН_ТАР) (=) (0), то {

ВЗВЕСТИ флаг (ДИН_ТАР);

СБРОСИТЬ флаг (КОНЕЦ_ТАР_12090_1);

ПЕРЕСЛАТЬ значение (0) в (ЧИСЛО_ИЗМ);

ПЕРЕСЛАТЬ значение (БРУТТО_12090_1) в (БРУТТО_ДИН);

ВЫЧИСЛИТЬ (ВРЕМЯ_ОБ_12090_1) (/) (100) (ВРЕМЯ_ОБ);

ЗАГРУЗИТЬ таймер (ТАЙМ_ТАР) уставкой (ВРЕМЯ_ОБ), режим (0);

РАЗРЕШИТЬ прерывание с номером (22);

СТАРТ таймер (ТАЙМ_ТАР);

ЕСЛИ (КОНВ_12090_1) (=) (1), то {

ПЕРЕСЛАТЬ значение (0) в (КАЛ_М_12090_1);

ПЕРЕСЛАТЬ значение (0) в (КАЛ_С_12090_1);

ПЕРЕСЛАТЬ значение (0) в (ЧИСЛО_ИЗМЕР);

}

}ИНАЧЕ {

ЕСЛИ (КОНЕЦ_ТАР_12090_1) (=) (0), то {

ЕСЛИ (ЧИСЛО_ИЗМ) (<) (100), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_1) в (БРУТТО_ДИН);

}ИНАЧЕ {

ПЕРЕСЛАТЬ значение (ТАРА_ДИН) в (ТАРА_ДИН_12090_1);

ЗАПРЕТИТЬ прерывание с номером (22);

ВЗВЕСТИ флаг (КОНЕЦ_ТАР_12090_1);

}

}

ЕСЛИ (ЧИСЛО_ИЗМЕР) (<) (ВРЕМЯ_ОБ), то {

ЕСЛИ (ДЛ_ТАХ_12090_1) (>) (0), то {

ФУНКЦИЯ (ADDU32), вх (КАЛ_С_12090_1,КАЛ_М_12090_1,

0,ДЛ_ТАХ_12090_1),

вых (КАЛ_С_12090_1,КАЛ_М_12090_1,ERR);

ПЕРЕСЛАТЬ значение (0) в (ДЛ_ТАХ_12090_1);

ВЫЧИСЛИТЬ (ЧИСЛО_ИЗМЕР) (+) (1) (ЧИСЛО_ИЗМЕР);

}

}ИНАЧЕ {

ЕСЛИ (ЧИСЛО_ИЗМ) (=) (100), то {

СБРОСИТЬ флаг (ДИН_ТАР);

СБРОСИТЬ флаг (ДИН_ТАР_12090_1);

ФУНКЦИЯ (DIVU), вх (КАЛ_С_12090_1,КАЛ_М_12090_1,ВРЕМЯ_ОБ),

вых (Х_С,Х_М,ОСТ);

ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,100),

вых (Х_С,Х_М,ОСТ);

ФУНКЦИЯ (DIVU), вх (0,ВРЕМЯ_ОБ_12090_1,100),

вых (Y_С,Y_М,ОСТ);

ФУНКЦИЯ (MULU), вх (Х_М,ОСТ),

вых (Х_С,Х_М);

ФУНКЦИЯ (ADDU32), вх (КАЛ_С_12090_1,КАЛ_М_12090_1,Х_С,Х_М),

вых (КАЛ_С_12090_1,КАЛ_М_12090_1,ERR);

}

}

}

}

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12090_2"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12090_3"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12090_4"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12543"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12544"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12_1"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКОЕ ТАРИРОВАНИЕ ПОЗ. 12_2"""""""""""""""""""""""

} """""""""""""""""""""""КОНЕЦ ПРОЦЕДУРЫ ТАРИРОВАНИЯ""""""""""""""""""

""""""""""""""""""""""""""""ПРОЦЕДУРА ЮСТИРОВКИ""""""""""""""""""""""""""

ПРОЦЕДУРА (ЮСТИРОВКА) {

ЕСЛИ (СТАТ_ЮСТ_12090_1) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12090_1) (-) (ТАРА_СТАТ_12090_1) (ЮСТ_СТАТ_12090_1);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12090_1);

}

ЕСЛИ (СТАТ_ЮСТ_12090_2) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12090_2) (-) (ТАРА_СТАТ_12090_2) (ЮСТ_СТАТ_12090_2);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12090_2);

}

ЕСЛИ (СТАТ_ЮСТ_12090_3) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12090_3) (-) (ТАРА_СТАТ_12090_3) (ЮСТ_СТАТ_12090_3);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12090_3);

}

ЕСЛИ (СТАТ_ЮСТ_12090_4) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12090_4) (-) (ТАРА_СТАТ_12090_4) (ЮСТ_СТАТ_12090_4);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12090_4);

}

ЕСЛИ (СТАТ_ЮСТ_12543) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12543) (-) (ТАРА_СТАТ_12543) (ЮСТ_СТАТ_12543);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12543);

}

ЕСЛИ (СТАТ_ЮСТ_12544) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12544) (-) (ТАРА_СТАТ_12544) (ЮСТ_СТАТ_12544);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12544);

}

ЕСЛИ (СТАТ_ЮСТ_12_1) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12_1) (-) (ТАРА_СТАТ_12_1) (ЮСТ_СТАТ_12_1);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12_1);

}

ЕСЛИ (СТАТ_ЮСТ_12_2) (=) (1), то {

ВЫЧИСЛИТЬ (БРУТТО_12_2) (-) (ТАРА_СТАТ_12_2) (ЮСТ_СТАТ_12_2);

СБРОСИТЬ флаг (СТАТ_ЮСТ_12_2);

}

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12090_1"""""""""""""""""""""""

ЕСЛИ (ДИН_ЮСТ_12090_1) (=) (1), то {

ЕСЛИ (ДИН_ЮСТ) (=) (0), то {

ВЗВЕСТИ флаг (ДИН_ЮСТ);

СБРОСИТЬ флаг (КОНЕЦ_ЮСТ_12090_1);

ПЕРЕСЛАТЬ значение (0) в (ЧИСЛО_ИЗМЕР);

ПЕРЕСЛАТЬ значение (БРУТТО_12090_1) в (ЮСТ_ДИН);

ВЫЧИСЛИТЬ (ВРЕМЯ_ОБ_12090_1) (/) (100) (ВРЕМЯ_ОБОР);

ЗАГРУЗИТЬ таймер (ТАЙМ_ЮСТ) уставкой (ВРЕМЯ_ОБОР), режим (0);

РАЗРЕШИТЬ прерывание с номером (21);

СТАРТ таймер (ТАЙМ_ЮСТ);

}ИНАЧЕ {

ЕСЛИ (КОНЕЦ_ЮСТ_12090_1) (=) (0), то {

ЕСЛИ (ЧИСЛО_ИЗМЕР) (<) (100), то {

ПЕРЕСЛАТЬ значение (БРУТТО_12090_1) в (БРУТТО_ДИНАМ);

}ИНАЧЕ {

ВЫЧИСЛИТЬ (ЮСТ_ДИН) (-) (ТАРА_ДИН_12090_1)

(ЮСТ_ДИН_12090_1);

ЗАПРЕТИТЬ прерывание с номером (21);

СБРОСИТЬ флаг (ДИН_ЮСТ);

ВЗВЕСТИ флаг (КОНЕЦ_ЮСТ_12090_1);

СБРОСИТЬ флаг (ДИН_ЮСТ_12090_1);

}

}

}

}

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12090_2"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12090_3"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12090_4"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12543"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12544"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12_1"""""""""""""""""""""""

"""""""""""""ДИНАМИЧЕСКАЯ ЮСТИРОВКА ПОЗ. 12_2"""""""""""""""""""""""

}

""""""""""""""""""""""""""""КОНЕЦ ПРОЦЕДУРЫ ЮСТИРОВКИ""""""""""""""""""""""

"""""""""""""""""""""""ПРОЦЕДУРЫ СЧЕТА МАТЕРИАЛА ЗА МЕСЯЦ""""""""""""""""""

ПРОЦЕДУРА (СЧЕТМЕС) {

ЕСЛИ (ЧАС) (=) (20), то {

ЕСЛИ (ФЛ_МЕС) (=) (0), то {

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12090_1) в (МЕС_С_12090_1);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12090_1) в (МЕС_М_12090_1);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12090_1);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12090_1);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12090_2) в (МЕС_С_12090_2);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12090_2) в (МЕС_М_12090_2);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12090_2);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12090_2);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12090_3) в (МЕС_С_12090_3);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12090_3) в (МЕС_М_12090_3);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12090_3);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12090_3);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12090_4) в (МЕС_С_12090_4);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12090_4) в (МЕС_М_12090_4);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12090_4);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12090_4);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12543_1) в (МЕС_С_12543_1);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12543_1) в (МЕС_М_12543_1);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12543_1);

ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12543_1);

ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12543_2) в (МЕС_С_12543_2);