Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2. Методы программирования контроллеров.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.66 Mб
Скачать

2.4. Классификация методов разработки по контроллеров

Как показала практика, стоимость создания систем промышленной автоматизации определяется в основном затратами на разработку ПО, доля которого может доходить до 60%.

К лассификация методов программирования ПЛК

  1. программирование на ассемблере конкретного процессора контроллера. Этот способ позволяет создавать компактные и быстрые программы, но требует программиста высокой квалификации. При этом полностью отсутствует переносимость программ на другие процессоры.

  2. программирование на языках высокого уровня (например Си);

    1. взаимодействием с аппаратными ресурсами контроллера прямое. Быстродействие хуже, чем в первом варианте. Требования к квалификации программиста практически те же. Но повышается переносимость программ, т.к. язык программирования Си более-менее стандартен. При переходе на другую элементную базу достаточно переписать алгоритмы взаимодействия с аппаратными ресурсами контроллера, не затрагивая логику работы программы.

    2. в заимодействием с аппаратными ресурсами контроллера посредством операционной системы. Быстродействие незначительно ухудшается по сравнению с вариантом 2.1 из-за появления дополнительной прослойки. Программист дополнительно должен знать особенности конкретной ОС РВ. Переносимость при наличии для нового контроллера той же ОС РВ без всяких проблем.

  3. программирование на специализированных языках. Быстродействие худшее из всех, т.к. отсутствует множество возможностей программирования (прямое обращения к памяти, портам ввода/вывода и т.д.). Но благодаря этому снижаются требования к программисту, т.к. становится труднее сделать ошибки в программе. Языки программирования приближены к особенностям систем автоматизации. Переносимость полная (при наличии системы исполнения).

К методам группы 2.2. относится, например, пакет DevPak для OS-9 или кросс-системы, имеющиеся практически на любых современных компьютерных платформах: Unibridge (Unix), PCbridge (PC), FasTrack (Unix, DOS, Windows). В составе этих систем поставляется большое количество драйверов ввода/вывода, и прикладное ПО для ПЛК становится мобильным в рамкай одной ОС. Но, во-первых, мобильность ограничена рамками одной инструментальной системы, и, во-вторых, программирование ПЛК таким способом нетрадиционно и, в общем, неадекватно: требуется знание ОС и языков программирования.

2.5. Стандарт iec 61131-3.

Проблема выбора той или иной системы для программирования ПЛК обычно реша­ется сама при выборе пользователем конкретного контроллера. Практически каж­дый производитель ПЛК поставляет в комплекте с оборудованием программное обеспечение, позволяющее программировать данный контроллер. Такое программ­ное обеспечение чаще всего применимо только к контроллерам конкретного произ­водителя, а иногда и только к конкретному тину контроллера. Например, в рамках спектра продукции компании Schnekler Electric существует целый ряд программ­ных пакетов: система PL7 предназначена для программирования контроллеров TSX Micro и TSX Premium, пакет Concept для TSX Momentum и TSX Quantum, также существуют свои системы для программирования контроллеров Zeiio и Twido. Неко­торые компании придерживаются единой системы программирования своих кон­троллеров. Например, все контроллеры компании GE Fanuc программируются при помощи единого пакета VersaPro.

При этом программирование всех контроллеров данного производителя при по­мощи единого пакета в данном случае не является наиболее весомым достоинством. Поскольку в настоящее время подавляющее большинство контроллеров (исключая PC-base) программируются па языках стандарта IEC 61131-3, переход от одного программного пакета к другому обычно не требует значительных затрат времени па обучение. Основным критерием в данном случае является наличие в программ­ном обеспечении данного производителя наибольшего количества языков стандарта IEC 61131-3. Так, система PL7 позволяет программировать контроллеры на четы­рех языках (исключая FBD), Concept — на всех пяти, с возможностью написания различных управляющих секций в рамках одного проекта на любом из языком, наи­более подходящем для данной задачи, тогда как единая система компании GE Fanuc VersaPro - всего на двух (IL и LD), что может существенно осложнить разработку крупных приложений.

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

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

В стандарте введена абстракция управления, и это можно считать главным достижением. Разработчик имеет дело с переменными состояния и не зависящими от типа контроллера способами их обработки, а реальный В/В вынесен на уровень драйверов.

Радикально изменить ситуацию мог стандарт на языки программирования ПЛК, процесс разработки которого начался в 1979 году, и только к 1992 году он был утвержден как IEC 1131-3. При его разработке было обнаружено так много вариаций языков контроллеров, что оказалось невозможно выбрать какой-то один как базовый. Поэтому был предложен совершенно новый язык с применением современных принципов структурного программирования, абстрактных типов данных, выделения данных и процедур в блок. Однако был сохранен и графический стиль классических языков для программируемых контроллеров. В обоих вариантах стандарта введена абстракция управления, и это можно считать главным достижением. Разработчик имеет дело с переменными состояния и не зависящими от типа контроллера способами их обработки, а реальный В/В вынесен на уровень драйверов.

В феврале 1993 года международная организация по стандартизации IEC приняла и выпустила стандарт IEC-1131-3 (МЭК-1131-3), описывающий синтаксис и семантику пяти языков программирования ПЛК.

Использование стандартных языков и компьютерных средств программирования позволяют существенно снизить затраты на разработку прикладного программного обеспечения контроллеров и обеспечить его переносимость с одного контроллера на другой.

Что определяет стандарт:

  1. состав языков программирования (5 шт.)

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

  3. Вид графических объектов (для графических языков).

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

  5. Типы и виды переменных – внутреннюю структуру, но не внешние названия.

  6. Интерфейсы функций и функциональных блоков – как должны организовываться входы и выходы этих ФБ.

Стандарт не определяет:

  1. Размеры текстовых и графических редакторов.

  2. Не определяет минимальный набор ФБ, но допускает создавать свою библиотеку, т.к. интерфейсы стандартизированы.

  3. Средства разработки и сервисные утилиты (редакторы, отладчики, системы документирования).

  4. Не описывает конвертирование языков.

  5. Не определяет форматы файлов, т.о. не обеспечивается переносимость разработанного проекта в программные продукты других фирм.

В соответствии с указанным стандартом такими стандартными языками являются три графических языка и два текстовых:

FBD (Function Block Diagram) – графический язык функциональных блоковых диаграмм, с помощью которого программа составляется из различных функциональных библиотечных блоков - арифметических, тригонометрических, регуляторов, мультиплексоров и т.д. Язык удобен для программирования задач, например вычислительного характера, решение которых может быть представлена функциональной схемой, состоящий из таких блоков как сложение, умножение, интегрирование и т.д.

LD (Ladder Diagram) – графический язык диаграмм релейной логики. Язык удобен для программирования несложных булевых операций и для решения задач в виде релейно-контактных схем автоматики.

SFC (Sequential Function Chart) - графический язык последовательных функциональных схем. С его помощью программа представляется последовательностью шагов разделяемых переходами. Язык хорошо приспособлен для программирования задач логического управления и т.д. К программированию на этом языке удобно переходить от графа переходов.

Теория конечных автоматов, используемая для формализации состояний сложных процессов управления, опирается на различные графические модели описания состояний. Одной из наиболее известных является модель, предложенная К.Петри, получившая название "Сетей Петри" или диаграммы состояний. Она послужила теоретической основой языка SFC как наиболее важного из всего семейства стандартных языков.

ST (Structured Text) – язык структурированного текста - относится к классу языков высокого уровня, по мнемонике похож на Паскаль и применяется для разработки сложных процедур обработки данных, которые трудно описать графическими языками.

IL (Instruction List) – язык инструкций – текстовый язык низкого уровня. Это язык низкого уровня класса ассемблера, что объясняется его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера. В рамках стандарта IEC 1131-3 к архитектуре конкретного процессора не привязан. Является высокоэффективным для небольших программ или для оптимизации отдельных частей сложных программ, если требуется высокое быстродействие, экономия памяти и т.д.

Типы контроллеров, поддерживающих стандарт: ABB, Allen Bradley, Honeywell, Omron, Moore Products, PEP Modular Computers и многих других.

Список инструментальных программных систем, реализующих стандарт IEC 1131-3, превышает два десятка.

Инструментальные программные системы

CoDeSys

(Smart Software Solutions, Германия)

ACCON-ProSys

(Deltalogic , Германия)

OpenDK

(Infoteam Software , Германия)

PUMA

(KEBA, Австрия)

SUCOsoft S340

(Klokner-Moeller , Германия)

NAIS CONTROL

(Matsushita AC , Германия)

PDS7

(Philips, Нидерланды)

SELECONTROL

(Selectron Lyss, Швейцария)

Soft Control

(Softing , Германия)

ISaGRAF

(ICS Triplex, Канада)

В последние годы реализации стандарта МЭК 1131-3 в виде дополнительных компонентов появились и в ряде SCADA-систем (Factory Suite/InControl, FIX/Paradym-31, WinCC/WinAC, TraceMode и др.).

По разным оценкам до 80% PLC-рынка обслуживается программными продуктами, реализующими в той или иной мере этот стандарт.