|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Языки программирования контроллеровДля программирования ПЛК используются стандартизированные языки МЭК (IEC) стандарта IEC61131-3. Языки программирования для инженеров по автоматизации (графические): 1. LD — Язык релейных схем — самый распространённый язык для PLC Ladder Diagram (англ. LD, англ. LAD, рус. РКС) — язык релейной (лестничной) логики. Применяются также названия: язык релейно-контактной логики (РКС) релейные диаграммы релейно-контактные схемы язык программирования релейно-лестничной логики стандарта МЭК 61131-3. Предназначен для программирования промышленных контроллеров (ПЛК). Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (true — если ток течет; false — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Пример логического выражения на LD Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях. ─┤ ├─ Нормально разомкнутый контакт разомкнут при значении false, назначенной ему переменной и замыкается при значении true. ─┤/├─ Нормально замкнутый контакт, напротив, замкнут, если переменная имеет значение false, и разомкнут, если переменная имеет значение true. ─()─ Итог логической цепочки копируется в целевую переменную, которая называется катушка (англ. coil). Это слово имеет обобщенный образ исполнительного устройства, поэтому в русскоязычной документации обычно говорят о выходе цепочки, хотя можно встретить и частные значения термина, например катушка реле. Конкретные версии языка реализуются обычно в рамках программных продуктов, для работы с определенными типами ПЛК. Часто такие реализации содержат команды, расширяющие множество стандартных команд языка, что вызвано желанием производителя полнее учесть желания заказчика, но в итоге приводят к несовместимости программ, созданных для контроллеров различных типов. 2. FBD — Язык функциональных блоков — 2-й по распространённости язык для PLC FBD (англ. Function Block Diagram) — графический язык программирования стандарта МЭК 611131-3. Предназначен для программирования программируемых логических контроллеров (ПЛК). Программа образуется из списка цепей, выполняемых последовательно сверху вниз. Цепи могут иметь метки. Инструкция перехода на метку позволяет изменять последовательность выполнения цепей для программирования условий и циклов. При программировании используются наборы библиотечных блоков и собственные блоки, также написанные на FBD или других языках МЭК 61131-3. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход ПЛК. Пример цепи FBD: A поделить на B, умножить на 2 и записать в переменную result При необходимости управления вызовом блоков в них добавляются специальные входы EN (enable) и выходы ENO. Логический ноль на входе EN запрещает вызов блока. Выход ENO используется для индикации ошибки в блоке и позволяет прекратить вычисление остатка цепи. Язык FBD прост в изучении, нагляден и удобен для прикладных специалистов, не имеющих специальной подготовки в области информатики. Жесткая последовательность выполнения приводит к простой внутренней структуре команд, которая транслируется в быстрый и надежный код. Существует много практических реализаций языка FBD с определенными расширениями или ограничениями. Одним из вариантов FBD является язык программирования CFC (Continuous Function Chart). Он позволяет произвольно задавать порядок выполнения блоков. Диаграммы CFC дают программисту большую свободу действий, но платой за это является несколько большая вероятность допустить ошибку и более объемный код. Существует модификация FBD допускающая использование только чистых функций с одним выходом, без промежуточных состояний. Она реализует парадигму функционального программирования. 3. SFC — Язык диаграмм состояний — используется для программирования автоматов SFC — графический язык, предназначенный для написания программ последовательного управления технологическим процессом, описывающий его в форме близкой к диаграмме состояний. Аналогом может служить сеть Петри с разноцветными фишками. В каждом состоянии система выполняет действия (подпрограммы) с определенными модификаторами. Например, модификатор N — исполнять, пока состояние активно. Пример: Поддержание уровня жидкости в сосуде с непрерывно вытекающей жидкостью Основными элементами языка являются: состояния, в которых выполняются определенные действия, одновременно могут быть активны несколько состояний, одно из состояний является начальным; переходы из состояния в состояние, для каждого перехода задаются логическое условие перехода к следующему шагу альтернативное ветвление алгоритма, когда из текущего состояния возможны переходы к нескольким состояниям, при этом каждому переходу соответствует свое логическое условие и при выполнении алгоритма производится только один из альтернативных переходов параллельное ветвление, в отличие от альтернативного имеет общее условие перехода на несколько параллельно работающих веток переход к заданному состоянию остановка процесса
При программировании контроллеров семейства SIMATIC, используются две версии этого языка, разработанных в компании Siemens. Язык Graph 7 является дополнением к пакету STEP 7 и реализуем как для контроллеров SIMATIC S7-300, так и SIMATIC S7-400. Вторая версия этого языка под названием SFC, применяется только в рамках интегрированной среды разработки программ контроллеров и систем человеко-машинного интерфейса SIMATIC PCS 7. 4. CFC — Не сертифицирован IEC61131-3, дальнейшее развитие FBD Языки для программистов ПЛК (текстовые) 1. IL — Ассемблер IL (Instruction List) — язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров. По синтаксису напоминает ассемблер. Ориентирован на профессиональных программистов и разработчиков контроллеров и ПО для них. Является вместе с LD одним из самых распространённых при программировании ПЛК.
Пример: Линейное преобразование Y(x)=A*x+B LD x MUL A ADD B ST Y Реализация языка Instruction List для контроллеров SIMATIC S7 производства SIEMENS носит наименование STL (Statement List) или AWL (Anweisungsliste). 2. ST — Паскале-подобный язык Structured Text (ST) — язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров и операторских станций. Широко используется в SCADA/HMI/SoftLogic пакетах. По структуре ближе всего к языку программирования Паскаль. Удобен для написания больших программ и работы с аналоговыми сигналами и числами с плавающей точкой. Пример Вычисление максимума из массива VAR_CONSTANT Array_Sz:BYTE:=4; END_VAR VAR Iter:BYTE; arr:ARRAY [1..Array_Sz] of real:=3.2,4.2,1.4,7.8; fnd_max:REAL:=-1.2E38; END_VAR FOR Iter:=1 TO Array_Sz DO fnd_max:=MAX(fnd_max,arr[Iter]); END_FOR Выражения Основой ST-программы служат выражения. Выражения состоят из операндов (констант и переменных) и операторов Операторы являются «командами» языка программирования ST. Они должны заканчиваться точкой с запятой. Одна строка может содержать несколько операторов (отделяемых точками с запятой). Результат вычисления выражения присваивается переменной при помощи оператора присваивания:=. Каждое выражение обязательно заканчивается точкой с запятой "; ". Выражение состоит из переменных, констант и функций, разделенных операторами, например: Varl: 1+Var2 / ABS(Var2); Стандартные операторы в выражениях языка ST имеют символьное представление, например математические действия: +, -, *, /, операции сравнения и т. д. Имена, используемые в исходном коде (идентификаторы переменных, константы, ключевые слова) разделены неактивными разделителями (пробелами, символами окончания строки и табуляции) или активными разделителями, которые имеют заранее определенное значение (например, символ-разделитель " > " означает сравнение больше чем, а символ " + " операцию сложения и т. д.). Неактивные разделители могут быть свободно введены между активными разделителями, константами и идентификаторами. В отличие от неформатных языков, таких как IL, конец строки может быть введен в любом месте программы. Для улучшения читаемости программ нужно использовать неактивные разделители в соответствии со следующими правилами: не более одного оператора в строке; табуляцию для сдвига сложных операторов; комментарии. В текст могут быть введены комментарии, которые должны начинаться символами (* и заканчиваться ими же *). Несколько выражений можно записать в одну строку. Однако хорошим стилем считается за-пись одного выражения в строке. Длинные выражения можно перенести на следующую строку. Перенос строки равноценен пассивному разделителю. Выражение может включать другое выражение, заключенное в скобки. Выражение, заклю-ченное в скобки, вычисляется в первую очередь: bAlarm:=bylnpl > bylnp2 'AND' bylnpl+ bylnp2 о О 'OR' bAlarm2; Тип всех операндов выражения должен быть одинаковым. Для изменения типов использовать функции преобразования типов: BOO, ANA, REAL, TMR и MSG. Для того чтобы отделить и от части выражения и явно определить приоритетность операций используются скобки. Когда в сложном выражении нет скобок, приоритетность ST-операторов задана неявно. Например: 2 + 3*6 равно 2+18=20 - оператор * имеет высший приоритет (2+3) * 6 равно 5*6=30 - приоритет задается скобками Максимальное количество вложенных скобок — 8. Структурно в IEC61131-3 среда исполнения представляет собой набор ресурсов (в большинстве случаев это и есть ПЛК, хотя некоторые мощные компьютеры под управлением многозадачных ОС представляют возможность запустить несколько программ типа softPLC и имитировать на одном ЦП несколько ресурсов). Ресурс предоставляет возможность исполнять задачи. Задачи представляют собой набор программ. Задачи могут вызываться циклически, по событию, с максимальной частотой. Программа — это один из типов программных модулей POU. Модули (Pou) могут быть типа программа, функциональный блок и функция. В некоторых случаях для программирования ПЛК используются нестандартные языки, например: · Блок-схемы алгоритмов · Си-ориентированная среда разработки программ для ПЛК. · HiGraph 7 — язык управления на основе графа состояний системы. Инструменты программирования ПЛК на языках МЭК 61131-3 могут быть специализированными для отдельного семейства ПЛК (например, STEP 7 для контроллеров SIMATIC S7-300/400) или универсальными, работающими с несколькими (но далеко не всеми) типами контроллеров: · CoDeSys · ISaGRAF · ИСР "КРУГОЛ" · Beremiz
73. Походы к реализации АСУ ТП. Прежде, чем перейти к рассмотрению аппаратных средств автоматизации, следует обратить внимание на особенности различных технологических процессов нефтегазовой отрасли. Именно эти особенности определяют архитектуру АСУТП и применяемые для ее реализации аппаратные средства автоматизации. * Для технологических процессов добычи и транспорта нефти и газа характерна значительная рассредоточенность объектов по площадям (добывающие скважины, нагнетательные скважины, групповые замерные установки, кустовые насосные станции, линейные участки магистральных нефте-газо-продуктопроводов и т. д.). С другой стороны, многие технологические процессы сосредоточены на сравнительно небольших площадях. Это установки подготовки нефти, установки комплексной подготовки газа, компрессорные и насосные станции магистральных газо-нефтепроводов, дожимные насосные станции, все технологические процессы переработки нефти и газа, а также нефтехимические процессы и т. д. Очевидно, комплекс технических средств и организация каналов связи при автоматизации таких объектов различны. * Управление технологическими процессами добычи нефти и газа сводится к управлению оборудованием - электроцентробежными или штанговыми насосами, групповыми замерными установками, кранами. Управление реализуется командами открыть, закрыть, включить, выключить, остановить, запустить (дискретное управление). Практически отсутствует непрерывное управление технологическими параметрами с обратной связью. Широко развиты функции контроля, сигнализации аварийных ситуаций, блокировок. Объектами управления в технологических процессах транспорта нефти и газа являются насосные и компрессорные агрегаты, цеховые и станционные краны, вспомогательное оборудование, а также линейные участки нефте- газопроводов, газораспределительные станции и т. п. Для линейных участков характерны контроль параметров, сигнализация отклонений и дискретное управление кранами. К тому же эти объекты удалены от пунктов управления на значительные расстояния. В то же время насосные и компрессорные станции - «компактные» объекты, при автоматизации которых наряду с контролем, сигнализацией и дискретным управлением часто реализуются функции непрерывного управления (регулирования). По-другому строится управление процессами подготовки и переработки нефти и газа. Наряду с задачами контроля и сигнализации отклонений здесь широко развиты функции стабилизации технологических параметров в режиме с обратной связью (непрерывное управление). Управление такими процессами требует применения более сложных алгоритмов (каскадные системы, системы с компенсацией возмущений, системы со взаимозависимыми параметрами, адаптивные системы, системы оптимального управления). Исходя из особенностей объектов автоматизации нефтегазовой отрасли, выдвигаются и соответствующие требования к архитектуре, а также аппаратным и программным средствам АСУТП. Для автоматизации непрерывных технологических процессов подготовки нефти и газа, заводских процессов переработки нефти и газа, а также нефтехимических процессов наиболее адаптированы DCS-системы. В таких системах все известные функции автоматизации распределены между различными аппаратными средствами системы управления. Каждый компонент системы узко специализирован и «занимается своим делом». Наиболее характерная черта управляющих процессоров DCS-систем - способность поддерживать от нескольких десятков до нескольких сот контуров ПИД-регулирования. Для рассредоточенных объектов, таких, как нефтяные и газовые промыслы, а также для объектов транспорта нефти и газа применяют SCADA-системы. Задачей таких систем является обеспечение автоматического дистанционного наблюдения и дискретного управления функциями большого количества распределенных устройств (часто находящихся на большом расстоянии друг от друга и от диспетчерского пункта). Количество возможных устройств, работающих под управлением систем диспетчерского контроля и управления, велико и может достигать нескольких сотен. Для этих систем наиболее характерной задачей является сбор и передача данных, которая реализуется дистанционно расположенными терминальными устройствами (RTU). На рис. 1.1 представлена схема комплекса технических средств многоуровневой системы управления, обобщающая многочисленные применения таких систем для управления технологическими процессами нефтяной и газовой промышленности.
Рис.1.1 Общая архитектура систем управления. Как правило, это двух- или трехуровневые системы, и именно на этих уровнях реализуется непосредственное управление технологическими процессами. Специфика каждой конкретной системы управления определяется используемой на каждом уровне программно - аппаратной платформой. · Нижний уровень - уровень объекта (контроллерный) - включает различные датчики (измерительные преобразователи) для сбораинформации о ходе технологического процесса, электроприводы и исполнительные устройства для реализации регулирующих и управляющих воздействий. Датчики поставляют информацию локальным контроллерам (PLC), которые могут обеспечить реализацию следующих функций: - сбор, первичная обработка и хранение информации о состоянии орудования и параметрах технологического процесса; - автоматическое логическое управление и регулирование; - исполнение команд с пункта управления; - самодиагностика работы программного обеспечения и состояния самого контроллера; - обмен информацией с пунктами управления. Разработка, отладка и исполнение программ контроллерами осуществляется с помощью специализированного программного обеспечения, широко представленного на рынке. Это, прежде всего, многочисленные пакеты программ для программирования контроллеров, предлагаемые производителями аппаратных средств. К этому же классу инструментального ПО относятся и пакеты ISaGRAF (CJ International France), InConrol (Wonderware, USA), Paradym 31 (Intellution, USA), имеющие открытую архитектуру. · Информация с локальных контроллеров может направляться в сеть диспетчерского пункта непосредственно, а также через контроллеры верхнего уровня (см. рис. 1.1). В зависимости от поставленной задачи контроллеры верхнего уровня (концентраторы, коммуникационные контроллеры) реализуют различные функции. Некоторые из них перечислены ниже: - сбор данных с локальных контроллеров; - обработка данных, включая масштабирование; - поддержание единого времени в системе; - синхронизация работы подсистем; - организация архивов по выбранным параметрам; - обмен информацией между локальными контроллерами и верхним уровнем; - работа в автономном режиме при нарушениях связи с верхним уровнем; - резервирование каналов передачи данных и др. · Верхний уровень - диспетчерский пункт (ДП) - включает одну или несколько станций управления, представляющих собой автоматизированное рабочее место (АРМ) диспетчера/оператора. Здесь же может быть установлен сервер базы данных. На верхнем уровне могут быть организованы рабочие места (компьютеры) для специалистов, в том числе и для инженера по автоматизации (инжиниринговые станции). Часто в качестве рабочих станций используются ПЭВМ типа IBM PC различных конфигураций. Станции управления предназначены для отображения хода технологического процесса и оперативного управления. Эти задачи и призвано решать прикладноепрограммное обеспечение SCADA,ориентированное на разработку и поддержание интерфейса между диспетчером/оператором и системой управления, а также на обеспечение взаимодействия с внешним миром. · Все аппаратные средства системы управления объединены между собой каналами связи. На нижнем уровне контроллеры взаимодействуют с · датчиками и исполнительными устройствами, а также с блоками удаленного и распределенного ввода/вывода с помощью специализированных сетей удаленного ввода/вывода и полевых шин. Связующим звеном между локальными контроллерами и контроллерами верхнего уровня, а часто и пультами оператора являются управляющие сети. Связь различных АРМ оперативного персонала между собой, с контроллерами верхнего уровня, а также с вышестоящим уровнем осуществляется посредством информационных сетей.
DCS-системы. Распределённая система управления (англ. Distributed Control System, DCS) — система управления технологическим процессом, характеризующаяся построением распределённой системы ввода вывода и децентрализацией обработки данных. РСУ применяются для управления непрерывными и гибридными технологическими процессами (хотя, строго говоря, сфера применения РСУ только этим не ограничена). К непрерывным процессам можно отнести те, которые должны проходить днями и ночами, месяцами и даже годами, при этом остановка процесса, даже на кратковременный период, может привести к порче изготавливаемой продукции, поломке технологического оборудования и даже несчастным случаям. Классическим примером непрерывного процесса является изготовление стекла в стекловаренной печи. Сферы применения РСУ многочисленны: Химия и нефтехимия. Нефтепереработка и нефтедобыча. Стекольная промышленность. Пищевая промышленность: молочная, сахарная, пивная. Газодобыча и газопереработка. Металлургия. Энергоснабжение и т. д. Требования к современной РСУ: Отказоустойчивость и безопасность. Простота разработки и конфигурирования. Поддержка территориально распределённой архитектуры. Единая конфигурационная база данных. Развитый человеко-машинный интерфейс. История Первые DCS были представлены на рынок в 1975 году компаниями Honeywell (система TDC 2000) и Yokogawa (система CENTUM). Американский производитель Bristol Babcock в том же году представил свои универсальные контроллеры UCS 3000. Иногда к DCS относят систему Contronic 3 фирмы Schoppe & Faeser. В 1979 году компания Fisher & Porter представила свою систему DCI-4000, а Invensys систему SPECTRUM. В 1980 году компания Bailey представила систему NETWORK 90, а компания Alfa Laval систему SattLine. Современный рынок Основными современными системами DCS сегодня являются: ABB System 800xA Areva T&D PACiS Alstom ALSPA 6 Emerson Process Managment Ovation Honeywell Experion PKS TDC3000 Total Plant Solution (TPS) Invensys Foxboro I/A Series Foxboro A2 (Eurotherm Suite) Rockwell Automation Logix Schneider Electric PlantStruXure на базе UAG Siemens SIMATIC PCS7 (включая CEMAT и BRAUMAT) APACS QUADLOG SPPA-T3000 Yokogawa CENTUM CS 3000 В сумме указанные производители занимают более половины мирового рынка DCS-систем. Прочие более-менее заметные производители это Metso, Yamatake, Toshiba, Hitachi, Fuji.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.025 сек.) |