Аннотация

Статья, которую вы сейчас читаете, первоначально была написана в 2001 году, когда промышленный контроллер (ПК) МПСУ (микропроцессорная система управления) «Электроника МС 0812» активно выпускался в СКБ ВТ. В статье делается попытка определить место МПСУ среди других ПК; предлагаются варианты программно-технических комплексов (ПТК) на базе МПСУ; рассматриваются возможности по программированию МПСУ в составе различных ПТК.

Введение

Известный журнал «Современные технологии автоматизации» (СТА), а также журнал «Промышленные АСУ и контроллеры» дают вполне достаточно информации к размышлению разработчикам средств АСУТП. Сведения по микропроцессорным контроллерам и системам различной сложности, в основе которых лежит применение контроллеров, находятся в той сфере деятельности, которой занимается СКБ ВТ. Много лет СКБ ВТ (г. Псков) с момента своего основания, находясь в русле технической политики Министерства электронной промышленности (МЭП) и выполняя заказы организаций и предприятий, разрабатывало несколько поколений микропроцессорной системы управления (МПСУ) серии «Электроника МС». Сотни комплектов УСО, произведенные на Псковском заводе радиодеталей, а также на собственном производстве СКБ ВТ, были отправлены по всей России и по республикам бывшего СССР. При этом для нас вполне естественно, что по завершении эры всеобщего внедрения ГАП (гибких автоматизированных производств) количество заказов на МПСУ резко сократилось. Несомненно, что причин для этого можно назвать несколько, в том числе значительно возросшая конкуренция со стороны техники зарубежных, а также достаточно большого числа новых российских компаний. В связи с этим возникает вопрос о месте нашего ПК МПСУ в ряду других контроллеров, а также о способах и возможностях его применения.

К вопросу о месте МПСУ среди других ПК для АСУТП

Сегодня среди современных средств автоматизации смело можно назвать аппаратное и программное обеспечение, широко представленное, например, в каталоге фирмы ProSoft. Хотя, разумеется, этим каталогом перечень далеко не исчерпывается (достаточно полистать упомянутые выше специализированные журналы). Для определения современных разработок АСУТП различного уровня (по крайней мере в России и странах СНГ) можно сослаться на раздел «Системная интеграция» журнала СТА. В своих разработках последних лет СКБ ВТ применяет аппаратуру компаний Octagon SystemsFastwel, комплектующие MotorolaMAXAltera, программное обеспечение AdAstraНПФ «Круг»QNX Software Systems Ltd.

В конце 1998 года мы спросили одного нашего постоянного заказчика и одновременно опытного разработчика АСУТП, имеет ли сегодня МПСУ перспективы при выборе средств уровня контроллеров построения АСУТП. Ответ был таков. Если откинуть в сторону различного рода пристрастия и сосредоточиться только на технической и финансовой сторонах вопроса, то МПСУ имел и будет иметь свое место (или, как принято говорить, «нишу») для многих конкретных схем АСУТП. Для этого есть несколько причин:

  • 1) набор модулей УСО вполне достаточный для приема и передачи дискретных, аналоговых, импульсных сигналов, коммутации пакетов данных, для выполнения специальных функций;
  • 2) каркасы модулей стандарта 4U трех видов (на 19, 13 и 8 модулей) и внутренней шиной МПИ ГОСТ 26 765.51-86 (разновидность QBUS) позволяют строить МПСУ различной «насыщенности» по числу сигналов ввода/вывода;
  • 3) имеющийся набор из нескольких типов процессорных модулей (плат CPU) предоставляет возможность выбора в соответствии с требуемыми характеристиками;
  • 4) по надежности МПСУ не уступает аналогам в своем классе;
  • 5) цена ПК МПСУ вполне скромная (40 — 80 $ за модуль).

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

Что такое МПСУ? Плюсы и минусы

Микропроцессорная система управления (ПК МПСУ) имеет обычную схему централизованного УСО (в отличие от распределённых УСО) с каркасом модулей и установленными в него модулями УСО, одним из которых является контроллер МПСУ. Модули включаются (устанавливаются) в разъемы на пассивной кросс — плате с общей шиной МПИ ГОСТ 26 765.51-86. Модули имеют фронтальное расположение внешних разъемов типа РП15-32, РП15-15, РП15-9 или DB25, DB9 для подключения сигнальных кабелей. Какого-то заранее регламентированного набора модулей УСО для МПСУ нет. В данном материале сознательно опускаются подробные характеристики конструкции и назначения конкретных модулей, которые приводятся в специальном документе, а также в паспортах и ТУ на модули. Значительная информация по МПСУ опубликована здесь.

Остановимся на некоторых моментах по теме данного материала (интересных с нашей точки зрения).

Контроллер МПСУ. На сегодняшний день производятся несколько основных модификаций модуля контроллера МПСУ (плат CPU), которые имеют основной микропроцессор 1806ВМ2, ОЗУ 64 Кбайт, быстродействие от 800 до 1200 тыс. оп/с для команд типа «сложение». Система команд совместима с известной микро-ЭВМ «Электроника МС 1201.02», то есть с известной ранее «персоналкой» ДВК-3М / ДВК-4.

  • Прежний «плюс» совместимости плат CPU с ДВК обернулся «минусом» отсутствия совместимости с IBM PC, но этот «минус» в ряде систем с МПСУ вполне преодолим, как будет показано ниже. К тому же уже производятся PC совместимые контроллеры МПСУ
  • Малый объём ОЗУ и в целом адресуемой памяти ставит МПСУ в определённые рамки по объёму хранимых или загружаемых программ и данных непосредственно в контроллере, что также преодолевается в конкретных конфигурациях систем на базе МПСУ
  • Сравнительно большая потребляемая мощность прежних модификаций модулей заставляла ранее использовать в каркасе модулей вентиляторы принудительного охлаждения. Однако уже несколько лет производится серия модулей с низким потреблением, что позволяет применять каркас модулей без вентиляторов.
  • Условия эксплуатации. Да, для работы при отрицательных и очень высоких температурах МПСУ не применяется. Но, тем не менее, МПСУ является весьма неприхотливым к условиям работы, что показала многолетняя устойчивая работа в заводских цехах, о чём нам сообщают наши партнёры и заказчики, в чем мы сами смогли убедиться на системах, внедрённых на нашем базовом предприятии, Псковском заводе радиодеталей.
  • Надёжность «железа». Если говорить не о паспортных данных, а о реальных работающих системах с МПСУ, то уместна ссылка на мнение уже упомянутого пользователя. Его можно сформулировать так: если система с МПСУ прошла этап внедрения и испытания с возможной заменой отдельных неисправных элементов (это было весьма редко и касалось, в основном, некоторых комплектующих), а условия эксплуатации и требования по обслуживанию близки к паспортным, тогда она работает круглосуточно без особых проблем столь долго, сколько необходимо. Требуемая надёжность обеспечивается соответствующим отбором модулей по результатам тестирования, термо-электропрогона, виброиспытаний (при необходимости) во время их производства
  • Надёжность системы. Система с МПСУ может содержать в себе «охранный» таймер для перезапуска программ при остановке контроллера («зависании» программы). Резервирование модуля контроллера (CPU) в одном каркасе сделать нельзя, поскольку «горячая» замена модулей без выключения питания не предусмотрена. Зато можно дублировать модули в одном каркасе, сами каркасы модулей, каналы связи. То есть возможности по резервированию имеются. Программное обеспечение может храниться в репрограммируемом ПЗУ разного типа, данные можно размещать в энергонезависимом ОЗУ. В то же время программа может предварительно закачиваться с «верхнего» уровня по каналам связи, данные можно также отправлять «наверх». И, наконец, МПСУ может только исполнять команды «верхнего уровня», на котором запущена прикладная программа. Можно привести пример систем, где это успешно применяются все упомянутые возможности.

Модули МПСУ

Обеспечивают приём и передачу дискретных и аналоговых сигналов (в том числе сигналов с датчиков температуры), приём импульсных сигналов на счётчики (в том числе с реверсом счёта), аналоговую и релейную коммутацию сигналов, преобразование «ток-напряжение», приём пороговых уровней сигналов, специальную коммутацию телефонных каналов. Имеются модули расширения функций МПСУ, а именно: энергонезависимое ОЗУ с последовательным доступом, позволяющее «не грустить» по поводу малого объёма ОЗУ в контроллере, модули РПЗУ, контроллеры последовательных интерфейсов (ИРПС, RS-232, RS-485). А также контроллер интерфейса ИРПР, используемый, в основном, для управления матричным принтером, специальный адаптер параллельного канала, модуль сторожевого «охранного» таймера и модуль программируемого таймера в сочетании со счетчиками и генераторами частоты. Есть редко применяемые модули, например, управления шаговым двигателем или ввода-вывода в СЧПУ разных типов, ввода аналоговых сигналов для специальных применений и т.д.. Конкретные сведения и технические характеристики по модулям МПСУ отражены в их технической документации (ТУ и паспорта), а также здесь.

В целом не является проблемой достаточно в короткий срок создать модуль нужного заказчику назначения. Так, например, были сделаны модули АЦП с быстрым преобразованием (5 — 10 Мкс в отличие от обычных 50 Мкс) и буферизацией данных, модуль гальванической развязки для четырёх каналов RS-232, модуль чтения матрицы 256-ти дискретных входов.

Для построения распределенных систем в отличие от основной централизованной схемы есть два типа программируемых контроллера ПК1 и ПК2, имеющих отдельные корпуса и устройства питания. Они подключаются к МПСУ или ПЭВМ по последовательному каналу ИРСП и обеспечивают ввод / вывод дискретных сигналов и ввод аналоговых сигналов.

О типах контроллеров МПСУ М253…М255

Контроллер МПСУ типа М253…М255 (производство начато в 2001 году) имеет встроенную флэш-память с возможностью программирования непосредственно в модуле по терминальному каналу ИРПС из компьютера. Имеются встроенные интерфейсы: ИРПС, RS-232, RS-485, двунаправленный параллельный канал LPT

Контроллеры М260 и М260.01 являются PC-совместимыми контроллерами МПСУ, включающими в себя платы CPU фирм Fastwel и Octagon Systems. Подробная информация по этим модулям приведена в документах, помещённых на Web-сайте СКБ ВТ.

Позднее (ноябрь 2004 г) в СКБ ВТ был разработан контроллер МПСУ М300 на процессоре Am186CU

Встроенное программное обеспечение М300 содержит:

  • BIOS + встроенный монитор (обмен через консольный порт) + встроенная операционная система ROM DOS, совместимая с MSDOS 6.22
  • Тип устройства FLASH-диска:
    • DiskOnChip 2000 MD2202-D32 емкостью 32Мбайт

Строим систему на МПСУ и программируем

2.1 Каркасы модулей (КМ)

Оставим в стороне вопросы подключения контролируемого или управляемого оборудования и рассмотрим (в общем плане) возможные способы включения МПСУ в систему. Введём некоторые условные обозначения.

  • PC — РС совместимый компьютер, в том числе промышленный, представляющий собой «верхний» уровень по отношению к МПСУ
  • ПЭВМ — аналогично, но имеет монитор, клавиатуру и так далее (станция оператора или компьютер программиста).
  • ПК — промышленный контроллер
  • ПО — программное обеспечение

Рис.1 Схема 1

Схема 1, которая потихоньку отошла в прошлое, состоит из МПСУ и дисплея, совместимого с дисплеем (терминалом) типа 15ИЭ-00-013. Дисплей по одному из последовательных каналов ИРПС (токовая петля 20 ma) подключён к контроллеру МПСУ. Эта схема не предназначена для программирования МПСУ в какой-либо системе, кроме непосредственного ввода программы в «машинных» кодах, но до сих пор работает там, где ещё живы указанные дисплеи.

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

В прежние времена применялись несколько способов программирования для такой схемы, а готовая программа располагалась в конечном итоге в модулях РПЗУ. Например, программа разрабатывалась на ДВК в операционной системе RT-11 на языках программирования MACRO-11, QUASIC, языке релейно-функциональных схем РФС, отлаживалась в ОЗУ контроллера после закачки по последовательному каналу из ДВК, который временно включался вместо дисплея в режиме эмуляции пультового терминала. Кроме того, «твердотельная» ПЗУ-версия системы программирования РФС позволяла (и позволяет сейчас!) разрабатывать и отлаживать программы непосредственно в МПСУ, а затем там же ее и запрограммировать в РПЗУ. Наращивание данной схемы может производиться за счет каскадного включения МПСУ с использованием мультиплексоров каналов ИРПС и специального программного обеспечения маршрутизации. В качестве альтернативы дополнительному присоединению каркасов МПСУ возможно включение в схему удаленных программируемых контроллеров ПК1 или ПК2, о которых сказано дальше.

Завоевала популярность Схема 2, изображенная на рис.2. Эту схему можно назвать базовой схемой, так как путем её модификации можно получить более сложные схемы.

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

  • 1) ПЭВМ в различных вариантах использования предназначена для выполнения различных функций:
    • предоставления пользователю средств разработки прикладных программ управления МПСУ и обработки данных
    • хранения и загрузки / выгрузки программного обеспечения в МПСУ
    • эмуляции функций дисплея для МПСУ
    • исполнения прикладных программ управления МПСУ (в случае применения «удалённой системы программирования МПСУ») и для основной обработки данных или визуализации результатов

Рис.2. Схема 2 с управлением от ПЭВМ верхнего уровня

  • 2) Канал связи включает в себя последовательный канал RS-232 (или ИРПС — токовая петля 20 ma) и специальный байт — параллельный канал (может использоваться также параллельный канал LPTПримечание: для специального байт-параллельного канала применяется адаптер, который устанавливается в каркас модулей, как модуль УСО, а также адаптер, который устанавливается в свободный слот РС. Для использования LPT-канала требуется, чтобы контроллер МПСУ имел интерфейс LPT (М253. М254)Протоколы обмена на среднем (функциональном) уровне определяются программами взаимодействия между ПЭВМ и контроллером МПСУ и обычно приводятся в документации на ПО.
  • 3) Контроллер МПСУ в различных вариантах может использоваться по-разному, а именно:
    • исполняет программы в операционной системе RT-11SJ, которая в него загружена
    • исполняет автономную (независимую от ОС) прикладную программу управления УСО из ПЗУ или предварительно загруженную в ОЗУ из ПЭВМ (или из «внешнего» РПЗУ)
    • исполняет программу-супервизор, которая поддерживает «Протокол обмена МПСУ» и обеспечивающую удаленное управление УСО из ПЭВМ

 

На базе приведенной Схемы 2 могут строиться более сложные конфигурации, которые либо уже сегодня имеют программную поддержку, либо могут её обрести, благодаря усилиям специалистов СКБ ВТ или даже самих пользователей. Коротко рассмотрим ряд возможных конфигураций, которые на практике были предложены нашим заказчикам для построения систем.

Схема 2.1 Пример системы «с тестирующим МПСУ»

В данной схеме основной (первый) МПСУ соединен с ПЭВМ по параллельному каналу, а его контроллер при включении питания сразу начинает исполнять выгруженную из ПЗУ программу — супервизор УСО, обеспечивающую: управление УСО, прием команд из ПЭВМ, возврат данных. Тестирующий (второй) МПСУ соединен с этой же ПЭВМ по последовательному каналу и также исполняет программу — супервизор УСО. Первый МПСУ располагается на удалении до 10-ти метров от ПЭВМ, что гарантирует надежный обмен по параллельному каналу со скоростью до 400 Кбод. Оба ПК МПСУ на практике расположены рядом, так как основное назначение тестирующего МПСУ состоит в формировании тестовых последовательностей сигналов для УСО основного МПСУ, и соответственно, модули УСО соединяются сигнальными кабелями малой длины. Тестовые сигналы и рабочие внешние сигналы коммутируются на входы / выходы УСО при помощи модуля управления коммутирующими контактами (релейный коммутатор), установленного в основном МПСУ.

Рис.3. Схема 2.1 «с тестирующим МПСУ»

  • 1) Наличие «тестирующего» МПСУ позволяет проводить профилактические работы с проверкой работоспособности УСО без переключения внешних кабелей. При этом к текущему внутреннему контролю модулей УСО, который проводится постоянно, добавляется периодическое внешнее тестирование, которое проводится в предусмотренные перерывы обслуживания рабочих сигналов.
  • 2) Разновидностями данной схемы могут являться следующие схемы:
    • Когда второй МПСУ является не просто «тестирующим», а резервным, в точности повторяющим набор модулей УСО первого МПСУ. Программное обеспечение ПЭВМ обеспечивает переключение управления (активности) между основным и резервным МПСУ. Переключение активности может также осуществляться без участия ПЭВМ в результате выполнения в активном МПСУ специального анализа тестовых последовательностей данных.
    • Используется 3 и более МПСУ, подключенных к ПЭВМ через дополнительные последовательные каналы или через параллельный канал принтера (двунаправленный LPT1, LPT2…)
    • Удаление МПСУ (двух и более) от ПЭВМ при помощи подключения по последовательному каналу на расстояние более 100 м.
    • Включение в последовательный канал обмена пары модемов, обеспечивающих связь по коммутируемым или выделенным телефонным линиям (программное обеспечение РС и МПСУ должно обеспечивать управление модемами).
    • Включение ПЭВМ в локальную сеть цеха, предприятия и т.д.

Схема 2.2 с МПСУ — маршрутизатором

В данной схеме используется наличие среди модулей УСО контроллеров последовательных каналов (интерфейсов) ИРПС и RS-232. К каждому из последовательных каналов этих модулей можно подключить МПСУ нижнего уровня, создав таким образом «дерево» из нескольких МПСУ.

  • 1) Данная конфигурация (Рис.4) предназначена для построения большой распределенной иерархической системы. Программное обеспечение МПСУ — маршрутизатора обеспечивает синхронизацию работы в такой сети. Драйвер обмена по сети поддерживает работу не только по радиально расположенным последовательным каналам, но и через модемные линии, включенные в последовательные каналы.
  • 2) При наличии в новых контроллерах МПСУ порта RS-485 появляется возможность создания сети на основе интерфейса RS-485 для МПСУ, что может сократить затраты на прокладку кабелей.

Рис.4. Схема 2.2 с МПСУ — маршрутизатором

  • 3) В качестве маршрутизатора между ПЭВМ и группой МПСУ может быть включен коммуникационный контроллер на базе PC-совместимой процессорной платы и модуля расширения последовательных каналов. Роль коммуникационного контроллера, который может, например, работать под операционной системой Linux, заключается в обеспечении передачи данных между ПЭВМ и всеми МПСУ и при необходимости в обеспечении конвертирования протоколов обмена.

Схема 2.3 с удаленными контроллерами типа ПК-1 и ПК-2

Удаленные контроллеры ПК-1 и ПК-2 изготавливаются в виде самостоятельных блоков (корпусов) и непосредственного отношения к МПСУ как бы не имеют. По последовательному каналу (сегодня — только ИРПС) их можно подключать хоть к мультиплексору в МПСУ, хоть непосредственно к РС. Вот их краткие технические характеристики:

  • 1) Устройство удаленного контроля входов-выходов ПК1 (без встроенного миропроцессора)
    • Назначение: сбор и передача в ЭВМ дискретных и аналоговых данных, управление от ЭВМ дискретными выходами постоянного тока
    • ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
      • Максимальное число внешних каналов — 64.
      • Сочетания каналов входов или выходов определяются набором устройств (модулей), устанавливаемых на 4 посадочных места ПК1; одно устройство входов содержит 16 каналов, одно устройство выходов — 8 каналов.
      • Связь с удаленной ЭВМ по каналу связи ИРПС (токовая петля 20 мА).
      • Скорость обмена по каналу ИРПС от 75 до 9600 бод ( устанавливается переключателем в ПК1).
    • ВНЕШНЕЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
      • Библиотека функций управления устройством удаленного контроля дискретных/аналоговых входов, дискретных выходов с помощью персональной ЭВМ типа IBM PC , а также драйвер в супервизоре для контроллера МПСУ.
  • 2) Контроллер ввода-вывода ПК2 (с встроенным микропроцессором)
    • ФУНКЦИИ:
      • сбор и передача в ЭВМ дискретных и аналоговых данных, управление от ЭВМ дискретными выходами постоянного тока
      • автономная работа с входами-выходами по внутренней программе, программирование встроенного ПЗУ программ пользователя
      • работа в режиме «отладка» с управлением от удаленной ЭВМ, эмулирующей функции пульта оператора, загрузка программ пользователя из удаленной ЭВМ в ЭОЗУ ПК2, выгрузка программ из ПК2 на носители удаленной ЭВМ
    • ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
      • Максимальное число каналов — 64.
      • Сочетания каналов входов или выходов определяются набором устройств (модулей). Одно устройство входов содержит 16 каналов, одно устройство выходов — 8 каналов.
      • Связь с удаленной ЭВМ выполняется по каналу связи ИРПС ( токовая петля 20 Ма ) со скоростью до 9600 бод.
    • ВНЕШНЕЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
      • Библиотека функций управления контроллером ПК2 с помощью удаленной персональной ЭВМ типа IBM PC
      • Программа МОНИТОР, которая обеспечивает реализацию функций в режиме «отладка» ПК2 и в режиме обмена программами
      • ДРАЙВЕР контроллера ПК2 в супервизоре для систем на базе МПСУ

Рис.5. Схема 2.3 с удаленными контроллерами типа ПК-1 и ПК-2

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

Для завершения данного раздела проведем некоторые параллели между предложенными схемами на МПСУ и теми структурами, схемами и конфигурациями, с которыми мы ознакомились в ряде статей журнала «СТА» за 1998 год. При этом, конечно, следует абстрагироваться от сравнения габаритов, конструктивных особенностей, типа процессора, типа локальной шины, УСО и прочее.

  • 1) Схема самого МПСУ ничем не отличается от обычного промышленного контроллера с центральным процессором (контроллером каркаса), локальной специализированной шиной и модулями УСО. Такая схема приводится в статье Сергея Гусева по системе OpenLine фирмы Grayhill в СТА 4/98, которая соответствует PC-совместимым промышленным контроллером на базе каркасов и плат MicroPC и Advantech. Контроллер на базе ADAM-5510 тоже имеет такую схему (см. статью Сергея Гусева о контроллере ADAM-5510 в СТА 2/98).

К недостаткам схемы МПСУ по сравнению с другими аналогами является отсутствие возможности непосредственного подключения в локальную сеть типа Ethernet, а также нестандартность протоколов обмена по каналам связи. Следует, однако, сказать, что непосредственное включение ПК в сеть Ethernet — это до последнего времени, когда популярным стал промышленный Ethernet, было достаточно редкое техническое требование. К тому же, в принципе, это реализуемо для PC-совместимых контроллеров МПСУ, начальными образцами которых могут служить контроллеры М260, М260.01, разработанных в 2002 году.

Что касается стандартных протоколов, то при необходимости часть из них можно реализовать для каналов связи МПСУ с ПЭВМ. С другой стороны, если заказчику предоставляется инструментальное программное обеспечение, обеспечивающее скрытые для него процедуры обмена достаточно надежно, то не очень принципиально, стандартный использован протокол или нет. Для нас вопрос о стандартных протоколах становится существенным при «встраивании» МПСУ в известные SCADA-системы. В этом направлении ведутся работы по снабжении контроллеров МПСУ таким современным средством, каким является OPC-сервер. Возможно, имеет смысл реализовать программу супервизора МПСУ с поддержкой протокола Modbus.

Еще можно отметить в качестве недостатка невозможность резервирования собственно контроллера МПСУ, так как шина QBUS не позволяет одновременно в одном каркасе использовать два процессора, как это, например, сделано в системе OpenLine фирмы Grayhill. Исключена горячая замена модулей УСО в каркасе МПСУ без остановки программы и выключения питания. По этим возможностям МПСУ не соревнуется с другими ПК.

  • 2) Схема 2 и её модификации соответствуют распределенной системе, в которой в данном случае роль основного контроллера выполняет РС, а МПСУ представляет собой удаленный программируемый контроллер с УСО. Можно провести многочисленные аналогии применения такой схемы, но в данном случае решающую роль при сопоставлении играет применяемое программное обеспечение для МПСУ и системы в целом. Так, например, если в МПСУ работает программа-супервизор УСО (см. далее), а к МПСУ по последовательным каналам подключены контроллеры ПК-1 или ПК-2, тогда система становится похожей на «OpenLine» в своем классическом варианте. Действительно, МПСУ выполняет роль контроллера базы, ПК-1, ПК-2 являются модулями ввода-вывода, и МПСУ подключены к ПЭВМ, являющейся центральным процессором системы по каналу связи (см. «структура информационного взаимодействия компонентов системы OpenLine» в статье Сергея Гусева по системе OpenLine фирмы Grayhill в СТА 4/98 ). Отличие только в том, что указанные каналы связи нельзя назвать локальной шиной, но при количестве МПСУ в системе от 1 до 3 данное различие не имеет особого значения. Почти дословно цитируя указанную статью, приводим характеристику данной схемы
    • В качестве каналообразующего интерфейса между РС и МПСУ выбран не стандартный интерфейс, а упрощенные интерфейсы обмена по последовательному и по параллельному каналам. Более подробные сведения по протоколам среднего уровня приводятся в документации на систему удаленного программирования.
    • В качестве абонентов каналов связи выступают не модули УСО, а контроллеры МПСУ, являющиеся базами ввода-вывода. Каждый МПСУ имеет область памяти (буферные области), в которой в момент инициализации супервизора отображаются сведения о конфигурации УСО, а в процессе выполнения команд отражается состояние данных для вывода через УСО или после ввода с УСО. Все проблемы взаимодействия с модулями УСО берет на себя контроллер МПСУ, а в целом процессом управления занимается ПЭВМ, который путем посылки отдельных команд или целых подпрограмм, оформленных в виде цепочек команд, обменивается данными с контроллером, используя при этом буферные области памяти.
    • Отметим возможность выполнения за одну команду ПЭВМ выполнения целой подпрограммы в контроллере МПСУ. При этом не только не требуется оперировать отдельными модулями, но и исключается необходимость последовательного обращения с верхнего уровня к нескольким модулям или их каналам для выполнения сравнительно сложных операций с данными (особенно при большом числе каналов или съемов данных).
    • Отметим также способность МПСУ автоматически определять состав и состояние модулей (конфигурирование и «внутреннее» тестирование УСО), установленных в каркасе (базе). Ручное конфигурирование заранее выполнять не нужно. Модули идентифицируются по закрепленным за ними базовым адресам, которые не перекрываются в области адресов устройств ввода-вывода.

Необходимо, конечно, признать, что в данной схеме присутствует общий недостаток, который заключается в следующем:

  • 1) контроллер МПСУ тратит свои ресурсы на управление УСО и, возможно, еще на обмен с удаленными контроллерами типа ПК-1 и ПК-2 или на выполнение задачи маршрутизации данных от МПСУ нижнего уровня
  • 2) контроллер также должен поддерживать обмена с ПЭВМ
  • 3) при этом контроллер не снабжён многозадачной операционной системой реального времени

В следующих пунктах данного раздела постараемся рассказать, как программируется система с МПСУ, построенная по Схеме 2 или по несколько модифицированной схеме.

Программирование для МПСУ

В качестве введения к данному разделу, видимо, можно отметить, что при поставке МПСУ нашим заказчикам всегда согласовывается вопрос о составе программного обеспечения. При этом всё зависит от потребности заказчика самому разрабатывать тот или иной уровень программного обеспечения. МПСУ имеет открытую архитектуру, начиная с нижнего уровня, то есть с модулей УСО. Поэтому для тех, кому требуется возможность создавать свое инструментальное и прикладное ПО, не предусмотрено ограничений на прямое программирование аппаратуры. Для других предлагается несколько вариантов программирования на более высоком уровне (при наличии запроса на поставку соответствующих систем программирования). Для третьих пользователей система программирования (или ее основной компонент) поставляется «зашитым» в ПЗУ контроллера. Ниже дается информация об имеющихся возможностях.

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

Программы, разрабатываемые и работающие в операционной системе RT-11SJ

Такие программы работают в ОЗУ МПСУ и не могут располагаться в ПЗУ (разве что какая-то их неизменяемая часть). Обязательно наличие связи между ПЭВМ и МПСУ по параллельному каналу или каналу LPT. Перед пуском программы в МПСУ из ПЭВМ загружается и запускается операционная система RT-11SJ, которая должна работать в течение всего времени работы прикладной программы пользователя. Мы не будем давать характеристику ОС RT-11SJ, она достаточно хорошо известна и аналогична ОС под названиями ОС ДВК или РАФОС. Пример реализации системы, в которой использовано программное обеспечение для ОС RT-11SJ, приводится в статье «Модернизация аппаратного обеспечения САП управляющих программ для инструментального цеха»

Программы на языке Macro-11

Прикладная программа может быть написана на таких языках, как Assembler, Fortran, Pascal, C, версии которых предназначены для операционной системы RT-11SJ. На практике чаще всего используется MACROASSEMBLER. Для наших пользователей в комплект программ сопряжения ПЭВМ — МПСУ по параллельному каналу мы копируем версию системы программирования MACRO — 11, выпущенную в1990 году.

Такой вариант удобен для небольших систем, когда в схеме применяется только один каркас МПСУ, в системную шину которого включены модули УСО. ПЭВМ в режиме DOS (или DOS — сессии ОС Windows) эмулирует дисплей (терминал), а также поддерживает до 8-ми электронных логических дисков МПСУ на своем жёстком диске.

Программист самостоятельно «разбирается» с программными интерфейсами всех необходимых модулей УСО, так как RT-11SJ их «не знает». Это, конечно, осложняет написание и отладку прикладных программ, зато они получаются «на Ваш вкус и цвет». Кстати о цвете. Естественно, что эмуляция экрана дисплея на экране ПЭВМ соответствует алфавитно-цифровому монохромному режиму. Как правило, этого бывает вполне достаточно для небольших систем.

Программы на языке QUASIC

Специальная модификация системы программирования на базе этого языка разработана в СКБ ВТ применительно к программированию модулей УСО (МПСУ). Ниже даются характеристики данной системы.

  • 1) Система программирования устройств связи с объектами включает в себя следующие основные программные компоненты:
    • QUASIC — система со встроенной библиотекой программ поддержки полной номенклатуры модулей УСО (МПСУ), библиотека легко расширяется по мере появления новых модулей
    • QUAS — компилятор с языка QUASIC-2 в язык Ассемблера
    • две объектные библиотеки поддержки компилятора: одна ориентирована для работы программ в среде ОС RT11, другая обеспечивает автономную работу программ, загружаемых, например, из ПЗУ
    • объектная библиотека поддержки модулей УСО
    • программы обслуживания модулей репрограммируемых ПЗУ
  • 2) Состав программных средств и базовая система программирования обеспечивают полный замкнутый цикл подготовки, отладки и сопровождения программного обеспечения для микропроцессорных систем управления на базе УСО. QUASIC — система является компактной, резидентной в памяти системой программирования. Она хорошо вписывается в ресурсы малых вычислительных комплексов на базе МПСУ.
  • 3) По своим выразительным возможностям QUASIC — система обладает необходимой мощностью языков ассемблерного типа. И в то же время ей присущи необходимые свойства языков более высокого уровня типа BASIC , PASCAL для организации обработки данных.
    • Качество генерируемого кода дает высокую эффективность программ. Встроенный в систему монитор обеспечивает возможность эффективной отладки программ на входном языке. Встроенная в систему библиотека поддержки УСО позволяет организовать работу с объектами управления и контроля (модулями УСО), как с внутренними объектами языка.
    • Имеются средства организации работы нескольких процессов в реальном времени.
  • 4) Компилятор QUAS с языка QUASIC-2 обеспечивает возможность получения ассемблерного кода, поэтому исходная программа может быть представлена в виде совокупности отдельных модулей, каждый из которых может быть автономно отлажен и оттранслирован. Компоновка отдельных модулей друг с другом и с библиотекой поддержки компилятора и библиотекой поддержки УСО выполняется средствами ОС RT11SJ.
    • Объектная библиотека поддержки УСО включает в себя полный набор операций для работы с модулями УСО. Библиотека может быть использована как С QUASIC -программами, так и с программами, написанными на языках, использующих фортрановские соглашения о связях (MACRO-11 , FORTRAN).
  • 5) Последняя версия библиотеки модулей УСО содержит полный набор драйверов модулей УСО — МПСУ, в том числе драйвер модуля М205 (6 каналов ИРПС), предназначенный для управления локальной сетью радиального типа и реализующий специальный протокол обмена по шести каналам ИРПС (токовая петля 20 ma).
    • Обращаться к библиотеке можно из своих программ, написанных на языках QUASIC, MACRO, FORTRAN. Режимы обмена «по готовности» и «по прерыванию»
  • 6) Возможно также применение библиотеки тестирующих функций для модулей УСО (МПСУ), которая предназначена для программной поддержки функций отдельного внутреннего тестирования модулей УСО — МПСУ, встроенного в прикладную программу.
  • 7) Программное обеспечение репрограммируемых ПЗУ позволяет выполнять копирование программы пользователя, символьных или двоичных данных из файлового устройства в системе RT-11SJ в заданный модуль РПЗУ

Значительным преимуществом и достоинством данной системы программирования является ее комплексность, простота в освоении и возможность не задумываться о внутреннем устройстве (регистрах, адресах) того или иного модуля УСО.

В качестве недостатков можно отметить большой размер файла исполняемой программы (file.sav) по сравнению с программой, изначально написанной на Ассемблере. Зато достаточно сложные программы доступны для написания и отладки программистами не высокой квалификации.

Примечания:

  • 1) Как следует из приведенных характеристик данной системы программирования, исполняемая программа может быть сделана для работы в ОС RT-11SJ. Но также значительная часть программ нашими пользователями сделана в данной системе для работы в МПСУ без поддержки ОС.
  • 2) Библиотека модулей УСО и библиотека функциональных блоков может эффективно использоваться при компоновке с программными модулями, написанными на MACRO, что и в этом варианте дает возможность также «забыть» об интерфейсных особенностях УСО. В СКБ ВТ разработаны библиотеки, охватывающие всё многообразие имеющихся модулей УСО (по состоянию на 2000 год).

Технологическая система программирования (ТСП)

Это не совсем обычная система. Необычность её состоит в том, что программирование выполняется на языке релейно-функциональных схем (РФС). Сегодня мы знаем несколько подобных языков программирования контроллеров, которые основаны на международном стандарте МЭК 1131/3. Например, языки Техно FBD и Техно IL , представленные фирмой AdAstra Research Group, Ltd в версии SCADA-системы Trace Mode 5.0x . Язык РФС, разработанный в СКБ ВТ, и широко применявшийся для разработки АСУТП на МПСУ, ориентирован не на программистов, а в значительной степени на инженеров-технологов, специалистов по оборудованию. Язык РФС содержит полную библиотеку драйверов и тестов для модулей УСО, а также библиотеку самых разнообразных функциональных блоков. Собственно программа «собирается» на экране путем прорисовки в редакторе РФС псевдографических изображений функциональных блоков и связей между ними. Полученные схемы и являются программами, из которых генерируется исполняемый код. Ниже приводятся основные характеристики этой системы программирования.

  • 1) ТСП — это интегрированная система, обеспечивающая полный замкнутый цикл разработки систем типа АСУТП на базе МПСУ:
    • Формирование спецификации проекта, его верификацию, генерацию кода, отладку программ, запись в ПЗУ и сопровождение.
    • Методологической базой ТСП являются: структурный и объектный подходы построения систем.
    • Средством программирования является графический язык релейно-функциональных схем (РФС), обеспечивающий наглядность и достоверность проектирования.
  • 2) ТСП является компилирующей системой, обеспечивает генерацию качественных компактных прикладных программных систем с малым временем реакции.
  • 3) Встроенная библиотека функциональных блоков обеспечивает необходимые средства обработки информации и управления данными и УСО. В то же время система является открытой, предоставляет возможность модификации и наращивания как библиотеки функциональных блоков, так и библиотеки модулей УСО в составе МПСУ.
  • 4). ТСП включает в себя программные средства радиальной локальной сети на базе модуля 6-ти канального ИРПС.
  • 5). ТСП обеспечивает программную реализацию параллельных процессов

ТСП обладает рядом достоинств, которые позволили создать на ней программы, успешно работающие у многих пользователей МПСУ. Чаще всего сгенерированная программа может работать непосредственно в РПЗУ, являясь независимой от операционной системы, что в целом обеспечивает удобство и надежность эксплуатации. В данном случае ОС RT-11SJ используется только как изначальная среда для запуска и работы инструментальной системы ТСП при разработке и отладке проекта.

Таким образом, отнесение описания ТСП в данный раздел является несколько условным. Запуск исполняемых программ в ОС RT-11 в большинстве случаев осуществляется в процессе отладки, а отлаженные программы не нуждаются в поддержке ОС.

Мало того, существует РПЗУ версия технологической системы программирования, которая вообще не нуждается в ОС.

ТСП проста в освоении, подробно документирована. К недостаткам можно отнести то, что она «застыла» на уровне 1995 года и не превратилась в еще более мощную и удобную систему.

Автономные программы в МПСУ, не требующие операционной системы

Автономные программы — это программы, которые запускаются и работают в МПСУ без поддержки операционной системы RT-11SJ, в них не используются макрокоманды, требующие наличия в памяти подпрограмм, присущих только RT-11.

Рассмотренные в предыдущем разделе системы программирования позволяют создавать, в том числе, автономные программы, которые впоследствии размещаются в РПЗУ, запускаются автоматически при включении питания МПСУ и работают без поддержки ОС, а именно:

  • Автономные программы , разработанные в системе MACRO-11
  • Автономные программы, разработанные в QUASIC-системе
  • Автономные программы, разработанные в ТСП
  • Автономные программы, разработанные в интегрированной среде CROSS-11

На основе комплекта автономных программ может быть построена достаточно сложная конфигурация системы с несколькими МПСУ по одной из модификаций Схемы 2, так как МПСУ не связаны необходимостью загрузки в них операционной системы по параллельному каналу. Здесь следует, видимо, оговориться, что загрузку ОС по последовательному каналу мы делать не планировали, считая это бесполезным занятием. А вот загрузка сравнительно небольших исполняемых программ в МПСУ по последовательному каналу полностью себя оправдывает. Этот вопрос рассмотрен в следующем пункте.

Загружаемые извне автономные программы

Далеко не всегда применение модулей РПЗУ в качестве носителей исполняемых программ себя оправдывает, особенно если «под рукой» имеется ПЭВМ, где файлы программ для всех МПСУ в системе хранятся на HD. Автономная программа представляет собой код, работающий независимо от операционной системы. Такая программа предназначена для исполнения в МПСУ, как в целевом контроллере. Загрузка в контроллер МПСУ из ПЭВМ может осуществляться по любому из объявленных каналов связи. Для сравнительно больших программ (например, супервизор МПСУ в системе удаленного программирования) может быть сделана загрузка по параллельному каналу. Но чаще всего для загрузки достаточно наличия связи по последовательному каналу.

Если для связи с МПСУ используется только последовательный канал, то можно ПЭВМ поставить на значительном удалении. При включении питания МПСУ, он готов к обмену по последовательному каналу (терминальному) контроллера МПСУ. Программа из ПЭВМ загружается в ОЗУ контроллера МПСУ и автоматически там запускается.

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

Монитор связи ПЭВМ с МПСУ по терминальному ИРПС — каналу применяется для сопряжения ПЭВМ и удаленных МПСУ, обеспечивает их управление в пультовом режиме контроллера МПСУ, выполнение загрузки в МПСУ программ, а также запуск программ, размещенных как в ОЗУ, так и в устройстве РПЗУ.

Для работы канала ИРПС в ПЭВМ устанавливается адаптер сопряжения «RS-232 — ИРПС»

Функции монитора:

  • 1) Загрузка из ПЭВМ автономно работающих программ в загрузочном формате .SAV в ОЗУ контроллера МПСУ, запуск загруженных программ.
  • 2) Эмуляция на ПЭВМ алфавитно-цифрового дисплея для МПСУ
  • 3) Загрузка в контроллер МПСУ из ПЭВМ программ, созданных в среде технологической системы программирования (ТСП — РФС) с последующим их запуском
  • 4) Копирование автономных программ .REL формата, созданных в технологической системе программирования и автономных программ .SAV формата в РПЗУ типа М122
  • 5) Обеспечивается настройка на работу с любым из возможных каналов ИРПС, подключаемых через порты COM1 — COM4.

Интегрированная среда CROSS-11

Следует обратить внимание на данную систему программирования, которая предоставляет очень широкие возможности программирования МПСУ на языке MACRO-11, используя только ПЭВМ.

Среда CROSS-11 представляет собой интегрированный комплекс для разработки и отладки на ПЭВМ программ для различных ЭВМ с системой команд СМ ЭВМ. Поскольку контроллер МПСУ имеет именно эту систему команд, то данная среда с успехом применяется в СКБ ВТ для разработки автономного программного обеспечения МПСУ.

Несколько лет назад данная система (версия <1.8>) была поставлена в СКБ ВТ лабораторией электроники завода «Прибор», г. Санкт Петербург. Разработчик предлагает к поставке и более новую версию системы с улучшенными свойствами.

  • 1) Область применения CROSS-11.
    • Среда CROSS-11 предназначена для поддержки разработки программ для процессоров с системой команд СМ ЭВМ («Электроника-60», микропроцессоры ВМ1801, ВМ1806) на этапах проектирования и написания программы на языке MACRO-11, автономной и комплексной отладки, отладки в замкнутом контуре математического моделирования. Версия <1.8> поддерживает разработку программ на макроассемблере, их автономную и комплексную отладку на программной моделии (эмуляторе) вычислителя.
  • 2) Основные достоинства среды CROSS-11:
    • совместимость с MACRO-11 по формату исходных файлов
    • возможность использования объектных файлов формата OC RT-11
    • высокие скорости трансляции сборки и эмуляции
    • полная интеграция всех выполняемых функций
    • средства символьного многооконного отладчика
    • возможность подключения пользовательских моделей внешней среды
    • возможность профилирования программ с различными видами отчётов
    • позволяет разрабатывать одновременно нескольких проектов на оном комплексе
    • удобный интерфейс пользователя
    • подсказка пользователю по любому вопросу
  • 3) Среда CROSS-11 предназначена для работы на ПЭВМ типа IBM PC под управлением операционной системы MS DOS 3.30 (и старше).

Данная версия системы не содержит защиты от прямого копирования и может работать на любом компьютере, что позволяет организовать несколько рабочих мест для программирования.

Для удобства практического использования программ, созданных в данной среде, в СКБ ВТ разработаны программы закачки исполняемого кода программ в контроллер МПСУ, а также средства программирования кода в микросхемы РПЗУ на универсальном программаторе типа «Стерх ST-900».

Взаимодействие между ПЭВМ и автономными программами в МПСУ

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

Для взаимодействия с отдельно подключенным удаленным контроллером ПК-1 или ПК-2 разработана библиотека функций, применительно к языку С.

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

Назначение и условия применения сетевого драйвера

  • 1) Сетевой драйвер предназначен для организации локальной сети передачи данных для конфигураций ПЭВМ — МПСУ, ПЭВМ — маршрутизатор (концентратор) — МПСУ, ПЭВМ — ПЭВМ как по последовательному каналу RS-232, так и по телефонным каналам с использованием модемов.
  • 2) Сетевой драйвер имеет две основные согласованные между собой реализации. Одна выполнена для PC — совместимых компьютеров (модуль COMDRV — для связи по каналу RS-232 ; модуль MODDRV — для связи через модем). Другая — для МПСУ в виде двух соответствующих модулей P205 , N236 и M236. Комбинируя обе реализации при соответствующей аппаратной поддержке, можно строить локальные сети произвольной конфигурации.
  • 3) Драйвер MODDRV по обращению аналогичен драйверу COMDRV (ему соответствует программный модуль P205 для МПСУ), однако протоколы обмена при их похожести не совместимы, т.к. в COMDRV — P205 использован протокол передачи с подтверждением каждого байта в отличие от MODDRV, где такого контроля нет.
  • 4) На персональном компьютере драйвер MODDRV в виде объектного модуля может работать в средах MS DOS, Windows. В драйвере используются Pascal -соглашения по передаче параметров (большая модель памяти). Это дает возможность работать с ним на языках Assembler, Pascal, C/C++ различных фирм. При работе с компиляторами языков C/C++ используется заголовочный файл COMDRV.H.
  • 5) В МПСУ драйвер представлен программными модулями Р205, N236 и M236. При работе в среде РФС данные модули используются откомпилированными в формате .REL . При использовании других средств программирования используются модули P205.OBJ, :N236.OBJ и M236.OBJ. Здесь используются Fortran — соглашения по передаче параметров, принятые в OS RT-11.
  • 6) Реализация сетевого драйвера выполнена из учета требований систем реального времени. Это позволяет выполнять сетевые функции обмена данными параллельно с другими процессами. Кроме того, драйвер позволяют организовать параллельную работу по нескольким каналам одновременно.
  • 7) Для построения локальной сети физическая связь компьютеров должна быть выполнена через последовательные порты COM1 — COM4 (RS-232) со стороны ПЭВМ. Драйвер позволяет организовать работу одновременно по всем каналам, подключенным через указанные порты. Со стороны МПСУ драйвер использует порты 1 — 4 модуля M236 при организации локальной сети по последовательному каналу. При работе с модемами в модулях М236 используются только каналы 1 и 2. Драйвер в МПСУ обеспечивает работу с двумя модулями M236 и, таким образом, позволяет одновременно работать с восемью каналами RS-232. Для организации связи по телефонным каналам к указанным портам как со стороны PC , так и со стороны МПСУ подключаются модемы. Можно использовать любые hayes — совместимые модемы (не обязательно одинаковые). Первоначально драйвер производит базовые установки, стандартные для этих модемов. В процессе работы пользователь может произвести согласованные переустановки модемов для повышения эффективности передачи данных.
  • 8) Протокол передачи данных разработан в СКБ ВТ Данный протокол обладает следующими основными характеристиками:
    • полудуплексный режим обмена
    • обеспечивает произвольную маршрутизацию передаваемых данных при использовании маршрутизатора (концентратора) путем заданиям трассы номеров транзитных станций

Cистема удаленного программирования

Название этой системы программирования соответствует принципу удаленности прикладной программы от МПСУ. В этой системе реализована идея написания прикладной программы непосредственно на ПЭВМ, которая в то же время может управлять МПСУ, воздействуя на него командами, передаваемыми по каналам связи в соответствии с протоколом обмена. Данная идея постепенно завоевала лидирующее положение в системах с МПСУ. Пусть для рассматриваемой системы также существуют свои рамки применения, но в то же время мы относим ее уже к «нетрадиционным способам программирования» для промышленных контроллеров типа МПСУ.

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

  • 1) Система удаленного программирования МПСУ ориентирована на совместное функционирование РС и МПСУ. Программное обеспечение системы для МПСУ (супервизор УСО) либо записано в ПЗУ, либо предварительно загружается по каналу связи в ОЗУ контроллера и реализует функции доступа к модулям УСО МПСУ. Инициация этих функций и обработка возвращенных данных выполняется программой, функционирующей в РС.
    • Системное программное обеспечение реализовано в виде объектного модуля и обеспечивает интерфейс с прикладными программами, написанными на языках C, C++, PASCAL, ASSEMBLER в операционных средах MS-DOS, Windows.
    • В зависимости от конкретной схемы включения типы и количество каналов связи РС — МПСУ могут варьироваться. В существующей версии используются один параллельный и до четырёх последовательных каналов.
  • 2) Супервизор УСО обеспечивает отработку как отдельных команд к модулям УСО, так и цепочки команд: однократных и циклических.
  • 3) Система удаленного программирования обладает встроенными средствами диагностики и конфигуратором УСО, постоянно контролируется корректность всех обращений к модулям УСО.
  • 4) По условиям применения РС работает в течение всего времени работы МПСУ.
  • 5) Краткое описание поведения системы
    • если супервизор УСО расположен в ПЗУ контроллера МПСУ, тогда при включении электропитания МПСУ он автоматически запускается. Вначале программа-конфигуратор УСО определяет фактический состав модулей УСО в данном каркасе МПСУ и оформляет его в виде таблицы ресурсов для передачи в РС. Следом за конфигуратором выполняются подпрограммы стартовой диагностики фактически выявленных модулей. Её результаты также заносятся в таблицу ресурсов. После этого МПСУ готово к работе совместно с РС и переходит в состояние ожидания инициации связи по всем подключенным каналам связи.

    При отсутствии супервизора УСО в ПЗУ контроллера он предварительно должен загружаться из ПЭВМ при помощи любой из программ загрузки, а затем автоматически запускаться.

    • тот канал (параллельный или последовательный), по которому первоначально пришел запрос на связь от РС, становится рабочим. Дальнейшее взаимодействие будет происходить по этому каналу. Переключение каналов, в том числе, при обнаружении неисправности рабочего канала, выполняет прикладная программа.
    • РС для связи с МПСУ должен инициировать канал командой чтения таблицы ресурсов. Принятая в ответе таблица ресурсов передается в прикладную программу. Таблица ресурсов также в дальнейшей работе используется интерпретатором команд (функций) для анализа корректности обращений к модулям УСО. После завершения инициации система РС — МПСУ готова к работе.
    • Обращения ко всем модулям УСО со стороны РС унифицированы и сведены к единой функции сетевого протокола обмена, обеспечивающей взаимодействие с МПСУ по выбранному каналу связи. Формат команд, структура данных и множество операций для всей номенклатуры модулей УСО-МПСУ описаны в документации на систему. ( «Протокол обмена МПСУ»)

    Принятая от прикладной программы команда первоначально анализируется в РС на наличие данного модуля УСО в таблице ресурсов, также проверяется на корректность формата команды и заданных в ней параметров. И только корректная с точки зрения интерпретатора команда передается для исполнения в МПСУ.

    • В МПСУ драйвер сетевого протокола обмена (внутри супервизора) принимает команду вместе с параметрами и размещает её в буфере команд. После этого инициируется выполнение переданной команды. По завершении каждой команды драйвер соответствующего модуля УСО возвращает слово состояния модуля УСО и завершения операции; а также массив информации, если таковой подготовлен драйвером модуля. Полученная от драйвера информация передается в РС, и только после этого команда считается завершенной, А система готова к отработке следующей команды.
    • Команды, реализованные в МПСУ, обеспечивают выполнение операций, присущих модулям МПСУ, и дополнительно операцию задержки. Время выполнения операций зависит от характеристик модулей УСО. Время выполнения увеличивается за счет затрат на взаимодействие по каналу.

    Для расширения динамического диапазона задач, которые можно решать в системе удаленного программирования, кроме команд выполнения одной операции отдельным модулем УСО, предусмотрена возможность передачи и выполнения а МПСУ цепочек команд.

    Цепочка команд представляет собой последовательность команд обращения к ряду модулей УСО или, например, последовательности нескольких каналов модуля АЦП.

    Цепочки команд передаются в МПСУ и хранятся том все время функционирования системы. Один раз переданная цепочки впоследствии может многократно выполняться в одном из двух режимов: однократном или циклическом. Однократно запускаемая цепочка может содержать произвольное число команд, включая команды задержки. Результат работы в таком режиме передается в РС сразу по завершении цепочки. Циклически выполняемая цепочка также не ограничена по количеству команд. Но предпочтительнее, чтобы циклические цепочки не были очень длинными. При её инициализации можно задавать произвольный период её перезапуска. Инициированная циклическая цепочка функционирует независимо от РС. Результат работы каждой циклической цепочки буферизируется и передаётся в РС по отдельной команде. Общее (максимальное) количество цепочек 16. В процессе выполнения циклических цепочек разрешается как одновременное выполнение однократных цепочек, так и отдельных команд без ограничений.

Положительные свойства системы удалённого программирования

Рассмотренная система удобна в применении и позволяет создавать достаточно насыщенные комплексы, добиваясь при этом весьма быстрой реакции МПСУ, особенно при использовании параллельного канала связи. Система имеет хорошие перспективы развития, совершенствуется по мере модификации МПСУ.

Поскольку система основана на фирменном «Протоколе обмена МПСУ», то она позволяет использовать различное программное обеспечение, обеспечивающее связь между каналом и программами «верхнего уровня». В качестве программ «верхнего уровня» можно рассматривать, например, всё многообразие SCADA-систем. Обеспечивать связь между протоколом обмена и прикладным уровнем SCADA-системы могут специальные драйверы связи и эмуляторы УСО, а также приобретающие всё большую популярность OPC-сервера.

К недостаткам с позиций современных технологий можно отнести следующие:

  • Потребность в квалифицированных программистах для написания пользовательских программ, включающих в себя обработку полученных с входов МПСУ данных и выработку воздействий для управления выходами МПСУ; пользовательские программы также должны иметь необходимый экранный (желательно графический, особенно для Windows) интерфейс
  • Хоть эффективный и понятный, но все же нестандартный сетевой протокол обмена по каналам связи с МПСУ, который не позволяет непосредственно без дополнительного драйвера или эмулятора протокола применять в ПЭВМ SCADA — системы для разработки пользовательских программ
  • Если возникает необходимость фиксировать с помощью УСО очень быстрые изменения сигналов и вырабатывать мгновенные реакции, и если для этого окажется невозможным применение циклических командных цепочек, то поставленной цели добиться невозможно. Впрочем, в такой ситуации пригодна далеко не каждая из современных систем, и без непосредственного программирования контроллера здесь трудно обойтись

Естественно, что при создании конкретных систем может быть выбран оптимальный вариант, в котором недостатки можно либо устранить, либо свести к минимуму. Так, например, применяя OPC-сервер МПСУ, пользователь может не только не знать особенности работы с модулями МПСУ, но ему не требуется и знание протокола обмена; достаточно изучить SCADA-систему, поддерживающую стандарт OPC.

«Короткий» супервизор УСО

«Короткий» супервизор — это условное название программного обеспечения, которое располагается в контроллере МПСУ и предназначено для реализации системы удалённого программирования МПСУ. В отличие от «полного» супервизора системы удаленного программирования он не включает всей номенклатуры драйверов модулей УСО, но зато позволяет подключать к себе при компоновке произвольную программу, подготовленную самим пользователем для МПСУ. Таким образом, появляется возможность реализации включения в состав супервизора «сторонних» программ (процедур пользователя), обеспечивающих алгоритмы управления УСО, которые не были предусмотрены в поставляемом варианте супервизора. В этом заключается главная особенность данного программного обеспечения

  • 1) «Короткий» супервизор компонуется с программой пользователя, написанной для МПСУ, например, на Макроассемблере. За счет этого, в отличие от рассмотренной выше системы удаленного программирования УСО с «полным» супервизором, основная обработка принятых от УСО сигналов может происходить в программе пользователя с тем максимальным быстродействием, которое только может обеспечить аппаратура и алгоритм обработки. В то же время для тех модулей УСО, которые включены в супервизор, полностью сохраняются свойства удаленной системы программирования, в том числе работа с цепочками команд.В исходный вариант «короткого» супервизора включен дополнительный программный модуль MY01 (данное имя можно изменить), который в поставляемой реализации фактически является пустым: он предназначен для замены на программу пользователя.Супервизор полностью написан на Макроассемблере (MACRO-11). Открытость текстов программ, в частности, модулей интерфейса взаимодействия по каналам связи, обработки прерываний таймера процессора, поддержки всех модулей и цепочек команд, драйверов и тестов подключаемых модулей УСО, наличие готовых командных файлов для компилирования драйверов, тестов, для создания супервизора USOSH.SAV дает возможность пользователю получать свои варианты супервизора УСО.Как видно из сказанного, нужные заказчику собственные подпрограммы управления УСО должны входить непосредственно в пользовательскую программу, при этом программист освобождается от необходимости разбираться с протоколами обмена по каналам связи с РС. Зато в свою программу он может включать свои оригинальные алгоритмы обработки данных на уровне модулей УСО.При всем при этом можно рекомендовать к использованию давно отлаженную библиотеку модулей УСО и библиотеку тестирующих функций, о чем уже сказано в Примечаниях к сведениям по QUASIC-системе.
  • 2) Системное программное обеспечение в РС практически то же самое, что для системы удаленного программирования. Оно состоит из объектного модуля sps&cmp.obj и обеспечивает интерфейс с прикладными программами, написанными на языках C, C++, PASCAL, ASSEMBLER в ОС MSDOS, WINDOWS.
  • 3) «Короткий» супервизор обеспечивает выполнение конфигурирования УСО при запуске или перезапуске МПСУ.
  • 4) Выводы
    • Многие пользователи МПСУ сами разрабатывают для него программы, вставляя оригинальные алгоритмы управления модулями УСО. Для отображения результатов работы УСО всегда требуется решить проблему передачи информации на верхний уровень, то есть в РС. При этом пользователи хотели бы сохранить быстродействие, присущее их собственным программам. Система программирования с «коротким» супервизором позволяет это сделать, что является ее достоинством. Этот вариант можно рассматривать как альтернативу или дополнение к применению простых и циклических цепочек команд, которые предлагаются в системе удаленного программирования с «полным» супервизором УСО.
    • К недостаткам следует отнести, видимо, необходимость иметь основательные навыки программирования для МПСУ на нижнем уровне, знать модули УСО.
    • На сегодняшний день ещё имеется проблема совместимости МПСУ со SCADA-системами, которая решена или решается в СКБ ВТ несколькими разными путями.

Система программирования МПСУ с контроллером на базе MicroPC

По сути данная система повторяет систему удаленного программирования, которая представлена в предыдущем пункте, только ориентирована на другой тип контроллера МПСУ (модули М260, М260.01)

  • 1) Система программирования реализована в виде объектного модуля, компонуемого с прикладными программами на ПЭВМ, и исполняемого модуля супервизора, записанного на одном из дисков платы CPU, являющегося основой модуля контроллера. Модуль супервизора записывается во флэш-диске и запускается из стартового командного файла.
  • 2) Характеристики системы:
    • поддерживает связь ПЭВМ и контроллера МПСУ с платой CPU (MicroPC) по параллельному двунаправленному каналу LPT или по последовательному каналу RS-232.
    • обеспечивает отработку отдельных команд к модулям УСО МПСУ; цепочные команды в данном супервизоре не реализованы
    • обладает встроенной системой диагностики и конфигуратором УСО.
    • возможна модификация системы, когда DOS-приложение размещается на одном из дисков платы CPU (MicroPC) и взаимодействует с супервизором внутри контроллера

Если рассматривать достоинства чисто программных компонентов, то это, прежде всего, полная совместимость всех программ с IBM PC, что, по меньшей мере, удобно для тех программистов, которые не знакомы с программированием для контроллеров МПСУ по прежним технологиям. Система также имеет хорошую перспективу, но, к сожалению, следует учитывать, что стоимость плат CPU (например, MicroPC), реально пока значительно выше цены других модулей МПСУ, в настоящее время этот факт сдерживает данное направление.

Следует также отметить, что для организации взаимодействия между ПЭВМ и контроллером на базе MicroPC используется ряд разработанных в СКБ ВТ программ, например:

  • программа-монитор обмена по последовательному и двунаправленному параллельному LPT каналу
  • сетевой драйвер (версии для DOS и Windows-95/98), поддерживающий до 10 COM-портов и связь как по RS-232, так и по RS-485 с возможностью резервирования последовательных каналов.

Программирование МПСУ в системе TRACE MODE фирмы AdAstra (Россия)

Вопрос о применимости МПСУ в комплексах, которые программируются с использованием SCADA-систем, был поставлен достаточно давно. И это вполне объяснимо, так как при сохранении малой цены за «железо» можно со сравнительно небольшими затратами труда и проектного времени строить полноценную АСУТП с красивым экранным интерфейсом, с решёнными вопросами создания и просмотра архива событий, данных, трендов, с прочими замечательными свойствами.

1) Супервизор USOTM

Эта версия супервизора УСО предназначена для обеспечения управления модулями, установленными в МПСУ, при работе с соответствующими каналами из программы в РС, которая выполняется в среде ТraceМode 4.1х. Супервизор USOTM либо закачивается в ОЗУ, либо программируется в ПЗУ контроллера МПСУ. Отличается от обычного «полного» супервизора только тем, что из него исключен драйвер контроллера блока расширения дискретного ввода, что продиктовано необходимостью несколько упростить работу по созданию базы каналов для конкретных проектов в редакторе базы каналов ТraceМode 4.1х

2) Резидентный драйвер связи ТraceМode 4.1х с МПСУ drcep

Драйвер написан на BorlandC++3.1 , открыт для модификации пользователям, так как им могут быть переданы все программные модули.

Данная версия резидентного драйвера отличается тем, что содержание цепочки команд предварительно записывается в ini — файл, который может легко редактироваться с целью корректировки состава модулей УСО, с которыми работает цепочка. Драйвер позволяет загружать только одну цепочку команд.

Драйвер позволяет использовать не только один последовательный канала связи между РС и МПСУ, но и автоматически переключать направление обмена на параллельный какал. Для контроллера МПСУ М252 может использоваться LPT порт. Драйвер поддерживает также связь с УСО через адаптер шин ISA-BUS / QBUS.

Дальнейшее совершенствование связи ТraceМode 4.1х с МПСУ (расширение числа поддерживаемых модулей ввода/вывода, каналов обмена и так далее) зависит от конкретных потребностей заказчиков, использующих данную версию ТraceМode.

Новые возможности и перспективы в программировании систем с МПСУ

  • 1) В связи с появлением новых контроллеров МПСУ М251…М255 может использоваться возможность двунаправленной работы через порт LPT с включением его в систему удаленного программирования. Может быть реализована возможность работы по каналу RS-485 (для контроллеров М253…255).Примечание: в 2002 году разработана версия супервизора для М253…М254 с обменом по двунаправленному LPT-каналу и поставляется в составе встроенного ПО контроллера (в СПЗУ)
  • 2) «Встраивание» МПСУ в SCADA-систему TraceMode 4.2x путем эмуляции основных последовательностей команд стандартного протокола Modbus. Примечание: версия супервизора, поддерживающего протокол Modbus для последовательного канала связи, пока не реализована из-за отсутствия реального заказа.
  • 3) Разработка и применение OPC-сервера, который обеспечивает стандартные средства связи со SCADA-системой и реализует работу по каналу с МПСУ на основе фирменного протокола обмена МПСУ.Примечание: В 2003 году OPC-сервер МПСУ разработан и протестирован для SCADA-системы Trace Mode 5.03. Подробнее с реализацией OPC-сервера МПСУ можно ознакомится в Руководстве программиста «OPC-сервер МПСУ» ЯАЦВ.00045-01 33 06

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

    В результате разработки OPC-сервера МПСУ была достигнута цель организации эффективного стандартного доступа из различных SACADA систем и других средств программирования интерфейсов «верхнего» уровня к каналам связи с МПСУ. Следует уточнить, что название «OPC-сервер МПСУ» является принадлежностью промышленного контроллера МПСУ на безе процессорных модулей типа М251…М255. Это весьма существенно, поскольку предполагает наличие встроенного программного обеспечения контроллера, включающего в себя программу «супервизор», а также обмен МПСУ с «верхним» уровнем по последовательным и параллельным каналам по «протоколу обмена МПСУ».

  • 3) Применение драйвера связи с МПСУ, который разработан в 2001 году фирмой НПФ «Круг» г. Пенза, обеспечивает «встраивание» МПСУ в систему «КРУГ-2000/NT»Драйвер связи с МПСУ предназначен для организации связи между контролером МПСУ и базой данных эмулятора интеллектуального УСО. Драйвер передаёт в базу данных ЭИУСО текущие значения и диагностические признаки по параметрам, измеряемым контролером МПСУ, а также передаёт в МПСУ значения параметров из базы данных ЭИУСО.Подробности см. в документе «Инструкция по эксплуатации эмулятора интеллектуального УСО для Windows NT»;

    Комментарий: при наличии необходимости драйвер связи с МПСУ может быть усовершенствован (расширение числа и типов каналов связи, поддержка дополнительных модулей УСО). Связь с системой «Круг-2000» может осуществляться также через OPC- сервер МПСУ. Ниже показана одна из возможных схем ПТК «КРУГ-2000 / МПСУ»