Сверлильный полуавтомат. Режимы работы. Входные и выходные сигналы, страница 3


5. Тестирование

1.  Выключите все тумблеры имитатора входных сигналов. (Расположение и назначение тумблеров показано в табл. 7).

Таблица 7. Назначение тумблеров имитатора входных сигналов

bottom

top

btn_stop

pressed

btn_start

switch_liquid

2.  В TIA-portal откройте проект drill, загрузите его в контроллер, переведите контроллер в режим Run. Все выходные сигналы контроллера должны погаснуть (см. табл. 8).

Таблица 8. Светодиоды, отображающие значения выходных сигналов

clamp

rotate

mv_down

mv_up

liquid

3.  Создайте Watch table с глобальными данными (см. табл. 6), запишите с ее помощью 1 в m2.2 и m2.3. Включите постоянное отображение, чтобы отслеживать значение step.

4.  Функциональный тест задан в табл. 3. Начните со второй строки (где step = 0), установите тумблеры так, как задано в столбце event. В результате будут мгновенно выполнены действия, указанные  в поле action, и изменится step (новое значение см. в поле next). Продолжайте, переключая тумблера так, как значится в event, и сравнивая реакцию с тем, что указано в поле action. Тест должен закончиться возвратом в состояние step = 0.

5.  Установите switch_liquid = 1 и повторите тест до step = 4. На этот раз должен загореться светодиод liquid. Не доводя тест до завершения, перейдите к п.6.

6.  Включите и выключите тумблер btn_stop. Реакция — все выходные сигналы обнулены, значение step отрицательное. Включите/выключите тумблер btn_start — ничего не должно измениться. Для возврата в исходное состояние выполните первую строку в табл. 3 — step должен измениться с отрицательной величины на 0.

7.  Через Watch table установите m2.3 := 0. Выполните серию из 7 тестов, каждый тест начинаете с шага 0. То, что написано в графе event, выполняете не дольше 3 сек. В первом тесте прекращаете переключать тумблеры сначала на шаге 2, в следующем тесте — на шаге 3 и т.д. до 8-го. Реакция на вашу остановку следует через несколько секунд (в пределах 3–10 сек); реакция такая же,  как в п.6. Перед каждым тестом нужно обнулять step — как в п.6 или прямой записью 0 в step (через Watch table).

8.  Через Watch table установите m2.3 := 1, m2.2 := 0. Выполните серию из 8 тестов, каждый тест начинаете с шага 0 и заканчиваете на шаге 1, 2 и т. д. до 8. Придя к требуемому шагу, переключаете любой из тумблеров, указанных в state, наоборот. Реакция должна быть мгновенной и такой же, как в п.6. Перед каждым тестом нужно обнулять step.


Выводы и замечания

1.  При полном контроле достигнутого состояния (state) проверяются не только условия, важные для технологического процесса (pressed = 1 на шагах 2–8), но и “несущественные” условия (например, top = 0 на шагах 3–8).

2.  Контроль “несущественных” условий помогает выявить скрытые неполадки в измерительной системе (например, ложные срабатывания датчика top, проявляющиеся только при повышении нагрузки на привод главного движения, т. е. при сверлении).

3.  Нарушение “несущественных” условий не должно приводить к аварийным остановам, достаточно сообщить о сбое оператору[1].

4.  Полный контроль промежутков времени между событиями предполагает проверку верхнего предела (таймаут) и нижнего предела[2] (например, при движении вниз между событиями top = 0 и bottom = 1 должно пройти не меньше 1 сек).

5.  Сброс ошибки (переход из состояния step < 0 в состояние step = 0) происходит автоматически — как только механизм выведен в исходное положение. Это позволяет обойтись без кнопки сброса ошибки.

6.  Есть опасность, что ошибка будет сброшена до того, как оператор успеет ее оценить (например, при разжиме заклинило тиски и по таймауту зафиксирован сбой step = –8; затем тиски все-таки разжались и step = 0; т. о. информация о сбое потеряна).



[1] Не реализовано. В данной программе нарушение любого условия из множества state приводит к аварийному останову.

[2] Не реализовано. В данной программе контролируются только таймауты.