trust already work Выгрузить программу из S7-200 просто? Или не очень? » Портал инженера

Выгрузить программу из S7-200 просто? Или не очень?

Предисловие.

Написать эту статью меня подтолкнула ситуация с купленным на нашем опытном производстве станком для гидроабразивной резки листовых материалов ”ALBA” производства наших китайских коллег- машиностроителей из фирмы Sunrise. Станок прекрасно работал пару-тройку лет, и вдруг на дисплее системы ЧПУ появилось сообщение ”Emergency Stop” и станок всяческие действия производить отказался.
При этом на пульте управления в режиме двоичного счетчика красиво мигали две красные светодиодные лампы. Поскольку нормальной техдокументации не было, позвонили в сервисный центр продавца. Там ответили — присылайте заявку, платите денежку, опосля чего приедем, поглядим. Предложение, наверное, и было-бы принято, если-бы предприятие не сидело на картотеке, денег, естественно, не было.
Тогда начальство попросило меня посмотреть, хотя в служебные обязанности зама главного конструктора по АСУТП проектного института и не входит обслуживание станочного парка опытного производства.

Выгрузить программу из S7-200 просто? Или не очень?

Процесс.


Фаза первая — подготовительная.

Осмотр показал, что всей лабудой (кроме ЧПУ) управляет маленький S7-200 с одним дополнительным модулем ввода/вывода. Хотя мы в своем оборудовании 200-ю серию не применяли (все больше 300-ю), но адаптер PPI был в наличии (остался от комплектации какой-то панели оператора). Все просто — надо скачать софт из контроллера и посмотреть, что выставляет ошибку на ЧПУшную систему, благо выход контроллера горел только один, и при его отрывании от контроллера, ошибка с экрана ЧПУ пропадала, что впрочем, не разрешало работать станку.

Выгрузить программу из S7-200 просто? Или не очень?

Вот этот контроллер.

Далее, казалось все очень тривиальным. Установил на ноутбук Step-7 Micro/Win, подключил контроллер, настроил интерфейс, Upload, а потом.... Окошко ввода пароля. Попытки ALBA, SUNRISE, SUNSHINE и CHINA ничего не дали :).
Звонок в техподдержку продавца несколько обескуражил - «У нас нет пароля, китайцы не дают. Если что-то с контроллером, мы им в поднебесную отправляем!» - …??? Верилось с трудом, и вопрос кряка этого всего хозяйства становился делом профессиональной чести.

Посмотрел сниффером порта что передается/принимается в процессе авторизации. Пароль контроллер передает в зашифрованном виде, поэтому информация малополезная, так как алгоритм шифрования неизвестен и может быть неограниченное количество вариантов.

 

Фаза вторая — сбор информации.

Пошел в офис курить Интернет. Контроллер из шкафа станка демонтировал и прихватил с собой. Нашлось много чего интересного, в основном на https://plcforum.uz.ua. Сайт очень полезный, всем настоятельно рекомендую!

Программа распароливания проекта S7 -
Ссылка №1:
https://plcforum.uz.ua/viewtopic.php?f=1&t=9426&hilit=unpassword
Хорошая вещь, реально работает (проверил позднее), но у нас нет проекта!

Дальнейшие поиски привели к методике считывания дампа из микросхемы 24С64 - памяти с последовательным доступом. Имея дамп тоже можно извлечь пароль.

Ссылка №2:
https://plcforum.uz.ua/viewtopic.php?f=1&t=4648&hilit=%D0%BE%D0%B1%D1%80%D0%B0%D0%B7+S7+200
Огромное спасибо CoMod-у за подробную информацию.

Есть там еще одна ссылка, которая призвана прочитать пароль прямо с контроллера по штатному интерфейсу PPI.

Ссылка №3: https://rapidshare.com/files/3337879/S7-200.exe.html Программа реально обращается к контроллеру, даже читает тип ЦПУ и версию прошивки, но, увы, пароль не показывает — поле пустое. Подозреваю, что это когда-то работало, но на ранних версиях прошивок ЦПУ.
Программа реально устарела и уже неактуальна для новых процессоров.

Фаза третья — аппаратное обеспечение (hardware).

Следующий шаг — конструирование программатора. Недолго думая, сварил навесным монтажом то, что рекомендовал CoMod в ссылке №2 на базе порта LPT. Два КТ315, четыре резистора. Приварил проводки к микросхеме ПЗУ, установил PonyProg https://www.lancos.com/prog.html и … не работает!
Танцы с бубном и прощупывание сигналов при помощи мультиметра результатов не дали. Как оказалось позднее, плохо прощупывал мультиметром, но об этом потом.
Пошел курить Интернет дальше в поисках решения. В результате остановился на схеме программатора EXTRAPIC https://www.5v.ru/extrapic.htm в упрощенном варианте — выкинул все, что не нужно для чтения 24С64, а это немало. Осталось две микросхемы MAX232 и 555ЛА3 (я поставил 155ТЛ3), четыре конденсатора, резистор и диод. Когда ездил за MAX232 в магазин (остальной хлам присутствовал) решил купить и 24С64 для экспериментов с программатором. Питание 5 Вольт взял с USB. Приварил проводки к микросхеме ПЗУ (уже новой в корпусе DIP), запустил PonyProg и … не работает!

Выгрузить программу из S7-200 просто? Или не очень?

Вот схема программатора:

Выгрузить программу из S7-200 просто? Или не очень?

Так выглядит сваренное наскоро устройство.

Выгрузить программу из S7-200 просто? Или не очень?

Вот расположение микросхемы на плате контроллера S7-200.

Фотографии платы контроллера с https://plcforum.uz.ua/ предоставлены CoMod-ом, за что ему огромная благодарность.

 

Фаза четвертая — танцы с бубном.

Скачал https://www.winpic800.com/. Программа очень полезна для настройки и тестирования программатора — можно выбирать сигналы портов, которые подключены к микросхеме ПЗУ и переключать их программно в статике, проверяя, таким образом прохождение и нормализацию сигналов. Попутно пристально разглядел маркировку купленной 24С64 и ничего похожего на корпусе не нашел. ??? Не то подсунули в магазине (может быть случайно, может аналог)…? Поехал в другой магазин, и купил там 24С08 (на ней именно то и написано), подключил...
Нет ответа от чипа ПЗУ! Стал прощупывать сигналы мультиметром и … обнаружил замыкание, не совсем короткое, но все же, сигнальных проводов между собой в кабеле, соединяющем программатор с микросхемой ПЗУ. Кабель этот был накануне отстрижен от дохлой мышки (вот почему мышка-то не работала!)! Отрезал половину — коротыш пропал. Подключил и … о чудо — ЗАРАБОТАЛО! Подключил проводки к микросхеме 24С64 контроллера S7-200, запустил WinPic800 – чтение и … прочиталось 256 байт нулей...!!!???

Выгрузить программу из S7-200 просто? Или не очень?

Вот здесь и происходил процесс.

 

Фаза пятая — Победа!

Скачал программу https://www.ic-prog.com/. Запустил и …, о чудо, прочитал таки дамп. Выглядит начало довольно прикольно!

Выгрузить программу из S7-200 просто? Или не очень?

Дальше дело техники, как написано в ссылке №1. Используем Unlocks7_200and300.exe для извлечения пароля из дампа. Выкачиваем проект Step-7 Micro/Win и пристально его изучаем. Победа!

Фаза шестая — изучение кода из поднебесной.

Программа управления, собственно ничего хитрого собой не представляет. Обычное «релейное» управление всякой всячиной, типа гидравлики, насосами, клапанами и прочей дрянью, но... Присутствует код таймера на 360 рабочих смен по 8 часов. Таймер считает только тогда, когда включен какой-то выход, типа включения гидронасоса усилителя давления, то есть когда станок работает. Когда таймер досчитывает до конца, устанавливается флаг с адресом M13.0 :), типа, все ребята, платите денежки! Что это, как не вымогательство! Сбросить флаг невозможно никаким образом, кроме подключения отладчика, для чего нужен пароль!
Насколько это некрасиво и кто запрограммировал это, либо китайцы, либо наши посредники из Москвы мне, естественно, неведомо... Но хочется сказать: Ну и козлы же вы, ребята!

PS: Что интересно, на корпусе ПЛК маркером написано 360D. Сначала я принял это за пароль, потом конечно, стал понятен реальный смысл этой надписи :).

Кстати, первый вариант программатора, скорей всего, был рабочий. Виной всему был этот гнилой огрызок кабеля от мышки!

Дмитриев Алексей
Ярославль, 2011 год.

 

Скачать инструменты: Вы не можете скачивать файлы с нашего сервера



Обсудить на форуме

Комментарии

Добавить комментарий
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    БЛОК ISM — коды ошибок Mercedes AT-722

    Блок переключения передач ISM, модуль сервопривода акпп.

    Выгрузить программу из S7-200 просто? Или не очень?

    Осмотр показал, что всей лабудой (кроме ЧПУ) управляет маленький S7-200 с одним дополнительным модулем ввода/вывода. Хотя мы в своем оборудовании 200-ю серию не применяли (все больше 300-ю), но адаптер PPI был в наличии (остался от комплектации

    Восстановление Samsung SCX-3400, SCX-3405 после неудачной прошивки

    Эту статью меня заставило написать большое количество устройств SCX-3400 и SCX-3405, попадающих ко мне в ремонт. Ситуация одна: владельцы устройств обращаются к "народным умельцам" с просьбой прошить МФУ модифицированной прошивкой.

    Убрать крест и восклицательный знак со значка подключения к сети в трее Windows 7 – просто!

    Сталкивался уже много раз, что пользователей “бесит” непонятное на их взгляд поведение иконки статуса сети (интернет работает, а на иконке крест либо восклицательный знак). Хотя если разобраться всё не так сложно!

    Замена ламп в LCD-панелях

    Менять CCFL в панелях от ноутбуков, мониторов, телевизоров и тд, лучше на лампу с такими же размерами, но если требуемого размера нет, можно установить лампу меньшей длины, чем была на 1 - 5 мм.