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] Не реализовано. В данной программе контролируются только таймауты.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.