лекции по ШКС. Структура сау кц
Скачать 1.52 Mb.
|
Глава 6. Системные утилиты. В директории /bin находятся следующие утилиты и драйвера: Dev32.par – драйвер параллельного (LPT) порта. В системе есть параллельный порт, но разъема привычного нет, просто он выведен на колодку (LPT). Пример:Dev.par& Dev32.ser – драйвер последовательного (COM) порта Пример: Dev.ser 3F8,4 2F8,3 & cat – осуществляет вывод файла на стандартный поток вывода, например экран или com-порт, а также можно получить информацию с com-порта. Чтобы вывести текстовый файл на экран указываем команду и путь к файлу, например cat_/etc/hosts/. Таким образом, мы можем просмотреть на экране содержимое файла. Пример вывода на экран стартового скрипта: cat_/etc/config/sysinit. cksum – определение контрольной суммы файла Пример: cksum /bin/cat cp –копирование файлов (сокращенное от copy). Имеет вид cp_«источник»_«приемник». Пример копирования файла cat из директории /bin в /tmp: cp /bin/cat /tmp. Другой пример: cp_/etc/hosts_/tmp/hosts.old – здесь файл hosts из каталога etc будет копироваться в каталог tmp под именем hosts.old. Также можно копировать группу файлов используя символ *. Например cp_Qisa*; cp_ * - все содержимое каталога. date –Установка/просмотр системной даты и времени. Если вводится без параметров то просто смотрим дату и время. Пример просмотра даты: date. Если нужно установить дату и время то вводим эти параметры. Пример установки даты 31 янв. 2001 12 часов 30 минут: date 31 01 2001 12 30. debug – Простой отладчик. Можно использовать для записи/чтения портов. Запустив отладчик и введя команду '?' (без кавычек) можно получить справку о командах, воспринимаемых отладчиком. df – Показывает свободно место (diskfree). Пример определения свободного места на корневом разделе: df –a –h / dinit – Начальная инициализация диска (аналог DOS утилиты format) Пример инициализации дискеты: dinit /dev/fd0 echo – Вывести строку на экран. Используется, как правило, в скриптах. Пример: echo "Hello, QNX!" kill – Послать сигнал процессу. Формат команды kill [-signo] pid signo – номер сигнала (список сигналов и объяснение их действия можно получить из любой справочной литературы по ОС Unix, Linux, QNX). По умолчанию посылается сигнал SIGTERM, который указывает приложению, что надо завершить работу. Если указать SIGKILL, то приложение будет принудительно завершено операционной системой. pid – идентификатор процесса. (см. справку по утилитам sin и ps) Пример посылки сигнала SIGTERM процессу с идентификатором 36: kill –SIGTERM 36 ls – Вывести список файлов и директорий (list). Аналог команды dir из DOC. Формат команды: ls [опции] [директория] [опции]: – l (строчная латинская эль) – вывести список в длинном формате (с атрибутами). – 1 (арабская цифра один) – вывести в один столбец если директория не указана, то по умолчанию выводятся файлы и директории из текущей (рабочей) директории. Пример вывода списка файлов в длинном формате из директории /bin: ls –l /bin mkdir – Создать директорию Пример: mkdir /tmp mv - Перемещение файла, выполняется аналогично команде copy mount –Подключить (подмонтировать) диск (раздел). Пример подмонтировать дисковод в точку монтирования /a: mount /dev/fd0/a on – Запустить команду на терминальном устройстве. Пример запуска shell на порту COM1: on –t /dev/ser1 sh ps –Вывести на экран список всех запущенных процессов и их идентификаторов. Используется для проверки выполнения или невыполнения действий программы. Пример: ps renice –Изменить приоритет процесса (нужно знать идентификатор процесса). Пример увеличения приоритета на 1 у процесса с идентификатором 36: renice –1 36 rm – Удалить файл (директорию) от слова remove. Удаленный файл восстановить невозможно! Пример удаления всех файлов в директории /tmp: rm /tmp/* rtc –Сохранить системное время в энергонезависимой памяти контроллера. Пример: rtc –l hw rz –Прием файлов по протоколу Z-Modem. (recive). Буква z здесь обозначает протокол (zend). Описание работы см. в главе о передаче файлов. sz –Передача файлов по протоколу Z-Modem. Можно передавать несколько файлов используя «*». Если находимся в каталоге, то можно указывать только имя файла из этого каталога. Описание работы смотри в главе о передаче файлов. sh – Командный процессор (интерпретатор команд пользователя). shutdown – Выключение/перезагрузка контроллера. Формат команды: shutdown [параметр] Если указывать без параметров, то перезагрузка произойдет через 10 секунд. Допустимые параметры: – f перед выполнением команды ждать 2секунды, вместо 10секунд. – h вместо перезагрузки выключить компьютер sin – Выдать информацию о системе. Для получения более полной справки используйте команду usesin. Пример: sin slay – Завершить все процессы с заданным именем. Пример завершения выполнения задачи связи: slay Qisatst. Может использоваться при обновлении ПО, останавливая процессы без выключения контроллера, заменять соответствующие файлы и снова вручную запускать остановленные процессы. Для этого конфигурационный файл копируем в командную строку и выполняем его, либо перезапускаем контроллер. Пример: slay_Qisa* или slay_Qisaker_mbes – завершить процесс двух файлов. stty –Получить/установить параметры терминального устройства. Пример установки кода клавиши BackSpace на COM1: sttyerase=08 < /dev/ser1 ticksize –Величина разрешающей способности системного таймера Пример установки тика таймера в 1 мс: ticksize 1 umount – Отключить (размонтировать) подключенный ранее диск (раздел). Пример размонтирования дискеты, подмонтированной в /a: umount /a use –Выдать справку по использованию утилиты. Эта команда применима ко всем вышеперечисленным утилитам. Пример получения справки по утилите rm: userm chmod- Изменение атрибутов файла. Их мы можем менять по маске сразу у нескольких файлов. + х добавить атрибут, - х убираем атрибут. Глава 7. Пакет ISaGRAFW orkbench и IEС61131-3 Этот пакет используется для разработки для контроллеров устанавливаемых в ШКС стандарта микроPC. IEС61131-3 – это стандарт для языков программирования. Этот стандарт касается всех программируемых контроллеров. Таких языков пять:
Еще есть также FCFlow Chart В КГПА используют версию ISaGRAF 3.51 В зависимости от задачи можно использовать любой из языков программирования. Один и тот же алгоритм можно описать в разных вариантах. Первый- последовательность функциональных схем. К примеру этот язык используют для реализации пошаговых последовательных алгоритмов. Второй – структурированный текст. Текстовый язык программирования для контроллера. Он похож на язык ПАСКАЛЬ. Третий – список инструкций. Этот язык похож на АССЕМБЛЕР (низкоуровневый язык, писать на таком языке большие программы – очень сложно). Четвертый – функциональные блок схемы используются для создания алгоритмов турбин ГПА-Ц-16. Пятый – язык релейной логики. Дополнен языком потоковых схем. КГПА работает с пакетом ISaGRAF в варианте QNX под контроллеры, устанавливаемые в ШКС. Цикл ISaGRAF -Опрос переменных «INPUT» -Обработка программы секций «Begin» -Обработка программы секций «Sequentiob» в соответствии с правилами развития SFC или FC. -Обработка программы секций«END» -Обработка устройств «OUTPUT» В контроллере, когда программа запускается, то она начинает работать по кругу (циклу). Время цикла ограничено и, следовательно, мы можем контролировать время цикла и определять зависание контроллера. Постоянно, циклически опрашиваются входы, то есть мы следим за изменением сигнала, проводим обработку, и структура программы соответствует этому циклу. У нас идет опрос входа и далее идет программная секция «Begin» (начало), т.е. считали коды АЦП состояние дискретных входов и затем начали их обработку. Нам коды АЦП нужно преобразовать в соответствии с калибровочной таблицей в физическую величину. Нужно проверить на срабатывание уставок, отследить недостоверность, т.е. произвести обработку аналоговых сигналов. Дискретные сигналы нужно отфильтровать, обработать, и если необходимо, то запустить какие–то действия, алгоритмы и т.д. Далее идет обработка уже последовательных алгоритмов, т.е. аварийных остановок, они реализованы на языке SFC или FC и находятся в центральной части программы. Особенность их в том, что при каждом цикле проверяется выполнение конкретного условия, и если оно выполнено, то на следующем цикле проверяется следующее условие, согласно алгоритма. То есть, если условие выполняется, то мы проходим на следующие программные шаги. Следующим этапом проверяется секция «END». Здесь идёт формирование выходных сигналов. Например на управление каким-то оборудованием: вентиляцией, насосами, формирование выходных аналоговых сигналов, формирование команд на краны, исходя из того что мы прочитали на входе и обработали. Допустим, прочитали на входе, что у нас двойное положение крана, обработали это положение, сформировали команду на дожим в обратном положении и в секции «END» выдали эту команду на оборудование. И на этапе «OUTPUT» мы записываем сформированную команду на выход. И этот процесс происходит циклически. У нас постоянно идет обработка, постоянно идет контроль, постоянное выполнение программы, мы можем проследить зависла она или нет по времени цикла. Для связи с контроллером используем программу гипертерминал стандартную Winows. Глава 8. Программа ZOC Основное окно программы – это окно терминала. То есть при связи с контроллером, каким-то либо оборудованием мы увидим здесь какую-то информацию. В меню Файл, есть пункт Manual Connection – соединение настраиваемое вручную. Мы можем его выбрать, открывается окно. Мы его можем как-то назвать, выбрать тип соединения, устройство, эмуляцию типа соединения – стандартные. Есть варианты в этом меню, где мы можем выбрать, с чем мы соединяемся. Есть вариант, такого как бы поля набора соединений. Мы типовые соединения можем настроить, те которые нам нужны. Первый пункт – это соединение с контроллером по адресу, который указан во втором столбце. Даем название какое-либо, чтобы мы знали, что это за соединение, дата последнего соединения и комментарий. Второе соединение из предложенных это – по COM–порту. Название параметра указано, и скорость соединения указаны в скобках. Контроля четности нет. Еще ниже настроено соединение ЦПК для тренажера с ip адресом 10.1.16.108. Справка, кнопки Соединение, Редактировать, Создать, Удалить. Допустим, вызовем Редактировать. Имя, Тип соединения, есть дополнительные настройки. Есть различные варианты соединения. К контроллеру можно подсоединится по COM порту. Чем это неудобно, тем, что одно из устройств должно быть отключено, так как соединение при включенном оборудовании можно спалит COM порты. Соединяемся с контроллером, то компьютер надо выключить. Соединяемся и включаем. Соединение по Ethernet можно делать на горячее, что удобнее, да и скорость обмена выше. Но соединение по COM-порту удобно тем, что при перезагрузке контроллера связь у нас не обрывается. Мы постоянно просматриваем информацию на COM-порту и видим все процессы. А соединение по локальной сети, оно при перезагрузке контроллера обрывается и нам нужно будет соединятся заново. В верхней строке программы ZOC имеются кнопки меню с наиболее часто применяемыми командами. Нас среди имеющихся кнопок может заинтересовать кнопка Upload – (Загрузки). Служит для перекачки файлов в контроллер. При этом не нужно вводить дополнительные команды. Нажимаем эту кнопку и у нас появляется окно Upload, выбираем файлы, нажимаем открыть (можно несколько файлов) и они закачиваются в текущий каталог. Очень удобно. Для передачи файлов с контроллера нужно в командной строке вводить команду. Настраиваются каталоги с которыми работает контроллер т.е. которые он открывает для передачи данных (соответствующей кнопкой меню) Option и которые он открывает для приема данных. Меню Options – Programm Setting – Directions и в появившемся окне указываем каталоги в строке Downlong–загрузка. Upload – выгрузка и Alt Downlong – альтернативные каталоги. Также дополнительные опции настраиваются в программе. Третья строка меню окна имеет кнопки – команды часто используемые: это изменение режима файла, параметров, просмотра каталогов, просмотрщик процессов, изменение атрибутов файла, перезагрузка, выход и остановка программы. При нажатии на кнопку останов программы мы на экране видим перечень процессов, которые мы остановили. При этом ОС – работает, но программы наши рабочие мы выключили. При этом на АРМ идет индикация – обрыв связи. Это нужно, так-так, чтобы обновить эти модули, их нужно остановить, чтобы они не выполнялись, чтобы на ходу их не менять. Если будем просматривать перечень процессов, то мы увидим, что остались в работе только служебные процессы, т.е. драйвера, файловые системы и т.д., а остановленных процессов в перечне нет. Теперь мы можем работать с заменой файлов, заменой драйверов при необходимости. Если мы меняем сетевые настройки, то необходимости останавливать процессы не возникает. Просто копируются файлы, перезагружается контроллер и в новой настройке они уже заработают. Передача файлов идет с коррекцией ошибок. В Windows есть встроенный стандартный гипертерминал, он является также терминальной программой для COM-порта. В командной строке (внизу экрана) можно ввести команду Telnet и также можно связаться с контроллером, но не будет дополнительных функций и удобств как в программе ZOC. Глава 9. Обновление ПО контроллера. При замене каких либо файлов в ОС программа останавливается, все защиты отключаются, краны выводятся в ремонт, с них снимается питание, что-бы ничего непредвиденного не произошло. Удаляется старый файл из ОС, затем копируется новый, система перезагружается и все включается в работу. Для обновления существует инструкция со скриптами и использованием программы ZOC. Запускаем программу и выполняем инструкции. В этом случае осуществляется обновление по сети. Для соединения с контроллером, нужно знать адрес контроллера. Можно выбрать из адресной книги, если он там задан или ввести адрес вручную. Если контроллер был ранее забит в список, то мы его можем выбрать из списка, так как если есть адрес – то и есть соединение. Соединяемся с контроллером – видим приглашение. Раньше было приглашение без логина и пароля, то теперь нужно вводить и логин и пароль. Если мы что-то хотим поменять, то вначале нужно сделать резервную копию. Здесь приведен вариант замены основной программы контроллера. Мы переходим в каталог и создаем копию. Затем останавливаем программу. Проверяем, смотрим остановленные процессы (при этом у нас обрыв связи с контроллером?). Никакой обработки не идет, то есть работает ОС, но никакая программа не выполняется. Соответственно удаляется старая версия и теперь можно закачивать новую версию. Нажимаем кнопку Upload и начинается передача файла. Если при передаче возникают ошибки, то возникает окно с сообщением об этом. Ошибки должны исправится. Исправляем ошибки, если они возникли и перезагружаем контроллер. После перезагрузки контроллера мы восстанавливаем соединение с контроллером. Нужно заново зайти в соответствующий пункт и выбрать «соединится с контроллером». Если у нас случились какие-то ошибки, возникли какие-то неполадки, то мы восстанавливаем старую версию программы из заранее сделанной копии. Если все нормально, то подаем питание на краны, восстанавливаем исходное состояние. Если старые файлы не переименовывать, то новые файлы система не даст закачать, поэтому нужно их переименовывать (через команду cp) и затем можно закачивать новую. Затем перезагружаем компьютер и проверяем работоспособность. Может потребоваться переназначение атрибутов. Замена программного обеспечения на АРМе проще. Для этого тоже есть инструкция. Сам контроллер перепрашивать не требуется. Все сводится к замене каких либо файлов. Следующая инструкция: Замена приложения на АРМ (панель) ШКС-04М. Эта инструкция короче предыдущей. Если при замене файлов в контроллере занят АРМ, то необходимо к нему подключить ноутбук. А если АРМ не занят, то можно использовать его и менять файлы с помощью программы ZOC. |