Ручное программирование контроллера - некоторые аспекты.

Несмотря на повсеместную компьютеризацию, по нашей статистике каждый второй контроллер попадает на производство, где программируется вручную или используют уже подготовленный и записанный нами программный продукт. Зачастую на производстве требуются небольшие коррекции, необходимые именно для их оборудования. Это небольшие бетонные заводы, автоматы по фасовки продукции в мешки, автоматы по перевесу продукции… Программирование вручную дело не сложное, но нужно обратить внимание на некоторые факторы.

1. Если в приборе не записана ВАША программа, а мы предоставляем и услуги по написанию программ для пользователей, то может быть записана «контролька» - программа для проверки входов-выходов, где в ответ на инициализацию входа срабатывает соответствующий выход или что - то еще для проверки прибора.

2. После нескольких перезаписей может накопиться «программный мусор», который может влиять на работу вашей программы. Очищать все пространство программирования вручную вписывая нули в ячейки – дело нудное и неблагодарное…

3. Программно «чистыми» и правильно записанными должны быть используемые в программе объекты – входы, выходы, таймеры, счетчики и вход17, к которому контроллер обращается по включению, остальные объекты программирования просто не используется. На этом основано работа и совместное параллельное или последовательное использование сразу нескольких программ в одном контроллере. (Мне приходилось писать продукт сразу с четырьмя независимо работающими программами для автоматизированной линии расфасовки.)

Если на экране монитора сразу же видна вся картина программирования, то в ручном режиме отследить это сложнее, так как на дисплее можно просматривать только один объект. Поэтому в контроллере сделана специальная функция стирания команд программ.

Ф – 0 – «пароль» - 7 – (1_допуск к меню) – 2_пароль_очистка памяти программ. В ручном режиме ее нужно пользовать всегда перед записью программы а также после неоднократных корректировок. Не мешает пользовать эту команду и при программировании с компьютера так как неопределенные как команды коды не показываются, но могут неправильно интерпретироваться при работе программы.

При ручном программировании вначале прорисовывается диаграмма работы, определяются используемые входы, выходы, таймеры, счетчики, вручную записываются параметры объект, а затем все переносится в контроллер. Производится проверка работы прибора – лучше всего для этого использовать поставляемый нами имитатор входов – выходов и встроенный в контроллер генератор тензосигнала (веса).

В ходе проверки выявляются и исправляются ошибки. Затем вводятся определенные пользователем параметры защиты прибора от несанкционированного доступа и контроллер устанавливают на объект. После калибровки эталонным весом и присоединения устройств автоматики он готов к работе.

На примере конкретного задания по перевесу продукта мы покажем, как пишется программа. Задание пришло по эл. почте.

ЗАДАНИЕ:

Здравствуйте!

Прошу Вас составить программу на весовой терминал ТВ-003/05М по следующей схеме.

Когда бункерные весы пусты, нижняя заслонка закрыта, а верхняя открывается. Набирается вес = 50 кг., верхняя должна закрыться, взвешивается и открывается (нижняя заслонка). Также необходимо предусмотретьавтосуммирование веса. После чего должно автоматически перейти в последовательность циклических действий.

Нужно сделать, чтобы терминал входил в рабочий режим автоматически, без нажатия кнопки.

В общем должно выглядеть след. образом:

1. Пуск - Верхняя заслонка открыта, а нижняя закрыта.

2. Взвешивание и автосуммирование

3. Нижняя заслонка открыта, верхняя открыта

4. Цикл начинается сначала и повторяется

Программа перевеса

Команды входов исполняются последовательно и все, поэтому мы можем специально пропускать строки команд с целью их возможного заполнения без перезаписи последующих команд входа.

Вход_1 (Кнопка — для одноразового режима и тумблер для непрерывного.) Останавливает учет отгрузки, проверяет вход 1 и если он замкнут вновь запускает учет загрузки, режим дозирования по выходу 1 и порог загрузки по выходу 9)

1_ Стоп учета (63)

2_

3_ Если Вход (71) 1

4_ Пуск учета загрузки (61) 1

5_ Пуск алгоритма Выхода (11) 1

6_ Пуск алгоритма Выхода (11) 9

Вход_7 (Сдвигаем и обнуляем нижний индикатор внешней антивандальной кнопкой, установленной в любом удобном месте и чтобы не юзать сам контроллер)

1_ Сдвиг компонентов (67)

2_ Обнулить компонент (52) 1

3_

4_

5_

6_

Вход_8 (Аварийный сброс программы в чрезвычайных ситуациях - обычно красная кнопка «СТОП»)

1_

2_ Общий сброс (91)

3_

4_ Стоп учета (63)

5_

6_

Вход_9 (Расширение сопроводительной команды таймера 2)

1_

2_

3_ Рабочий уровень Выхода (18) 2

4_ Пуск таймера (21) 3

5_

6_

Выход_1 (Доза засыпки, рабочий выход, подключается к реле или другому исп. механизму – 40вольт и 200мА - максимальная нагрузка.)

1_ 0

2_ 50

3_ 0

_абсолютный_загрузка_нач.сост.пасс _Пуск таймера(21) 1

Выход_9 (Определение пустого бункера, вес первого и второго порога должен быть одинаковым !!! — подбирается экперементально, может быть любым. После уменьшения веса ниже порогов срабатывает сопр. команда. )

1_ 5

2_ 5

3_ 0

_абсолютный_загрузка_ нач.сост.пасс

_Пуск таймера(21) 2

Таймер_1 (Время на успокоение заполненного бункера для правильного учета загруженного бункера, может быть любым, подбирается эксперементально)

1_ 5 сек.

_Активный уровень выхода (16) 2

Таймер_2 (Задержка на закрытие нижней заслонки после тог как бункер разгрузился до порога, определенным выходом 9, может быть любым, подбирается эксперементально.)

1_ 4 сек.

_Пуск входа (01) 9

Таймер_3 (Задержка на послезакрытие нижней заслонки – эксперементальное - значение, зависит от оборудования.)

1_ 3 сек.

_Пуск входа (01) 1

Конец программы.