воскресенье, 3 апреля 2016 г.

Постоянное требование установщика в Windows 8 перезагрузить компьютер при установке TIA Portal

На Windows 8 недавно возник косяк при установке TIA Portal - несколько раз установщик просил перезагрузить компьютер, но после перезагрузки ничего не менялось - запрос на перезагрузку повторялся снова и снова. На сайте Microsoft описаны какие-то обновления с исправлениями, которые нужно установить, иные же сайты предлагают чего-то там менять в реестре в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager, предлагают отредактировать ключ PendingFileRenameOperations, короче говоря, дают кучу бесполезных советов никак на установку TIA Portal не влияющих. А нужно сделать всего одну простую вещь - удалить этот раздел Session Manager из реестра и всё. Если до этого уже была произведена перезагрузка, то после удаления раздела ещё раз перезагружаться не надо, можно смело продолжать установку.

Update 2022. Один комментатор написал, что достаточно удалить из раздела Session Manager только сам ключ PendingFileRenameOperations. Тогда, в далёком 2016 году, когда я устанавливал TIA Portal v13 на Windows 8, такой способ не проканал. Т.е. я этот параметр редактировал, потом удалил - ничего не помогало, пока не удалил весь раздел. Возможно, что с более новыми версиями портала ситуация иная.

суббота, 27 февраля 2016 г.

Особенности коммуникации S7-1200 разных моделей с панелями оператора

Недавно я столкнулся с такой проблемой: на предприятии был установлен контроллер S7-1200 DC/DC/DC 214-1AG31-0XB0 и панель оператора KTP600 Basic Color PN. Контроллер вышел из строя. Но, поскольку периодически его можно было реанимировать (путём "разобрал-собрал"), мне удалось сделать Upload.

Сама программа была написана в TIA Portal V11 SP2, ею и была выгружена. Кстати, попытка выгрузить её через TIA Portal V12 (с помощью пустого проекта от TIA Portal V11, открытого в 12 версии без конвертации) успехов не принесла, несмотря на то, что данный метод везде описывается как универсальный.
TIA Portal V13 и вовсе не содержит никакого механизма для выгрузки программ, написанных в 11 версии. Ну, это в целом о подходе Siemens к вопросам совместимости оборудования и программного обеспечения.

Итак, неисправный контроллер 214-1AG31-0XB0 (снятый уже с производства) был заменён на 214-1AG40-0XB0, который, по идее, является его полноценной заменой, как утверждает Siemens. Каково было удивление, когда новый ПЛК, залитый через TIA Portal V13 SP1 (только эта версия на сегодняшний день поддерживает ПЛК 214-1AG40-0XB0 с версией прошивки 4.1), работать с панелью оператора отказался.

--------------------------------------------------------------------------------------------------------
Сначала экспериментальным путём было выяснено, что панель оператора KTP600 за время приобретения нового контроллера также вышла из строя. Для этого к ней был подключен имевшийся в наличии "дежурный" контроллер S7-1200 AC/DC/Relay 214-1BG31-0XB0 (ранее уже успешно подключавшийся к этой панели). Соединение с ним установить не удалось. Изменения параметров сетевого адаптера панели успехов не принесли. Что удивительно при этом, соединение между компьютером и KTP600 устанавливалось без проблем. Это позволило сделать BackUp (посредством Simatic ProSave). Связь с неисправным контроллером всё-таки можно было иногда установить, но где-то в одном случае из пяти, причём, чем больше времени проходило, тем меньше было таких случаев. Т.е. речь идёт о частичном и постепенном выходе из строя интегрированного сетевого адаптера панели оператора, который периодически работает с одними устройствами и совсем не работает с другими. Такие случаи описаны на форумах, где обсуждаются поломки сетевых карт. Поскольку печатная плата панели оператора многослойная, пробовать ремонтировать её не стали.
Однако, после замены панели оператора KTP600 и осуществления восстановления ПО из резервной копии на новую панель, проблема подключения контроллера 214-1AG40-0XB0 к панели осталась. При этом подключение "дежурного" контроллера старой модели 214-1BG31-0XB0 прошло успешно. Это означало, что поломка панели оператора была не единственной причиной того, что новые модели ПЛК не устанавливали с ней соединение.
--------------------------------------------------------------------------------------------------------

Попытка разобраться привела к беседе с техподдержкой Siemens +7 495 737-1737, где удалось получить ссылку вот на эту страницу.

В итоге выснилось, что существуют, во-первых, две разновидности драйвера для подключения S7-1200 к панелям оператора, а во-вторых, нюансы с работой со второй из них:

1. Драйверы, работающие через команды передачи и приёма данных PUT/GET. Этот вариант используется драйвером "SIMATIC S7 300/400" в WinCC Flexible и тем же драйвером в WinCC (в TIA Portal). При этом WinCC Flexible иного варианта подключения к S7-1200 и не знает, поэтому проеты WInCC Flexible являются таким образом универсальными. Вариант с использованием команд PUT/GET использует также мультифункциональный китайский коммутатор для подключения S7-1200 к панелям Smart. Этот же вариант использовал я, когда подключал S7-200 Smart к S7-1200.
Такой вариант 100% всегда работает, и проблем с ним нет. Единственное неудобство в том заключается, что для использования команд PUT и GET необходимо знать адреса ячеек памяти, а это значит, что блоки данных, с которыми происходит работа, должны быть неоптимизированны. Для использования этого варианта для моделей с версией пошивки 4.х нужно обязательно установить разрешение на осуществление команд PUT/GET (поставить галочку Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ...). В предыдущих моделях контроллеров S7-1200 данной настройки не было, команды GET/PUT были разрешены всегда.


2. Специальный драйвер "SIMATIC S7 1200" в составе WinCC в TIA Portal. А здесь и начинаются проблемы.


Эта таблица показывает, что драйвера S7-1200, содержащиеся в разных версиях WinCC в TIA Portal, имеют разную совместимость с разными прошивками контроллера. Буква "B" в этой таблице означает, что для соединения можно использовать только драйвер S7-300/400. Буква "A" означает, что соединяться можно и через драйвер S7-1200, и через драйвер S7-300/400.



Как видим, если у нас панель KTP600 (это первая строка - Basic Panels 1st generation) была запрограммирована в TIA Portal V11, то её соединить с контроллером с прошивкой 4.х можно только через драйвер S7-300/400, работающий через команды PUT/GET.
Естественно, постфактум поменять драйвер, зашитый в панель, возможности нет (если у вас, конечно, случайно нет под рукой проекта для панели оператора). Т.е. если программисты использовали TIA Portal V11 с драйвером S7-1200 для панели, то подключить панель с таким ПО к новым моделям контроллера уже нельзя. В таком случае остаётся только один вариант - покупать контроллер старой модели, снятый с поизводства в Германии, но производимый на фабриках Китая (aliexpress...).

Но и это еще не всё! В исходном проекте для TIA Portal, который нам всё же в итоге передали (причём, этот проект был уже в формате TIA Portal V13, т.е. мы его даже не конвертировали из V11) стояла еще старая модель контроллера (214-1AG31-0XB0). Я, эксперимента ради, сначала залил в панель оператора программу из этого проекта, не меняя модель ПЛК. Соединение ПЛК с панелью и в этом случае по-прежнему установить не удалось. А вот когда я поменял версию ПЛК на 214-1AG40-0XB0, тогда всё и заработало.

Это означает, что TIA Portal V13 записывает разные версии коммуникационных драйверов S7-1200 в панель оператора в зависимости от выбранной прошивки контроллера S7-1200. Об этом же свидетельствует вот это сообщение при изменении модели ПЛК:


Раньше при изменении модели контроллера S7-1200 или его прошивки таких сообщений не появлялось.

Соответственно, учитывая тот факт, что модель 214-1AG40-0XB0 поддерживается только версией TIA Portal 13 (а с прошивкой 4.1 - только 13 SP1), то версия драйвера S7-1200 в TIA Portal V12 чисто теоретически никак не может устанавливать связь с такими ПЛК. Значит, в представленной выше таблице совместимости есть ошибка, а вообще эта таблица должна  начинаться подобным образом (с указанием модели ПЛК в проекте):


Остается только пара вопросов:

1. Почему версия прошивки 1.0 не совместима с драйвером S7-1200 в TIA Portal V12? Т.е. в V11 всё нормально работало, а в V12 уже нет? Это выглядит странно. У меня на данный момент в V11 не установлен WinCC, поэтому подтвердить совместимость TIA Portal V11 и прошивку 1.0 я не могу, а вот несовместимость TIA Portal V12 и TIA Portal V13 с этой прошивкой подтверждается.

2. Если в TIA Portal V13 для правильной работы панели оператора чрезвычайно важно, какая версия контроллера и его прошивки выбрана, то для проектов, использующих один ПЛК S7-1200 всё, вроде бы, понятно:


А как быть с проектами, где несколько ПЛК S7-1200, или если панель соединяется с S7-1200, которых в проекте нет? Даже если добавить в проект все контроллеры S7-1200, то HMI Device Wizard в любом позволяет осуществить подключение только к одному контроллеру, остальные контроллеры добавляются вручную. Поэтому как правильно действовать в таком случае, пока не понятно.


При этом вариант с использованием драйвера S7-300/400 для подключения S7-1200 всегда остаётся. Данный вариант, учитывая сложившуюся ситуацию, можно назвать предпочтительным, поскольку он позволяет менять модели контроллеров S7-1200 с разными прошивками и при этом не волноваться насчёт их совместимости с уже установленными на предприятиях панелями операторов.

При соединении через драйвер S7-300/400 следует правильно устанавливать значение Expansion slot. По умолчанию почему-то стоит значение 2, нужно ставить 0.


Также для использования драйвера S7-300/400 следует не забывать убирать галочку с аттрибута Optimized block access в используемых на панели оператора DB и в настройках FB (для доступа к экземплярным DB):


вторник, 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-рейке (опять-таки, учитывая цену этого устройства, сравнимую с ценой промышленного коммутатора).

суббота, 12 декабря 2015 г.

GIPENG или второе рождение для S7-200

Когда писалась эта статья, многие нюансы работы контроллеров Gipeng мне еще не были известны. Поэтому помимо прочтения текущей статьи обязательно ознакомьтесь с информацией в этих статьях:
Китайские поделки на тему S7-200
Проблемы совместимости S7-200 и китайских PLC: глюк с оператором JMP
Проблемы совместимости S7-200 и китайских PLC: глюк с оператором FOR

Вот уже 2 года как компания Siemens официально сняла с производства контроллеры линейки S7-200. Им на замену пришли новые S7-1200, имеющие в арсенале удобный язык программирования SCL (подобие языка высокого уровня Паскаль), меньшие габариты на DIN-рейке (примерно на треть), большее количество подключаемых модулей (3 коммуникационных + 8 обычных, итого 11, - против 7 у S7-200). В качестве штатного интерфейса используется Ethernet, что очень удобно, учитывая, что при желании можно не тратиться на промышленноекоммуникационное оборудование, а обойтись дешёвыми бытовыми коммутаторами, роутерами и т.п. (разницы по факту особой и нет).

Несмотря на явные преимущества контроллеров S7-1200 есть у них существенный недостаток - большая стоимость аналоговых модулей расширения. По сути 1 аналоговый модуль стоит примерно как контроллер 1214C, что делает невыгодным реализацию многих проектов на таком оборудовании.
Для азиатского рынка Siemens выпускает линейку S7-200 Smart на замену S7-200, но это и того хуже - модули для Smart контроллеров имеют максимум 4 аналоговых входа и 2 аналоговых выхода (см. табл.), а стоимость этих модулей также на уровне модулей для S7-1200.

Итак для задач, где требуется подключение большого количества аналоговых приборов всё ещё вполне возможно использовать S7-200. Кроме того, не стоит забывать о панелях оператора Smart - они напрямую поддерживают только S7-200 и S7-200 Smart, что позволяет в комплекте с S7-200 использовть недорогую сименовскую панель вместо разного рода китайского барахла. И если оригинального Siemens S7-200 уже нет в продаже, то его "суррогатами" завален весь Aliexpress. В общем и целом это всё те же S7-200, только менее качественной сборки, в остальном же их использование мало отличается от оригинала. Я бы обратил внимание только на три момента:

1. В продаже помимо контроллеров "а-ля Siemens" есть и другие, которые просто выпускаются в сименовских корпусах. Важно не путать их с S7-200. Особенно хотелось бы обратить внимание на контроллеры под маркой FONIN. У них и номера и контроллеры дублируют работу S7-200, а для программирования используется Step 7 Micro/WIN. Но это не S7-200, их модули и CPU с оригинальными S7-200 и китайскими подделками S7-200 несовместимы.

2. Существуют контроллеры частично совместимые с Simatic S7-200, например, от компании Co-Trust. Их контроллеры имеют свои номера по каталогу, отличающиеся от Siemens'а (см. тут), контроллеры имеют своё ПО а-ля "Step7 Micro/WIN" (MagicWorks PLC осн. ссылка, алт. ссылка V2.02), но модули и ПЛК совместимы с S7-200. Есть у них кстати, и панели оператора (см. программу MagicWorks HMI осн. ссылка, алт. ссылка V1.43). Этим интересным контроллерам будет посвещена отдельная статья.

3. Многие контроллеры имеют заказные номера, оканчивающиеся не на -0XB0, а на -0XB8. Такие номера раньше имели контроллеры S7-200CN, выпущенные на китайских заводах Siemens. Предназначились эти контроллеры только для азиатского рынка, поэтому их нельзя было программировать в обычной Step 7 Micro/WIN (чтоб никто не дай бог не купил дешёвых китайских ПЛК и не стал их устанавливать в богатой Европе, где всё можно продавать в тридорога!). Но со временем это всё перестало быть актуальным и стало достаточно поменять язык интерфейса в MicroWIN на китайский, чтобы можно было подключаться к S7-200CN. В любом случае, смена языка может доставить какие-то неприятности тем, кто будет подключаться к таким ПЛК (особенно, если вы их хотите перепродать кому-то, кто будет их программировать), поэтому на такое отличие S7-200CN от S7-200 следует обратить внимание.

4. Помимо разных китайских фабрик, выпускающих просто клоны S7-200, существует компания GIPENG, выпускающая свои модернизированные версии ПЛК. О них я и хотел рассказать подробнее.

ETHERNET БОЛЬШЕ НЕ ПРОБЛЕМА

Все помнят, что до недавнего времени Siemens крайне неохотно внедрял Profinet - протокол Siemens для промышленных Ethernet. Ну, оно и понятно. В отличие от интерфейса RS485, который в бытовой сфере мало используется, интерфейс Ethernet используется всеми - локальные сети, Internet, IP-видеонаблюдение... везде Ethernet. А какие возможности по передаче данных беспроводным путём или через тот же Internet. Любое бытовое сетевое оборудование есть в продаже. Оно ничем не отличается от промышленного на физическом уровне, сам так называемый "промышленный Ethernet" - это лишь более строгий контроль за качеством и приспособленность оборудования к работе в промышленных условиях (вибрации, пыль и т.д.). Ну и способ монтажа на DIN-рейки, конечно. Иных отличий нет.  Естественно, всё это можно сделать и без оборудования Siemens. Не удивительно, что до появления контроллеров S7-1200 и S7-200 Smart, заменивших S7-200, обзавестись Ethernet'ом на последнем можно было лишь приобретя специальный модуль, стоивший больше самого контроллера. Это в отличие от S7-300 и S7-400, где Ethernet был установлены на некоторых моделях изначально (ну, и цена соответствующая). Но, видимо, конкуренция даёт о себе знать, и, как ответ наступающим на пятки китайцам, Siemens таки перешёл на Ethernet: отныне он является штатным интерфейсом для всех S7-1200, S7-1500 (замена для S7-300) и S7-200 Smart.

Ну, а что S7-200? Итак, теперь есть возможность приобрести китайский S7-200 со встроенным Ethernet! И как меня заверили китайцы (сам не проверял), даже с учётом встроенного модуля CP243-1, к таким контроллерам можно подключить целых 7 модулей расширения (т.е. встроенный модуль за полноценный модуль не считается). Цена его мало отличается от обычного S7-200. Очень полезное внедрение! Такие контроллеры у них имеют аббревиатуру -IE в конце названия. (CPU 226-IE, например).



ПОДКЛЮЧЕНИЕ RS485 НА CPU224 ЧЕРЕЗ ОБЫЧНЫЕ КЛЕММЫ

Сразу скажу, что стандартная модель CPU224 у GIPENG имеется и называется GF-CPU224R-24. Но вряд ли вы её захотите покупать после того, что прочитаете дальше.

Итак, как не вспомнить любимую сименовскую забаву втюхивать дорогущие штекеры DB9 для подключения по RS-485. Забавно в этом всём то, что они всегда делали их универсальными, с переключателями между второй линией (для подключения следующего устройства в сети) и компенсационным резистором (терминатором). Всё так сложно и запутанно, притом, что большинство покупателей изначально знает, сколько будет промежуточных штекеров, а сколько терминальных, но зачем-то вынуждены покупать универсальные с переключателями, большинство из которых никогда переключать не станут.

Однако, GIPENG пошёл дальше этих разговоров. Он предложил нечто новое - это контроллер CPU224 в корпусе CPU224XP. Гениальное решение! Во-первых, у CPU224 всего один порт RS485. Здесь их МИНИМУМ два как и на CPU224XP. Мы знаем, что у CPU224XP имеются слева вверху клеммы для 2 аналоговых входов и 1 выхода (в этом его второе отличие от стандартного CPU224), то у GF-CPU224R+-24 эти клеммы используются для подключения RS485 параллельно с портами внизу, реализованными в виде разъёмов. По факту штекеры вообще больше не нужны.



RS232 И ТРЕТИЙ ПОРТ RS485 на CPU224! 

И если кажется, что предыдущего нововведения касательно RS485 мало, то вот вам ещё одна модель - GF-CPU224RH-24. Тут всё просто и вытекает из закономерного вопроса: если можно порты RS485 разместить параллельно на верхних клеммах, то почему бы верхние клеммы использовать не для параллельных разъёмов, а для дополнительных?
Короче говоря, на этом контроллере CPU224, также выпускаемом в корпусе CPU224XP, как и предыдущий, верхние клеммы от аналоговых входов/выходов используются для подключения дополнительного третьего порта RS485, причём в двух реализациях: непосредственно RS485 через клеммы и через встроенный преобразователь RS485 в RS232. Подключаем контроллер напрямую к RS232 COM-порт компьютера, запускаем WinCC Flexible Runtmine и забываем про все эти кабели или дополнительные платы.




Аналоговый модуль на 8 подключений со всеми входами 4..20 mA

В своё время фирма, в которой я работал, напарилась с аналоговым модулем для S7-200 Siemens на 8 аналоговых входов 6ES7 231-0HF22-0XA0. Дело в том, что русская документация Siemens содержала ошибку, а конкретно там был упущен чрезвычайно важный момент про то, что такие модули не поддерживают входные сигналы 4..20 мА для всех восьми входов, а лишь на первые два, остальные же шесть были в состоянии измерять только напряжение 0..10 В.

GIPENG выпустил модуль EM231-AI8C, поддерживающий измерение сигнала силы тока 4..20 ма на всех 8-ми каналах. Это не то, чтобы большое достижение, учитывая тот факт, что любой канал изменения 0..10 В превращается в 0..20 мА путём простой установки сопротивления 500 Ом между клеммами, тут скорее нюанс в ошибке сименовской русской документации, из-за чего можно не сразу понять как работает оригинальный модуль.



CPU226XP - CPU226 с аналоговыми входами и выходом как на CPU224XP

Ну, скажу сразу, на Aliexpress этого не продаётся. На мой запрос, продавцы ответили, что поставят такие контроллеры только при заказе не менее 50 штук. Но в теории они существуют, т.е. это контроллеры CPU224XP, но с бОльшим количеством штатных дискретных входов/выходов как на CPU226 или наоборот CPU226 со встроенными двумы аналоговыми входами и одним аналоговым выходом как у CPU224XP (кому как нравится).

Лично я не считаю данную разработку очень полезной, поскольку, на мой взгляд, полезной была бы разработка с двумя аналоговыми входами и двумя (а не одним) аналоговым выходом. Именно такие минимальные потребности чаще возникают при реализации задач, где используются аналоговые выходы. Один же выход мало что меняет, я думаю, это и является причиной того, что данный контроллер мало востребован у GIPENG и его производство приостановлено.



воскресенье, 13 сентября 2015 г.

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


Панели оператора 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?
Как всегда Siemens добавляет свой "прикол" в оборудование. Раньше эта компания неплохо зарабатывала, продавая кабели Profibus (витая пара с экраном), всякие вспомогательные адаптеры и прочую хрень. Теперь конкуренция не даёт Siemens'у таких преимуществ. Практически обозначен отход от интерфейса RS-485 и полный переход к Ethernet. Фактически это означает лишь одно - теперь для новых [своих же] контроллеров Siemens не конкурент китайским производителям панелей. Если бы не среда программирования WinCC Flexible 2008. Так или иначе, если вы сравните возможности этих панелей с тем, то предлагают какие-нибудь Delta или Weintek, то всё вам будет ясно. Но для работы панели с определённым контроллером нужен драйвер. Мало того, что Siemens не добавил возможность разрабатывать проекты для Smart-панелей в обычной WinCC Flexible, выпустив специальную  версию WinCC Flexible CHINA (которая только на иероглифах, как и WinCC Flexible Smart), так для этих панелей ещё и нет возможности устанавливать иные подключаемые CPU, кроме S7-200 и S7-200 Smart (и ещё какие-то частотники и программируемое реле LOGO!).

Варианты решения проблемы

Сегодня есть две возможности подключить панели HMI Smart к другим Siemens контроллерам:
- использовать вспомогательный контроллер S7-200 или S7-200 Smart в качестве коммуникационного
- использовать Multifunctional Ethernet Switch - китайская разработка, продаётся на Aliexpress

В этой статье я буду решать проблему первым способом, притом, что когда это происходило, второго способа ещё не было. Я обратился к нескольким продавцам на Aliexpress.com, и они согласились разместить для продажи китайские коммутаторы, которые, как заявлено, способны принимать сигналы от 3 панелей и передавать сигналы от 3 контроллеров. Обзор этих устройств во второй части.

Подключение через дополнительный контроллер

Пока у меня не было иного варианта решения проблемы, и сделал свой - купил ПЛК S7-200 Smart и использовал его в качестве коммуникационного процессора между S7-1200 и HMI.

Тут на самом деле был выбор - использовать S7-200 Smart или старый добрый S7-200. Но у S7-200 нет встроенного порта Ethernet, пришлось бы применять коммуникационный процессор (модуль) CP243-1, который денег стоит больше, чем сам S7-200. Некоторое время спустя, после долгих уговоров китайцев, тамошняя компания GIPENG (делающая хорошие подделки под Siemens) начала продажи через Aliexpress контроллеры S7-200 со встроенными портами Ethernet (по факту - со встроенными модулями CP-243-1) по цене обычных S7-200. К сожалению, на момент написания коммуникационной программы у меня в распоряжении такого контроллера не было.

Коммуникационная программа

Вся эта программа строится на коммандах PUT и GET (отправить и считать), а также содержит функцию, устанавливающую задержки по времени для входных сигналов (поскольку входы коммуникацонного контроллера и его модулей могут быть использованны центральным ПЛК). По умолчанию функция Read_DI /SBR6/ не используется, хотя и настроена для работы (выделены области памяти для хранения значений, рассчитаные на входы S7-200 Smart без модулей).

Отрицательные стороны

Весь DB1 на S7-1200 должен быть строго разделён на "зоны" адресов для входных данных, передаваемых и тех данных, которые и передаются с панели, и изменяются в ПЛК одновременно. Особую сложность вызывает последняя группа, поскольку приходится  отслеживать изменение данных. Но данные могут занимать разное количество места в памяти, по этой причине добавлены дополнительные ограничения: данные должны быть отсортированы по типу (DWORD - WORD - BYTE), а количество переменных каждого типа должно быть отражено в таблице параметров. Эта же таблица содержит и другие настройки.

Неудобство вызывает возможность S7-200 Smart передавать за раз лишь 212 и 222 байт для операций GET и PUT соответственно. Поэтому вся память ещё и дополнительно разделена на абстрактные "блоки" по 200 байт. Для каждой "зоны" адресов нужно указывать количество используемых блоков, а также фактический размер последнего блока.

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

Положительные стороны

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

Программы качаем тут

Все подробности вы сможете прочитать в инструкции


О подключении S7-1200 к панелям Smart через мультифункциональный свитч читайте во второй части статьи

среда, 12 августа 2015 г.

WT Client DLL - снятие ограничения в 30 минут на работу библиотеки

Некая компания WinTECH Software создала клиента для OPC-серверов, называется wtclient.dll (вот сия страница), который работает 30 минут, после чего отваливается до следующего запуска. Это типа Demo-версия у них. Вот что пишут разработчики:  

The demo version of the dll will time-out after 30 minutes of operation.

Варианта решения проблемы три:

1. Заплатить деньги за нормальную версию этой библиотеки (как бы разработчикам этого хотелось...), 

2. Программно реализовать перезапуск клиента через промежутки времени менее 30 минут. Способ работает, но не комильфо.

3. Поломать dll-ку и дело с концом!

Короче, забираем исправленную версию отсюда.


Cпасибо разработчикам OllyDbg!

Как открыть запароленные блоки в программе для Siemens S7-200 и S7-200 Smart

Как известно, снятие пароля с контроллера S7-200 - задача решаемая паяльником. Также вполне успешно решена задача взлома пароля, установленного на файл проекта для Step-7/MicroWIN. Но вслед за успешной выгрузкой программы после взлома ПЛК или радости от просто случайно попавшей в руки программы, может настичь разочарование: функциональные блоки могут быть защищены паролем. Задача взлома пароля решается довольно-таки просто. Спасибо разработчикам отладчика OllyDBG.



На этом ролике демонстрируется считывание пароля для старой версии Step-7 MicroWin. На самом деле этот пароль нафиг не нужен, достаточно подправить файл библиотеки datamanagers200.dll, чтобы программа любой пароль воспринимала как верный. Я поправил библиотеку для Step7 Microwin последних версий:

CRACK datamanagers200.dll for Step-7 Microwin (S7-200)


CRACK datamanagers200.dll for Microwin 4.0 SP8 (XP) and SP9 (Win7):

LINK

 

Замените этим файлом оригинальный в папке с программой в каталоге /bin.
На запороленные data-блоки crack тоже распространяется.

CRACK datamanagers.dll for Step-7 Microwin SMART (S7-200 SMART)

Microwin SMART 2.0:

LINK

Версия 2.0 имеет существенное положительное отличие от версии 2.2 - в версии 2.0 вы можете распороливать не только чьи-то закрытые функции, но и функции, написанные программистами Siemens (например, функции обмена данными по RS485). В версии 2.2 убрана сама возможность ввода пароля для таких функций, т.е. они закрыты всегда без возможности их распаролить.

Microwin SMART 2.2:

LINK