Программное обеспечение современных универсальных контроллеров делится на системное и прикладное. Системное программное обеспечение (СПО) контроллеров выполняет функции, во многом схожие с функциями операционной системы персонального или промышленного компьютера. Оно выстраивает определенную архитектуру взаимодействия различных составных частей аппаратного и программного обеспечения контроллера, берет на себя выполнение типовых функций.
Основной составной частью СПО является система исполнения кода прикладной программы. Система исполнения включает драйверы модулей ввода-вывода, загрузчик кода программ пользователя, интерпретатор команд и отладочный монитор. Кроме этого СПО отвечает за тестирование работы памяти, источника питания, модулей ввода-вывода и интерфейсов, таймеров и часов реального времени, реализует протоколы сетевого обмена. Код СПО расположен в ПЗУ и изменяться может только изготовителем ПЛК (некоторые производители контроллеров предусматривают возможность обновления СПО пользователем).
УКВХ. Замамбекова Д/Лешкова Г. Тема урока: Знакомство с прикладной программой «1 С:Предприятие 8.3»
Пользователь для решения своей конкретной задачи создает прикладную программу. Для этого сейчас используются только языки высокого уровня. Создание прикладной программы выполняется пользователем ПЛК при помощи специализированного пакета — системы программирования — на ПК. Код программы размещается в энергонезависимой памяти контроллера. Изменение кода может быть выполнено многократно.
Такой архитектурный подход обеспечивает пользователю простоту создания программы. Пользователь не должен знать, как обращаться к конкретным физическим элементам входа-вывода, — это делают драйверы СПО. Компоненты СПО обеспечивают работу некоторых составных компонентов программы — таймеров, счетчиков. СПО организует сетевое взаимодействие с удаленными элементами системы, предоставляет пользователю информацию о текущем состоянии прикладной программы. Пользователю кажется, что все эти задачи и задачи прикладной программы решаются одновременно — СПО реализует многозадачный режим работы контроллера.
После включения питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов, очистку оперативной памяти данных (ОЗУ), контроль целостности прикладной программы пользователя. Если прикладная программа сохранена в памяти (загружена) и нет запрета ее запуска, ПЛК переходит к выполнению ее действий.
Задачи управления любым объектом требуют непрерывного контроля его состояния. В любых цифровых системах (автоматах или программируемых микропроцессорных устройствах) непрерывность контроля и управления достигается за счет применения дискретных алгоритмов, повторяющихся через некоторые достаточно малые промежутки времени. По этой причине и в ПЛК действия прикладной программы выполняются циклически. Причем в каждом таком цикле — его называют рабочим циклом ПЛК — выполняются определение значений на входах, соответствующий расчет, выработка и выдача управляющих воздействий.
Для более детального рассмотрения последовательности действий, выполняемых контроллером в рабочем цикле, выделим следующие его фазы.
ОС: классификация и виды
- 1. Чтение состояния входов.
- 2. Выполнение кода программы пользователя.
- 3. Запись состояния выходов.
- 4. Обслуживание аппаратных ресурсов ПЛК.
- 5. Монитор системы исполнения.
- 6. Контроль времени цикла.
В начале цикла ПЛК производит чтение значений сигналов с физических входов. Считанные значения размещаются в области памяти входов — создается полная одномоментная копия значений входов. Выполнение первой фазы обеспечивается драйверами системного программного обеспечения.
Далее выполняется код прикладной программы пользователя, которая работаете копией значений входов, зафиксированных и размещенных в оперативной памяти, т.е. со значениями, которые в процессе выполнения пользовательской программы в пределах одного рабочего цикла не изменяются. Это фундаментальный принцип функционирования абсолютного большинства промышленных ПЛК (ссылаясь на него, иногда подобные ПЛК выделяют в отдельный класс контроллеров сканирующего типа).
Такой подход исключает неоднозначность алгоритма обработки данных в различных его ветвях и в конечном счете во многом определяет простоту создания программы. Кроме этого, пользователь не должен знать процедуру обращения к физическим входам, которых по типам может быть достаточно много — за него чтение проводит системное программное обеспечение. Пользователь должен лишь знать, как в рамках прикладной программы обратиться в ОЗУ к переменным, соответствующим по величине сигналам на физических входах. При этом учитывается, что чтение этих переменных из ОЗУ в ходе выполнения прикладной программы будет выполняться значительно быстрее, чем их предварительная запись с физических входов.
В процессе выполнения прикладной программы все рассчитанные значения, которые нужно вывести на физические выходы, фиксируются в оперативной памяти. Физические выходы ПЛК приводятся в соответствие с расчетными значениями после выполнения кода пользовательской программы. Эти действия выполняются системным программным обеспечением в отдельной фазе рабочего цикла.
Обратим внимание, что такой подход к работе с входами и выходами предполагает еще на уровне создания контроллеров необходимость выделения в их памяти областей, специально предназначенных для записи состояния дискретных и аналоговых входов и выходов.
Далее системное программное обеспечение переходит к фазе обслуживания аппаратных ресурсов — обеспечивается выполнение аппаратно-зависимых задач — ведение системных таймеров, часов реального времени, оперативное самотестирование, индикация состояний и пр.
Если пользователь выполняет контроль работы контроллера (отладку программы), то в рамках системного программного обеспечения в следующей фазе рабочего цикла управление передается монитору системы исполнения. Задача мониторинга (текущего контроля) системы исполнения включает большое число функций, необходимых при отладке программы и обеспечении взаимодействия с системой программирования, сервером данных и сетью, — просмотр и редактирование значений переменных, фиксация и трассировка значений переменных, контроль времени цикла и т.д. Отладчик системы программирования имеет доступ к образу входов-выходов, что позволяет в процессе отладки программы (и (или) оборудования) вручную менять уровень сигналов на входах и проводить исследования работы программы или исполнительных механизмов.
Заканчивается цикл ПЛ К фазой контроля времени цикла контроллера. Смысл выполнения этой фазы сводится к обеспечению постоянства данного цикла. Если не принимать специальных мер, то длительность цикла контроллера будут зависеть от времени выполнения прикладной программы и может в зависимости от условий реализации алгоритма все время меняться.
Вместе с тем качественное решение некоторых задач управления, например реализация автоматического регулирования, будет зависеть от стабильности цикла получения входных значений и выдачи сигналов управления. Поэтому во многих контроллерах их создателями предусматривается для пользователя возможность фиксации длительности цикла в некоторых определенных пределах.
Для обеспечения постоянства цикла контроллера в него вводится аппаратный таймер, задающий его длительность. Таймер следит, не превышает ли время выполнения прикладной программы заданного по длительности цикла. Если пользователь исходя из знания того, как работает программа, правильно задал длительность цикла, а прикладная программа выполняется дольше, то это будет означать или зацикливание прикладной программы, или наличие аппаратных сбоев, приводящих к общему сбою («зависанию») контроллера. При этом таймер осуществляет сброс контроллера в исходное состояние, что позволяет или обеспечить дальнейшую работу контроллера вновь в нормальном режиме, или однозначно идентифицировать его устойчивое аварийное состояние. Кроме того, отсчеты этого аппаратного таймера обычно используются системным программным обеспечением для ведения часов реального времени и отсчета времени программными таймерами в прикладной программе.
Общая продолжительность рабочего цикла ПЛ К (времени сканирования) в значительной степени определяется длительностью фазы выполнения кода пользовательской программы. Время, занимаемое прочими фазами рабочего цикла, как правило, существенно меньше и практически является величиной постоянной.
Обычно существует возможность устанавливать один из двух способов исполнения ПЛ К рабочего цикла: циклический — новый цикл начинается сразу по окончании предыдущего цикла или периодический — программист задает минимальную длительность цикла ПЛ К. Во втором случае если предыдущий цикл завершился раньше заданного времени, то начало нового цикла задерживается до тех пор, пока не пройдет установленная длительность цикла.
Если пользователь задает длительность цикла контроллера, то делает это исходя из безусловного выполнения требования того, чтобы программа гарантированно (с некоторым запасом) выполнялась за время данного цикла. Пользователь при этом ориентируется на объем программы и быстродействие процессорного модуля ПЛ К. Быстродействие процессорного модуля обычно оценивают по времени выполнения логических команд, поскольку они наиболее распространены при реализации алгоритмов управления. В технических характеристиках ПЛ К может приводиться типовое время рабочего цикла, которое равно времени выполнения пользовательской программы, содержащей 1 К логических команд (на языке ST стандарта МЭК 61131-3).
Требования к длительности контроллерного цикла существенно зависят от области применения ПЛК. Если исходя из условий решаемой задачи управления пользователя не устроит время цикла выполнения созданной программы на имеющемся в его распоряжении контроллере, то это будет основанием для выбора контроллера с большей производительностью (быстродействием).
Время цикла не единственный фактор выбора контроллера определенной производительности. Работа контроллеров характеризуется еще временем реакции — временем с момента изменения состояния системы до момента выдачи соответствующей реакции. Очевидно, для ПЛК время реакции зависит от распределения моментов возникновения события и начала фазы чтения входов. Если изменение значений входов (событие) произошло непосредственно перед фазой чтения входов, то время реакции будет наименьшим и фактически равным времени цикла контроллера (рис. 1.2.2, а).
Рис. 1.2.2. Рабочий цикл ПЛК и определение времени реакции на событие
Худший случай будет наблюдаться, если изменение значений входов происходит сразу после фазы чтения входов (рис. 1.2.2, б). Тогда время реакции будет наибольшим, равным почти удвоенному времени цикла контроллера (цикла сканирования).
При оценке общего времени реакции проектируемой системы управления, помимо времени реакции ПЛК, существенное значение имеет время реакции датчиков и исполнительных механизмов, которое также необходимо учитывать.
На самом деле все несколько сложнее. Аппаратно чтение входа может быть связано с формированием определенных временных интервалов, передачей последовательности команд по внутренней шине на периферийные модули или даже запросом по сети. Поэтому работа по чтению входов далеко не всегда полностью локализована в фазе чтения входов.
Например, блоки аналогового ввода включают аналого- цифровые преобразователи, которые требуют определенного времени с момента их запуска до считывания измеренного значения. В зависимости от способа реализации аналого-цифровых преобразователей это время может быть весьма существенным (сотни миллисекунд) и даже превышать время цикла контроллера. Осложняется это еще и тем, что весь поток задач, возникающий перед контроллером, выполняется в рамках организации режима его работы как многозадачного.
Контроллер все время должен выполнять определенный поток задач, причем моменты их запросов на выполнение между собой никоим образом не синхронизированы. Только кажется, что все задачи контроллером решаются одновременно или в строго определенной последовательности. Для этого используется тот или иной подход для организации его многозадачной работы. Чаще всего выполнение отдельных задач или их частей осуществляется с использованием развитой системы прерываний центрального процессора контролера, а также отдельных коммуникационных процессоров и процессоров ввода-вывода.
Конечно, в любом случае можно рассчитать минимальное и максимальное значение времени реакции контролера и оценить, насколько нас это устраивает, но организация работы системы управления с учетом всего этого, строго говоря, соответствует работе систем в условиях мягкого реального времени.
Однако современные ПЛК имеют типовое значение времени рабочего цикла, измеряемое единицами миллисекунд и менее. Время реакции большинства исполнительных устройств значительно выше, постоянные времени управляемых объектов — секунды, и поэтому с реальными ограничениями возможности использования ПЛК по времени приходится сталкиваться редко. Качество регулирования в таких условиях устраивает абсолютное большинство пользователей. Для прикладного программиста все эти детали неважны. Для него при создании программы важно лишь то, что значения входов обновляются автоматически и исключительно в начале каждого рабочего цикла.
Строгий учет реальных подходов к аппаратной и программной реализации контроллера (к организации его архитектуры) нужен, только если существует необходимость обеспечения высокого качества регулирования быстро меняющихся процессов. Для этих случаев существуют ПЛК, в которых предусматривается непосредственная возможность доступа к каналам ввода-вывода из прикладной программы, что обеспечивает формирование отсчетов отдельных сигналов с длительностью, не превышающей длительности рабочего цикла. В наиболее развитых контроллерах пользователь имеет возможность создавать отдельные программные блоки, исполняемые по прерываниям, которые могут осуществляться во время работы и системного, и прикладного программного обеспечения или по внешним событиям либо по времени срабатывания встроенного таймера. Это позволяет существенно сокращать время реакции системы управления и обеспечивать ее работу в режиме жесткого реального времени.
Источник: studref.com
3.1.1. Базовое программное обеспечение
Операционная система (ОС) – это комплекс специальных программных средств, предназначенных для управления загрузкой компьютера, запуском и выполнением других пользовательских программ, а также для планирования и управления вычислительными ресурсами персонального компьютера. Она обеспечивает управление процессом обработки информации и взаимодействие между аппаратными средствами и пользователем.
Операционные системы ПК делятся на однозадачные и многозадачные.
В однозадачных ОС в один момент времени пользователь может работать только с одной конкретной программой (задачей). Примером однозадачных ОС служат MS-DOS, MSX.
Многозадачные ОС обеспечивают параллельное выполнение пользователем нескольких задач в разных программах. Количество одновременно выполняемых задач зависит от мощности системы Примером таких систем являются все версии Microsoft Windows, UNIX, OS/2,Linux, Mac OS.
Существуют также сетевые ОС (для локальных и глобальных сетей), предназначенные для обеспечения доступа ко всем ресурсам вычислительной сети. Примерами таких систем являются Novell Net Ware, Microsoft Windows-NT, UNIX, IBM LAN.
Сервисное программное обеспечение – это совокупность программных продуктов, предоставляющих пользователю дополнительные услуги в работе с компьютером и расширяющих возможности операционных систем.
По функциональным возможностям сервисные средства можно подразделять на средства:
- улучшающие пользовательский интерфейс;
- защищающие данные от разрушения и несанкционированного доступа;
- восстанавливающие данные;
- ускоряющие обмен данными;
- антивирусные;
- программы архивации-дезархивации.
Программы технического обслуживания – совокупность программно-аппаратных средств для диагностики и обнаружения ошибок в процессе работы компьютера и вычислительной системы в целом. Примером такой программы может служить Doctor Hardware, пакет CheckIt для Windows.
Инструментальное программное обеспечение – это комплекс программ, предназначенных для разработки, корректировки или развития программного обеспечения.
3.1.2. Прикладное программное обеспечение
Прикладное программное обеспечение предназначено для разработки и выполнения конкретных задач пользователя. Прикладное ПО работает под управлением операционных систем (базового ПО). Прикладное ПО включает в себя пакеты прикладных программ и прикладные программы пользователя.
Пакет прикладных программ (ППП) – это комплекс программ, предназначенных для выполнения задач определённого класса.
Различают следующие типы прикладного ПО:
– ПО общего назначения
– ПО для глобальных сетей;
– ПО для администрирования вычислительного процесса.
Прикладное программное обеспечение общего назначения
К прикладному ПО общего назначения относятся следующие ППП:
- текстовые и графические редакторы, издательские системы;
- электронные таблицы;
- системы управления базами данных;
- интегрированные пакеты;
- Case-технологии;
- оболочки экспертных систем и систем искусственного интеллекта.
Редакторами называются программные продукты, предназначенные для создания и изменения текстов, документов, графических данных и иллюстраций. Редакторы по своим функциональным возможностям можно подразделить на текстовые редакторы, графические редакторы и издательские системы.
Текстовые редакторы используются для обработки текстовой информации и выполняют следующие функции: запись текста в файл; вставку, удаление, замену символов, строк и фрагментов текста; проверку орфографии; оформление текста различными шрифтами; выравнивание текста; подготовку оглавлений, разбиение текста на страницы; поиск и замену слов и выражений; включение в текст несложных иллюстраций; печать текста.
Наибольшее распространение получили текстовые редакторы Microsoft Word, Word Perfect, ChiWriter, MultiEdit, AmiPro, Lexicon.
Графические редакторы (в т. ч. CAD-системы) предназначены для создания и обработки графических документов, включая диаграммы, иллюстрации, чертежи, схемы.
Наиболее популярны следующие графические редакторы:
Adobe Photoshop, CorelDRAW, PaintBrush, Adobe Illustrator.
Издательские системы соединяют в себе возможности текстовых и графических редакторов. Они обладают развитыми возможностями по формированию полос с текстовыми и графическими материалами и последующим выводом на печать. Эти системы ориентированы на использование в издательском деле и называются системами верстки. Примером таких систем служат программы Adobe PageMaker и Ventura Publisher.
Электронной таблицей называется программа для обработки числовых данных в таблицах. Данные разных типов (числа, символьные данные, формулы) хранятся в отдельных ячейках таблицы. С помощью формул задаются зависимости значения одних ячеек от содержимого других ячеек. Наиболее популярной электронной таблицей можно считать MS Excel.
Для работы с базами данных используется специальное ПО – системы управления базами данных (СУБД). Базой данных (БД) называют совокупность специальным образом организованных наборов данных, хранящихся на диске. Управление базой данных включает в себя ввод данных, их коррекцию и манипулирование данными, т. е. добавление, удаление, извлечение, обновление и другие операции.
В зависимости от способа организации данных различают сетевые, иерархические, распределенные и реляционные СУБД. Из имеющихся СУБД наибольшее распространение получили Microsoft Access, Microsoft FoxPro, MS SQL Server, Borland Paradox, MySQL, а также СУБД компании Oracle, Informix, Ingress, Sybase, Progress и др.
Интегрированными пакетами называется совокупность функционально различных программных продуктов общего назначения, дополняющих друг друга, способных взаимодействовать между собой путем обмена данными, имеющих единый пользовательский интерфейс, реализованных на единой операционной вычислительной платформе. Обычно они включают в себя текстовый редактор, электронную таблицу, графический редактор, СУБД, несколько других программ и коммуникационный модуль. В настоящее время интеграция программных модулей носит объектно-связанный характер, особенностью которого является использование несколькими приложениями общих ресурсов. Наиболее популярными интегрированными пакетами являются Microsoft Office, Framework, Startnave, Lotus SmartSuite for Windows, Borland Office for Windows.
CASE-технологии применяются при создании сложных информационных систем, обычно требующих коллективной реализации проекта, в котором участвуют различные специалисты: системные аналитики, проектировщики и программисты.
При использовании CASE-технологии, каждый специалист решает задачи только своего уровня, не отвлекаясь на другие детали.
Экспертные системы — это системы обработки знаний в узкоспециализированной области подготовки решений пользователей на уровне профессиональных экспертов. Экспертные системы используются для прогноза ситуаций, диагностики состояния объекта, целевого планирования, управления процессом функционирования. Они возникли вследствие компьютеризации процессов решения задач типа «что будет, если. », основанных на логике и опыте специалистов. Примером оболочек экспертных систем может служить Expert-Ease, применяемая в экономике.
Методо-ориентированное прикладное программное обеспечение
Методоориентированные пакеты служат для реализации того или иного метода (математического, статистического и т.п.) решения типовых задач, независимо от предметной области. Примером таких программ могут служить программы MatCAD, Time Line, Microsoft Project, Sure Trak, Open Plan Professional.
Источник: studfile.net
Операционные системы. Прикладные программы
Программа – это последовательность команд компьютеру на выполнение действий с данными.
Совокупность программ, которыми оснащен компьютер, называют его программными средствами (software).
Программное обеспечение ПО – совокупность программ и программной документации.
Классификация программ
Программы можно подразделить на:
Прикладной называют программу для решения конкретной задачи. Комплексы взаимосвязанных прикладных программ называются пакетами прикладных программ (ППП).
Примеры прикладных программ:программы научных расчетов, текстовые редакторы, видео и аудио плееры, программы управления технологическим процессом и т.д.
Системные программы обеспечивают работу прикладных программ. Системные программы подразделяются на
— операционные системы (обеспечивают выполнение прикладных программ и предоставляют человеку средства управления компьютером)
— сервисные системы (для облегчения работы с компьютером – например, Norton Comander, системные утилиты и т.п.)
— инструментальные системы (программы для разработки программ и автоматизированных систем)
— системы управления базами данных (СУБД)
Это – программы «зашитые» в чипах (микропроцессорах) электрон-ных схем различных устройств; например, устройств компьютера.
Пример: на материнской плате в ПЗУ зашита программа BIOS — базовая система ввода-вывода.
начальная проверка оборудования при включении компьютера (процедура POST) и передача управления операционной системе,
обслуживание запросов операционной системы по выполнению операций ввода-вывода данных,
настройка конфигурации устройств компьютера (SMOS);
настройка конфигурации основных параметров работы материнской платы.
Чтобы обеспечить правильную работу с оборудованием компьютера, BIOS должна «знать» его аппаратную конфигурацию. Эта информация хранится в CMOS RAM (Complementary Metal Oxide Conductor RAM) — специальной микросхеме памяти, для питания которой используется батарейка, установленная на системной плате. Благодаря этой батарейке, данные в CMOS сохраняются и при выключенном питании компьютера.
Выделение BIOS в отдельный программный модуль позволяет обеспечить независимость других видов программного обеспечения от аппаратной специфики конкретной модели компьютера.
Основная причина необходимости такой системы программ состоит в том, что элементарные операции для работы с устройствами компьютера на самом деле состоят из сотен или тысяч операций. Назначение операционной системы состоит, прежде всего, в том, чтобы скрыть от пользователя эти сложные и ненужные ему подробности и предоставить ему удобные инструменты для работы.
Операционная система (ОС) обеспечивает выполнение двух главных задач:
— доступ прикладных программ к ресурсам компьютера (ЦП, ОП, устройствам)
предоставление пользователям средств (интерфейса — языка и средств его реализации) для управления компьютером.
Существует большое количество различных операционных систем. Для ПК среди многих ОС наибольшее распространение получили сначала СP/M (~1978), затем MS DOS (1981 Microsoft), далее – серия ОС WINDOWS (версии 3.1, 95, 97, 98, 2000, NT, Me, ХР), OS MAC, Unix и его модификации — Linux, Solaris и другие.
Операционная система, среди прочих компонентов, обычно содержит следующие:
— драйверы внешних устройств
Источник: studopedia.su