Экран архивных графиков аналогичен экранам трендов реального времени. Исключением являются: кнопка перехода на экран «Тревоги» и форма архивного тренда (Рис. 35).
Форма архивного тренда работает несколько иначе, чем форма тренда реального времени. Во-первых, визирные значения отображаются вертикально в правой части формы под кнопкой «Подробно». Количество выводимых кривых не ограничено. При большом количестве кривых в правой части появляется вертикальная полоска скроллинга, позволяющая просмотреть визирные значения, выходящие за пределы формы.
Чтобы переключить шкалу тренда, нужно в режиме реального времени нажать ЛК на кнопке «Подробно», затем в открывшемся окне выделить кривую. Шкала этой кривой будет установлена для тренда. Вид этого окна показан на рисунке 36.
Для управления видимостью кривых в начале строки описания каждой из них имеется специальное поле. Кривая будет видима, если для нее в этом поле установлен флаг.
В буфере тренда запоминаются изменения значений, а не временные срезы. Это позволяет отслеживать изменения параметров с наиболее высокой точностью, определяемой циклом их опроса.
Чтобы закрыть это окно, достаточно отжать кнопку «Подробно» или нажать на кнопку закрытия окна.
По умолчанию на графиках отображается кривая первого по списку сигнала базы каналов проекта. Для указания конкретных сигналов необходимо войти в диалог настройки графика и выбора кривых. Это делается щелчком правой кнопки мыши в поле графиков. Возникает следующий диалог (Рис. 37).
Во время работы с трендом может возникнуть необходимость уточнить значение кривой в некоторой точке. Для этой цели служит визир. Чтобы вывести на экран визир, нужно нажать ЛК в области построения графика. Перемещение визира производится нажатием ЛК на требуемой точке графика.
Для более точной установки визира можно изменить масштаб тренда. Изменение масштаба тренда реализуется по одновременному нажатию клавиш «Ctrl» и одной из стрелок (← и → для горизонтальной, ↑ и ↓ для вертикальной оси соответственно). Клавиши ← и ↑ увеличивают масштаб, а → и ↓ – уменьшают. Значение, на которое указывает визир, отображается в поле под кнопкой «Подробно».
Возврат к исходному масштабу осуществляется командой «Восстановить пределы», которая содержится в списке, вызываемом по нажатию ПК в окне тренда.
Кроме того, в этом списке содержатся команды «Переход на время» и «Свойства». Команда Свойства выводит на экран диалог настройки тренда. Вторая команда позволяет перейти к области графика, в котором находятся значения в заданный период времени. При ее выполнении появляется окно выбора, приведенное на рисунке 38.
Чтобы добавить новую кривую, следует нажать кнопку «Добавить». Последующие нажатия на эту кнопку будут выводить в список кривые с теми же самыми атрибутами. Для редактирования атрибутов любой кривой ее нужно сначала выделить в списке.
Для редактирования атрибутов сразу нескольких кривых следует нажать ЛК на кнопке «Групповое редактирование». Далее, удерживая нажатой клавишу Shift, надо выделить требуемые кривые и сделать необходимые настройки.
Для каждой кривой с помощью полей «Min» и «Max» можно задать диапазон вывода ее значений. Этот диапазон можно также привязать к шкале канала, с которым связана данная кривая. Для этого надо установить флаг «Использовать шкалу». В последнем случае при работе в реальном времени диапазон вывода значений для этой кривой будет автоматически модифицироваться при изменении границ шкалы канала.
Выбор даты производится из меню, которое раскрывается при нажатии на стрелку рядом с левым окном. Чтобы установить время, нужно последовательно выделить каждое поле времени в правом окне и ввести требуемое значение с помощью клавиатуры или стрелок (Рис. 39).
В сферу влияния ленточных весов входят 3 роликоопоры до весового стола, сам весовой стол, 3 роликоопоры после весового стола. Все ниже следующие указания относятся к этой сфере:
- Биение роликов не должно превышать 0,2 мм.
- Рекомендуется поднять роликоопоры и ролики весового стола на 5 – 10 мм по отношению к остальным роликам конвейера.
- Разброс по высоте установки роликоопор не должен превышать 0,3 мм.
- Роликоопоры должны быть соосны.
Каждые полгода требуется тщательно проверять ленточный конвейер и весы. Перед настройкой весов требуется выполнить следующие работы:
- Очистка весового моста и роликоопор, входящих в зону влияния.
- Проверка плавности хода и очистка роликов.
- Проверка соосности.
- Проверка устройства натяжения ленты.
Порядок настройки весов:
1) Проверить подготовку весов к настройке.
2) Произвести измерение длины ленты с точностью до сантиметра и длины моста с точностью до сантиметра.
3) Запустить конвейер
4) Произвести измерения время полного оборота ленты с точностью до сотых долей секунды.
5) Ввести пароль доступа к страницам настройки в панели UniOP.
6) Перейти с помощью клавиш F1…F8 к странице настройки соответствующих весов.
7) Ввести измеренные значения.
8) Нажать клавишу F2 – динамическое тарирование.
По истечении времени полного оборота ленты процесс динамического тарирования будет завершен. Одновременно будет произведена калибровка скорости движения ленты.
9) Установить контрольные грузы для юстировки на весовой стол.
10) Ввести значение веса контрольного груза.
11) Нажать клавишу F4 для запуска режима динамического юстирования.
По истечении времени полного оборота ленты процесс динамического юстирования будет завершен.
12)
Нажать клавишу для выхода из страницы настройки.
13) Ввести пароль запрета доступа к страницам настройки.
В процессе эксплуатации необходимо следить за чистотой весового стола, а также не реже одного раза в месяц производить проверку настройки весов. Любая замена элементов весового стола, обводного ролика, с которым соединен тахогенератор, элементов устройства натяжения ленты, требует повторной настройки весов.
Представленная в дипломном проекте подсистема автоматизирует только часть весового хозяйства цеха металлизации. Но она построена так, что позволяет легко расширить ее. Однотипность конвейерных весов позволяет с небольшой доработкой применить разработанное алгоритмическое и программное обеспечение. Применение контроллера ЭК-2000 в качестве электронной базы весов позволит подключить их к сети подсистемы, а через ее и к системе визуализации с дальнейшим выходом в глобальную сеть комбината.
2.1. Основные понятия и термины
Охрана труда – это система законодательных актов и соответствующих им социально-экономических, технических, гигиенических и организационных мероприятий, обеспечивающих безопасность, сохранение здоровья и работоспособности человека в процессе труда.
Задача охраны труда – свести к минимальной вероятность поражения или заболевания работающего с одновременным обеспечением комфорта при максимальной производительности труда. Реальные производственные условия характеризуются, как правило, наличием некоторых опасностей и вредностей.
Производственная опасность – это возможность воздействия на работающих опасных и вредных факторов.
К опасным производственным факторам относятся такие, воздействие которых на работающего приводит к травме. К вредным производственным факторам относятся такие, воздействие которых на работающего приводит к заболеванию.
Техника безопасности – это система организационных и технических мероприятий и средств, предотвращающих воздействие на работающих опасных производственных факторов.
Производственная санитария включает в себя комплекс организационных, гигиенических и санитарно-технических мероприятий и средств, предотвращающих воздействие на работающих вредных производственных факторов.
Для работы на предприятиях черной металлургии допускаются лица не моложе 18 лет и прошедшие медицинское освидетельствование. Инженерно-технические работники и рабочие, вновь поступающие на работу, а также учащиеся и студенты, прибывшие на производственное обучение или практику, должны пройти вводный инструктаж в кабинете охраны труда.
Вводный инструктаж должен проводиться по программе, разработанной с учетом требований системы стандартов безопасности труда (ССБТ), всех особенностей производства и утвержденной главным инженером предприятия. О проведении вводного инструктажа должна быть сделана запись в журнале регистрации вводного инструктажа (личной карточке инструктажа). В журнале (карточке) расписывается лицо, прошедшее инструктаж, и лицо, проводившее его. Все рабочие, вновь принятые на работу, или переведенные из одного цеха в другой перед допуском к работе должны непосредственно на рабочем месте пройти первичный инструктаж по безопасным методам работы.
К самостоятельной работе у печей, металлургических агрегатов и машин, к обслуживанию и ремонту систем охлаждения печей, газо- и кислородопроводов, газового и кислородного оборудования, машин и механизмов и по производству газосварочных работ допускаются рабочие, прошедшие соответствующую подготовку, сдавшие экзамен и получившие удостоверение.
Рабочие не реже одного раза в квартал должны проходить повторный инструктаж по безопасным методам работы.
Внеплановый инструктаж рабочих должен проводиться в случаях:
- ввода в действие новых или переработанных в установленном порядке инструкций по безопасности труда;
- нарушения рабочими инструкций по безопасности труда;
- перевода на временную работу, требующую дополнительных знаний;
- перерыва в работе более 30 календарных дней.
Данные о проведении инструктажей (первичного, повторного, внепланового) должны заноситься в журнал регистрации инструктажа на рабочем месте. В журнале расписывается рабочий, прошедший инструктаж, и лицо, проводившее его, при этом указывается наименование или номер инструкции, по которой был проинструктирован рабочий.
Рабочие не реже одного раза в год должны проходить проверку знаний инструкций по безопасности труда в комиссиях, назначаемых начальником цеха. Результаты проверки должны оформляться протоколом и заноситься в журнал регистрации инструктажа на рабочем месте.
Правила безопасности работы в цехе:
- соблюдать инструкции по безопасности труда;
- проходить по цеху только по установленным проходам и пешеходным дорожкам;
- переходить через транспортеры, конвейеры, рольганги по переходным мостикам;
- выполнять указания предупредительных надписей, плакатов, обращать внимание на световые и звуковые сигналы работающих механизмов и машин;
- не находиться под поднимаемым, опускаемым и перемещаемым грузом, в местах сварки и резки металла, газоопасных местах;
- в цехах, на участках, рабочих местах находиться в защитной каске;
- работать исправным инструментом, использовать его по своему назначению;
- работать на исправном оборудовании, не допускать к работе на механизмах посторонних лиц;
- не находиться вблизи движущихся и вращающихся частей механизмов, не перелезать через ограждения.
Безопасное ведение процесса металлизации обеспечивается за счет применения автоматического регулирования, дистанционного управления и надежной системы сигнализации. Для улучшения условий труда предусматривается механизация всех технологических процессов и транспорта. На участке шахтной печи предусмотрена установка грузотранспортных лифтов, грузоподъемностью 2,5 тонны. Процессы загрузки окисленных окатышей и выгрузки металлизованных автоматизированы. Транспортировка сырья и готового продукта механизирована. Процент ручного труда в ходе технологического процесса минимален по сравнению с другими предприятиями черной металлургии.
После ввода в действие цеха металлизации его установки газоочистки работают удовлетворительно. Пыль в атмосферу попадает с дымовыми газами и с аспирационным газом от скруббера с радиальной подачей воды, очищающего газы из разгрузочного устройства шахтной печи. Благодаря хорошей работе скруббера колошникового газа запыленность последнего снижается с 1,7 г/м3
до 4 мг/м3
и выбросы пыли в атмосферу из дымовой трубы составляют ~10 кг/сут.
В скруббере с радиальной подачей воды аспирационный газ очищается от 12 ¸ 13 г/м3
до 70 ¸ 80 мг/м3
и выбросы пыли в атмосферу составляют ~120 кг/сут. Всю уловленную пыль (~25 т/сут) подают в сгуститель отделения окомкования и используют для производства окисленных окатышей. Кроме пыли, в отделении металлизации выбрасывается в атмосферу в сутки до 600 кг оксида углерода и 350 кг оксидов азота. Анализ дымовых газов показал очень малое содержание в них сернистых соединений.
Опасные и вредные производственные факторы – это факторы, воздействие которых на работающих в условиях производства приводит к травме или заболеванию.
К опасным и вредным факторам в местах где установлены конвейерные весы в соответствии с ГОСТ 12.0.003 – 74 относятся:
- загазованность;
- запыленность;
- движущиеся и вращающиеся части механизмов оборудования;
2.5.1 Загазованность
В реформере из смеси технологического и природного газов производится конвертированный газ, который используется в шахтной печи для восстановления оксидов железа. Во всех вышеперечисленных газах присутствуют такие компоненты: метан (СН4
), диоксид углерода (СО2
), водород (Н2
), оксид углерода (СО), азот (N2
), вода (Н2
О) и кислород (О2
). Также в дымовых газах присутствуют окислы азота (NО2
) и незначительное содержание сернистых соединений (SО2
и SО3
).
Наибольшую опасность представляют такие газообразные компоненты как: метан, водород, оксид азота и оксид углерода.
Метан (~94 %) содержится в природном газе, который применяется как для производства восстановительного газа, так и для отопления реформера.
Природный газ не имеет запаха, цвета, вкуса, легче воздуха в 1,72 раза. При взаимодействии с кислородом образует взрывоопасные смеси. На человека действует удушающе. Содержание природного газа свыше 10 % в замкнутом пространстве может привести к смерти от недостатка воздуха. Для придания запаха в природный газ добавляют этилмеркаптан 16 г на 1000 м3
.
Водород – газ без цвета и запаха. Основная опасность этого элемента состоит в том, что при контакте с окислителем образуется взрывоопасная смесь, которая при определенных условиях может воспламениться. Для предотвращения образования таких смесей предусматривается продувка трубопроводов инертным газом с целью вытеснения газов, представляющих опасность.
Диоксид азота при обычной температуре и большой концентрации – это пары красно-бурого цвета, которые образуются при окислении NО. NО2
хорошо растворяется в воде с образованием азотной кислоты (НNО3
), которая обладает резким удушливым запахом. ПДК разовая и среднесуточная равна 0,085 мг/м3
.
NО2
при вдыхании образует в организме азотную и азотистую кислоты. В дыхательных путях эти кислоты соединяются с щелочами тканей и в результате образуются нитраты и нитриты, которые и оказывают раздражающие действия (расширяют сосуды, снижают кровяное давление). При систематическом воздействии окислов азота наблюдается заболевание бронхитами, желудочно-кишечными болезнями, разрушение зубов.
Оксид углерода – ядовитый газ, не обладает цветом, вкусом, запахом, не раздражает слизистых оболочек. Обладает сильным удушающим действием на человека. При концентрации СО в количестве 20 мг/м3
вызывает нарушение жизнедеятельности.
В цехе металлизации производится постоянный контроль на присутствие опасных для здоровья газов в административно-бытовых помещениях, а так же систематические отборы проб на содержание СО на рабочих местах, даже если они находятся на открытом воздухе.
Лица, работающие в газоопасных местах должны пользоваться противогазами. Проверку на содержание в воздухе различных отравляющих веществ производить в соответствии с требованиями техники безопасности при помощи специальных приборов и газоанализаторов.
Пыль – вид аэрозоля, дисперсная система, состоящая из мелких твердых частиц, находящихся во взвешенном состоянии в газовой среде. Пыль отрицательно влияет на организм человека.
Под воздействием пыли могут возникать такие заболевания, как экземы, дерматиты, конъюнктивиты и др. Чем мельче пыль, тем она опаснее для человека. При попадании в легкие при дыхании пыль задерживается в них, и может стать причиной заболевания. Существует три пути проникновения пыли в организм человека: через органы дыхания, желудочно-кишечный тракт и кожу. Помимо этого пыль ухудшает видимость на рабочих площадках, снижает светоотдачу осветительных приборов, повышает абразивный износ трущихся деталей машин и механизмов.
Пыль образуется вследствие дробления и истирания исходных материалов и полуфабрикатов, при транспортировке (в местах перегрузки) и складировании окатышей. Основным источником образования пыли в цехе металлизации является шахтная печь. В ней происходит выделение пыли в местах загрузки окисленных и выгрузки металлизованных окатышей и на маятниковом питателе.
С целью уменьшения попадания пыли в атмосферу и производственные помещения места разгрузок и выгрузок герметично закрываются защитными укрытиями и кожухами, которые подключаются к технологическим аспирационным установкам для отсоса и очистки запыленного воздуха. На рисунке 40 показаны конструкции мест перегрузки, обеспечивающие высокую их плотность и небольшой расход аспирационного воздуха.
Практика показывает, что надежная работа аспирационных систем обеспечивается при скорости подсасывания окружающего воздуха через отверстия, соединяющие внутреннюю часть укрытия с окружающей средой, в среднем не менее 3 м/с, а в некоторых случаях 5-6 м/с.
Для очистки аспирационного воздуха от пыли используются мокрые пылеотделители – центробежные скрубберы. Степень очистки воздуха достигается очень высокая: от 87,5 до 97,38 %.
Для защиты от движущихся и вращающихся частей механизмов оборудования существуют технические средства безопасности.
Оградительные устройства предназначены для предупреждения механического воздействия опасных физических факторов на человека. Область применения – ограждение агрегатов, механизмов, их подвижных частей. Оградительные устройства по конструктивному оформлению могут быть стационарными и передвижными.
Ограничительные устройства – это конструкции, ограничивающие зону, где возможно воздействие на человека опасных и вредных производственных факторов. Наиболее распространенными видами ограничительных устройств являются барьеры, перила, поручни и другие приспособления, ограничивающие определенную зону или передвижение обслуживающего персонала.
Защитные устройства служат для предотвращения возможного воздействия на работающих опасных производственных факторов. К ним относятся различные экраны, защищающие человека или части его тела от травмирования.
Предохранительные устройства предупреждают возникновение опасных производственных факторов при перегрузках или превышениях заданных параметров (скорости, давления, температуры и т. п.) в различных технологических процессах и работе оборудования путем нормализации параметров процесса или отключения оборудования.
Сигнализирующие устройства – это устройства, предупреждающие обслуживающий персонал о пуске и остановке оборудования, о нарушениях и экстремальных отклонениях технологических процессов и работы производственного оборудования, повышенных концентрациях ядовитых и взрывоопасных газов в помещениях и т. д. Применяют либо световую, либо звуковую сигнализацию, либо и ту и другую одновременно. В металлургических цехах применяют следующие виды сигнализации: оперативную, предупредительную и информационную.
Конструкция и размещение конвейерного тракта должны соответствовать требованиям ГОСТ 12.2.022-80.
Конвейер, транспортирующий пылевидные, пыле-, паро-, и газо-выделяющие материалы должны быть оборудованы системами пылеподавления в местах выделения пыли, вытяжной вентиляцией или аспирацией в зависимости от вида выделяющихся веществ. Рабочая ветвь конвейера, расположенного в наклонной галерее, при угле наклона 6° и более должна быть ограждена со стороны прохода. По ширине прохода вдоль трассы конвейеров при угле наклона 6 -12° должны быть устроены настилы с поперечинами, а при наклоне более 12° - лестничные марши. При расположении нерабочей ветви конвейера на высоте 0,7 м и более от уровня пола вдоль нижней ветви конвейера в местах, где не предусмотрены проходы, должно устанавливаться ограждение с обеих сторон конвейера, исключающее возможность похода под ним. Через конвейеры длинной более 20,0 м в необходимых местах должны быть устроены переходные мостики или проходы под ними.
На конвейерах должны быть ограждены приводные, натяжные и отклоняющие барабаны, натяжные устройства, канаты и блоки натяжных устройств, ременные, червячные и другие передачи. Грузы натяжных устройств должны быть ограждены. Во время работы конвейера вход в огражденную зону должен быть исключен.
Конструкцией конвейера должен быть предусмотрен доступ к элементам, блокам и контрольным устройствам конвейера, требующим периодической проверки, а также устройствам регулирования, смазочным узлам трущихся частей без снятия ограждения.
Ограждение барабанов натяжных устройств и приводных механизмов должны иметь блокировки, исключающие пуск конвейера при снятом ограждении.
Ленточные конвейеры должны быть оборудованы:
- центрирующими устройствами, предотвращающими сход ленты за пределы краев барабанов и роликовых опор;
- устройствами, отключающими привод конвейера при обрыве ленты или при ее пробуксовке;
- устройствами, позволяющими в аварийных случаях останавливать конвейер с любого места по его длине со стороны прохода, кроме того, аварийными кнопками в головной и хвостовой частях конвейера;
- устройствами для механической очистки ленты и барабанов от налипающего материала; органы регулирования этими устройствами должны быть расположены в безопасном месте.
При одновременной работе нескольких последовательных конвейеров или конвейеров, связанных с оборудованием одной технологической линии, электродвигатели их должны быть сблокированы.
К работе по обслуживанию средств измерений и автоматики допускаются лица из электротехнического персонала, достигшие 18-летнего возраста, прошедшие медицинское освидетельствование, имеющие соответствующую квалификационную группу на обслуживание электроустановок, прошедшие инструктаж и обучение на рабочем месте.
Слесарь КИП и А обязан соблюдать:
- Правила внутреннего распорядка установленного на комбинате
- Требования по выполнению режима труда установленного графиками рабочего времени
- Требования по обеспечению пожаро- и взрывобезопасности.
- Правила об оказании первой (доврачебной) помощи.
- Правила личной гигиены при выполнении работы.
Слесарь КИП и А должен знать:
- Правила эксплуатации электроустановок потребителей (ПЭЭП), правила техники безопасности при эксплуатации электроустановок потребителей (ПТБ).
- Правила безопасности в газовом хозяйстве предприятий черной металлургии.
- Отраслевой руководящий документ о бирочной системе.
- Правила ТБ для работающих на ОЭМК согласно "Общей инструкции для рабочих и служащих".
- Свои обязанности регламентированные положением о системе управления охраной труда на ОЭМК.
- Правила пожарной безопасности и соблюдать их.
- Классификацию помещений и наружных установок цеха металлизации по взрыво- пожаро- и газоопасности, перечень газоопасных мест и работ по цеху.
- Расположение первичных устройств систем измерения и автоматизации, технологию цеха.
- Маршруты пешеходного движения по цеху и объектам участка.
- Инструкции по эксплуатации оборудования.
- Приемы безопасного ведения работ с применением механического и электрического инструмента.
- Приемы оказания первой помощи пострадавшему в случае поражения эл. током и владеть ими практически.
Слесарь КИП и А обязан проверить исправность и соответствие нормам спецодежду, переодеться. Получить от мастера задание на работу, оформленное в журнале "наряд-задание", инструктаж по технике безопасности по выполнению данной работы и расписаться в получении задания. Подготовить материалы, инструмент, защитные средства, приспособления необходимые для выполнения задания.
Оперативному персоналу (дежурному) произвести допуск ремонтных бригад по установленной форме, выполнить технические мероприятия по подготовке каждого рабочего места, сдать рабочие места производителям работ.
Производителю работ произвести приемку рабочего места, подготовленного оперативным персоналом.
Работы по проверке, ремонту и наладке работающих СИ и СА производить только с разрешения начальника смены цеха. Переход с автоматического режима на ручной производить только с разрешения лица, ответственного за ведение технологического процесса.
Замену СИ и СА расположенных в труднодоступных местах, в местах с повышенной температурой, в газоопасных местах производить не менее, чем двумя слесарями КИП и А или под надзором дежурного газовщика. При замерзании импульсных линий запорной арматуры отогревать их разрешается только паром или горячей водой. Применение для отогрева костров, факелов, паяльных ламп и других источников открытого огня запрещается.
Ремонт и обслуживание измерительных устройств, конвейерных весов, дозаторов, датчиков наличия материала на лентах конвейеров и дозаторов производить при остановленных конвейерах, дозаторах, с разборкой
Замена предохранителей, радиокомпонентов, плат, чистка реохордов и другие операции внутри приборов, блоков должны выполняться только при отключенном приборе, блоке. Снятие, замена универсальных плат, блоков, приборов СИ и СА должно производиться после снятия напряжения питания.
Работы по демонтажу, монтажу электрических исполнительных механизмов (ИМ) производить после отключения дежурными электриками кабеля питания электродвигателя. При проведении наладочных работ на ИМ не касаться тяг, рычагов, пружин, по возможности ограждать рабочее место.
После выполнения работы привести в порядок рабочее место, уложить инструмент, приспособления, образцовые контрольно-измерительные приборы в места их постоянного хранения. Установить снятые ограждения. Сдать рабочее место дежурному персоналу с оформлением в оперативном журнале. Сдать бирку оперативному персоналу электриков и сообщить об этом начальнику смены. По согласованию с начальником смены, мастером бригады включить оборудование в работу. Доложить непосредственному начальнику (старшему мастеру) о проделанной работе.
При возникновении аварийной ситуации на оборудовании цеха или в электроустановке слесарь КИП и А должен сообщить начальнику смены или оператору; при пожаре - в пожарную часть и приступить к ликвидации аварийной ситуации или тушению пожара.
Руководителем ликвидации аварийной ситуации или пожара до прибытия пожарного подразделения является старший по смене (начальник смены, старший мастер, дежурный).
Отключение электроустановок, на которых горит электрооборудование, может производиться дежурным персоналом электроустановки без предварительного получения разрешения вышестоящего лица, осуществляющего оперативное руководство, но с последующим уведомлением его об операции отключения.
Тушение пожара ручными средствами в сильно задымленных помещениях электроустановок с проникновением в них без снятия напряжения не допускается.
Принять меры к оказанию первой помощи пострадавшим в аварийной ситуации: при поражении электрическим током освободить от действия электрическим током, вызвать врача, оказывать необходимую помощь; при отравлении СО (угарным газом) вынести пострадавшего на свежий воздух, обеспечить свободное дыхание дать подушку с кислородом, вызвать врача.
2.8 Расчет искусственного освещения
Для обеспечения освещенности помещения автоматики, где установлен контроллер с панелью оператора, согласно существующим нормам произведем расчет равномерного искусственного освещения для помещения размером 30
15
5 м, в котором наименьшая освещенность должна быть равной 200 лк (см. ГОСТ 12.1.046 - 85).
В качестве источников света при искусственном освещении должны применятся преимущественно люминесцентные лампы (ЛБ, ЛЛ). Для расчета будем использовать метод светового потока. Этот метод позволяет обеспечить среднюю освещенность поверхности с учетом всех падающих на нее прямых и отраженных потоков света.
Необходимый поток света от лампы рассчитывается по формуле:
(9)
где: А - освещаемая площадь, м2
;
z - коэффициент минимальной освещенности (при освещении линиями люминесцентных светильников z=1,1);
η- коэффициент использования светильников, определяемый по индексу помещения I и коэффициентам отражения потолка ρп
, стен ρс
, пола ρр
;
N - количество светильников.
Индекс помещения рассчитывается по формуле:
(10)
где: а и b - длина и ширина помещения, м;
H - высота помещения, м;
hс
- высота от светильника до потолка, м;
hг
- высота до освещаемой горизонтальной поверхности от пола, м.
Так как будут применяться лампы ЛЛ, то для них k = 1,5, z = 1,1. Ориентировочно можно принять ρп
= 30%; ρс
= 10%; ρр
= 10%. hc
= 2,0 м; hг
= 1,2м.
Индекс помещения по формуле (10) равен
Тогда по таблице значений коэффициента использования светильников
= 32 %. Необходимый источник света найдем по формуле (9)
Люминесцентная лампа ЛБ34 имеет световой поток 5400 лм и мощность 80Вт. Следовательно, для обеспечения требуемой освещенности требуется иметь в помещении 86 ламп этого типа.
Тщательно изучив вышеизложенные требования к оборудованию и персоналу по его обслуживанию, а также ознакомившись с мероприятиями по охране труда, можно сделать вывод, что их неукоснительное выполнение существенно снижает возможность травматизма и профессиональных заболеваний.
Произведенный расчет освещенности помещения показывает, что для освещения этого помещения требуется 86 ламп типа ЛБ34 с мощностью 80 Вт.
Обслуживание оборудования технологической автоматизации (ТА) цеха металлизации ведется участком ТА цеха металлизации входящим в состав Управления Автоматизации и Метрологии (УАМ). Структурная схема участка приведена на рисунке 41. Участок предназначен для оперативного обслуживания оборудования ТА, профилактических и плановых ремонтов, небольших электромонтажных работ.
Начальником участка осуществляется:
- руководство всеми видами деятельности участка;
- организация работы и эффективного взаимодействия сотрудников подразделения;
- обеспечение выполнения участком установленных количественных и качественных показателей.
Старшим мастером и инженером электроникам осуществляется:
- организация работ по выполнению плановых заданий в установленные сроки;
- контроль за проведением ремонтных работ и испытанию оборудования;
- участие в расследовании причин аварий оборудования;
- обеспечение выполнения требований и правил эксплуатации электроустановок.
Складом осуществляется:
- организация обеспечения участка всеми необходимыми для его производственной деятельности материальными ресурсами;
- разработка планов материально-технического обеспечения на основе определения потребностей подразделения в материальных ресурсах, составление заявок на материальные ресурсы;
- организация работы складского хозяйства, составление всей необходимой отчетности.
Оперативным и оперативно-ремонтным персоналом осуществляется:
- обеспечение надежной и безопасной работы обслуживаемого оборудования;
- сохранность и аккуратное ведение оперативно-технической документации;
- обслуживание и ремонт оборудования
- надзор за сохранностью и исправностью приборов и инструмента.
Непосредственное обслуживание внедряемой подсистемы будет осуществляться группой по обслуживанию весового хозяйства цеха. Она состоит из двух человек. Расчет фонда оплаты труда группы приведен в таблице 7.
Таблица 7
Расчет фонда оплаты труда
Должность
|
Разряд
|
Тариф
(руб/ч)
|
Среднемесячный фонд времени
|
Премия
(%)
|
Оплата (руб)
|
за месяц
|
за год
|
Слесарь КИП и А
|
6
|
8,47
|
166,25
|
110
|
2957,08
|
35484,96
|
Слесарь КИП и А
|
5
|
7,29
|
166,25
|
110
|
2545,12
|
30541,44
|
Фонд оплаты труда: 66026,4
|
Внедрение подсистемы повышает надежность конвейерных весов, что в свою очередь позволяет снизить количество поверок и повторных настроек весов с еженедельных до ежемесячных. Это особенно актуально для конвейерных весов по выгрузке металлизованного окатыша из печи металлизации, так как для настройки приходится приостанавливать технологический цикл по производству окатыша. Если приурочить настройку весов к планово-предупредительным ремонтам, проводимым на печи металлизации ежемесячно, можно вообще исключить вынужденные простои печи по настройке весов.
Продолжительность настройки весов составляет в среднем t=2,7 часа. С учетом капитального и планово-предупредительных ремонтов вынужденные простои составляют:
Tп
= t • n = 2,7 • (52 - 11 - 4) = 96,2 часов в год. (11)
По показателям работы цеха металлизации за 1999 год средняя производительность печей составила Qс
=228,6 т/ч и было произведено Vc
=1787000 тон металлизованного окатыша. Следовательно, потери на вынужденных простоях по весам составляют около
Vп
= 96,2 • 228,6 = 21991,32 тон за год. (12)
Внедрение подсистемы позволило бы произвести около
Vн
= Vс
+ Vп
= 1787000 + 21991,32 = 1808991,32 тон (13)
металлизованных окатышей.
Калькуляция себестоимости 1 т металлизованных окатышей до и после внедрения приведена в таблице 8.
Таблица 8
Калькуляция себестоимости 1 т металлизованных окатышей
Статьи затрат
|
до внедрения
|
после внедрения
|
Цена руб.
|
Кол-во, т
|
Сумма
руб.
|
кол-во,
т
|
сумма
руб.
|
1. Сырье и основные материалы:
|
- окисленные окатыши
|
200,04
|
1,382
|
276,46
|
1,382
|
276,46
|
- металлосодержащие отходы
|
67,0
|
0,012
|
0,8
|
0,012
|
0,8
|
- подготовка отходов
|
6,71
|
-
|
-
|
-
|
-
|
ИТОГО
|
-
|
1,394
|
277,26
|
1,394
|
277,26
|
2. Отходы (минус)
|
-
|
0,394
|
-1,84
|
0,394
|
-1,84
|
3. Вспомогательные материалы
|
-
|
-
|
2,41
|
-
|
2,39
|
4. Топливо технологическое:
- газ природный 1000 куб. м
|
-
|
-
|
71,9
|
-
|
71,9
|
5. Расходы по переделу:
|
-
|
-
|
87,84
|
-
|
87,2
|
Цеховая себестоимость
|
-
|
-
|
437,6
|
-
|
436,91
|
Общезаводские расходы
|
-
|
-
|
18,45
|
-
|
18,23
|
Производственная себестоимость
|
-
|
-
|
456,02
|
-
|
455,14
|
Стоимость выбранного в разделе (1.7.1.) оборудования равна 6203 $, что при текущем курсе рубля составляет:
К = 6203 • 28,34 = 175793,02 рубя. (14)
Производственные затраты:
Пз
=Сн
+Е •К / Vн
=455,14 +0,15 •175793,02 /1808991,32 =455,15 руб/т(15)
где: Сн
– производственная себестоимость.
Эффективность внедрения:
Э = Сс
– Пз
= 456,02 - 455,15 = 0,87 руб/т (16)
где: Сс
– производственная себестоимость до внедрения.
Годовой экономический эффект:
Эг
= Э • Vн
= 0,87 • 1808991,32 = 1573822,45 руб (17)
В приведенном выше расчете показано, что подсистема позволит увеличить среднегодовую производительность печей металлизации на 1,2 %, сэкономить более полутора миллионов рублей в год и в течение месяца окупить затраты на приобретение технических средств подсистемы.
На основе проведенных расчетов можно сделать вывод, что внедрение подсистемы учета готовой продукции экономически выгодно.
В ходе выполнения дипломного проекта по разработке подсистемы учета готовой продукции был произведен анализ существующих средств автоматизации, выявлены их недостатки, определен круг вопросов нуждающихся в решении.
Разработана трехуровневая структура подсистемы, в которой нижний и средний уровни представлены микропроцессорным контроллером и панелями оператора, а верхний системой визуализации.
Разработано алгоритмическое и математическое обеспечение, реализующее алгоритмы тарирования, юстирования, калибровки скорости, учетных счетчиков.
Произведен выбор комплекса технических средств подсистемы, в который вошли контроллер ЭК-2000 фирмы ЭМИКОН, панели оператора UniOP фирмы EXOR ELECTRONIC.
Произведен выбор системных программных средств и прикладного программного обеспечения.
Написана программа учета готовой продукции на языке Turbo-CONT для контроллера ЭК-2000.
Разработаны и сконфигурированы программы визуализации и управления для панелей оператора UniOP.
Разработаны экраны визуализации для оператора-технолога в SCADA системе TRACE MODE.
В разделе охраны труда рассмотрены мероприятия по охране труда, требования к оборудованию и персоналу обслуживающему его. Произведен расчет освещенности помещения.
В организационно-экономической части проекта произведен расчет экономического эффекта внедряемой подсистемы. Экономия составила более полутора миллионов рублей за счет сокращения времени вынужденных простоев печи металлизации.
Представленная в дипломном проекте подсистема автоматизирует только часть весового хозяйства цеха металлизации. Но она построена так, что позволяет легко расширить ее. Однотипность конвейерных весов позволяет с небольшой доработкой применить разработанное алгоритмическое и программное обеспечение. Применение контроллера ЭК-2000 в качестве электронной базы весов позволит подключить их к сети подсистемы, а через ее и к системе визуализации с дальнейшим выходом в глобальную сеть комбината.
Данная подсистема может быть с успехом использована в цехах и на предприятиях как металлургической, так и других отраслях промышленности.
1. Еременко Ю.И. “Методические указания по дипломному проектированию для студентов дневной и вечерней форм обучения специальности «Автоматизация технологических процессов и производств»” Ст. Оскол МИСиС 1999г.
2. Тиц Ю.В. Лившиц В.И. Плахтин В.Д. “Конвейерный транспорт металлургических заводов” МОСКВА «Металлургия» 1975г.
3. Зенков Р.Л. Ивашков И.И. Колобов Л.Н “Машины непрерывного транспорта” МОСКВА «Машиностроение» 1987г.
4. “Техническая документация на конвейерные весы 4-НММ-20951” фирмы CARL SCHENCK AG
5. “Техническая документация на конвейерные весы 0-НММ-16106” фирмы CARL SCHENCK AG
6. “Техническая документация на конвейерные весы 1-НММ-12013” фирмы CARL SCHENCK AG
7. Коновалов Л.И. Петелин Д.П. “Элементы и системы автоматики” МОСКВА «Высшая школа» 1985г.
8. Мясников В.А. Вальков В.М. Омельченко И.С. “Автоматизированные и автоматические системы управления технологическими процессами” МОСКВА «Машиностроение» 1978г.
9. Клюев А.С. Глазов Б.В. Дубровский А.Х. “Проектирование систем автоматизации технологических процессов” Справочное пособие МОСКВА «Энергия» 1980г.
10. ГОСТ 29329-92 “Весы для статического взвешивания. Общие технические требования” Госстандарт РОССИЯ 1992г.
11. ГОСТ 8.005-82 “Весы непрерывного действия. Методы и средства поверки” Гос. Ком. СССР по стандартам МОСКВА 1982г.
12. ГОСТ 15077-78 “Датчики силоизмерительные тензорезисторные. Общие технические условия” Гос. Ком. СССР по стандартам МОСКВА 1978г.
13. ГОСТ 16217-83 “Датчики силы тензорезисторные. Термины и определения” Гос. Ком. СССР по стандартам МОСКВА 1983г.
14. “Правила технической эксплуатации ленточных конвейеров на предприятиях черной металлургии” МОСКВА «Металлургия» 1987г.
15. “Должностная инструкция для слесаря КИП и А участка ТА цеха металлизации” УАМ ОЭМК 1999г.
16. Иванов И.М. Бельгольский Б.П. Соломахин И.С. “Технико-экономические расчеты по организации, планированию и управлению металлургическими предприятиями” МОСКВА «Металлургия» 1993г.
17. ГОСТ 7.32-91 “Отчет о научно-исследовательской работе. Общие требования и правила оформления” Госстандарт РОССИЯ 1991г.
“”””””””””””” ПРОГРАММА ПОДСИСТЕМЫ УЧЕТА ГОТОВОЙ ПРОДУКЦИ ”””””””””””””
БИБЛИОТЕКА (LIB\VES.LIB);
БИБЛИОТЕКА (LIB\VESMATH.LIB);
"Инициализация"
ВЫЧИСЛИТЬ (CR) (+) (1) (CR);
"""""""""""""""""""""""ИНИЦИАЛИЗАЦИЯ СЕТEВОГО МОДУЛЯ""""""""""""""""""""""""
ДРАЙВЕР (D3C02);
РАЗРЕШИТЬ (0);
""""""""""""""""ИНИЦИАЛИЗАЦИЯ МОДУЛЯ СЧЕТЧИКОВ ТАХОГЕНЕРАТОРОВ""""""""""""""
ФУНКЦИЯ (FINIQC01), входные параметры (2);
""""""""""""""""""""ИНИЦИАЛИЗАЦИЯ МОДУЛЯ СЧЕТЧИКОВ ВЕСА"""""""""""""""""""""
ДРАЙВЕР (DQC01_A) (3,0,30);
РАЗРЕШИТЬ (3);
""""""""""""""""""""""""""""""ИНИЦИАЛИЗАЦИЯ ЧАСОВ"""""""""""""""""""""""""""
ДРАЙВЕР (D3RTC), (220);
ФУНКЦИЯ (FINTRTC), входные параметры (1);
"""""""""""""""""""""ИНИЦИАЛИЗАЦИЯ ВРЕМЕНИ ФИЛЬТРОВ"""""""""""""""""""""""""
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_ФИЛ);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12090_1);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12090_2);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12090_3);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12090_4);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12543);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12544);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12_1);
ПЕРЕСЛАТЬ значение (10) в (ВРЕМ_12_2);
ПЕРЕСЛАТЬ значение (10) в (ФЛ_СЧ_ЧТ);
ПЕРЕСЛАТЬ значение (1) в (Q);
СБРОСИТЬ флаг (ДИН_ТАР);
СБРОСИТЬ флаг (ДИН_ЮСТ);
ПЕРЕСЛАТЬ значение (0) в (ФЛАГИ_ТАР);
ПЕРЕСЛАТЬ значение (0) в (ФЛАГИ_ЮСТ);
ПЕРЕСЛАТЬ значение (255) в (КОНЕЦ_ТАР);
"""""""""""""""""""""""""ИНИЦИАЛИЗАЦИЯ ФИЛЬТРА""""""""""""""""""""""""""""""
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12090_1, СОСТ_12090_1 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12090_2, СОСТ_12090_2 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12090_3, СОСТ_12090_3 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12090_4, СОСТ_12090_4 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12543, СОСТ_12543 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12544, СОСТ_12544 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12_1, СОСТ_12_1 );
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_12_2, СОСТ_12_2 );
"""""""""""""""ИНИЦИАЛИЗАЦИЯ БУФЕРА ДИНАМИЧЕСКОГО ТАРИРОВАНИЯ""""""""""""""""
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_ТАР, СОСТ_ТАР );
"""""""""""""""ИНИЦИАЛИЗАЦИЯ БУФЕРА ДИНАМИЧЕСКОЙ ЮСТИРОВКИ"""""""""""""""""""
ФУНКЦИЯ (INIT_FTR),
входные параметры (100),
выходные параметры ( НАЧ_БУФ_ЮСТ, СОСТ_ЮСТ );
"""""""""""""ИНИЦИАЛИЗАЦИЯ ПРЕРЫВАНИЯ ПО ТАЙМЕРУ ФИЛЬТРА МЕСДОЗ""""""""""""""
ЗАГРУЗИТЬ таймер (ТАЙМ_ФИЛ) уставкой (ВРЕМ_ФИЛ), режим (0);
СТАРТ таймер (ТАЙМ_ФИЛ);
ПРЕРЫВАНИЕ с номером (23) подпрограммой (ФИЛ_МЕСДОЗ),
если (ТАЙМ_ФИЛ@) (=) (0);
РАЗРЕШИТЬ (23);
"""""""ИНИЦИАЛИЗАЦИЯ ПРЕРЫВАНИЯ ПО ТАЙМЕРУ ДИНАМИЧЕСКОГО ТАРИРОВАНИЯ""""""""
ПРЕРЫВАНИЕ с номером (22) подпрограммой (ДИНАМ_ТАР),
если (@ТАЙМ_ТАР@) (=) (1);
"""""""ИНИЦИАЛИЗАЦИЯ ПРЕРЫВАНИЯ ПО ТАЙМЕРУ ДИНАМИЧЕСКОЙ ЮСТИРОВКИ"""""""""""
ПРЕРЫВАНИЕ с номером (21) подпрограммой (ДИНАМ_ЮСТ),
если (@ТАЙМ_ЮСТ@) (=) (1);
"""""""ИНИЦИАЛИЗАЦИЯ ПРЕРЫВАНИЯ ПО ТАЙМЕРУ ЧТЕНИЯ ТАХОГЕНИРАТОРОВ"""""""""""
ЗАГРУЗИТЬ таймер (ТАЙМ_ТАХ) уставкой (100), режим (0);
СТАРТ таймер (ТАЙМ_ТАХ);
ПРЕРЫВАНИЕ с номером (16) подпрограммой (ЧТ_ТАХ),
если (@ТАЙМ_ТАХ@) (=) (1);
РАЗРЕШИТЬ (16);
"""""""ИНИЦИАЛИЗАЦИЯ ТАЙМЕРОВ ДИСКРЕТНЫХ ВЫХОДОВ""""""""""""""""""""""""""""
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12090_1) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12090_2) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12090_3) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12090_4) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12543) уставкой (40), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12543_1) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12543_2) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12544) уставкой (40), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12544_1) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12544_2) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12_1) уставкой (20), режим (0);
ЗАГРУЗИТЬ таймер (ТАЙМ_ИМП_12_2) уставкой (20), режим (0);
СТАРТ таймер (ТАЙМ_ИМП_12090_1);
СТАРТ таймер (ТАЙМ_ИМП_12090_2);
СТАРТ таймер (ТАЙМ_ИМП_12090_3);
СТАРТ таймер (ТАЙМ_ИМП_12090_4);
СТАРТ таймер (ТАЙМ_ИМП_12543);
СТАРТ таймер (ТАЙМ_ИМП_12543_1);
СТАРТ таймер (ТАЙМ_ИМП_12543_2);
СТАРТ таймер (ТАЙМ_ИМП_12544);
СТАРТ таймер (ТАЙМ_ИМП_12544_1);
СТАРТ таймер (ТАЙМ_ИМП_12544_2);
СТАРТ таймер (ТАЙМ_ИМП_12_1);
СТАРТ таймер (ТАЙМ_ИМП_12_2);
ОЖИДАТЬ (300) интервалов;
"""""""""""""""""""""""""""""""НАЧАЛО ПРОГРАММЫ"""""""""""""""""""""""""""""
[НАЧАЛО]
ДЕБЛОКИРОВАТЬ;
ПЕРЕСЛАТЬ (0) в (ЗАЩИТА);
ЗАГРУЗИТЬ таймер (ТАЙМЕР) уставкой (100), режим (0);
СТАРТ таймер (ТАЙМЕР);
"""""""""""""""""""""""""""""""" УСТАНОВКА ЧАСОВ """"""""""""""""""""""""""""
ЕСЛИ (Q) (=) (1), то {
ЕСЛИ (F1) (=) (1), то {
СБРОСИТЬ флаг (F2);
ИДТИ на метку (A1);
} ИНАЧЕ {ВЗВЕСТИ флаг (F1);
СБРОСИТЬ флаг (F2);
ФУНКЦИЯ (FSETRTC), входные параметры (СЕК,МИН,ЧАС,
ЧИСЛ,МЕС,ГОД);
ФУНКЦИЯ (FINTRTC), входные параметры (Q);}}
ИНАЧЕ { ЕСЛИ (F2) (=) (1), то {
СБРОСИТЬ флаг (F1);
ИДТИ на метку (A1);
} ИНАЧЕ {ВЗВЕСТИ флаг (F2);
СБРОСИТЬ флаг (F1);
ФУНКЦИЯ (FINTRTC), входные параметры (Q);}}
[A1]
""""""""""""""""""""""" ЧТЕНИЕ ЗНАЧЕНИЙ МЕСДОЗ """""""""""""""""""""""""""""
ПЕРЕСЛАТЬ значение (ДАТЧИК_12090_1) в (МЕСДОЗА_12090_1);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12090_2) в (МЕСДОЗА_12090_2);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12090_3) в (МЕСДОЗА_12090_3);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12090_4) в (МЕСДОЗА_12090_4);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12543) в (МЕСДОЗА_12543);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12544) в (МЕСДОЗА_12544);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12_1) в (МЕСДОЗА_12_1);
ПЕРЕСЛАТЬ значение (ДАТЧИК_12_2) в (МЕСДОЗА_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);
}
"""""""""""""""""""""""""ТАРИРОВАНИЕ"""""""""""""""""""""""""""
ЕСЛИ (ФЛАГИ_ТАР) (#) (0), то {
ВЫЗВАТЬ процедуру (ТАРИРОВАНИЕ);
}
"""""""""""""""""""""""""ЮСТИРОВАНИЕ"""""""""""""""""""""""""""
ЕСЛИ (ФЛАГИ_ЮСТ) (#) (0), то {
ВЫЗВАТЬ процедуру (ЮСТИРОВКА);
}
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА """"""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12090_1"""""""""""""""""""""""
ВЫЧИСЛИТЬ (БРУТТО_12090_1) (-) (ТАРА_СТАТ_12090_1) (НЕТТО_СТАТ_12090_1);
ФУНКЦИЯ (FZOOM), вх (НЕТТО_СТАТ_12090_1,ЮСТ_ВЕС_12090_1,ЮСТ_СТАТ_12090_1),
вых (ВЕС_СТАТ_12090_1);
ВЫЧИСЛИТЬ (БРУТТО_12090_1) (-) (ТАРА_ДИН_12090_1) (НЕТТО_ДИН_12090_1);
ЕСЛИ (НЕТТО_ДИН_12090_1) (<) (0), то {
ВЫЧИСЛИТЬ (0) (-) (НЕТТО_ДИН_12090_1) (НЕТТО_ДИН_12090_1);
ВЗВЕСТИ флаг (ФЛ_МИН_12090_1);
}ИНАЧЕ {
СБРОСИТЬ флаг (ФЛ_МИН_12090_1);
}
ФУНКЦИЯ (FZOOM), вх (НЕТТО_ДИН_12090_1,ЮСТ_ВЕС_12090_1,ЮСТ_ДИН_12090_1),
вых (ВЕС_ДИН_12090_1);
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12090_2""""""""""""""""""""""""""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12090_3"""""""""""""""""""""""
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12090_4"""""""""""""""""""""""
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12543"""""""""""""""""""""""
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12544"""""""""""""""""""""""
"""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12_1""""""""""""""""""""""""""""""""""""""""""""""""""""""""РАСЧЕТ ВЕСА 12_2""""""""""""""""""""""""""""""""""""""""""""""""""КОНЕЦ РАСЧЕТА ВЕСА""""""""""""""""""""""""""""""""""""""""""""ПРОВЕРКА НАЛИЧИЯ МАТЕРИАЛА НА ЛЕНТЕ""""""""""""""""""""""""""
ЕСЛИ (ВЕС_ДИН_12090_1) (<) (МИН_ВЕС_12090_1), то {
ВКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_1);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_1);
}
ЕСЛИ (ВЕС_ДИН_12090_2) (<) (МИН_ВЕС_12090_2), то {
ВКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_2);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_2);
}
ЕСЛИ (ВЕС_ДИН_12090_3) (<) (МИН_ВЕС_12090_3), то {
ВКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_3);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_3);
}
ЕСЛИ (ВЕС_ДИН_12090_4) (<) (МИН_ВЕС_12090_4), то {
ВКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_4);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ПРЗ_МИН_12090_4);
}
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12090_1""""""
""""""""""""""""""""РАСЧЕТ СКОРОСТИ 12090_1""""""""""""""""""""""""""""""""
ФУНКЦИЯ (MULU), вх (ДЛИН_12090_1,ДЛ_ТАХ_12090_1), вых (Х_С,Х_М);
ФУНКЦИЯ (DIVU), вх (КАЛ_С_12090_1,КАЛ_М_12090_1,10),
вых (Y_С,Y_М,ОСТ); "импульсов за 1/10 оборота
ЕСЛИ (Y_С) (=) (0), то {
ЕСЛИ (ОСТ) (>) (4), то {
ВЫЧИСЛИТЬ (Y_М) (+) (1) (Y_М);
}
ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,Y_М),
вых (СКОР_С_12090_1,СКОР_М_12090_1,ОСТ); " в мм/сек
ВЫЧИСЛИТЬ (Y_М) (/) (2) (Y_М);
ЕСЛИ (ОСТ) (>=) (Y_М), то {
ВЫЧИСЛИТЬ (СКОР_М_12090_1) (+) (1) (СКОР_М_12090_1);
}
}
""""""""""""""РАСЧЕТ ПРОИЗВОДИТЕЛЬНОСТИ 12090_1"""""""""""""""""""""""""""
ФУНКЦИЯ (MULU), вх (ДЛИН_12090_1,ВЕС_ДИН_12090_1), вых (Х_С,Х_М);
ФУНКЦИЯ (DIVU), вх (КАЛ_С_12090_1,КАЛ_М_12090_1,10),
вых (Y_С,Y_М,ОСТ); "импульсов за 1/10 оборота
ЕСЛИ (Y_С) (=) (0), то {
ЕСЛИ (ОСТ) (>) (4), то {
ВЫЧИСЛИТЬ (Y_М) (+) (1) (Y_М);
}
ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,Y_М), вых (Z_С,Z_М,ОСТ);
ВЫЧИСЛИТЬ (Y_М) (/) (2) (Y_М);
ЕСЛИ (ОСТ) (>=) (Y_М), то {
ВЫЧИСЛИТЬ (Z_М) (+) (1) (Z_М);
}
}
ФУНКЦИЯ (MULU), вх (ДЛ_ТАХ_12090_1,3600), вых (Х_С,Х_М);
ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,МОСТ_12090_1), вых (Х_С,Х_М,ОСТ);
ВЫЧИСЛИТЬ (МОСТ_12090_1) (/) (2) (Y_М);
ЕСЛИ (ОСТ) (>=) (Y_М), то {
ВЫЧИСЛИТЬ (Х_М) (+) (1) (Х_М);
}
ФУНКЦИЯ (MULU), вх (Z_М,Х_М),
вых (ПРОИЗВ_С_12090_1,ПРОИЗВ_М_12090_1); " г. в час"
ФУНКЦИЯ (CMP32), вх (ПРОИЗВ_С_12090_1,ПРОИЗВ_М_12090_1, 22,0),
вых (ERR);
ЕСЛИ (ERR) (=) (-1), то {
ПЕРЕСЛАТЬ значение (0) в (ПРОИЗВ_С_12090_1);
ПЕРЕСЛАТЬ значение (0) в (ПРОИЗВ_М_12090_1);
}
ФУНКЦИЯ (DIVU), вх (ПРОИЗВ_С_12090_1,ПРОИЗВ_М_12090_1,10000),
вых (Х_С,Х_М,ОСТ);
ФУНКЦИЯ (FZOOM), вх (Х_М,3276,10000), вых (ПРЗ_12090_1);
ВЫЧИСЛИТЬ (ПРЗ_12090_1) (+) (819) (ПРЗ_12090_1);
ФУНКЦИЯ (FAO01), вх (0,1,ПРЗ_12090_1), вых (ERR);
ЕСЛИ (КОНВ_12090_1) (=) (1), то {
""""""""ИНИЦИАЛИЗАЦИЯ РУЧНОГО СЧЕТЧИКА КОЛИЧЕСТВА МАТЕРИАЛА 12090_1"""""""""
ЕСЛИ (ФЛ_СЧЕТ_12090_1) (=) (0), то {
ЕСЛИ (ВР_СЧ_12090_1) (>) (0), то {
ВЗВЕСТИ флаг (ФЛ_СЧЕТ_12090_1);
СБРОСИТЬ флаг (ФЛ_ЧТ_12090_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_КОЛ_С_12090_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_КОЛ_М_12090_1);
ВЫЧИСЛИТЬ (ВР_СЧ_12090_1) (*) (1) (КОЛ_ИЗМ_12090_1);
}
}
""""""""""""""РАСЧЕТ КОЛИЧЕСТВА МАТЕРИАЛА 12090_1"""""""""""""""""""""""""""
ЕСЛИ (ФЛ_ЧТ_12090_1) (=) (1), то {
ФУНКЦИЯ (MULU), вх (ДЛ_ТАХ_12090_1,5000), вых (Х_С,Х_М);
ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,МОСТ_12090_1),
вых (Х_С,Х_М,ОСТ);
ВЫЧИСЛИТЬ (МОСТ_12090_1) (/) (2) (Y_М);
ЕСЛИ (ОСТ) (>=) (Y_М), то {
ВЫЧИСЛИТЬ (Х_М) (+) (1) (Х_М);
}
ФУНКЦИЯ (MULU), вх (Z_М,Х_М), вых (Х_С,Х_М);
ФУНКЦИЯ (DIVU), вх (Х_С,Х_М,5000),
вых (Х_С,Х_М,ОСТ); "г. в сек"
"""""""""""""""""РУЧНОЙ СЧЕТЧИК 12090_1"""""""""""""""""""""""""""""""""""""
ЕСЛИ (ФЛ_СЧЕТ_12090_1) (=) (1), то {
ЕСЛИ (ФЛ_МИН_12090_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_КОЛ_С_12090_1,
СЧЕТ_КОЛ_М_12090_1,
Х_С,Х_М),
вых (СЧЕТ_КОЛ_С_12090_1,
СЧЕТ_КОЛ_М_12090_1,ERR);
}ИНАЧЕ{
ФУНКЦИЯ (SUBU32), вх (СЧЕТ_КОЛ_С_12090_1,
СЧЕТ_КОЛ_М_12090_1,
Х_С,Х_М),
вых (СЧЕТ_КОЛ_С_12090_1,
СЧЕТ_КОЛ_М_12090_1,ERR);
}
ВЫЧИСЛИТЬ (КОЛ_ИЗМ_12090_1) (-) (1) (КОЛ_ИЗМ_12090_1);
ЕСЛИ (КОЛ_ИЗМ_12090_1) (=) (0), то {
СБРОСИТЬ флаг (ФЛ_СЧЕТ_12090_1);
ПЕРЕСЛАТЬ (0) в (ВР_СЧ_12090_1);
}
}
""""""""""""""""""""""""""СЧЕТЧИК МАТЕРИАЛА 12090_1"""""""""""""""""""""""""
ЕСЛИ (RDA9) (#) (10), то {
ЕСЛИ (ФЛ_СБР_12090_1) (=) (1), то {
ПЕРЕСЛАТЬ (0) в (ТЕХ_СЧ_М_12090_1);
ПЕРЕСЛАТЬ (0) в (ТЕХ_СЧ_С_12090_1);
СБРОСИТЬ флаг (ФЛ_СБР_12090_1);
}ИНАЧЕ{
ЕСЛИ (ФЛ_МИН_12090_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (ТЕХ_СЧ_С_12090_1, ТЕХ_СЧ_М_12090_1, Х_С,Х_М),
вых (ТЕХ_СЧ_С_12090_1, ТЕХ_СЧ_М_12090_1,ERR);
}ИНАЧЕ{
ФУНКЦИЯ (SUBU32), вх (ТЕХ_СЧ_С_12090_1, ТЕХ_СЧ_М_12090_1, Х_С,Х_М),
вых (ТЕХ_СЧ_С_12090_1, ТЕХ_СЧ_М_12090_1,ERR);
}
}
ЕСЛИ (ФЛ_МИН_12090_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (КОЛ_С_12090_1, КОЛ_М_12090_1, Х_С,Х_М),
вых (КОЛ_С_12090_1, КОЛ_М_12090_1,ERR);
ФУНКЦИЯ (ADDU32), вх (ИМП_С_12090_1, ИМП_М_12090_1, Х_С,Х_М),
вых (ИМП_С_12090_1, ИМП_М_12090_1,ERR);
}ИНАЧЕ{
ФУНКЦИЯ (SUBU32), вх (КОЛ_С_12090_1, КОЛ_М_12090_1, Х_С,Х_М),
вых (КОЛ_С_12090_1, КОЛ_М_12090_1,ERR);
ФУНКЦИЯ (SUBU32), вх (ИМП_С_12090_1, ИМП_М_12090_1, Х_С,Х_М),
вых (ИМП_С_12090_1, ИМП_М_12090_1,ERR);
}
}
СБРОСИТЬ флаг (ФЛ_ЧТ_12090_1);
}
ЕСЛИ (ТАЙМ_ИМП_12090_1@) (=) (0), то {
ФУНКЦИЯ (CMP32), вх (ИМП_С_12090_1, ИМП_М_12090_1, 0,10000),
вых (ERR);
ЕСЛИ (ERR) (#) (-1), то {
ФУНКЦИЯ (SUBU32), вх (ИМП_С_12090_1, ИМП_М_12090_1, 0,10000),
вых (ИМП_С_12090_1, ИМП_М_12090_1,ERR);
СТАРТ таймер (ТАЙМ_ИМП_12090_1);
}
}
}
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12090_2""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12090_3""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12090_4""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12543""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12544""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12_1""""""
""""РАСЧЕТ СКОРОСТИ, ПРОИЗВОДИТЕЛЬНОСТИ, КОЛИЧЕСТВА МАТЕРИАЛА 12_2""""""
"""""""""""""""""""""""ИМПУЛЬСНЫЕ СЧЕТЧИКИ""""""""""""""""""""""""""""""""
ЕСЛИ (ТАЙМ_ИМП_12090_1) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12090_1);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12090_1);
}
ЕСЛИ (ТАЙМ_ИМП_12090_2) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12090_2);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12090_2);
}
ЕСЛИ (ТАЙМ_ИМП_12090_3) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12090_3);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12090_3);
}
ЕСЛИ (ТАЙМ_ИМП_12090_4) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12090_4);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12090_4);
}
ЕСЛИ (ТАЙМ_ИМП_12543) (>) (20), то {
ВКЛЮЧИТЬ выход (ИМП_12543);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12543);
}
ЕСЛИ (ТАЙМ_ИМП_12543_1) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12543_1);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12543_1);
}
ЕСЛИ (ТАЙМ_ИМП_12543_2) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12543_2);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12543_2);
}
ЕСЛИ (ТАЙМ_ИМП_12544) (>) (20), то {
ВКЛЮЧИТЬ выход (ИМП_12544);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12544);
}
ЕСЛИ (ТАЙМ_ИМП_12544_1) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12544_1);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12544_1);
}
ЕСЛИ (ТАЙМ_ИМП_12544_2) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12544_2);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12544_2);
}
ЕСЛИ (ТАЙМ_ИМП_12_1) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12_1);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12_1);
}
ЕСЛИ (ТАЙМ_ИМП_12_2) (>) (10), то {
ВКЛЮЧИТЬ выход (ИМП_12_2);
} ИНАЧЕ {
ВЫКЛЮЧИТЬ дискретный выход (ИМП_12_2);
}
""""""""""""""""""""""МАТЕРИАЛ ЗА ПРЕДЫДУЩИЙ ЧАС""""""""""""""""""""""""""
ЕСЛИ (МИН) (=) (0), то {
ЕСЛИ (ФЛ_ЧАС) (=) (0), то {
ПЕРЕСЛАТЬ значение (КОЛ_С_12090_1) в (ЧАС_С_12090_1);
ПЕРЕСЛАТЬ значение (КОЛ_М_12090_1) в (ЧАС_М_12090_1);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12090_1,КОЛ_М_12090_1,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12090_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12090_1, СЧЕТ_СМ_М_12090_1, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12090_1, СЧЕТ_СМ_М_12090_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12090_1, СЧЕТ_СУТ_М_12090_1, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12090_1, СЧЕТ_СУТ_М_12090_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12090_1, СЧЕТ_МЕС_М_12090_1, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12090_1, СЧЕТ_МЕС_М_12090_1,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12090_1);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12090_1);
ПЕРЕСЛАТЬ значение (КОЛ_С_12090_2) в (ЧАС_С_12090_2);
ПЕРЕСЛАТЬ значение (КОЛ_М_12090_2) в (ЧАС_М_12090_2);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12090_2,КОЛ_М_12090_2,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12090_2) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12090_2, СЧЕТ_СМ_М_12090_2, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12090_2, СЧЕТ_СМ_М_12090_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12090_2, СЧЕТ_СУТ_М_12090_2, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12090_2, СЧЕТ_СУТ_М_12090_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12090_2, СЧЕТ_МЕС_М_12090_2, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12090_2, СЧЕТ_МЕС_М_12090_2,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12090_2);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12090_2);
ПЕРЕСЛАТЬ значение (КОЛ_С_12090_3) в (ЧАС_С_12090_3);
ПЕРЕСЛАТЬ значение (КОЛ_М_12090_3) в (ЧАС_М_12090_3);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12090_3,КОЛ_М_12090_3,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12090_3) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12090_3, СЧЕТ_СМ_М_12090_3, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12090_3, СЧЕТ_СМ_М_12090_3,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12090_3, СЧЕТ_СУТ_М_12090_3, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12090_3, СЧЕТ_СУТ_М_12090_3,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12090_3, СЧЕТ_МЕС_М_12090_3, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12090_3, СЧЕТ_МЕС_М_12090_3,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12090_3);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12090_3);
ПЕРЕСЛАТЬ значение (КОЛ_С_12090_4) в (ЧАС_С_12090_4);
ПЕРЕСЛАТЬ значение (КОЛ_М_12090_4) в (ЧАС_М_12090_4);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12090_4,КОЛ_М_12090_4,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12090_4) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12090_4, СЧЕТ_СМ_М_12090_4, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12090_4, СЧЕТ_СМ_М_12090_4,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12090_4, СЧЕТ_СУТ_М_12090_4, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12090_4, СЧЕТ_СУТ_М_12090_4,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12090_4, СЧЕТ_МЕС_М_12090_4, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12090_4, СЧЕТ_МЕС_М_12090_4,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12090_4);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12090_4);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12543);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12543);
ПЕРЕСЛАТЬ значение (КОЛ_С_12543_1) в (ЧАС_С_12543_1);
ПЕРЕСЛАТЬ значение (КОЛ_М_12543_1) в (ЧАС_М_12543_1);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12543_1,КОЛ_М_12543_1,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12543_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12543_1, СЧЕТ_СМ_М_12543_1, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12543_1, СЧЕТ_СМ_М_12543_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12543_1, СЧЕТ_СУТ_М_12543_1, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12543_1, СЧЕТ_СУТ_М_12543_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12543_1, СЧЕТ_МЕС_М_12543_1, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12543_1, СЧЕТ_МЕС_М_12543_1,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12543_1);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12543_1);
ПЕРЕСЛАТЬ значение (КОЛ_С_12543_2) в (ЧАС_С_12543_2);
ПЕРЕСЛАТЬ значение (КОЛ_М_12543_2) в (ЧАС_М_12543_2);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12543_2,КОЛ_М_12543_2,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12543_2) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12543_2, СЧЕТ_СМ_М_12543_2, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12543_2, СЧЕТ_СМ_М_12543_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12543_2, СЧЕТ_СУТ_М_12543_2, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12543_2, СЧЕТ_СУТ_М_12543_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12543_2, СЧЕТ_МЕС_М_12543_2, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12543_2, СЧЕТ_МЕС_М_12543_2,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12543_2);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12543_2);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12544);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12544);
ПЕРЕСЛАТЬ значение (КОЛ_С_12544_1) в (ЧАС_С_12544_1);
ПЕРЕСЛАТЬ значение (КОЛ_М_12544_1) в (ЧАС_М_12544_1);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12544_1,КОЛ_М_12544_1,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12544_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12544_1, СЧЕТ_СМ_М_12544_1, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12544_1, СЧЕТ_СМ_М_12544_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12544_1, СЧЕТ_СУТ_М_12544_1, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12544_1, СЧЕТ_СУТ_М_12544_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12544_1, СЧЕТ_МЕС_М_12544_1, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12544_1, СЧЕТ_МЕС_М_12544_1,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12544_1);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12544_1);
ПЕРЕСЛАТЬ значение (КОЛ_С_12544_2) в (ЧАС_С_12544_2);
ПЕРЕСЛАТЬ значение (КОЛ_М_12544_2) в (ЧАС_М_12544_2);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12544_2,КОЛ_М_12544_2,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12544_2) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12544_2, СЧЕТ_СМ_М_12544_2, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12544_2, СЧЕТ_СМ_М_12544_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12544_2, СЧЕТ_СУТ_М_12544_2, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12544_2, СЧЕТ_СУТ_М_12544_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12544_2, СЧЕТ_МЕС_М_12544_2, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12544_2, СЧЕТ_МЕС_М_12544_2,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12544_2);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12544_2);
ПЕРЕСЛАТЬ значение (КОЛ_С_12_1) в (ЧАС_С_12_1);
ПЕРЕСЛАТЬ значение (КОЛ_М_12_1) в (ЧАС_М_12_1);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12_1,КОЛ_М_12_1,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12_1) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12_1, СЧЕТ_СМ_М_12_1, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12_1, СЧЕТ_СМ_М_12_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12_1, СЧЕТ_СУТ_М_12_1, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12_1, СЧЕТ_СУТ_М_12_1,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12_1, СЧЕТ_МЕС_М_12_1, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12_1, СЧЕТ_МЕС_М_12_1,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12_1);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12_1);
ПЕРЕСЛАТЬ значение (КОЛ_С_12_2) в (ЧАС_С_12_2);
ПЕРЕСЛАТЬ значение (КОЛ_М_12_2) в (ЧАС_М_12_2);
ФУНКЦИЯ (DIVU), вх (КОЛ_С_12_2,КОЛ_М_12_2,1000),
вых (Х_С,Х_М,ОСТ); "кг."
ЕСЛИ (ОСТ) (>) (499), то {
ФУНКЦИЯ (ADDU32), вх (Х_С,Х_М,0,1), вых (Х_С,Х_М,ERR);
}
ЕСЛИ (МИН_12_2) (=) (0), то {
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СМ_С_12_2, СЧЕТ_СМ_М_12_2, Х_С,Х_М),
вых (СЧЕТ_СМ_С_12_2, СЧЕТ_СМ_М_12_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_СУТ_С_12_2, СЧЕТ_СУТ_М_12_2, Х_С,Х_М),
вых (СЧЕТ_СУТ_С_12_2, СЧЕТ_СУТ_М_12_2,ERR);
ФУНКЦИЯ (ADDU32), вх (СЧЕТ_МЕС_С_12_2, СЧЕТ_МЕС_М_12_2, Х_С,Х_М),
вых (СЧЕТ_МЕС_С_12_2, СЧЕТ_МЕС_М_12_2,ERR);
}
ПЕРЕСЛАТЬ значение (0) в (КОЛ_С_12_2);
ПЕРЕСЛАТЬ значение (0) в (КОЛ_М_12_2);
ВЗВЕСТИ флаг (ФЛ_ЧАС);
}
}ИНАЧЕ{
СБРОСИТЬ флаг (ФЛ_ЧАС);
}
""""""""""""""""""""""МАТЕРИАЛ ЗА СМЕНУ И СУТКИ"""""""""""""""""""""""""
ЕСЛИ (ЧАС) (=) (8), то {
ЕСЛИ (ФЛ_СМ1) (=) (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);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12543_2) в (СМ_М_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12543_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12544_1) в (СМ_С_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12544_1) в (СМ_М_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12544_2) в (СМ_С_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12544_2) в (СМ_М_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12_1) в (СМ_С_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12_1) в (СМ_М_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12_2) в (СМ_С_12_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12_2) в (СМ_М_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12_2);
ВЗВЕСТИ флаг (ФЛ_СМ1);
}
}ИНАЧЕ{
СБРОСИТЬ флаг (ФЛ_СМ1);
}
ЕСЛИ (ЧАС) (=) (20), то {
ЕСЛИ (ФЛ_СМ2) (=) (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);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12543_2) в (СМ_М_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12543_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12544_1) в (СМ_С_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12544_1) в (СМ_М_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12544_2) в (СМ_С_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12544_2) в (СМ_М_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12_1) в (СМ_С_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12_1) в (СМ_М_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_С_12_2) в (СМ_С_12_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СМ_М_12_2) в (СМ_М_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_С_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СМ_М_12_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_С_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);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_М_12543_2) в (СУТ_М_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_С_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_М_12543_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_С_12544_1) в (СУТ_С_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_М_12544_1) в (СУТ_М_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_С_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_М_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_С_12544_2) в (СУТ_С_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_М_12544_2) в (СУТ_М_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_С_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_М_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_С_12_1) в (СУТ_С_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_М_12_1) в (СУТ_М_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_С_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_М_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_С_12_2) в (СУТ_С_12_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_СУТ_М_12_2) в (СУТ_М_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_С_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_СУТ_М_12_2);
ВЗВЕСТИ флаг (ФЛ_СМ2);
}
}ИНАЧЕ{
СБРОСИТЬ флаг (ФЛ_СМ2);
}
""""""""""""""""""""""МАТЕРИАЛ ЗА МЕСЯЦ"""""""""""""""""""""""""
ПЕРЕЙТИ, если переменной (МЕС) соответствует {
ЗНАЧЕНИЕ (1):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (2):
ФУНКЦИЯ (DIVU), вх (0,ГОД,4), вых (Х_С,Х_М,ОСТ);
ЕСЛИ (ОСТ) (#) (0), то {
ЕСЛИ (ЧИСЛ) (=) (28), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
}ИНАЧЕ {
ЕСЛИ (ЧИСЛ) (=) (29), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
}
ВЫХОД;
ЗНАЧЕНИЕ (3):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (4):
ЕСЛИ (ЧИСЛ) (=) (30), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (5):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (6):
ЕСЛИ (ЧИСЛ) (=) (30), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (7):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (8):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (9):
ЕСЛИ (ЧИСЛ) (=) (30), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (10):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (11):
ЕСЛИ (ЧИСЛ) (=) (30), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
ВЫХОД;
ЗНАЧЕНИЕ (12):
ЕСЛИ (ЧИСЛ) (=) (31), то {
ВЫЗВАТЬ процедуру (СЧЕТМЕС);
}
}
СТОП таймер (ТАЙМЕР);
ВЫЧИСЛИТЬ (100) (-) (ТАЙМЕР) (ТИК);
ИДТИ на метку (НАЧАЛО); "КОНЕЦ ПРОГРАММЫ
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""Подпрограмма фильтрации сигнала с месдоз"""""""""""""""""""
""""""""""""""""""""""""""""""""ФИЛ_МЕСДОЗ"""""""""""""""""""""""""""""""""
ПОДПРОГРАММА (ФИЛ_МЕСДОЗ) {
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12090_1""""""""""""""""""""
ЕСЛИ (ВРЕМ_12090_1) (>=) (ВРЕМ_ФИЛ_12090_1), то {
ЕСЛИ (СОСТ_12090_1) (=) (0), то { " Успешное выделение буфера
ЕСЛИ (ОШИБКА_12090_1) (=) (0), то { " Успешное снятие измерения
ФУНКЦИЯ (RUN_FTR),
входные параметры (НАЧ_БУФ_12090_1, МЕСДОЗА_12090_1),
выходные параметры (ФИЛ_12090_1, БУФ_ПОЛН_12090_1);
}
}
ПЕРЕСЛАТЬ значение (1) в (ВРЕМ_12090_1);
} ИНАЧЕ {
ВЫЧИСЛИТЬ (ВРЕМ_12090_1) (+) (1) (ВРЕМ_12090_1);
}
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛ МЕСДОЗЫ 12090_2"""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12090_3"""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12090_4"""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12543""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12544""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12_1""""""""""""""""""""
""""""""""""""""""""ФИЛЬТРАЦИЯ СИГНАЛА МЕСДОЗЫ 12_2""""""""""""""""""""
ЗАГРУЗИТЬ таймер (ТАЙМ_ФИЛ) уставкой (ВРЕМ_ФИЛ), режим (0);
СТАРТ таймер (ТАЙМ_ФИЛ); "РЕИНИЦИАЛИЗАЦИЯ ТАЙМЕРА
} "КОНЕЦ ПОДПРОГРАММЫ
""""""""""""""""Подпрограмма динамического тарирования"""""""""""""""""""""
""""""""""""""""""""""""""""""""ДИНАМ_ТАР""""""""""""""""""""""""""""""""""
ПОДПРОГРАММА (ДИНАМ_ТАР) {
ЕСЛИ (СОСТ_ТАР) (=) (0), то { " Успешное выделение буфера
ФУНКЦИЯ (RUN_FTR),
входные параметры (НАЧ_БУФ_ТАР, БРУТТО_ДИН),
выходные параметры (ТАРА_ДИН, БУФ_ПОЛН_ТАР);
ВЫЧИСЛИТЬ (ЧИСЛО_ИЗМ) (+) (1) (ЧИСЛО_ИЗМ);
}
СТАРТ таймер (ТАЙМ_ТАР);
} "КОНЕЦ ПОДПРОГРАММЫ
""""""""""""""""Подпрограмма динамического юстирования"""""""""""""""""""""
""""""""""""""""""""""""""""""""ДИНАМ_ЮСТ""""""""""""""""""""""""""""""""""
ПОДПРОГРАММА (ДИНАМ_ЮСТ) {
ЕСЛИ (СОСТ_ЮСТ) (=) (0), то { " Успешное выделение буфера
ФУНКЦИЯ (RUN_FTR),
входные параметры (НАЧ_БУФ_ЮСТ, БРУТТО_ДИНАМ),
выходные параметры (ЮСТ_ДИН, БУФ_ПОЛН_ЮСТ);
ВЫЧИСЛИТЬ (ЧИСЛО_ИЗМЕР) (+) (1) (ЧИСЛО_ИЗМЕР);
}
СТАРТ таймер (ТАЙМ_ЮСТ);
} "КОНЕЦ ПОДПРОГРАММЫ
""""""""""""""""Подпрограмма чтения тахогенераторов"""""""""""""""""""""
""""""""""""""""""""""""""""""""ЧТ_ТАХ""""""""""""""""""""""""""""""""""
ПОДПРОГРАММА (ЧТ_ТАХ) {
ФУНКЦИЯ (FRDQC01), входные параметры (2,8),
выходные параметры (РАБ_КОНВ);
""""""""""""""""чтение тахогенератора 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);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12543_2) в (МЕС_М_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12543_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12543_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12544_1) в (МЕС_С_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12544_1) в (МЕС_М_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12544_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12544_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12544_2) в (МЕС_С_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12544_2) в (МЕС_М_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12544_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12544_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12_1) в (МЕС_С_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12_1) в (МЕС_М_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12_1);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12_1);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_С_12_2) в (МЕС_С_12_2);
ПЕРЕСЛАТЬ значение (СЧЕТ_МЕС_М_12_2) в (МЕС_М_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_С_12_2);
ПЕРЕСЛАТЬ значение (0) в (СЧЕТ_МЕС_М_12_2);
ВЗВЕСТИ флаг (ФЛ_МЕС);
}
}ИНАЧЕ{
СБРОСИТЬ флаг (ФЛ_МЕС);
}
}
""""""""""""""""КОНЕЦ ПРОЦЕДУРЫ СЧЕТА МАТЕРИАЛА ЗА МЕСЯЦ"""""""""""""""""""