Структура программы tia portal

Массивы в TIA Portal

Сообщение ZETs » 11 июн 2021, 09:54

Прошу подсказать как правильно работать с массивами в TIA Portal а лучше показать на примере?
Не до понимаю как работать с массивами. Нет желания например в большом проекте перелопачивать однотипные данные в нетворках, но пока видел только такие проекты. От одного проекта у меня волосы под мышками дыбом встали, 500 однотипных сигналов перебиральсь в ручную .

Про то что просто так массивы создать нельзя это я понял, надо создавать DB блок в котором и прописать массив.
Как например присвоить массиву значения входов с адреса %I0.0, ведь входа %I0.0-%I0.7 это массив бит.

Реализация TIA Portal с блоками DB мне показалась глупой, просто сравниваю с другой средой разработки.
Если кому не трудно можете в моём проекте показать TIA Portal 16, или в вашем. буду очень признателен.

У вас нет необходимых прав для просмотра вложений в этом сообщении.

ZETs

Массивы в TIA Portal

Сообщение Михайло » 13 июн 2021, 10:04

SIMATIC S7-1200. Мой первый проект в среде TIA PORTAL

С массивами лучше работать на языке SCL, мне кажется, вы очень нуждались в таком совете. Что касаемо копирования I,M,Q-областей в массивы, то тут надо смотреть вроде обычный MOVE или MOVE_BLK.

Михайло
Автор темы

Массивы в TIA Portal

Сообщение ZETs » 13 июн 2021, 15:38

Здравствуйте.
Спасибо за совет.
То что с массивами необходимо работать в SCL это я понял .
Вообше предпочитаю текстовый язык.
Не совсем понял как присваивать адреса массивам.
А также назначение DB.
Попробую ваши советы и отпишусь.

ZETs

Массивы в TIA Portal

Сообщение Roman_33 » 13 июн 2021, 17:07

ZETs писал(а): ↑ 11 июн 2021, 09:54 Как например присвоить массиву значения входов с адреса %I0.0, ведь входа %I0.0-%I0.7 это массив бит.

Ну и записывайте необходимый байт,слово,двойное слово входов в нужный DB. IB0 Move DB1.DBB0 (DB1.DBX0.0 — DB1.DBX0.7),IW0 Move DB1.DBW0 (DB1.DBX0.0 — DB1.DBX1.7),ID0 Move DB1.DBD0 (DB1.DBX0.0 — DB1.DBX3.7).

Случается нередко нам
И труд и мудрость видеть там,
Где стоит только догадаться
За дело просто взяться.

Roman_33

Массивы в TIA Portal

Сообщение Nicolayy » 14 июн 2021, 21:46

ZETs , я правильно Вас понял, что Вам не нравится обращаться к дискретным входам по имени тега или по адресу типа %I0.0, а хочется обращаться через массив? Т.е. Вы бы хотели в разделе «PLC tags» объявить тип данных Array[0..xxx] of Bool, адресация которого начиналась бы с I0.0, и таким образом обращаться к дискретным входам по индексу?

Такой конструкции нет.

Вы можете воспользоваться простым присваиванием, как Вам уже написали, т.е. создать массив Array[0..xxx] of Bool в неоптимизированном DB и написать в начале программного цикла буквально несколько строк, где от 8 до 32 штук дискретных входов за раз присваивать типа

%DB0.DBD0 := %ID0;
%DB0.DBD4 := %ID4;
%DB0.DBW8 := %IW8;

TIA Portal за час!


%DB0.DBB10 := %ID10
и т.п.,
потом работать с этими данными в DB, обращаясь к ним по индексу вместо того, чтобы обращаться к тегам дискретных входов напрямую. Проблема — не проблема на самом деле.

Nicolayy

Массивы в TIA Portal

Сообщение Михайло » 14 июн 2021, 22:13

I, M, Q — это древняя дремучая структура памяти из 80-х годов.
Датаблок DB — это аналог структуры struct <. >из языка С++.
DB — это вполне современная структура, но и тут есть нюанс:
1. неоптимизированный DB — датаблок дремучего типа
2. оптимизированный DB — современный датаблок.
Многие по старинке предпочитают неоптимизированные DB, иногда использование такого типа датаблока дает преимущества — по аналогии преимущества использования указателей перед ссылками в языке С++.

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

Некоторые программисты хранят свои переменные в памяти M. Это прошлый век. Надо хранить данные в датаблоке и тогда не придется думать, по какому аппаратному адресу хранятся данные.

В моих программах в памяти M хранятся только системный байт и тактовый байт, все остальные данные лежат в датаблоках DB.

P.S. Кто-то ранее поднимал тему, как одной строкой скопировать все I в DB. Я колупался с этой темой и выдал вердикт: никакие MOVE, MOVE_BLK, MOVE_VARIANT, Serialize/Deserialize такое не умеют. Хотя инструментарий у S7-1×00 очень богатый, но память I/M/Q дремучая как говно мамонта, ничего не получается. Надо копировать побайтно с помощью MOVE, но это одной строкой не получится.

Но пусть будет сотня строк, ерунда ведь.

Источник: asutpforum.ru

TIA Portal: Добро пожаловать на следующий уровень!

В декабре прошлого года Siemens представила первое в отрасли программное обеспечение для разработки проектов в сфере автоматизации и технологии приводов – TIA Portal. Читайте подробнее о новом продукте, созданном для того, чтобы облегчить труд проектировщиков и программистов, работающих с компонентами автоматизации SIMATIC фирмы Siemens.

ООО «Сименс», г. Москва

Промышленная автоматизация – отрасль довольно консервативная. Новые средства и технологии появляются отнюдь не каждый день и приживаются не сразу. Зато проверенные и испытанные решения могут существовать годами и тиражироваться огромным количеством экземпляров, несмотря на кажущуюся анахроничность. Это касается как аппаратной, так и программной платформ.

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

pic1.jpg

Рис. Пользовательский интерфейс TIA Portal. Начало работы

Нельзя сказать, что STEP7, как основной программный продукт для программирования контроллеров SIMATIC S7, безнадежно устарел, но заложенные пятнадцать лет назад концепции уже нельзя назвать передовыми, хотя они и не утратили актуальность. Но непрерывное развитие с сохранением совместимости со старыми версиями часто приводит к чрезмерному усложнению продукта, ухудшению пользовательского интерфейса и, как следствие, к снижению производительности. Тогда назревает необходимость качественного скачка, перехода к новым пользовательским интерфейсам, новым подходам к интеграции комплексных проектов и приемам работы.

Результатом многолетних усилий и значительных инвестиций, вложенных в разработку, стал новый программный продукт, получивший название Totally Integrated Automation Portal или, кратко, TIA Portal.

pic2.jpg

Рис. Удобное расположение параметров в конфигураторе оборудования приятно удивит многих пользователей

Первая версия TIA Portal получила номер 11, как бы подчеркивая, что был сделан гигантский шаг в развитии по сравнению с прошлым поколением. В нем, как в единой программной платформе, удалось объединить все, что необходимо для работы со всеми компонентами автоматизации Siemens на всех этапах работы с проектом. Разработка проектов для контроллеров и устройств распределенного ввода/вывода, конфигурирование систем человекомашинного интерфейса и SCADA-систем, параметрирование сетевых компонентов и модулей связи, отладка программных алгоритмов управления, а также ввод в эксплуатацию приводов – все это объединено в общую структуру программного обеспечения и имеет унифицированный пользовательский интерфейс. Это не только ускоряет работу, но и позволяет создавать прозрачные решения, которые просты в обслуживании и диагностике, могут быть легко расширены или трансформированы.

Во главу угла продукта TIA Portal поставлена простота использования продукта (usability). Принципиально новый пользовательский интерфейс призван облегчить пользователю работу с платформой, а его унификация и стандартизация упрощают работу с разнообразным оборудованием. Это новое слово в разработке программного обеспечения.

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

Читайте также:
Что не входит в методологическую часть программы

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

pic3.jpg

Рис. Интерфейс TIA Portal включает в себя как традиционные элементы, так и множество новых

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

Все характеристики находятся не во вложенных меню, а расположены в дополнительных окнах на рабочем столе. Выбор набора характеристик осуществляется выбором объекта, к которому они привязаны. Например, выделив ЦПУ, мы получим доступ к общим настройкам процессора. Кликнув мышкой по его сетевому интерфейсу – работаем с конкретными характеристиками встроенных портов связи.

Очень логичная, наглядная и простая схема. Наряду с графической, сохранилась «древовидная» структура представления параметров. Такой подход гармонично дополняет графический интерфейс в случаях, когда параметров много и окно получается большим и «неохватным».

Точно так же представлена сетевая структура проекта – центральный общий план и окна с параметрами выбранных сетей и интерфейсов. Сбоку расположено отдельное окно со справочной информацией, заказные номера, технические характеристики, краткое описание выделенного объекта.

pic4.jpg

Рис. Редактор кода TIA Portal исключит возможность любой ошибки

В целом интерфейс TIA Portal стал более удобным, интуитивным и «быстрым» в доступе к нужной функции. В центре расположено «главное окно», в котором представлен обрабатываемый объект, будь то аппаратная конфигурация или листинг программы. По периферии расположены дополнительные окна, в которых находится вспомогательная информация, детализация, операционные объекты или библиотеки.

Причем основная работа может происходить как в центральном окне, так и во вспомогательных. Вспомогательные окна разбиты на три зоны: правую, левую и нижнюю. Если окон в зоне слишком много, срабатывает механизм ярлычков, когда скрытое под другими окно, выставляет сбоку ярлык-закладку с названием. Это – альтернатива многоуровневым вложенным меню, навигация по которым может быть очень долгой.

Здесь все на виду – даже неактивные функции всегда перед глазами и легко доступны, достаточно кликнуть мышкой на ярлык – и нужное окно выходит наверх. Разу­меется, присутствует чрезвычайно гибкий механизм управления окнами, их трансформацией. Можно перемещать, менять размеры, скрывать, прикреплять окна.

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

Информативность интерфейса TIA Portal очень высокая – даже стандартный указатель мыши обладает полезными функциями. Если задержать его на каком-либо объекте, появляется контекстная подсказка, которая может иметь активные гиперссылки не только информативного характера, но и давать быстрый доступ к определенным функциям. Стандартное контекстное меню по правой кнопке открывает доступ к привычному меню. Привычные элементы интерфейса также присутствуют: сверху располагается традиционное меню с множеством вложенных пунктов, работают «горячие» сочетания клавиш, в боковом окне можно вывести «древовидное» представление объекта и всех его функций и т.д.

pic5.jpg

Рис. Все гениальное – просто. Так лаконично выглядит пользовательский интерфейс панели HMI в TIA Portal

Как театр начинается с вешалки, так работа над программой для контроллера начинается с определения переменных. В этом плане TIA Portal предоставляет широчайшие возможности. Можно пойти традиционным путем и заполнить таблицу переменных, привязав их к физическим адресам.

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

Можно писать программу, пользуясь символьными переменными, не привязывая их ни к чему, редактор позволяет это делать. Появилась еще одна интересная возможность: можно зацепить переменную мышкой и «перетащить» ее на изображение модуля в аппаратном конфигураторе. Привязка и заполнение таблицы переменных в этом случае также произойдет автоматически. Наглядность этого действия действительно потрясающая: если попытаться использовать физические адреса напрямую, то редактор все равно присвоит символьные имена по собственному разумению.

pic6.jpg

Рис. Состав программы TIA Portal V11

Редактор кода TIA Portal окончательно стал интерактивным. Даже, можно сказать, гиперинтерактивным. Графические представления, такие, как контактный и функциональные планы, изначально ориентированы на работу с мышкой. Максимальное количество операций происходит по механизму «перетащил-бросил» (drag-and-drop).

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

Будучи наведенным на объект, он предлагает то контекстную подсказку, то выбор подходящей переменной и типа функции. Все ориентировано на быструю и комфортабельную работу мышью. Можно даже вызвать маленькую экранную клавиатуру. И даже «текстовый» набор команд требует только ручного ввода оператора, операнд может быть выбран из выпадающего контекстного списка.

Редактор бдительно следит за синтаксисом, сразу выделяет все опечатки и не позволяет вольно обходиться с типами данных. В любой момент и в любом месте можно получить контекстную справку по работе того или иного элемента. Но в то же время окончательное слово всегда остается за программистом, редактор позволяет сохранить результаты работы, если часть программы не завершена или в ней есть «неправильности».

HMI, часть продукта TIA Portal, унаследовала функциональные возможности как WinCC flexible (операторские панели и одиночные компьютеры), так и WinCC (SCADA с возможностями клиент-серверных конфигураций), но графический интерфейс редакторов в TIA-портале, более похожий на интерфейс WinCC flexible, стал единым для этих двух пакетов. Сначала предлагается выбор и настройка аппаратной части.

Можно сразу установить соединения с выбранными контроллерами и их переменными. Потом можно запустить специальный диалог и создать основу проекта на базе набора стандартных экранов. «Системные» экраны можно гибко подстроить под свои нужды и скорректировать дизайн.

Возможно и полностью отказаться от шаблонов и создавать индивидуальные решения и формировать собственные библиотеки визуальных элементов. Фантазия ограничена только пиксельным разрешением экранов.

База переменных проекта общая – можно напрямую выбирать переменные из контроллера, есть прямой доступ в таблицу переменных проекта, и вносимые изменения отражаются сразу во всех его частях. Это очень удобно, поскольку нет операций экспорта-импорта и можно разрабатывать алгоритм управления и интерфейс оператора параллельно. Предусмот­рена поддержка нескольких языков с возможностью быстрой их смены в среде исполнения. К одному объекту привязывается сопроводительный текст на разных языках (который наглядно обрабатывается в специальном редакторе), а отображается языковой набор, выбранный пользователем.

Итак, какие же преимущества предлагает нам TIA Portal?

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

Это логичная и наглядная структура, которая не требует изучения и запоминания. Не нужно искать по меню или изучать справку в поисках «редкой» функции. Существует единый подход для совершенно различных инструментов и функций.

Постоянный контроль корректности действий программиста исключает чисто человеческие ошибки и опечатки, но не препятствует сохранению проделанной работы. Просто «неправильные» места будут ярко выделены и снабжены рекомендациями по устранению проблем. Имеются контекстные подсказки и контекстное ограничение выбора, когда заведомо неприменимые операции выпадают из предлагаемого списка и не отвлекают ресурсы. Все это значительно ускоряет и упрощает работу.

Читайте также:
Как создать программу помощник

Второе – единый подход ко всему многообразию решаемых задач. Нет отдельно расположенных программ, графических картинок, списков оборудования, сетевых топологий. Все это заключено в единое пространство унифицированного проекта. Это позволяет получить действительно бесшовную интеграцию различных, зачастую очень разнородных компонентов.

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

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

Какие функции реализованы и какое оборудование поддерживается?

Программное обеспечение TIA Portal предназначено для решения задач комплексной автоматизации на базе контроллеров SIMATIC S7-1200/-300/-400/WinAC (включая failsafe-приложения). Поддерживается оборудование последнего и предпоследнего поколения. Для программирования этих контроллеров в TIA Portal присутствуют следующие языки: LAD, FBD, STL, SCL, GRAPH (для S7-1200 – только LAD, FBD и SCL).

HMI в TIA Portal может быть реализован на базе SIMATIC Panel 70-х, 170-х, 270-х, 370-х, KP, KT и KTP серий, а также в виде Runtime-систем на базе РС, вплоть до клиент-серверных SCADA-архи­тектур.

Существует и «легкая» версия TIA Portal, предназначенная только для программирования SIMATIC S7-1200 и «базовых» панелей оператора, ориентированных на работу с S7-1200.

Активация той или иной функциональности TIA Portal происходит установкой лицензии. Следует отметить, что стоимость лицензий была снижена по сравнению с пакетами прошлого поколения с аналогичным функционалом.

Оболочка TIA Portal (включая справочную систему) реализована на пяти европейских языках. Полноценная поддержка русского языка запланирована в версии 12, причем перевод готовится при активном участии специалистов российского подразделения Siemens.

Для осуществления защиты инвестиций Siemens предлагает своим клиентам обширную программу модернизации. Предусмотрена возможность перехода от различных версий STEP7 V5.x к TIA Portal со значительными скидками. Сам TIA Portal имеет специальный инструмент для миграции и работы с проектами, созданными в STEP7 и WinCC в рамках поддерживаемого оборудования. В будущем планируется увеличить перечень поддерживаемого старого оборудования и полностью перейти на новое программное обеспечение.

TIA Portal – это новейший программный продукт с совершенно новым подходом к разработке проектов автоматизации, который, несомненно, поможет проектировщикам и программистам сэкономить время, деньги и усилия на всех этапах работы с компонентами автоматизации SIMATIC фирмы Siemens.

Источник: isup.ru

Совместное моделирование быстродействующих систем средствами TIA Portal и Simulink

В этой работе показана детальная авторская реализация объединения сред TIA Portal и Simulink для совместного моделирования с обменом данными, работающая при любом, даже самом малом, шаге квантования (моделирования). Этот вариант позволяет также тестировать PLC контроллеры TIA Portal на частотах квантования контроллеров. Синхронизация сред осуществляется без применения таймеров реального времени. Приведен пример построения быстродействующего контура, обеспечивающего управление аналоговым неустойчивым объектом Simulink виртуальным ПЛК среды TIA Portal. Экспериментально определено, что предлагаемое объединение сред не влияет на результаты моделирования.

Состояние проблемы

Интегрированная среда разработки систем автоматизации TIA Portal содержит инструментальные средства для конфигурирования, настройки, тестирования и обслуживания систем. Мощная среда MATLAB/Simulink обеспечивает эффективное моделирование и оптимизацию сложных динамических систем. Совместное моделирование TIA Portal и Simulink повышает качество проектирования систем автоматизации и управления и сокращает сроки проектирования.

Известны примеры связи сред TIA Portal – Simulink через OPC сервер, в которых среды обмениваются пакетами данных с максимальной частотой 10 раз с секунду [1,2,3]. Это ограничение определяет максимальную частоту квантования. Для моделирования и работы быстродействующих систем, которые характеризуются широкой полосой пропускания, требуется высокая частота квантования.

Скорость непосредственной передачи/приема данных через TCP канал в десятки раз выше скорости передачи через OPC сервер. Однако, для TCP связи с контроллерами TIA Portal, которые выступают в роли TCP клиента, необходимо, чтобы модель Simulink работала в режиме сервера, а таких библиотечных средств у Simulink нет.

Поиск готовых авторских вариантов объединения средств TIA Portal и Simulink для моделирования быстродействующих процессов дал отрицательный результат. Например, автор [4] сообщает о применении в Simulink собственной S-функции, которая обеспечивает передачу и прием данных, но он не раскрывает код S-функции, детали механизма взаимодействия и синхронизации сред а также влияние взаимодействия на точность моделирования.

Ниже представлен собственный детальный вариант построения системы для совместного моделирования в средах TIA Portal и Simulink с обменом данными, работающей при любом самом малом шаге квантования (моделирования).

Особенности организации совместного моделирования сред TIA Portal и Simulink

Организация совместного моделирования систем средствами TIA Portal и Simulink с любым шагом моделирования включает следующее.

  1. Среды TIA Portal и Simulink связываются TCP каналом передачи данных.
  2. Модель Simulink обменивается данными с TIA Portal через TCP сервер, разработанный средствами MATLAB.
  3. Сервер обменивается данными на скоростях ниже пропускной способности TCP канала.
  4. TIA Portal обеспечивает однократный запуск программного модуля — участника совместного моделирования, каждый раз в момент приема данных от Simulink сервера.

Пропускная способность TCP

Для совместного моделирования, например, систем управления, необходимо, чтобы на каждом шаге моделирования контроллер среды TIA Portal (или его модель) принимал данные о состоянии Simulink модели и возвращал модели управляющее воздействие. Время совместного моделирования напрямую зависит от пропускной способности канала передачи данных.

Тестирование пропускной способности TCP канала: “клиент ПЛК TIA Portal – виртуальный Ethernet адаптер Siemens – сервер MATLAB” (Рисунок 1) дало следующие результаты.

  • Частота однонаправленной побайтовой передачи данных командами MATLAB fwrite равна 3000 Байт/c.
  • Частота обмена байтами (на каждом такте использовались команды fwrite и fread) составляет примерно 300 приемопередач в cекунду.
  • При обмене данными в формате Double (LReal), когда каждое число состоит из 8 байт и используются команды fwrite и fread, частота практически не отличается от частоты побайтового обмена в 300 приемопередач в cекунду.

Приведенные результаты тестирования показывают, что применение TCP канала позволяет обеспечить совместную работу TIA Portal и MATLAB на максимальной частоте квантования около 300 Гц.

Рисунок 1. Сетевое взаимодействие MATLAB – виртуальный PLC контроллер TIA Portal. Только один клиент может быть подключен к серверу. У каждого объекта сетевой пары (сервер и клиент) должна быть уникальная совпадающая комбинация IP адреса и порта (как показано на рисунке).

Пример построения системы управления для совместного моделирования средствами TIA Portal и Simulink

Для проверки последовательности реализации и качества совместного моделирования были построены два контура управления одинаковыми неустойчивыми аналоговыми объектами второго порядка с одинаковыми дискретными ПИД регуляторами. Первый “образцовый” контур реализован только средствами Simulink. Регулятор второго контура построен на базе ПЛК TIA Portal, а объект управления моделируется средствами Simulink. Прием сигнала рассогласования и передача воздействия, вычисляемого ПЛК, осуществляется через TCP канал.

Подготовка к совместному моделированию выполнена в следующей последовательности.

1. Использование средств MATLAB/Simulink.

1.1 Построен контур управления неустойчивым объектом с дискретным ПИД регулятором (Рисунок 2).

Рисунок 2. Модель Simulink контура управления аналоговым неустойчивым объектом второго порядка (выделен желтым).

1.2 Методом оптимизации “Tune” (Рисунок 3) для шага моделирования 10 мс найдены оптимальные параметры дискретного ПИД регулятора.

ПРИМЕЧАНИЕ. Оптимизация ПИД регулятора в MATLAB не нашла устойчивый вариант управления объектом (Рисунок 2) при шаге моделирования 0.1 с — минимальном шаге систем с OPC серверами.

Рисунок 3. Характеристики контура управления (Рисунок 2) при шаге моделирования 10 мс. Верхний ряд: параметры оптимального ПИД-регулятора. Нижний ряд: частотные характеристики объекта и разомкнутого контура (Open-loop) с запасом по амплитуде 16,7 dB и фазе 69 град; реакция контура на ступенчатое воздействие (Reference tracking) с перерегулированием 16.2%.

Читайте также:
Как убрать эхо в программе

1.3 Средствами Simulink PLC coder [5] код регулятора модели (блок PLC_reg, Рисунок 2) переведен в SCL код ПЛК контроллера TIA Portal:

FUNCTION_BLOCK PLC_reg VAR_INPUT ssMethodType: INT; in: LREAL; END_VAR VAR_OUTPUT out: LREAL; END_VAR VAR_IN_OUT END_VAR VAR Filter_DSTATE: LREAL; Integrator_DSTATE: LREAL; c_rtb_FilterCoeffici: LREAL; END_VAR CASE ssMethodType OF 0: Filter_DSTATE := 0.0; Integrator_DSTATE := 0.0; 1: c_rtb_FilterCoeffici := ((2.91953906295837 * in) — Filter_DSTATE) * 188.820552673467; out := ((18.4564752234922 * in) + Integrator_DSTATE) + c_rtb_FilterCoeffici; Filter_DSTATE := (0.01 * c_rtb_FilterCoeffici) + Filter_DSTATE; Integrator_DSTATE := ((28.4060096566942 * in) * 0.01) + Integrator_DSTATE; END_CASE; END_FUNCTION_BLOCK

1.4 Разработан TCP сервер для обмена данными в формате double.

Код MATLAB функции для запуска сервера, передачи/приема данных и остановки сервера:

function PLC_out = TCPserverDouble(PLC_in) persistent init_Server; persistent tcpServer; persistent PLC_val; if (isempty(init_Server)) PLC_val = 0; init_Server = 0; if ~isempty(tcpServer) fclose(tcpServer); delete(tcpServer); end end if init_Server == 0 init_Server = 1; tcpServer = tcpip(‘192.168.0.1’, 2000, ‘NetworkRole’, ‘server’); fopen(tcpServer); end if init_Server == 1 pause(0.01); fwrite(tcpServer, fliplr(typecast(double(PLC_in),’uint8′))); if get(tcpServer,’BytesAvailable’) > 7 PLC_val = typecast(uint8(flipud(fread(tcpServer, 8))),’double’); end end PLC_out = PLC_val; end

1.5 К модели (Рисунок 2) добавлен контур управления однотипным объектом (Рисунок 4) взаимодействующий с ПЛК TIA Portal через TCP сервер. Обмен данными через сервер дает задержку на один такт. Для выравнивания процессов в первый контур также внесена задержка (z -1 ) на 1 такт. Введенный экстраполятор нулевого порядка (Zero-Order Hold) поддерживает взаимодействие аналоговой и дискретной частей модели такое же, как и в первом контуре.

Рисунок 4. Два однотипных контура управления. Верхний контур (опорный) реализован только средствами Simulink. Нижний контур дает результат при совместной работе ПЛК TIA Portal и Simulink. Описанный выше TCP сервер тактируется блоком “Interpreted MATLAB Function”.

1.6 Настроены параметры модели на запуск и остановку сервера. Для этого имя функции для работы с сервером TCPserverDouble введено в поле вызова “Property Inspector à Properties à Callbacks à SetupFcn” а команда окончания работы сервера clear TCPserverDouble введена в поле вызова “Property Inspector à Properties à Callbacks à StopFcn”.

2. Использование средств TIA Portal.

2.1. В свойствах проекта TIA Portal установлен флажок “Support simulation during block compilation”.

2.2. На базе библиотечных блоков TCON, TDISCON, TSEND и TRCV (Рисунок 5) построен TCP канал передачи-приема LReal данных для ПЛК (PLC1[CPU 1515-2 PN]) клиента с IP адресом 192.168.0.1:2000.

Рисунок 5. Библиотечные блоки TCP канала: TCON, TDISCON, TSEND и TRCV.

2.3. Построен блок (Рисунок 6) для однократного выполнения SCL программы регулятора (см. код п.1.3). Программа запускается импульсами TRCV_NDR блока TRCV (Рисунок 5), которые формируется каждый раз после успешного приема данных. Выполнение программы заканчивается передачей выходного сигнала регулятора в TCP канал. Инверсный сигнал TCON_Req обеспечивает установку регулятора в исходное состояние (обнуление интегральной составляющей и фильтра дифференциальной составляющей), когда вход Method равен нулю.

Рисунок 6. Блок SCL программы регулятора. Запуск однократного выполнения программы обеспечивается импульсами TRCV_NRD блока TRCV (Рисунок 5) . Сброс регулятора обеспечивается инверсным сигналом TCON_Req когда вход Method равен нулю.

2.4. Построен блок (Рисунок 7) для перевода формата Bool переменной TCON_Req в Integer. Формируемая переменная Method (Рисунок 6) переключает режимы работы регулятора: модули CASE 0 и CASE 1 программы SCL (см. п. 1.3). Модуль CASE 0 обнуляет фильтр дифференциальной составляющей и интегральную составляющую регулятора. Модуль CASE 1 обеспечивает работу регулятора.

Рисунок 7. Блок преобразования формата переменной.

Последовательность запуска совместного моделирования

Запуск TIA Portal и Simulink выполняется в следующей последовательности.

1. Запускается симулятор ПЛК S7-PLCSIM Advanced. IP адрес ПЛК симулятора должен быть настроен на IP адрес ПЛК клиента TIA Portal: блок TCON структуры PLC_1[CPU 1515-2 PN] (Рисунок 5).

2. Компилируется программа структуры PLC_1[CPU 1515-2 PN].

3. Программа загружается в Симулятор нажатием на клавишу .

4. Включается мониторинг структуры Main[OB1] .

5. Запускается объект PLC_1[CPU 1515-2 PN]:

6. Запускается Simulink модель . После запуска сервер модели ожидает подключение ПЛК клиента при неизменном положения индикатора:

ПРИМЕЧАНИЕ. Запуск Simulink модели можно выполнить на любом предыдущем этапе.

7. После запуска Simulink модели подключается ПЛК клиента к TCP сети установкой переменной TCON_Req в состояние “1” (TRUE):

8. Совместное моделирование TIA Portal и Simulink начинает работу. Результаты моделирования, показанные на Рисунок 8, Рисунок 9 и Рисунок 10, отображаются графопостроителями Scope (Рисунок 4). Переключение входного воздействия в процессе работы совместной модели достигается переключением блока Manual Switch (Рисунок 4).

ПРИМЕЧАНИЕ. В ряде случаев, для обеспечения работоспособности TCP соединения, необходимо приостановить защиту компьютера: отключить файервол и/или антивирусную программу.

Результаты тестирования

Демонстрационная система управления была построена с применением средств TIA Portal и Simulink. Задачу ПИД регулятора решал ПЛК среды TIA Portal, неустойчивый объект управления второго порядка реализован средствами Simulink. В процессе совместной работы контроллер принимает от Simulink сигнал рассогласования и возвращает Simulink воздействие, прикладываемое к объекту.

Сравнение результатов совместного моделирования системы управления средствами TIA Portal и Simulink с результатами моделирования такой же системы только средствами Simulink (Рисунок 8, Рисунок 9, ) показывает 100% совпадение. Это означает, что выборочное совместное моделирование быстродействующих систем управления с шагом моделирования 10 мс и 1 мс выполнено без ошибок.

Рисунок 8. 100% совпадение реакции (integrator1, Рисунок 4) самостоятельного контура модели системы управления Simulink и реакции (integrator3, Рисунок 4) совместного моделирования TIA Portal и Simulink системы управления с аналогичной структурой и параметрами (Рисунок 4).

Рисунок 9. 100% совпадение выходов регулятора (слева) и реакций систем управления (в центре) вычисляемых Simulink отдельно и совместно Simulink и TIA Portal c шагом моделирования 10 мс (Рисунок 4). Параметры регуляторов контуров приведены в таблице справа.

Рисунок 10. 100% совпадение выходов регулятора (слева) и реакций систем управления (в центре) вычисляемых Simulink отдельно и совместно Simulink и TIA Portal c шагом моделирования 1 мс (Рисунок 4). Параметры регуляторов контуров приведены в таблице справа.

Диагностика TCP соединения

При установке TCP соединения первым должен подключаться сервер переводом в режим “open”, а затем клиент.

Если при работе соединения клиента переходит в состояние “closed”, то соединение через некоторое время меняет статус “ESTABLISHED” на “CLOSE_WAIT”. При последующей попытке вернуть клиента в режим “open” MATLAB выдает сообщение об ошибке: Unsuccessful open: Connection refused: connect. Такое же сообщение MATLAB выдает при попытке подключения клиента когда сервер отсутствует. В таких случаях, для восстановления TCP соединения необходимо отключить и сервер и клиент (перевести в состояния “closed”), а затем повторить процедуру установки соединения.

Для тестирования сетевых устройств ПК были задействованы следующие команды MATLAB.

  • Распечатка в окне Command Window списка активных реальных и виртуальных сетевых Ethernet адаптеров и их IP адресов:
  • Определение локального адреса компьютера:
  • Получение списка активных портов TCP:

>> !netstat -a -n -p TCP

  1. Разработанная организация совместного моделирования TIA Portal – Simulink с TCP каналом работает при любом шаге моделирования.
  2. Показанное объединение сред позволяет тестировать PLC контроллеры TIA Portal на частотах квантования контроллеров.
  3. Моделирование систем обеспечивается с неограниченной полосой пропускания, в отличии от вариантов, когда среды моделирования связаны через OPC сервер.
  4. Доработка (изменения) структуры и параметров программных модулей, создаваемых приложением Simulink PLC coder для TIA Portal не требуется.
  5. Результат совместного моделирования сред TIA Portal и Simulink на 100% совпадает с результатами моделирования выполненных для сравнения только средствами Simulink.
  6. Синхронизация сред моделирования не требует применения таймеров реального времени.
  7. Синхронизация сред обеспечивается введением паузы в блок связи с TIA Portal модели Simulink.
  8. Шаг модели устанавливается без учета величины паузы, однако пауза должна превышать время обмена данными между средами.
  9. Увеличение паузы не влияет на результаты моделирования, хотя и приводит к увеличению времени моделирования.
  10. Разработанный метод совместного моделирования TIA Portal – Simulink с применением TCP связи может быть распространен и на взаимодействие других сред с использованием других каналов передачи данных.

Библиографический список

2. U. Yavuz, “Real-Time Communication between S7-1200 PLC and Matlab/Simulink and a Fuzzy Logic Temperature Humidity Control Application”, Scientific Journal of Mehmet Akif Ersoy University, Volume 2, Issue 1, pp 7-14, 30 January 2019

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru