Работа” любого автомата описывается следующей последовательностью – “вызвали – проверили условие – если условие выполнено, произвели некое действие и перешли при необходимости в новое состояние – вышли (невзирая на то, было условие выполнено или нет)”. Другими словами, программа не зациклена логически (можно сказать – это запрещается).
А что такое диалог с оператором, вернее – как он реализован? Любое (в частности, стандартное в LabVIEW) диалоговое окно как бы останавливает работу вызвавшей его подпрограммы, ожидая ответа оператора. Следовательно, вызов окна, реализованного таким образом, в автомате недопустим.
Выход здесь один – диалоговое окно должно “соответствовать” автомату. Работа такого окна в LabVIEW описывается аналогично – “вызвали VI, открыли Front Panel, если оператор еще не ответил – проверили, ответил ли оператор – если ответил, сформировали код ответа и закрыли Front Panel – вышли (невзирая на то, ответил оператор или нет)”.
Таким образом, теоретически на экране может быть неограниченное количество “ожидающих“ ответа оператора диалоговых окон (в данном проекте максимально было девять окон). Естественно, необходимо предусмотреть статичное или автоматическое размещение их на экране, а также динамичное изменение текста и количества кнопок (исходя из текущей ситуации). Примеры приведены на рис. 6 – 8.
Рис. 6. Пример экрана
Рис. 7. Пример экрана
Рис. 8. Пример экрана
Технологический процесс динамичен, поэтому система управления должна своевременно реагировать на отклонение от нормального хода процесса. В свою очередь, система должна среагировать не только своевременно, но и быстро. И тестирование должно быть соответствующим, а именно – при динамически изменяющейся реакции объекта управления.
Одна не столь оригинальная мысль – если есть возможность создать и реализовать корректную имитацию реакции объекта управления и модель процессов, то необходимо это сделать. Причем имитировать следует не только нормальную реакцию, а и всевозможные отклонения от нормального хода работы оборудования. Программные имитаторы работы оборудования создаются на тех же принципах SWITCH-технологии, что и управляющие автоматы.
Все это даст в итоге объективную картину процесса управления при условии правильного протоколирования работы программы. Имеется в виду фиксация каждого шага (этапа) программы, в частности, приводящего к изменению управляющих воздействий, выдаваемых на объект управления. SWITCH-технология предоставляет такую возможность без ограничений. Функция протоколирования без проблем встраивается в тело автомата, а протокол работы автоматов может иметь произвольный формат.
В рассматриваемом проекте был выбран самый простой компактный формат.
Пример протокола работы одного из автоматов после 24-часового испытания криогенно-вакуумной установки приведен ниже.
Протокол работы автомата
2005/04/04 15:45:53,097 2 010101000000000001110101000100 000000100000000000000
2005/04/04 15:45:54,524 22 010101000000000001110001000100 000000000001000000001
2005/04/04 15:45:55,190 22 010101000000000001110001000100 000000000000000000000
2005/04/04 15:45:55,242 3 010101000000000001110001000110 000000000000000000001
2005/04/04 15:45:56,672 3 010101000000000001110001000110 000000000000000000000
2005/04/04 15:46:30,069 4 010101100000000001110001000110 000100000000000000100
2005/04/04 15:46:31,505 4 010101000000000001010001000110 000100000000000000000
2005/04/04 15:46:33,522 5 010101000000000001010001000111 000100001000000000000
2005/04/04 15:46:33,668 6 010101000000000001010011000111 000100000000000000001
2005/04/04 15:46:34,505 6 010101000000000001010011000111 000100000000000000000
2005/04/04 15:47:30,521 7 010101100000000001010011000101 001100000000000000001
2005/04/04 15:47:30,699 7 010101000000000001010011000101 001100000000000000000
2005/04/04 15:48:00,057 8 010101100000000001010011000101 001000000000000000000
2005/04/05 12:20:44,080 9 010100000100000001111011000111 001000010000000000000
2005/04/05 12:20:45,523 10 010100000100000001111001000111 000000000010000000000
2005/04/05 12:20:45,703 11 100110000100000001111000000111 000010000000000000000
2005/04/05 12:20:46,514 12 101010000100000001111000001001 000000000000000000010
2005/04/05 12:20:46,826 12 101010000100000001101000001001 000000000000000000000
2005/04/05 12:21:47,506 13 101010000100000001111000001001 000001000000000000000
2005/04/05 12:21:47,974 99 100110000100000001111000000101 000000000000000000000
2005/04/05 12:21:48,506 99 100110000100000001111000000101 100000000000000000000
Дата, время (до мс) Номер Значения входных данных Значения признаков выполнения нового процедур над выходных данными состояния
ЗА ОДНУ РАБОЧУЮ НЕДЕЛЮ (пять дней) один неквалифицированный программист освоил LabVIEW (в необходимом объеме) и запрограммировал
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.