|
Тема: МПЦ
Доброй ночи. Ilya kv, я работаю в промышленности, но данная тема мне интересна. Ниже приведен фрагмент из описания МПЦ Эбилок-950. Как я понимаю, другие системы чем-то схожи с ней:
"Системное ПО: ПО процессора связи и ПО безопасного вычислительного ядра является универсальным и поддерживает практически любой вариант применения не зависимо от эксплуатационно-технических требований и функционального назначения системы. В том случае, если системное ПО не поддерживает требуемую функциональность, то его доработка производится с помощью специализированных средств разработки: графического редактора SDL и средства генерации ANSI-C исходного кода SDT, который затем компилируется в исполняемый формат для аппаратной платформы Ebilock-950. ПО безопасного вычислительного ядра (FSPU) разрабатывается с использованием поднабора ANSI-C. Данный поднабор исключает конструкции языка, которые рассматриваются, как критичные с точки зрения программирования на языке С. Использование данного поднабора гарантируется специальным препроцессором, который исключает все нежелательные конструкции языка. ПО FSPU разрабатывается двумя отдельными бригадами программистов, соответственно версии ПО для каналов А и В.
ПО логики централизации разрабатывается с помощью графического редактора GLE (Graphical Logics Editor). Графический формат представления логики централизации позволяет разработчику формулировать и визуально контролировать логические условия. Результатом обработки графического представления логических условий является файл в формате языка программирования Sternol. Язык Sternol является специализированным языком, ориентированным на описание логики функционирования дискретных устройств. На основе этого описания, с использованием компилятора STECOMP950, автоматически создаются две версии ПО логики централизации в формате языка ANSI-C, которые затем компилируются в исполняемый формат для Ebilock-950. Процесс подготовки исходных данных к конкретному полигону внедрения производится с помощью графического редактора PSI 950 IN (Plant Support Interlocking). Этим редактором создаётся символическая схема станции, на основе которой создаются два файла: файл «Данные привязки» и файл «Таблица команд». Эти файлы используются затем как входные данные для формирования двух версий данных с использованием инструмента PSI 950 OUT. Для конфигурирования системы объектных контроллеров и для формирования документации по конкретному объекту внедрения используется программное средство PSCAD. Промежуточное тестирование результатов разработки ПО системы Ebilock-950 производится средствами TSI950(Test Support Interlocking). TSI950 использует выходные данные PSI 950 IN и логику в формате Sternol в качестве входных данных, с целью имитации работы логики централизации.
Интеграция всех составляющих ПО системы производится программным пакетом PSI 950 IMAGE."
Из написанного ясно, что в системе используется программное обеспечение нескольких уровней, от системного до прикладного. На нижнем (системном) уровне организовано ядро системы ПО. Оно написано на "С", и не предназначено для серьёзного изменения. А верхний уровень предназначен для построения конкретных систем СЦБ под любой объект, и допускает графический ввод инструкций на специальном языке. Таким образом, эта задача может решаться специально обученным СЦБ-истом. Такой-же подход применяется и в промышленности, для автоматизации оборудования, например. Как я понял, в процессе подготовки программы работы, генерируется файл - программа, который потом берётся на исполнением центральным процессором, и размещается просто на диске системного блока.
С оборудованием на объекте работают отдельные модули, построенные на базе микроконтроллера Intel 8032 (классического). Микроконтроллер "прошит" производителем Эбилока, и предназначен для приёма/передачи данных по последовательному каналу связи между центральным процессором и оборудованием станций (перегонов). Таким образом, "прошивка" нигде не используется, и на сегодня это стандартный подход. От себя замечу, что промышленные контроллеры могут загружаться файлами - программами работы - через Интернет, с прохождением по паролю.
Как правило, сейчас на Ассемблере пишут очень редко (ввиду высокой сложности кристаллов), в исключительных случаях, требующих очень малого времени выполнения кода. Язык "С" ("С++") применяется массово, в программировании работы систем реального времени (оборудования).
Документация на Эбилок "лежит" в заголовке раздела данного форума.
|