Требования к компьютерам промышленного назначения 

Требования к компьютерам промышленного назначения

1.3.5

К компьютерам, используемым в промышленности, предъявляются совершенно иные требования, чем к машинам, решающим разнообразные прикладные задачи. Эти требования необходимо рассмотреть более детально.

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

Рис. 1.9. Компилируемые и интерпретируемые языки высокого уровня: (а) компилируемая программа (например, на языках Pascal, С); (б) интерпретируемая программа (например, большинство версий языка BASIC)

Совсем иначе обстоит дело с управляющим компьютером, изображенным на рис. 1.10 (б). На его вход поступают сигналы от большого количества разнообразных устройств. Хотя некоторые из них представлены числами (значения расхода, температуры, давления и других аналоговых величин), большинство будут дискретными однобитовыми сигналами типа «включено/выключено».

Аналогично, в данном случае будет иметь место большое количество выходных сигналов — как цифровых, так и аналоговых. В небольших системах управления компьютер может иметь около 20 входных и выходных сигналов; для систем средних размеров характерны цифры более 200 входов и выходов. Клавиатура, дисплей и принтер могут использоваться, хотя и не обязательно, и их функции, по-видимому, будут отличны от тех, которые свойственны обычному настольному компьютеру или универсальной вычислительной машине.

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

Рис. 1.10. Различие между обычным и управляющим компьютерами: (а) обычный компьютер; (б) компьютер, управляющий промышленным объектом

На рис. 1.11 (о), например, изображена простая стартовая система для двигателя. Ее можно представить как цепь, управляемую компьютером, см. рис. 1.11 (б). Два входных сигнала определяются адресами 1 и 2, а выходной сигнал (релейный стартер) — адресом 10.

Если предположить, что в программе имеются функция bitread(N), которая определяет состояние двигателя (включено/выключено) по адресу N, и процедура bitwrite(M, var), которая пересылает значение переменной var по адресу М, то действия, соответствующие рис. 1.11, можно описать следующим образом:

repeat

start: = bitread(1);

stop: = bitread(2);

run: = ((start) or (run)) & stop;

bitwrite (10, run); until hellfreezesover

где start, stop и run являются однобитовыми переменными. Программа, однако, не слишком понятна, и мы имеем всего три подключения.

Рис. 1.11. Сравнение схем запуска двигателя: (а) проводная схема с фиксированным монтажом; (б) схема с использованием компьютера

Программа для компьютера, управляющего промышленным объектом, редко когда остается неизменной в течение всего времени ее использования. Изменения в работе объекта всегда заставляют вносить изменения и в программу. Последние должны осуществляться обслуживающим персоналом, причем с минимальным вмешательством (а лучше всего — без такового) в работу объекта. Например, на рис. 1.11 добавление второй кнопки «старт» и второй кнопки «стоп» было бы не слишком простой задачей. 

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

Время играет очень важную роль в стратегии управления (например, включить вентилятор, подождать 10 с, чтобы воздух очистил камеру, открыть вспомогательный вентиль газа, подождать 0.5 с, включить воспламенитель, подождать 2.5 с, затем, если пламя появилось, открыть основной вентиль газа). Подобную последовательность действий трудно описать с помощью обычных языков программирования.

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

Источники питания в промышленности оказывают негативное влияние на аппаратуру и человека: это пуск и остановка мощных электродвигателей, тиристорные усилители, которые накладывают импульсные помехи и высшие гармоники на основные источники питания. Для человека все это ощущается как мерцание света; в компьютерах же это может привести к искажению данных в памяти или даже к отказу машины.

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

Немаловажным фактором являются также условия окружающей среды. Большие универсальные вычислительные машины обычно размещаются в помещении, оборудованном кондиционерами, где поддерживается постоянная температура 20 "С и тщательно контролируется влажность. Настольный ПК будет нормально функционировать в относительно постоянных условиях, потому что человек не работает в экстремальной обстановке. Промышленный же компьютер, вероятно, должен будет работать без вмешательства человека при температурах от —10 °С зимой до +40 "С летом. Хуже всего то, что эти колебания температуры приводят к постоянному растяжению и сжатию компонентов компьютера, а это может вызвать его быстрый отказ, если данный фактор не принять во внимание при проектировании системы.

К этим температурным перепадам следует добавить наличие пыли и грязи. Очень немногие производственные процессы являются чистыми, и пыль проникает повсюду (даже в помещения со степенью защиты IP55, потому что эта степень удовлетворяется только тогда, когда двери закрыты и заперты; степени защиты IP рассматриваются в разделе Защита оборудования). Пыль будет попадать в соединительные разъемы, и, если они низкого качества, возможно возникновение неисправностей, которые очень трудно обнаружить.

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

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

Требования, предъявляемые к компьютеру, управляющему промышленным объектом, являются весьма жесткими и сводятся к следующему:

  1. Он должен быть способен функционировать в таких производственных условиях, которые характеризуются температурными перепадами, наличием грязи и некачественной сетью электропитания.
  2. Он должен быть способен работать с дискретными входными/выходными сигналами в виде напряжений, характерных для промышленности (от 24 В постоянного тока до 240 В переменного тока), а также с аналоговыми входными/выходными сигналами.
  3. Язык программирования должен быть понятен обслуживающему персоналу (например, электрикам), не имеющему специальной подготовки.
  4. Он должен иметь возможность непрерывно контролировать работу объекта, чтобы помочь в обнаружении неисправностей. Надо учитывать, что большинство неисправностей будут возникать во внешних устройствах, таких как концевые выключатели, датчики и исполнительные механизмы, и управляющий компьютер должен быть способен наблюдать за их работой.
  5. Для управления в реальном времени система должна обладать достаточным быстродействием. На практике «достаточное быстродействие» означает время реакции порядка 0.1 с, но оно может варьироваться в зависимости от конкретной задачи и используемого управляющего устройства.
  6. Пользователь должен быть избавлен от применения компьютерного жаргона.
  7. Основное внимание должно быть уделено безопасности.