Программное обеспечение систем контроля и управления

Любая ЭВМ, от микроЭВМ до большой, способна лишь на то, чтобы миллионы раз в секунду выполнять примитивные опера­ции сравнения, сложения и сдвига двоичных чисел. Весь интел­лект ЭВМ, все ее возможности, в том числе по управлению тех­нологическими процессами, заключены в программном обеспе­чении ЭВМ.

Как указывалось в гл. 2, программа — это алгоритм, записан­ный на понятном машине языке. В свою очередь, алгоритм — это последовательность действий, ведущих к достижению цели. Сле­довательно, для того чтобы автоматическая система вела техноло­гический процесс, необходимо составить алгоритм этого процес­са и записать его на языке, понятном машине.

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

Он должен описать каждое действие рабочего, который вы­полнял бы вручную соответствующие операции ТП, и учесть при­чины, по которым был выбран тот или иной вариант действий и которые не всегда очевидны (т.е. учесть то, что называется опы­том и квалификацией) — ведь машине придется самой все учи­тывать и принимать решение.

Когда алгоритм составлен, нужно записать его на языке, по­нятном машине. Для самых первых ЭВМ программы писали на так называемых машинных языках, которые представляли собой набор двоичных кодов, соответствовавших командам работы ариф­метико-логического устройства с двоичными числами. Затраты труда и времени на это были огромны, к тому же у каждого типа ЭВМ был свой машинный язык.

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

168

близкие к машинным и потому обеспечивающие более оператив­ное управление.

Например, для программирования станков с ЧПУ используют команды для выполнения каждой операции, представляющие со­бой сочетание буквенных и цифровых символов. Буквами обозна­чают наименование операции, условия ее выполнения, коорди­нату (или другой параметр), а цифры выражают численное значе­ние или условный код параметра. В качестве буквенных обозначе­ний используют сокращения или начальные буквы соответствую­щих терминов, поэтому они легко запоминаются и понимаются, что упрощает составление программы.

Так, команда установки частоты вращения шпинделя станка может выглядеть следующим образом: N35 G95 S800 М4, что оз­начает: N35 — номер (N) команды (35); G95 — задание (G) час­тоты вращения шпинделя (код 95); S800 — численное значение (S) частоты вращения (800 об/мин); М — задание направления вращения; 4 — код направления вращения (против часовой стрел­ки). Аналогично шаг за шагом программируются все операции, выполняемые станком. Программа записывается на магнитную ленту или диск, который устанавливается в командоаппарат станка. Перевод команд в двоичные коды производится с помощью специальной программы — ассемблера. Ассемблер сравнивает каж­дую команду со списком команд, представленных в двоичном коде, и производит замену набора буквенно-цифровых символов на со­ответствующий двоичный эквивалент. Расшифрованные команды, отрабатываются микроЭВМ станка, т.е. по каждому двоичному коду формируется однозначно соответствующий ему конкретный управляющий сигнал для конкретного исполнительного механиз­ма.

Современные станки с ЧПУ содержат мощные микроЭВМ и оснащены пультами управления с дисплеями, позволяющими вводить и отлаживать программы непосредственно на станке. Боль­шую роль играет удобство общения оператора с программой (на­пример, количество ошибок существенно уменьшается, если вме­сто использования клавиатуры можно просто выбирать нужные пункты экранного меню).

МикроЭВМ, обслуживающие группу технологического обору­дования, решают более широкий круг задач управления и связа­ны с большим объемом источников и приемников информации, поэтому алгоритмы управления для них более сложные. Програм­мы для них создают на языках более высокого уровня, например на языке FORTRAN или С. Для сокращения программ широко используют подпрограммы, аналогично вспомогательным алго­ритмам. Многократные обращения к подпрограммам возможны как из разных мест одной и той же рабочей программы, так и из разных рабочих программ. Когда в основной программе возникает

169

необходимость обращения к подпрограмме, производится ввод данных в эту подпрограмму, после чего ей передается управление. После выполнения подпрограммы управление возвращается ос­новной программе.

Рассмотрим в качестве примера упрощенные действия по про­граммированию работы бытовой стиральной машины. Пусть стир­ка включает в себя следующие этапы: впуск определенного коли­чества воды, подогрев воды до заданной температуры, вращение барабана в течение заданного времени со сменой направления вращения, слив воды, отжим. Какие особенности этого техноло­гического процесса нужно принять во внимание для его автома­тизации?

Начнем с впуска воды. Для управления потоком воды можно использовать электроклапан, управление которым сводится к по­даче на него управляющего сигнала в виде электрического напря­жения на все время впуска. Окончание этого времени можно оп­ределить по сигналу датчика уровня жидкости, который может быть дискретным и выдать информацию о достижении нужного уровня путем замыкания контактов электрической цепи. Этот сиг­нал используется для выключения электроклапана.

Следующий этап — подогрев воды до нужной температуры. Нам нужно будет выдать дискретный управляющий сигнал на нагрева­тель, включив его, и следить за информацией с датчика темпера­туры. Так как значения температуры стирки являются фиксиро­ванными и задаются заранее, можно использовать дискретный релейный датчик, который по достижении заданной температуры замкнет электрическую цепь. По этому сигналу нагреватель следу­ет выключить.

Затем нужно запустить процесс стирки. На электродвигатель машины выдается управляющий сигнал, включающий его на за­данное время, например на 10с. Это время должно отсчитываться счетчиком, включаемым по команде управляющего устройства и соединенным с генератором импульсов. После поступления коли­чества импульсов, соответствующего (с учетом их частоты) ин^ тервалу времени 10 с, код на выходе счетчика достигает значе­ния, на которое настроен дешифратор, и тот формирует сигнал выключения двигателя.

Затем управляющее устройство выдает сигнал на реле пере­ключения направления вращения двигателя и снова включает его на заданное время, повторяя эти операции в цикле заданное ко­личество раз (например, 100).

Слив воды аналогичен впуску, но одновременно с электрокла­паном слива включается насос, откачивающий воду, а для их вык­лючения используется сигнал датчика нулевого уровня воды.

Для отжима снова включается двигатель на заданное время (на­пример, на 30 с) и параллельно включается реле, переключаю-

170

чцее цепь управления скоростью вращения двигателя, так как при отжиме она существенно выше, чем в режиме стирки.

Таким образом, управляющее устройство должно восприни­мать дискретные сигналы двух датчиков уровня воды, датчика тем­пературы и дешифратора и выдавать дискретные управляющие сигналы на электроклапаны впуска и выпуска воды, нагреватель, электродвигатель, счетчик и реле переключения направления вра­щения и переключения скорости двигателя.

После такого подробного анализа технологического процесса и необходимых информационных и управляющих сигналов не­трудно составить алгоритм процесса, а затем и программу на од­ном из языков программирования.

Этот пример дает представление о работе, которую необходи­мо проделать для автоматизации только одного небольшого про­цесса. Представьте себе весь объем работ по автоматизации техно­логических процессов на производстве.

В настоящее г;чемя используют распределенные АСУ ТП, в которых программы выполнения отдельных этапов процесса вы­полняются программируемыми контроллерами и микроЭВМ, об­служивающими отдельные единицы или группы технологическо­го оборудования. Координацию работы этих устройств выполняет ЭВМ верхнего уровня.

Обычно в память ЭВМ загружают много программ, рассчитан­ных как на обслуживание различных участков технологического процесса, так и на решение параллельных задач: вычисление, анализ, представление информации оператору и др. Дело в том, что центральный процессор ЭВМ работает гораздо быстрее, чем оборудование ТП. Пока исполнительные механизмы отрабатывает выданные им команды, ЭВМ может заняться другой работой (фо­новой), например пересылкой информации оператору, выпол­няя эту работу по другой (фоновой) программе. Когда контроллер или микроЭВМ нижнего уровня будет нуждаться в подключении к верхней ЭВМ, он сформируют сигнал, который вызовет преры­вание фоновой программы и ЭВМ вернется к программе обслу­живания оборудования технологического процесса.

Такой режим использования ЭВМ 'называется мультипрограмм­ным. И хотя машина решает различные задачи (точнее, фрагменты различных задач) последовательно во времени, из-за высокой скорости ее работы складывается впечатление, что все задачи ре­шаются одновременно.

Программы разного уровня сложности могут создаваться на ЭВМ общего назначения с помощью систем автоматизации про­граммирования. Эти системы позволяют не только составить про­грамму, но и смоделировать ее работу в той ЭВМ, где она будет размещена, а также отладить программу, выполняя при необхо­димости корректировку в любом ее месте.

171


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: