Главная страница
Навигация по странице:

  • Иерархия файловой системы QNX

  • /mydir/myfile

  • /bin

  • /usr/lib/terminfo/q

  • ISA11

  • Qisa. В каталоге/ISAXY

  • лекции по ШКС. Структура сау кц


    Скачать 1.52 Mb.
    НазваниеСтруктура сау кц
    Дата02.04.2019
    Размер1.52 Mb.
    Формат файлаdocx
    Имя файлалекции по ШКС.docx
    ТипГлава
    #72295
    страница2 из 5
    1   2   3   4   5
    Глава 4. Программные решения, которые используются в САУ КЦ ШКС-04М.
    В качестве ядра системы используется ПЛК а в качестве верхнего уровня – обычный персональный компьютер со специальным ПО. В контроллере ядра системы используется ОС без графического интерфейса, что несколько неудобно, но от данной ОС это, в общем-то, и не требуется.

    Операционные системы могут быть различных типов. Они делятся на:

    1. Домашние (офисные).Windows XP, Vista, Windows 2000.

    2. Специальные - для суперкомпьютеров.

    3. Специализированные серверные.

    4. ОС реального времени.

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

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

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

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

    АРМ выполняет функцию отображения и архивирования информации, позволяет формировать команды на управление, просматривать параметры, но функции обработки сигналов переданы в ПЛК.

    Таких систем реального времени, существует много. В нашем случае применяется следующая - QNX 4.25. Где 4.25 – версия в связке с ПО для ПЛК. Данная система (QNX) показала высокую стабильность и надежность. В принципе контроллер может использовать различные ОС реального времени. По сути ПЛК – это компьютер, у него есть свой BIOS, USB порты, к нему можно подключить жесткий диск, монитор, и т.д. В ШКС используется вариант ПЛК с компактной флэш-памятью. Программы хранятся на флешке. С этой флешки можно снять образ, только для этого нужно контроллер выключить. Система QNX – очень компактная. Сейчас есть более новая версия QNX 6.0 и вероятно будет переход на эту новую версию. Работать в этой ОС можно только в режиме командной строки (т.е. в консоли). Принцип работы подобен работе с ОС МS DOS.

    ОС QNX может работать с сетью. В связке ОС, ПЛК, и ПО реализована функция «сторожевой таймер – Wotch Dog», это таймер который контролирует длительность цикла. Как только длительность цикла превышает какую-то величину, система перезагружается, это защита от зависания. ОС QNX относится к системам класса Юникс. К ней можно поставить графический интерфейс, но в нашем случае это не нужно.
    Глава 5. Структура ПО
    Архитектура ОС QNX 4.25.

    Информация по архитектуре QNX имеется в руководстве системного программиста, там есть подробное описание.

    Такая структура называется микроядерной. Имеется в центре микроядро, а все остальные – это модули (или программы) их можно назвать менеджеры программ. Микроядро обеспечивает взаимодействие между менеджерами, передачу сообщений от одного менеджера к другому. Микроядро получается как диспетчер, он работает с этими компонентами. Такая организация позволяет организовать количество менеджеров только в необходимом количестве (отсутствует только графический менеджер, так как он не нужен).

    Менеджер устройств работает с внешними устройствами, с флэш-памятью, дисками, COM портами, терминалом и т.д.

    Менеджер файловой системы работает с файлами этих устройств, отвечает за копирование, удаление и стирание.

    Менеджер процессов позволяет запускать какие-то процессы, запускать драйвера, программы, программу ШКС на выполнение.

    Рассмотрим структуру ПО, то есть то, что находится на флэшке. В ОС QNX все программы реализованы как процессы, (а например в Windows – задачи), которые в любой момент можем остановить или запустить. Также в ОС QNX реализована система приоритетов, то есть каждый процесс может выполняться с большим или меньшим приоритетом. Например, наш процесс ШКС, он выполняется с небольшим приоритетом.

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

    Иерархия файловой системы QNX (Иерархия файловой системы QNX описана в руководстве системного программиста.)

    В QNX, в отличие от DOS, диски обозначаются не буквами, а точкой монтирования (специальная директория, заходя в которую попадаешь на диск). Для получения доступа к диску необходимо сначала его подключить (подмонтировать), а когда он больше не нужен, то можно его отключить (размонтировать). Тот раздел диска, с которого загружается операционная система (ОС) называется корневым (root) и его точка монтирования обозначается как '/', он монтируется при старте ядром QNX и не может быть размонтирован. Все точки монтирования (а также все файлы и директории) расположены на корневом разделе диска, и обращение к ним идет с указанием всего пути (например: /mydir/myfile). Каталоги все находятся на одном уровне. Текущая (рабочая) директория обозначается как '.'. К файлу в текущей директории можно обратиться как ./myfile.

    В контроллере имеются следующие директории:

    /bin – Каталог исполняемых файлов. Содержит программные файлы, которые могут запускаться. Здесь расположены основные системные команды и программы, кроме особых утилит.

    /tmp – Каталог для временных файлов. Применяется при обслуживании и наладке.

    /usr/lib/terminfo/q – Каталог, в котором расположены настройки различных типов терминалов, т.е. какие-то библиотеки.

    /Qisa – Каталог в котором расположены Qisaker, Qisatst, Qisanet (соотвенно: ядро целевой задачи ISaGRAF под QNX, задача связи с верхним уровнем по последовательному порту, задача связи с верхним уровнем по протоколу TCP/IP). В названии Qisa: Q- обозначает QNX, isa – программа в которой ведем разработку (ISaGRAF) . Приставки обозначают: net – связь по TCP/IP.

    tst – связь по COM порту.

    ker(kernel) ядро целевой задачи.

    это значит что в ISaGRAF написана программа – наш рабочий алгоритм. Qisaker это модуль, который содержит основные драйвера работ с платами, какие-то служебные функции для обработки данных в программе. Он запускает (загружает) нашу программу (файл) который находится в данном каталоге Qisa в контроллер и запускает его. Программа взаимодействует с этим модулем Qisaker и с помощью этого ядра осуществляет свои функции, т.е. выполняет обработку сигналов, выполнение алгоритмов, выдачу управляющих сигналов. МодулиQisatst, Qisanet – это диагностические, служебные модули, выполняют отладочные функции. В модуле Qisatst размещаются драйвера для связи по Matbas, по другим протоколам, как по последовательным, так и по сети, драйвера по работе с портами, со всеми контрольными платами, т.е. платами ТБИ, крановыми платами, релейными платами, с обработкой аналоговых сигналов и.т.д. Также там находятся драйвера дисплея и клавиатуры (технологической – 16-ти кнопочной). При внесении существенных обновлений связи контроллера с АРМом обновляется также модуль Qisaker, который содержит драйвера мастера, т.е. драйвера которые сами ведут опрос, т.к. в системе связи контроллера с оборудованием у нас есть master и slave. Модуль Qisaker содержит master драйвера. Разница в том, что master сам осуществляет опрос оборудования и получает данные, а slave – работает только на ответ. Удобно тем, что в одном модуле много драйверов.

    /ISAXY – Каталог для сохраненного приложения ISaGRAF. Здесь находится сама программа. Если высылается файл обновления, то он должен располагаться в этом каталоге. Этот файл будет называться ISA11. Контроллер может запускать несколько приложений параллельно, хот я эта функция практически не используется. Этот файл должен иметь в названии только заглавные буквы и цифры 11. Для сохранения текущей программы достаточно сохранить файл ISA11 в другом каталоге. Если этого файла не будет в данном каталоге, то после загрузки контроллера не будет связи с АРМом. Ничего нет, программа не работает. При отсутствии модуля Qisaker то же самое, ничего не запустится.

    /etc –Каталог содержит конфигурационные файлы. Основной конфигурационный файл выполняет загрузку последовательно всех драйверов и модулей, осуществляет запуск программ. Другие несколько файлов выполняют настройку сети. Сетевые настройки ШКС осуществляем сами при наладке. Настройки для связи с верхним уровнем согласовываются со связистами или АСУшниками и утверждаются в отделе «ГТЮ»

    /dev – Каталог для содержания драйверов устройств. При ссылке на какое либо устройство, com порт, например он это символическое имя вносит в данный каталог. В QNX все драйверы устройств представлены как файлы. Записывая, например, информацию в файл драйвера 2-го последовательного порта (/dev/ser2) мы можем отправлять символы на устройство, подключенное к данному порту (например, модем) указывая ссылку на это название. Для создания специального файла устройства необходимо запустить соответствующий драйвер.

    В DOS есть командные файлы – файлы с расширением *.bat, содержащие список команд, которые нужно выполнить интерпретатору команд (командному процессору command.com)

    В QNX есть аналогия командным файлам DOS. Эти файлы называются скрипты и они содержат указания, какие команды надо выполнить интерпретатору команд пользователя (оболочке, shell'у). Еще одно отличие QNX от DOS это то, что признак исполняемого файла не расширение (*.exe, *.com или *.bat) как в ДОС, а специальный атрибут «executable» (исполняемый). На Flash-диске все файлы имеют установленный атрибут «исполняемый».

    Стартовый скрипт называется /etc/config/sysinit. В стартовом скрипте устанавливаются переменные окружения (PATH,TZ), запускаются драйвера устройств (последовательных портов, Flash- и RAM- дисков), происходит копирование кода приложения ISaGRAF (файл ISA11) из директории /ISAXY в директорию /ramdisk/ISAXY (т.е. из энергонезависимой Flash-памяти в более быструю Ram-память), запуск целевой задачи ISaGRAF (Qisaker), запуск задачи связи (Qisatst или Qisanet) и последним шагом выполняется запуск интерпретатора команд пользователя (shell).

    Целевая задача ISaGRAF программу саму компилирует в один файл. Он может это делать под различные системы. Например, можно разрабатывать программное обеспечение для контроллеров на базе процессоров Motorola. В нашем случае компилируется целевая программа под QNX.

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

    Модуль mbes используется для связи с Ethernet, модуль mbss используется для связи с ИУС. Каждое название составлено из определенных букв имеющих определенный смысл, mb обозначает modbus , e – Ethernet, s – sevial, а последняя буква s в обоих случаях обозначает slave подчиненный.

    Стандартный протокол, использующий стандартные функции чтения и записи отдельных регистров и битов по интерфейсу com порту, по Ethernet, используются у нас в системе для связи контроллера с АРМом и для работы с оборудованием. Эти драйвера выдают данные для связи с системами верхнего уровня, чтобы они их читали. Если драйвера не запущены, то данные мы не какие не выдаем. Каждый из этих драйверов периодически обновляется для устранения замечаний, ошибок связи и т.д.

    В отличие от системы Windows, в QNX расширений у файлов нет. Есть только названия файлов, в том числе и с точками. Исполняемые файлы просто имеют определенный атрибут.

    Есть ещё один драйвер nfls, он стоит в более новых системах, разработан в «Калининградгазприборавтоматика», осуществляет те же функции. Расшифровывается как nemanfastlnk, s-обозначает slave. Таким образом от Modbus отошли. Этот файл также находится в каталоге Qisa.

    Драйвер master находится в модуле ??????.

    Есть драйвер sf – это Superflow, применяют для работы с ГРС, т.к. в этом случае допускается построение моделей без АРМ.

    Есть еще один важный модуль – это калибровочная таблица calib.tbl, создается в своем формате. С помощью дополнительных утилит этот модуль может преобразовываться в текстовый формат *.csv. Такое преобразование будет нужно при рассмотрении параметризации. То есть калибровочная таблица вначале прописывается в формате *.csv, (32 канала токовых и 32 канала ТСМ) и туда записывается настроечная таблица. В ходе наладки, может потребоваться изменить сразу несколько каналов и чтобы каждый канал не перебивать вручную через компьютер, можно воспользоваться таким способом, т.е. этот файл скачать на компьютер, преобразовать в редактируемый вид, поменять все, что нужно, преобразовать обратно и закачать обратно. Если этого файла в каталоге нет, то модуль Qisaker перестаёт функционировать, даже если у нас программа загружена, т.к. после загрузки программы сразу идет циклическая обработка аналоговых сигналов и преобразование происходит в соответствии с калибровочной таблицей. Все эти файлы находятся в каталоге Qisa.

    В каталоге/ISAXYмогут также находится какие – либо копии файлов, которые могут создаваться перед обновлением, например /ISAXY/ISA11OLD. Также в этом каталоге находится файл хранения уставок. Этот файл находится в таком формате, что просмотреть его нельзя, скачать и преобразовать как калибровочную таблицу нельзя. Создается этот файл при запуске программы. Носит он название retain1 или в более новом формате rtn.data1, цифра 1 соответствует цифре ISA11 ( если ISA12 то и в файле будет 2). Если файла retain, то программа при первой загрузке его создаст. Все уставки хранятся в этом файле и при перезагрузке они оттуда подчитываются. При изменении параметров, если они должны сохранятся, то они перезаписываются туда. Это уставки аналоговых сигналов, настройки, состояния датчиков, состояние уставок включения и выключения, состояние защит, включение и отключение, состояние кранов и какие-то другие параметры, если они нужны. Временные уставки для каких-либо защит. В новых проектах реализуется уставка времени перестановки крана, каждый можно настраивать отдельно.

    В каталоге /etc есть несколько важных файлов.

    /etc/hosts это файл настройки IP адреса контроллера, например 10.1.1.11. Если в контроллере одна сетевая карта, то будет один сетевой адрес. Если в контроллере несколько сетевых плат, то они также настраиваются все здесь. Изначально в котроллере использовалась одна сетевая карта, которая размещается в самом процессорном модуле. В дальнейшем для связи с ВУ в контроллере стала устанавливаться вторая сетевая карта, таким образом, сети разделены и если по ИУС вдруг распространятся вирусы, то в контроллер они не попадут. Вторая сетевая карта также настраивается в этом файле. В файле определённая структура, существует описательная часть, там указывается адрес контроллера, адрес второй сетевой карты и т.д. Файл текстовый.

    Второй файл в этом каталоге /etc/config/bin/tcpip.3 является исполняемым файлом. В нем находится маска подсети, т.е. связи ip адреса и маска сети.

    То, что файл запускаемый, определяется устанавливаемыми атрибутами. Атрибуты устанавливаются и просматриваются специальными утилитами. Атрибуты файла устанавливаются по линуксовой системе. У каждого файла есть три группы атрибутов rwxrwxrwx, где х означает execatable–запускаемый. У запускаемого файла все «х» в трех группах должны присутствовать. Все утилиты, все драйвера должны быть запускаемыми, они должны находится в каталогах /bin, /Qisa,/etc, и т.д.

    Чтобы настроить сеть в файле /etc/hosts должны быть прописаны ip адреса в /etc/config/bin/tcpip.3, задана маска сети соответствующего ip адреса. Этим файлам присваиваются атрибуты «х», т.е. запускаемые и помещают в соответствующий каталог.

    Основной конфигурационный файл контроллера /etc/config/sysinit.3 – это инициализация системы. Там настраивается работа com-портов, настраивается работа сети, грузятся драйвера и файлы файловой системы, работа флэш и далее запуск самой программы. Так как файловая система юниксовая, то текстовые файлы не могут редактироваться текстовыми редакторами Windows, типа Word, блокнот, т.к. эти редакторы привносят в текст дополнительные символы и в результате, файлы потом не работают. Для редактирования текстовых файлов нужно пользоваться редактором FAR либо другими специализированными текстовыми редакторами, которые могут редактировать в DOS.

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

    При необходимости меняется процессорная плата, но в ней настроек почти нет, за исключением настроек BIOS. А так в новую плату вставляем прошитую FLAH память и всё, контроллер готов к работе. Никаких перемычек, джемперов, переставлять не нужно. USB порты пока не используются, т.к. система текущей версии QNX с USB портами сама не работает, только с помощью дополнительных программ. В следующей версии QNX и контроллера возможно будет использовать порт USB и пользоваться обычными флэшами для установки программ. Возможно, также появится разъем для монитора и разъем для мышки и клавиатуры на контроллере.

    Для связи с контроллером используется компьютер, находящийся с ним в сети по Ethernet или по гибкому десятижильному кабелю который идет в комплекте ЗИП к каждому шкафу ШКС. В принципе для связи с компьютером можно использовать компьютер с АРМ, т.к. он всегда находится на связи. Для этого можно использовать специальную терминальную программу связи (типа ZOC).
    1   2   3   4   5


    написать администратору сайта