вторник, 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

 

воскресенье, 21 июня 2015 г.

Step-7 Microwin. Как прочитать китайские иероглифы без китайской Windows

Рано или поздно при обслуживании промышленных контроллеров вы столкнётесь с тем, что к вам в руки попадутся программы написанные всякими там бельгийцами, немцами, французиками и, конечно,.. китайцами. Да-да-да, если вы ещё что-то могли разобрать в комментариях к программе, написанной на каком-нибудь французском (или, о чудо! английском - это прям мана небесная), то вероятность того, что вы ничего не поймёте в огромном количестве иероглифов, смело приблизится к 100%.

Но, как оказалось, перевести иероглифы - это лишь полбеды. Недавно я столкнулся с другой проблемой - как вообще прочитать эти самые иероглифы? А дело было так: на объекте мне выдали китайскую программу для контроллера S7-200 Smart. Необходимо было скопировать все иероглифы из неё и отдать это дело переводчице. Знакомый с установкой китайского софта (всё таки уже давно пользуюсь WinCC Flexible China для программирования Siemens Smart панелей), я предварительно выбрал в региональных стандартах китайский язык (поддержка иероглифов уже была установлена, для тех, у кого её нет - качаем тут), перезагрузил компьютер, открыл Step-7 Microwin SMART, открыл проект и... вместо иероглифов кракозябры:


Походу дела что-то не так с поддержкой иероглифов, подумал я. А давайте-ка поставим китайский язык в настройках самой программы. Так и поступил, перезагрузил программу, полюбовался непонятным китайским интерфейсом (все пункты меню иероглифами), открыл проект и... бл***! Всё меню на китайском, а внутри программы: наименования блоков, комментарии в программе, таблица символов по прежнему кракозябрами. Ну как так то? Гугло-яндексирование наткнуло меня на то, что, оказывается, ни я первый сталкиваюсь с такой проблемой. И кончилось бы всё тягомотной установкой китайской Windows (я уже и дистрибутив скачал), если бы не внезапное решение проблемы на одном из форумов: оказалось, что есть такая замечательная программа Microsoft AppLocale. Открываем эту прогу, выбираем нужный exe-шник, выбираем язык и алелуя!

В списке вы увидите 2 китайских языка, это потому что есть традиционные иероглифы, а есть упрощённые.

КРАТКИЙ ЭКСКУРС В ИСТОРИЮ

Упрощённые иероглифы используются в КНР и Сингапуре, традиционные иероглифы официально используются на Тайване и не только. Суть в том, что традиционные иероглифы слишком сложны для запоминания, поэтому в один прекрасный момент многие решили их упростить. Так уж вышло, что каждый решил упрощать отдельно от других. В итоге, созданные в КНР упрощённые иероглифы стали непонятны в других странах: в Китайской республике (Тайвань), Сингапуре, Корее и Японии. Со временем Сингапур перенял упрощённые иероглифы из КНР. Японцы стали придумывать свои упрощённые иероглифы (где они применяются параллельно с японской письменностью). Корейцы придумали свою письменность, сохранив в воспоминаниях больше знаний о старых иероглифах, чем о вновь изобретённых. Короче говоря, получилась такая ситуация, что большинство китайцев используют упрощённые иероглифы, но традиционные также не менее важны, поскольку зная их, можно не только понять упрощённые иероглифы, но и легче найти язык с японцами и корейцами. Это, вероятно, и является причиной того, что на Тайване по-прежнему применяются именно традиционные иероглифы.

Возвращаемся к нашим баранам. Выбираем упрощённый китайский (ну, если программа не с Тайваня):


Вот теперь всё работает как надо:


Ну или почти как надо:


По началу всё было нормально. А потом проявился такой глюк. При выделении в таблице символов иероглифы превращаются в кракозябры, при копировании опять-таки получаем кракозябры. Но выход был найден: если тот же самый комментарий выбирать в самой программе (в таблице в конце Network, где используется соответствующая область памяти), то такого глюка нет:



STEP-7 MICROWIN

Ну и в завершении хотелось бы сказать насчёт Step7 Microwin для обычных контроллеров S7-200 (не Smart). Попытка открыть microwin.exe через AppLocale привела к ошибке. Но, в принципе, есть один способ. Microwin SMART умеет открывать mwp-файлы. Он преобразует их в свой формат, при этом сама программа не меняется, остаются и комментарии, и data-блоки, и таблицы символов. Залить программу в контроллер S7-200 при помощи Microwin SMART не удастся (только в S7-200 SMART), а вот для чтения иероглифов такой способ вполне сгодится.

КИТАЙСКИЙ WINDOWS

Если же Вам всё-таки пригорело установить китайский Windows. вводите в гуглояндекс поиске что-то типа:
Windows XP SP3 下载