Список инструментальных программных систем, реализующих стандарт IEC 61131-3, весьма широк, некоторые подобные системы приведены в таблице 4.3.1) [11].
В последние 3-4 года реализации стандарта МЭК61131-3 в виде дополнительных компонентов появились и в ряде SCADA-систем (Factory Suite/InControl, FIX/Paradym-31, WinCC/WinAC, TraceMode и др.).
Таблица 4.3.1 – Список инструментальных программных систем, реализующих стандарт IEC 61131-3
Название инструментальной системы
(Smart Software Solutions, Германия)
(Infoteam Software, Германия)
(Matsushita AC, Германия)
(Selectron Lyss, Швейцария)
(CJ International, Франция)
(Schneider Electric, Франция)
Программирование на пяти языках МЭК61131-3 рассмотрим на примере системы Concept, разработанной компанией Shcneider Electric. Система Concept относится к классу CASE-систем, Computer Aided Software Engineering – система компьютерной поддержки программирования.
4.3.3 Этапы программирования плк в среде Unity Pro xl V.4.0
Программирование и выбор аппаратной конфигурации ПЛК могут быть выполнены при помощи персонального компьютера, играющего роль программирующего устройства – программатора, как в режиме “Online” (с подключенным ПЛК), так и в режиме “Offline” (с отключенным ПЛК, т. е. только на ПК).
How to Create a Simple M340 Project | Schneider Electric
Работа над проектом, разрабатываемым в пакете Unity Pro XL, может осуществляться на различных уровнях и ветвях независимо, а именно [11]:
- на уровне проекта;
- на уровне конфигурирования ПЛК;
- на уровне программы;
- на уровне секции.
Программа или проект состоит из одной или нескольких секций, при помощи которых определяется специфика функционирования отдельных компонентов и системы в целом (рисунок 4.3.2). В программе указывается порядок выполнения секций, характеризуются переменные, константы, литералы (числа), поддерживается прямая адресация и несколько различных типов данных.
Секция предназначена для описания способа функционирования одного из технологических объектов в системе. Секции могут быть запрограммированы на различных языках, которые поддерживаются стандартом IEC 61131-3. Внутри секции должен использоваться единственный язык программирования.
Рисунок 4.3.2 – Расположение программных секций
Рассмотрим основные этапы разработки проекта в системе Unity Pro XL.
Этап 1. Загрузка системы Unity Pro XL. Система Unity Pro XL загружается из Windows. Для составления нового проекта подайте команды File, New project. Для внесения изменений, дополнений и т.д. этот проект в дальнейшем открывайте командой File, Open project.
Следует помнить, что после запуска Unity Pro XL, необходимо решить, чем пользоваться для тестирования программы: ПЛК или эмулятором. Если предполагается использовать эмулятор, следует перевести Unity Pro XL в режим Simulation Mode (рисунок 4.3.3) нажатием соответствующей кнопки на панели инструментов, в противном случае следует перевести Unity Pro XL в режим Standard Mode.
introduction to unity pro for beginners..
Рисунок 4.3.3 – Выбор режима эмуляции ПЛК
Этап 2. Описание аппаратной конфигурации. Описание аппаратной конфигурации ПЛК выполняется после запуска Unity Pro XL с помощью меню File, New, которое позволяет указать семейство и тип используемого процессора ПЛК (PLC Туре) (рисунок 4.3.4). После выбора и нажатия кнопки ОК в разделе Configuration Браузера Проекта (Project Browser) можно задать конфигурацию используемого в проекте контроллера (или его эмулятора).
Рисунок 4.3.4 – Выбор аппаратной конфигурации
Используют следующие команды:
Двойной щелчок левой кнопкой мыши по строке 0: PLC Bus – эткрытие обзора шасси выбранного контроллера.
Двойной щелчок левой кнопкой мыши по элементу, установленному на шасси – открытие свойств установленного элемента.
Двойной щелчок левой кнопкой мыши по пустому элементу шасси – открытие окна выбора аппаратных средств (Hardware Catalog).
Этап 3. Программирование. Для подготовки одной или нескольких секции программы на одном из выбранных языков программирования в разделе MAST браузера проекта подают команду Sections, New section (создать новую секцию) (рисунок 4.3.5). Затем на выбранном языке составляют программу. Далее используют команды Objects, определяемые пунктом главного меню.
Рисунок 4.3.5 – Создание новой программной секции
При необходимости внесения изменений и дополнений используют двойной щелчок левой кнопкой мыши по секции программы, сохраненной ранее.
Этап 4. Сохранение файлов проекта. Если проект надо сохранить впервые, то следует воспользоваться командами File, Save as (рисунок 4.3.6) и присвоить имя проекту (name.stu – имя проекта). В дальнейшем для сохранения проекта достаточно будет подать команды File, Save.
Рисунок 4.3.6 – Сохранение проекта
Этап 5. Загрузка и тестирование. Для установления логической связи между ПК и ПЛК подают команды PLC, Connect.
После установления логического соединения ПК с ПЛК осуществляется тестирование на эквивалентность параметров конфигурации системы Unity Pro XL с реальными аппаратурными ресурсами ПЛК. В случае их несоответствия появляется сообщение об ошибке.
Загрузите проект в ПЛК с помощью команд PLC, Transfer Project to PLC.
Подайте команды старта ПЛК PLC, Run (рисунок 4.3.7).
Выполните тестирование программы средствами, доступными в созданной программе.
Остановите выполнение программы командой PLC, Stop.
Исправьте ошибки, обнаруженные в программе.
Загрузите измененные сегменты в ПЛК по командам Build, Build changes.
Рисунок 4.3.7 – Запуск созданного проекта
Этап 6. Оптимизация и отключение. После нескольких операций внесения изменений в программу и повторной ее загрузки рекомендуется провести оптимизацию той области памяти, в которой хранятся тексты программ, после чего оптимизированная программа снова загружается в ПЛК последовательностью команд: PLC, Disconnect; Build, Rebuild all project; PLC, Connect; PLC, Transfer Project to PLC.
После загрузки, тестирования и возможной оптимизации программы следует отключить логическую связь между ПК и ПЛК, используя последовательность команд PLC, Stop; PLC, Disconnect. Программа теперь будет работать автономно.
Этап 7. Документирование.
Рисунок 4.3.8 – Вывод проекта на печать
Подготовьте комплект документации, File, Print (рисунок 4.3.8), File, Close project.
Источник: studfile.net
Редакторы языков программирования Unity Pro
Объекты языка программирования FBD (Function Block Diagram) помогают разбивать секцию на некоторое количество:
- • элементарных функций (EFs);
- • элементарных функциональных блоков (EFBs);
- • производных функциональных блоков (DFBs);
- • процедур;
- • подпрограмм;
- • переходов;
- • связей;
- • фактических параметров;
- • текстовых объектов для комментирования логики.
Вид программы с объектами языка программирования FBD приведен на рис. 4.12.
EN Вход ENO Выход Инверсия ST Выражение
Рис. 4.12. Объекты языка программирования FBD
Объекты языка программирования LD (Ladder Diagram) помогают разбить секцию на некоторое количество:
- • контактов;
- • катушек;
- • элементарных функций (EFs);
- • элементарных функциональных блоков (EFBs);
- • производных функциональных блоков (DFBs);
- • процедур;
- • контролирующих элементов;
- • операционных блоков и блоков сравнения, которые представляют расширение к IEC 1131-3;
- • вызовов подпрограмм;
- • переходов;
- • связей;
- • фактических параметров;
- • текстовых объектов для комментирования логики.
Вид программы с объектами языка программирования LD приведен на рис. 4.13.
Рис. 4.13. Объекты языка программирования LD
Одним из языков программирования может являться список инструкций IL(Instruction List). Список инструкций составляется из набора инструкций.
Каждая инструкция начинается на новой строке и состоит из:
- • оператора;
- • модификатора, если требуется;
- • одного или более операндов, если требуется;
- • метки как цели перехода, если требуется;
- • комментария к логике, если требуется.
Пример программы на языке IL приведен на рис. 4.14.
Комментарии Окно контроля
(* Keyl *) (*инв key 2*) (* Вентилятор
VarA %14 2 3 Comment
LD (* Недекпарированкая переменная *)
| Й0б1 Undefined Symbol ’УагХ |—КОНТ. ОКНО указателя
Рис. 4.14. Пример программы на языке IL
Еще одним языком программирования алгоритмического типа является язык структурированного текста ST(Structure Text). Язык программирования ST работает с «Выражениями».
Выражения составляются из операторов и операндов, которые возвращают значение после выполнения.
Операторы являются символами для операций, которые выполняются.
Операторы используются для операндов. Операндами являются переменные, литеры, входы/выходы функций и функциональных блоков и т. п.
Инструкции используются для структурирования и контроля выражений.
Пример программы на языке ST приведен на рис. 4.15.
Оператор Операцц Комментарий
D := В*В — 4*А*С ; (* Основное вычисление *) IF D OTS := 2 ;________________,
XI := |(-В + SQRT(D)) I (2.0*А);
Окно указателя Varx := 15; (* Недекпарированная переменная *) |~~Е10б 1 Undefined Symbol’ Varx |
Рис. 4.15. Пример программы на языке IL
Секция SFC (рис. 4.16) предоставляет следующие объекты для генерирования программы:
- • шаги;
- • макрошаги (вложенные последовательности подшагов);
- • переходы (условия переходов);
- • секции переходов;
Рис. 4.16. Пример секции SFC
- • секции действий;
- • переходы;
- • связи;
- • альтернативные последовательности;
- • параллельные последовательности;
- • текстовые объекты для комментирования логики.
Следует заметить, что секция SFC задает только общий алгоритм выполнения программы, а отдельные шаги алгоритма программируются на языках, рассмотренных выше.
Источник: ozlib.com
Форум АСУТП
Blink в Unity Pro XL
Сообщение set2730 » 27 сен 2020, 11:47
Есть задача, «Сделать пользовательский функциональный блок, который считает наработку насоса в часах по сигналу его работы на языке FBD.».
Нет информации о том в каком виде идет сигнал(просто ли это «1» или что-то еще) исхожу из того, что это просто 1 на линии.
Хотел использовать для решения блок «Blink» и просто «моргать» каждую секунду, но не нашел его в библиотеке.
Подскажите:
— есть ли этот блок в Unity Pro XL вообще
— если нет, то как его реализовать, при том, что Unity не дает мне создавать «бесконечные лупы»
— возможно есть совершенно иной способ решения задачи о котором я не знаю, если знаете пожалуйста изложите его
set2730
Blink в Unity Pro XL
Сообщение aranea » 27 сен 2020, 19:38
%S6
Смотрите про системные биты и слова
aranea
Blink в Unity Pro XL
Сообщение megavolt86 » 28 сен 2020, 20:03
Аеще можно наработку считать вычитанием из значения текущего времени значение времени запуска. Время можно брать из системных слов.
megavolt86
Blink в Unity Pro XL
Сообщение ogorsv » 29 сен 2020, 02:22
Добрый день!
Blink — кодесисовскй блок 😉
В Unity Pro вам предложили:
— использовать системные биты %S4-%S7
— использовать системные слова, содержащие текущее время (год-месяц-день-час-минута-секунда)
Есть еще способы, самым простым из которых будет использование инверсии выхода таймера на его входе — это не будет точным аналогом Blink, но для решения задачи подойдёт
Поэкспериментируйте, поймёте, как он работает
Надеюсь, как использовать вместе с выходом таймера сигнал работы насоса, вы знаете ))
Источник: asutpforum.ru