Гл1_06 (1031650), страница 13
Текст из файла (страница 13)
Таким контроллерам допустимо работать в так называемом «мягком» реальном времени, структура их программногообеспечения является гибкой, они непосредственно не определяют параметры конкретнойтехнологии, а лишь переопределяют уставки (заданные параметры) процессов для локальныхконтроллеров. Для программирования и поддержки выполнения управляющих программ таких контроллеров применяют специализированные объектно-ориентированные языки и среды (Genesis, Genie, QNX-Momentics и др.) и универсальные (Windows) либо специализированные (QNX/Neutrino, Linux, VxWorks и др.) операционные системы (ОС).
Достаточно подробный обзор таких систем приведен в [1, 2, 3].Если центральный контроллер берет хотя бы часть целевых функций на себя, недопустимо ждать, когда ОС загрузится в течение минуты (и даже десяти секунд). И дело здесь не впервоначальном включении, а в том, что программные сбои из-за множества причин всегдавозможны. Ошибки оператора, сбои в питании, помехи – от этого можно защитится, но следует быть готовым к их проявлениям. Есть надежные средства обнаружения и устраненияпрограммных сбоев, но они связаны с перезагрузкой программного обеспечения.
В этом случае предпочтительнее выбирать специализированные ОС, разработанные на основе микроядра (QNX/Neutrino, Linux), когда возможно при трансляции создавать компактные программы,способные к автономной работе без поддержки полномасштабной ОС, либо, если есть возможность, полностью резидентные системы с заданной физической структурой программного обеспечения.Рябов Владимир Тимофеевич.
Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru51Международный стандарт МЭК 61131-3 определяет языки разработки программногообеспечения ПЛК, на основе которых созданы инструментальные среды для их программирования, как специальные, предназначенные для конкретных типов, так и универсальные. Такфирма Siemens на основе этого стандарта поставляет специальные средства разработки ПОдля своих контроллеров Siemens LOGO, Siemens SIMATIC и Siemens PC. Фирма 3S (SmartSoftware Solutions) поставляет универсальную среду CoDeSys, включающую редакторы дляввода программ на определенных стандартом шести языках программирования, компиляторы, генерирующие исполняемый машинный код и широкий набор средств отладки и сопровождения.Все языки делятся на символьные и графические.Символьные языки ориентированы как на профессиональных программистов, так испециалистов в предметных областях, знакомых с общими основами программирования.Язык IL (cписок инструкций) - низкоуровневый язык, применяемый для реализацииособо критичных по времени модулей проекта.
Характеризуется высоким временем разработки и требует углубленного знания структуры контроллера; широко используется при оптимизации. Этот язык схож с типовым ассемблером и каждый его исполняемый оператортранслируется в машинный код используемого микропроцессора или микроконтроллера.Язык ST, STL (cтруктурированный текст, язык структурированного текста). В системепрограммирования Siemens применена аббревиатура немецкого языка SCL. Из-за разных аббревиатур иногда возможна путаница, так язык Список инструкций IL на немецком обозначают также STL, поэтому далее мы будем придерживаться английских аббревиатур и всегдаприводить имя языка на русском. Структурированный текст – высокоуровневый Pascal-образный язык, наиболее широко применяющийся в настоящее время для разработки проектовПО ПЛК.
Сокращает время разработки, удобен как для реализации алгоритмов, так и сложных математических вычислений. Приведенный в начале раздела пример кванта вполне иллюстрирует этот язык.Графические языки ориентированы на специалистов в предметных областях и позволяют им свои профессиональные знания и умения применить для программирования ПЛК.Язык LD (контактно-релейные схемы) предназначен для разработчиков МП САУ,имеющих большой опыт разработки контактно-релейных систем. Программа на этом языкеизображается в виде электрической схемы, состоящей из набора цепей, состоящих из нормально разомкнутых и нормально замкнутых контактов, кнопов и катушек реле. Эти цепиподают питание на исполнительные механизмы. Все цепи в процессе работы программыпоочередно моделируются и, если состояния элементов схемы и внешние условия позволяютисполнительному механизму срабатывать, он включается. Таким образом реализуется типовое отношение условие-действие, положенное в основу управляющей программы.
Вся управляющая программа разбивается на ряд шагов, описывающих отношение условие-действие,после окончания очередного действия система переходит к следующему шагу и так до завершения цикла. По своей сути программа внешне похожа на контактно-релейную схему ипри компиляции создает программный код, моделирующий работу изображенной схемы.Язык FBD (функциональные блоковые диаграммы) ориентирован на специалистов,имеющих опыт разработки принципиальных электрических схем с ипользованием логических ячеек, триггеров, таймеров и других электронных компонентов, являвшихся основойдискретной электроники в 60-е…70-е годы. Тогда на таких элементах часто разрабатываласьвся система управления.
Сейчас такие компоненты в виде интегральных схем (ИС) малой исредней степени интеграции также выпускаются, но используются в основном для периферийных цепей САУ. Программа на этом языке напоминает принципиальную электрическуюсхему на ИС.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н.
Э. Баумана, V_Ryabov@mail.ru52На языке SFS (последовательные функциональные схемы) программа выглядит какавтоматный граф и включает в себя события (условия перехода) и действия (состояния). Всеусловия перехода размечаются, в каждом из состояний задается список управляющих воздействий и готова программа, представляющая из себя, по сути, один последовательный процесс. Проблема лишь в том, что описать совокупность параллельно протекающих процессовтаким образом в одной программе достаточно сложно, а подчас и невозможно. Правда, эточасто и не нужно.Язык CFS (непрерывные функциональные диаграммы) ориентирован на специалистовв области автоматики и систем автоматического регулирования.
В нем программа изображается, как ряд структурных схем систем автоматического регулирования. Имеется возможность задавать обратные связи, элементы сравнения, законы регулирования.Языки контактно-релейных схем LD и функциональных блоковых диаграмм FBD часто бывают встроены в ПЛК малой и средней сложности, реализуя все возможности его вычислительного ядра. Больших возможностей языка программирования для таких контроллеров просто и не требуется.
Таким образом, ПЛК для своего программирования не требует никаких инструментальных средств и является законченным автономным изделием.В развитых системах проектирования программного обеспечения эти языки могутсмешиваться и дополнять возможности друг друга. Известны два стиля или две манеры программирования – централизованная и децентрализованная.При централизованном программировании каждый последовательный процессоформляется как некоторая подпрограмма (задача), которая запускается из диспетчера задач.Диспетчер задач, в свою очередь, оформляется как некоторая главная ведущая задача на каком либо графическом либо символьном языке МЭК 61131-3 и в соответствии с условием запуска (время либо событие) будет перезапускать подчиненные ему процессы или задачи. Придобавлении очередной задачи в систему следует корректировать и диспетчер задач.При децентрализованном программировании каждый процесс включает в себя условия перезапуска и оформляется как совокупность синхро, интер, либо экстраквантов.
Диспетчер задач входит в базовую операционную систему, является универсальным и, анализируяситуацию, принимает решение о запуске того или иного кванта исходя из условий и приоритетов. При таком подходе программа становится более переносимой. При добавлении очередного процесса (потока) нужно лишь позаботиться о его первоначальной инициации. Ктото первый раз должен обнаружить критерий запуска и инициировать процесс, а дальше вседолжно быть, как предусмотрено в самом процессе, если быстродействия системы хватает.При такой манере программирования Вы нигде не увидите фактической последовательностидействий машины, она реализуется только при параллельном протекании и взаимодействиипрограммных потоков.Вопросы к экзамену.1.
Структура программного обеспечения САУ на физическом и логическом уровнях.2. Языки программирования программируемых логических контроллеров.Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru531.6. Эталонная модель взаимодействия открытых системСистема управления технологическим оборудованием, представляющая из себя локальную информационно-управляющая сеть, должна следовать общим концепциям построения компьютерных сетей.
Универсальный тезис о пользе стандартизации, справедливый длявсех отраслей, здесь приобретает особое значение. Суть сети - это соединение разного оборудования, а значит, проблема совместимости является одной из наиболее острых. Без принятиявсеми производителями и разработчиками общепринятых правил построения оборудованияпрогресс в деле "строительства" сетей был бы невозможен.В компьютерных сетях идеологической основой стандартизации является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этогоподхода в 1984 году международной организацией по стандартизации – ISO был выпущенстандарт под названием "Эталонная модель взаимодействия открытых систем" (OpenSystem Interconnect - OSI) или OSI/ISO.















