S7-1200 и MasterSCADA 4D

ПЛК / Децентрализованная периферия
Ответить
Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Потребовалось тут сделать несложный однопользовательский интерфейс верхнего уровня АСУТП. Делюсь опытом.

MasterSCADA интересна своим объектно-ориентированным подходом (ООП). Это просто отличный вариант в нашем случае, когда у нас объекты содержат по несколько однотипных насосных и вентиляторных установок с однотипными запорными задвижками, с однотипными датчиками и даже с однотипными преобразователями частоты, счетчиками моточасов и т.д. и т.п.
Если правильно реализовать ООП в MasterSCADA, затем гораздо легче повторно использовать объекты и вносить в них групповые изменения. То есть лучше не группировать однотипные объекты в одной папке MasterSCADA, а раскидать каждый объект по иерархической структуре объектов в соответствии с реальной физикой объекта автоматизации. В принципе об этом оговаривается в мануале MasterSCADA предыдущего поколения (v3.8 ). MasterSCADA 4D v1.2 - это продукт на новой платформе. С одной стороны, не путайте, но с другой стороны, учитывайте, что у них много общего, а отличаются они внешне, в первую очередь, графическим интерфейсом.

Кстати говоря, на стороне S7-1200 нужно тоже придерживаться ООП, благо ТИА Портал очень хорошо поддерживает объектный подход. В итоге у нас имеется датаблок HMI_DB, который содержит массивы UDT-структур, вложенные структуры и прочие штучки, которые позволяют "повторно использовать код", как говорят профессиональные программисты.

Если внутри MasterSCADA и S7-1200 все круто, то при передаче этих монструозных структур данных от ПЛК в компьютер с исполняемым модулем SCADA возникают технические трудности, которые не описаны в мануалах. Поэтому я и создал эту тему.

Чисто теоретически достаточно посмотреть недлинные стартовые курсы, чтобы начать понимать, как работает MasterSCADA 4D:
MasterSCADA 4D. Быстрый старт. Части 1, 2, 3



Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Типы данных в S7-1200 хорошо сопоставляются с типами данных MasterSCADA:
BOOL = логический
INT = целый
UINT = беззнаковый целый
DINT = целый (4 байта)
UDINT = беззнаковый целый (4 байта)
REAL = вещественный
LREAL = вещественный (8 байт)

При передаче данных нужно учесть, что в этих двух платформах приняты противоположные (обратные) порядки байт в словах, двойных словах и четверных словах. Это мелочь, потому что MasterSCADA позволяет автоматически инвертировать порядок при приеме данных из ПЛК. Для этого в настройках протоколов в MasterSCADA следует задать порядок байт 3-2-1-0 и 7-6-5-4-3-2-1-0 для всех типов данных. После этого MasterSCADA начнет адекватно интерпретировать даже теги типа REAL/LREAL из S7-1200.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Среда разработки MasterSCADA 4D бесплатна.
Исполнительная среда - платная, стоимость лицензии зависит от числа используемых тегов. До 32 тегов - исполнительная среда бесплатная.
MasterSCADA работает на компьютерах под управлением: Windows, Linux, Android, QNX, Эльбрус, Unix...) Последний смайлик от создателей.
Выбирайте из списка Windows Embedded Standart XP SP3 и выше; Windows 7; Windows 8/8.1; Windows 10; Windows Server 2012; Windows Server 2012 R2; Windows Server 2016; Windows Server 2018.

Вы можете создавать как однопользовательские АРМ, так и многопользовательские АРМ. Мне достаточно интерфейса только на одном компьютере с Windows, поэтому я для себя выбрал лицензию на 500 тегов MSRT4D500 Local PRO W стоимостью 36900 руб, где Local и означает однопользовательскую АРМ. PRO в названии лицензии означает, что MasterSCADA позволит хранить данные реального времени не только в локальной базе данных SQLite, но и сохранять в профессиональных внешних базах данных MS SQL, PostgreSQL, установленных, в том числе, и на отдельных компьютерах. Помимо того, PRO позволяет сделать резервируемую систему, но для этого надо доплатить за лицензию типа MSRT4D500 Local RED PRO W такой же стоимости. Можно на всем этом сэкономить, тогда данные будут отображаться, обрабатываться и храниться исключительно на одном компьютере, а затраты составят 24900 руб (500 тегов).

Лицензии на многопользовательские АРМ (вариант Server вместо Local) стоят уже в два раза выше, и одна такая лицензия включает лицензию на одного клиента. Простенькая лицензия на 100 тегов для организации клиента на смартфоне Android стоит 11900 руб. Начальник будет получать достаточное количество информации на своем служебном телефоне, нормуль. ;)

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

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 1. Передача данных через Modbus TCP

MasterSCADA и S7-1200 поддерживают протокол Modbus TCP (и RTU) в базовом варианте, ничего дополнительно приобретать не нужно.

Но есть множество нюансов! MasterSCADA выступает клиентом, а S7-1200 - сервером.

1. На стороне S7-1200 используется функция MB_SERVER и создается датаблок (неоптимизированный). При использовании нескольких MB_SERVER в S7-1200 нужно просто задать разные IP-порты для них (502, 503, 504 и т.д.).
2. MB_SERVER позволяет работать только с регистрами хранения (Модбас-функции 3, 6 и 16 – чтение регистра, запись регистра, чтение нескольких регистров). Адресация от 0.
3. MB_SERVER может работать со входами и катушками, но только в областях I, Q, а также со входными словами IW. Модбас-функции 1, 2, 4, 5 и 15. Адресация от 0.
4. Недостаток – привязка к адресам, их номера могут сдвигаться при вставке и удалении тегов в датаблоке.
5. Теги в MasterSCADA создаются вручную.
6. Теги типа AI (Input), AO (Output), AIO (InOut), регистры хранения.

Итак, основные проблемы:
а. Ручное создание тегов в MasterSCADA, и если что-то сдвинется в датаблоке на стороне S7-1200, придется муторно перебивать адреса в MasterSCADA.
б. Передача булевых данных через 16-разрядные регистры создает еще одну мороку, это уже косяк со стороны Сименса. Хотя, с другой стороны, экономится количество лицензируемых точек ввода-вывода (но судя по описанию MasterSCADA 3.x не экономятся, так как учитываются выходы функциональных блоков ФБ). В принципе в MasterSCADA несложно написать программу на FBD, которая будет раскладывать регистры в биты, и обратно. Для этого нужно использовать готовые функции из библиотеки OSCAT: BYTE_TO_BITS, BYTE_OF_BIT, и дополнительно к ним пригодятся WORD_OF_DWORD, BYTE_OF_DWORD, SWAP_BYTE и др. Написав такую программу для одного объекта, можно тиражировать для всех остальных однотипных объектов. Останется только подцепить к разным объектам разные ячейки памяти из протокола Modbus TCP.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 2. Передача данных через Profinet (драйвер SiemensPLC)

Настройки на стороне MasterSCADA: IP-порт 102.
Настройки на стороне S7-1200: в свойствах CPU следует задать Full access, Permit PUT/GET = true (как для панелей оператора Weintek).

Теги датаблоков импортируются в MasterSCADA через *.db файл.
Имеются ограничения:
1. Можно применять элементарные типы данных (bool, int, dint, word, dword, real и др.)
2. Можно применять структуры
3. Можно применять вложенные структуры
4. Допускаются массивы элементарных типов данных в датаблоках (Array of bool и др.), датаблок импортируется успешно, но доступ к тегам массива заблокирован.
5. Не допускаются массивы структур (Array of Struct), так как датаблок не импортируется (ошибка).
6. Не допускаются пользовательские типы данных (UDT).
7. Не допускаются Retain-датаблоки.
8. Оптимизированные датаблоки не поддерживаются.

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

Итак, проблемы протокола Modbus TCP отсутствуют. Зато появились другие. Мало того, что требуется заплатить дополнительно 9500 рублей за лицензию MSRT4D Siemens (Profinet) 500 W, выше еще поимеете ряд других проблем.

У меня уже существует датаблок HMI_DB, в котором активно используются массивы, UDT, retain. Думаю создать отдельный датаблок-копию SCADA_DB, в котором запрещенные типы данных заменить на другие:
1. Массивы заменить на структуры.
2. UDT заменить на структуры.
3. Retain отключить.
4. Написать программу, которая будет осуществлять копирование данных в реальном времени с помощью MOVE из HMI_DB в SCADA_DB, и при необходимости обратно. MOVE позволяет копировать целые структуры.

Любые изменения в структуре HMI_DB придется приводить в соответствие в SCADA_DB. В принципе это не столь напряжно, так как обычно верхний уровень АСУТП делается после того, как завершена работа с нижним уровнем, но ошибки возможны...

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 3. Передача данных через OPC-сервер Сименса

Особенности:
1. Для S7-1200 v4.x используется OPC UA с доступом к оптимизированным и стандартным датаблокам.
2. Для S7-1200 v2.x, v3.x используется доступ только к неоптимизированным (стандартным) датаблокам.
3. Используется фирменный OPC Server 12 или выше (приобретается у Сименса).
4. Описание в файле «39960679_s7-1200_opc_simatic-net_tia-portal_e.pdf» для случая, когда PC Station конфигурируется в одном проекте TIA Portal с ПЛК S7-1200. Нужен SIMATIC NET DVD V12 или новее.
5. Описание в файле «39960679_s7-1200_opc_simatic-net_ncm-pc_e.pdf» для случая, когда PC Station конфигурируется отдельно от проекта S7-1200. Нужен NCM PC или STEP 7 V5.5 SP3.

How do you connect a PC station to an S7-1200 with OPC?

Я ни разу не приобретал SIMATIC NET DVD, но вроде нашел его https://mall.industry.siemens.com/mall/ ... 1CB16-0AA0
1000 евро - нормуль! :cry:

NCM PC продается вроде как апгрейд к SIMATIC NET DVD V12. Дополнительные затраты порядка 300 евриков.

На текущий я не опробовал данный вариант передачи данных.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 4. Передача данных через S7-1200 OPC UA Server

1. S7-1200 v4.4 и выше, TIA Portal v16.
2. Приобретается runtime-лицензия SIMATIC OPC UA S7-1200 Basic 6ES7823-0BA00-2BA0 стоимостью 50 евро.
3. Активировать OPC UA Server и указать лицензию в свойствах CPU.
4. В датаблоке SCADA_DB установить галочки "Accessible from HMI/OPC UA".
5. Описание в системном мануале S7-1200 v4.4 «s71200_system_manual_en-US_en-US» (раздел 11.7).
6. Автоматически импортируются любые типы данных, включая сложные - структуры, UDT, вложенные структуры, массивы, массивы структур, массивы UDT и т.п.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 5. Передача через OPC-сервер Modbus MasterOPC от Инсат

1. Платный - 3900 руб. программный ключ или 5400 руб. USB-ключ (500 тегов).
2. Описание в файле «siemens_s7-1200_modbus_universal.pdf»
3. Теги создаются вручную.
4. В принципе, это тот же вариант, что и вариант по п.1.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариант 6. Multi-Protocol MasterOPC от Инсат (Profinet)

1. Платный - 9500 руб. программный ключ или 11000 руб. USB-ключ (500 тегов).
2. В принципе, это тот же вариант, что и вариант по п.2.
3. OPC DA, OPC HDA, OPC UA с несколькими клиентами.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Вариантов много, выбрать сложно. Я пока работаю над вариантами 1 и 2. Варианты 5 и 6 отметаю.
Варианты 3 и 4 наверное самые привлекательные в плане автоматического импорта тегов. Вариант 3 заведомо дорогостоящий. Хочу попробовать прогрессивный вариант 4, но у меня под рукой пока только S7-1200 v4.3 и TIA Portal v15.1, поэтому надеемся на лучшее. ;)

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Внимание! Я внес изменения в информацию, которая приведена выше.

На данный момент самым достойным вариантом считаю встроенный OPC UA Server в S7-1200 (вариант 4), мне удалось его протестировать, и этот вариант совсем недорогой (лицензия стоит всего 50 евро!).

Теперь добавлю следующие сведения: часто бывает такое, что в процессе разработки датаблок дорабатывается: теги переименовываются, удаляются, добавляются, переносятся. Так вот, обновился датаблок в ТИА Портале, что же происходит с ним в MasterSCADA? И что делать, чтобы данные на стороне MasterSCADA продолжали соответствовать данным на стороне S7-1200?

Ответ: Вы можете переименовывать теги, но лучше не удаляйте, не добавляйте, не переносите их, так как в результате изменяется аппаратная адресация! MasterSCADA привязывается к аппаратным адресам во всех вариантах, как в варианте с Modbus TCP, так и в вариантах с Profinet и OPC UA. Реимпорт тегов в MasterSCADA работает плохо.

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Написал в Инсат письмо с предложениями.

Ответ:
1. Поддержка импорта сложных типов возможно появится, сейчас ее нет ни в Profinet-импорте, ни в OPC-импорте. (На стороне Сименса похоже происходит преобразование сложных типов в простые при передаче данных в OPC-сервер, поэтому импорт сложных типов через OPC UA Server Basic работает.)
2. Поддержка оптимизированных датаблоков не предвидится в связи с закрытостью протокола Сименса. (Weintek как-то сумел.)
3. Реимпорт работает правильно.

Что ж, за работу, господа! :)

Михайло
Администратор
Сообщения: 4104
Зарегистрирован: 19 сен 2012, 19:16

Re: S7-1200 и MasterSCADA 4D

Сообщение Михайло »

Сообщения перенесены в отдельную тему
viewtopic.php?f=16&t=1529

Ответить