""""""""""""""""чтение тахогенератора 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);