вторник, 15 декабря 2015 г.

Как соединить S7-1200 с панелью SMART. Часть 2


Панели оператора Smart - это специальная производственная линейка панелей операторов Siemens, предназначенная для использования на азиатском рынке вместе с контроллерами той же линейки S7-200 Smart, а также устаревших и снятых с производства в Германии контроллеров S7-200.

Панели сами по себе очень достойные, всего доступны 6 моделей: 7-дюймовые Smart 700, Smart 700IE V2, Smart 700IE V3 и 10-дюймовые Smart 1000, Smart 1000IE V2 и Smart 1000IE V3.
Модели с постфиксом IE полноцветные (16 бит цветов), работают через интерфейсы RS485 (PPI, Modicon Modbus RTU) и Ethernet, имеют ограничение в 800 тэгов, могут содержать до 200 дискретных аварий. Максимальное количество экранов - 100. У моделей без постфикса IE возможности поскромнее. У моделей IE V3 также есть USB-порт для создания/загрузки backup'ов. Программируются панели через WinCC Flexible CHINA SP4 или WinCC Flexible Smart V3. Обратите внимание, что выходные файлы этих программ имеют разный формат, формально WinCC Flexible Smart V3 умеет преобразовывать файлы *.hmi от WinCC Flexible CHINA в свой формат, но на практике это не всегда работает.
WinCC Flexible CHINA 2008 SP4 + Update 2 - качаем тут.
WinCC Flexible Smart V3 - качаем тут (поддерживаются только панели Smart)
Инструкцию к WinCC Flexible - качаем тут.
How to connect S7-1200 to Smart line panel?
Как соединить S7-1200, используя дополнительный контроллер S7-200 Smart, вы можете из первой части статьи.

Итак, пока я писал коммуникационную программу для S7-200 Smart, оказалось, что всё это "мартышкин труд", а китайцы уже всё давно придумали. Благодаря китайским поисковикам я отыскал такие устройства (называются они мультифункциональные коммутаторы - multifunctional switches) на их рынке и разослал предложения об их продаже на Aliexpress. Сегодня уже несколько продавцов на этой площадке торгуют такими устройствами, например, Starhead Production, у которых я сей девайс и приобрёл.

Представляет собой данное устройство коммутатор TP Link совмещенное с коммуникационным устройством (виртуальным S7-200) в одном корпусе. Всего у коммутатора 5 портов, но к пятому порту ничего подключить нельзя (залит клеем) ибо на нём висит то самое коммуникационное устройство (еще одна плата припаянная проводами к пятому порту) . Метод настройки устройства - через веб-интерфейс (т.е. по сути перед нами подобие управляемого коммутатора). Устройство лишь меняет сообщение запроса от панели к контроллеру, т.е. коммуникационного S7-200 как такого нет, об этом свидетельствует тот факт, что, в случае отсутствия S7-1200, на панели отображаются решётки. При наличии коммуникационного S7-200 панель бы всё равно принимала какие-то значения, поскольку ячейки памяти коммуникационного процессора были бы ей доступны.



Итак, коммуникационное устройство позволяет одновременно подключать три контроллера S7-1200/S7-1500/S7-300/S7-400 к, как заявлено, трём Smart-панелям. Не очень понятно, почему панелей три, по идее панелей может быть сколько угодно. Поскольку коммутатор TP Link самый обычный, то его можно расширить за счёт подключения дополнительных коммутаторов. Все контроллеры работают через коммуникационные порты со своими IP-адресами - по одному адресу для каждого подключаемого контроллера. По умолчанию это адреса 192.168.1.10, ...11, и ...12, через которые можно обращаться к контроллерам с адресами 192.168.1.20, ...21, и ...22 соответственно.
К областям памяти I, Q и M обращение происходит обычным методом. Под областью памяти V понимается расшаренный в настройках для этих целей дата-блок (от 1 до 7).

Настройка производится посредством веб-интерфейса по адресу 192.168.1.222


Как видим, мы можем изменить MAC-адрес нашего виртуального контроллера S7-200 и его начальный IP 192.168.1.10, остальные два IP будут заданы относительно него. В отличие от IP-адресов виртуального контроллера S7-200, IP-адреса реальных контроллеров не обязательно должны быть взаимосвязаны и задаются каждый отдельно.

В настройках имеется один "косяк", который продавцы мне обещались исправить в будущих версиях прошивки) - расшаренный блок данных задаётся числами от 0 до 6 (на приведённом выше скриншоте - от 0 до 5, видимо, модели немного различаются). Но в S7-1200 нельзя создать блок данных DB0, поскольку их нумерация начинается не с 0, а с 1. Так вот оказалось, что заданный в настройках коммутатора DB0 - это на самом деле DB1, а заданный DB1 - это на самом деле DB2 и т.д. Т.е. номер смещён на 1.


Преимущества такого подключения перед использованием дополнительно контроллера очевидны даже несмотря на высокую стоимость коммутатора (12 тыс. руб по состоянию на конец 2015 года). К сожалению, дороговизна оборудования делает общую цену на использование Smart-панелей вместе с S7-1200 неконкурентноспособным для бюджетных объектов, где дешевле будет установить панели Weintek, для которых к тому же нет необходимости все отображаемые на панели данные запихивать в один дата-блок.
Но если выбор заключается в использовании Smart-панелей и панелей Siemens других моделей, то применение мультифункционального свитча экономически полностью оправдано. 

Кроме того, Smart-панели поддерживают протокол Modbus RTU и, теоретически, можно использовать плату расширения для S7-1200 за 60 евро, чтобы организовать такое подключения через RS485. Но есть и минусы в этой схеме. Существует проблема с последовательностью старшего и младшего слова данных для 32-битных чисел. Дело в том, что протокол Modbus формально оговаривает лишь передачу 16-битных данных, а передача данных размером 32 бита реализуется производителями оборудования самостоятельно. И так получилось, что последовательность младшего и старшего 16-битного слова данных каждый производитель выбирает по собственному желанию. Так что использование стандартных функций для Modbus Slave в TIA Portal не дает возможности нормально передать 32-битное число в панель оператора Siemens (не только Smart, а вообще в любую). Т.е., например, число 1.9, которое в hex-формате представляет собой 16#3FF3_3333, будет считано панелью оператора как 16#3333_3FF3, ну, и соответственно, передача с панели на ПЛК приведет к такой же перестановке слов в вещественном 4-байтном числе. Менять это руками - нормальный вариант для небольших задач, но для крупных проектов всё это приведет к большим трудозатратам, особенно для тэгов, которые могут.быть изменены как на стороне ПЛК, так и оператором с панели. 
Можно пойти по пути многих производителей, которые вообще не используют 32-битные числа для Modbus, а используют целые числа, последняя цифра которой - это десятичная часть. В принципе, панели оператора поддерживают автоматическое смещение десятичного знака, вопрос только в том, будет ли достаточно диапазона такого числа и его точности для конкретной задачи и будет ли удобно производить вычисления с таким числом. 
Кроме того, неудобство представляет представление адресов в виде регистров Modbus в таблице тэгов (DB1.DBD12 гораздо удобнее выглядит как VD12 в представлении для S7-200, чем в виде регистра номер 4x40007 в представлении для Modbus).

По первому ощущению устройство работает нормально, глюков пока выявлено не было. Проверено на объекте с одним S7-1200 и двумя панелями Smart, опрос производился почти по 700 тегам. Пока единственным недостатком показалась его цена и реализация устройства в корпусе бытового коммутатора TP Link, более логичным было бы поместить устройство в корпус для крепления на DIN-рейке (опять-таки, учитывая цену этого устройства, сравнимую с ценой промышленного коммутатора).

3 комментария:

  1. Spasibo, no ModBus cem vam neponravilsja? Plata gorazdo deshevle, cem pribluda za 138Eur+12Eur dostavka.
    mozxxx@inbox.lv

    ОтветитьУдалить
  2. доброе время суток. приобрёл смарт панель и китайскую чудо технику multifunctional switch.
    прочёл вашу статью и даже перевод с китайского сделал. но всё равно не получается связать панел с тиа портал. спасибо заранее если сможете помочь. моя почта для связи lexm35@gmail.com

    ОтветитьУдалить