Рабочие будни — хачим PLC

Что то часто у меня стали спрашивать чем я занимаюсь помимо сайта.

Развлекаюсь, блин :) В данный момент я кошу под С001 31337 Ha][0r, а конкретно пытаюсь похачить одну железку — промышленный контроллер Master-K3P от LG Electronics. Это его мозговой блок. Он втыкается в «маму» куда же подключаются и периферийные модули. Они могут быть разными — релейными выходами, входами, скоростными счетчиками, входами для энкодера, блоки для Ethernet, CAN, Profibus да тысячи их.

PLC Master-K

Надо мне сейчас просниферить протокол по которому мозга общается с компом в момент запроса пароля и попытаться понять как скормить ей пароль. Если там обмен не шифрован (а я на это надеюсь, т.к. параноя инфобеза в промышленности еще не достигла уровня как в IT и порой защита бывает совсем детской) то можно будет спаять брутфорсер, за ночку другую подобрать этот пароль и вынести мозг капризному контроллеру к едрене фене. А то затрахал своими приколами, а каждый раз вызывать китайцев, чтобы они починили это долго и накладно.

Надеюсь получится, тогда будет ощутимый профит. А если не получится, то опять придется вызывать луноликих. Впрочем, тогда может прорулить терморектальный криптоанализ, где то у меня в загашнике валялся ЭПСН 100/220…

Кратко о PLC для тех кого заинтересовало что же это такое…
Данная штуковина управляет автоматикой станка, программируется на своем специфичном языке, точнее даже на целом семействе языков — LD, IL, ST и SFC (Языки программирования МЭК).

LD — похож на релейно контакторные схемы.
IL чем то напоминает Assembler или, наверное, даже ближе к какому нибудь VDHL.
ST — что то сильно похожее на гибрид бейсика и паскаля.
SFC же выглядит как алгоритм какой, по сути дела алгоритмом он и является.

Причем единой четкой нотации (как в Си, например) тут нет. Они все сделаны примерно похоже, но различаются. Бардака еще добавляет то, что под разную задачу лучше подходит разный тип языка. Конечные автоматы удобней клепать на LD, если же у нас используются численные переменные, то в релейно контакторной схеме они выглядят пришельцами из другой галактики. IL хорош, например, там где надо подправить прогу через микроскопическую консольку переносного программатора, а SFC любят технологи — им вломы изучать программирование, дай тока диаграммы рисовать.

IL, ST и SFC я так и ниасилил, т.к. сразу подсел на LD, очень уж прикольно фигачить эти релейно контакторные схемы. Прям как в нашем технаре на практике :)

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

Чем хороши PLC, так это тем, что это готовые устройства. То есть не надо парится с обвязкой микроконтроллера, придумывать как там управлять релешками и контакторами, как завести сигнал с датчиков. Не надо ломать голову над тем, чтобы все было надежно. Не надо думать над корпусом и колхозить печатную плату. Все уже сделано и придумано.
Воткнул PLC, прицепил к нему блоки с I\O и наслаждаешся жизнью. Прошивается он обычно через RS232 или RS485. Корпус как правило монтируется на обычную DIN рейку. Выходы уже сразу пригодны для запитки промежуточных реле, а в некоторых случаях и силовой контактор сдюжат. Входы оптически развязаны. Все сделано надежно и неубиваемо, по высоким промышленным стандартам.
За все, конечно, приходится платить — стоят они от 5-6 тысяч рублей, но зато это надежное промышленное решение.

На вскидку могу назвать простенький PLC начального уровня, которому для запуска нужно минимум — мозговой блок, да питание подать. Например это Omron ZEN или Siemens Logo! Еще есть такая прелесть как Direct Logic DL-05, я ими в универе хорошо наиграться успел :)

Думаю, прикупить ради сайта какой-нибудь Omron ZEN и сварганить пару наглядных статеек по быстрому вьезду в эту религию. Что нибудь в стиле «Как поднять светофор у себя на огороде». От программирования на булевой логике у классических программистов мозги взрывает сразу же :)

UPD:
Хакнул я его. Порвал как тузик тряпку. Говорил же, защита там была детская, а точнее не было никакой — при старте обмена между прогой и PLC контроллер шлет софтине свой пароль практически открытым текстом. Сложней было себя запинать заняться делом, подключить PLC к компу и начать тупить в дампы обмена. На взлом ушло не более часа.

113 thoughts on “Рабочие будни — хачим PLC”

  1. Кстати для тех кому не охота выкидывать столько денег чтобы поиграть с ПЛЦ есть вот такое чудо http://cq.cx/ladder.pl это на АВР собирается автомат. Есть к тому и програмка.. Всё неудобство заключается в том что после изменения програмы надо перешить контролер. Ну и нет входов и выходов защищённых от всего можного так как на настоящих автоматах… Вобщем для попробовать — самое то.. У меня на таком работает маенький станочек уже несколько лет.

    1. полистал описание… жесть: тяжело им нарисовать нормальную картинку вместо убогих текстовых схем?

      1. Так ведь старые сименсы именно так и програмировались. Здесь это делалось не для удобства програмирования — эта програма у меня взяла програму от step5 и работает как настоящий сименс… Вобщем на любителя :)

    2. Ага классный проект, у меня уже года два как в закладках пылится. Надежно работает? Глюков нет?

      1. Я его подключил вместо сгоревшего СЕМАТИК С5 на автоматический прес — запресовывает в пласмасу несколько видов разных контактов… Собрал всё с опторозвязкой и в железной коробке… Так что от первого раза работал 3 года. Потом ещё два раза менял програму — ускорял производство :) Щас уже фирма для которой я это делал переехала в другой город а я не поехал… Там всего то было 6 датчиков и 4 реле. Пока не звонили — значить работает.

      1. Мне довелось делать один проект на «Овнах», очень понравилась среда разработки CoDeSys. Можно не имея опыта работы с «Овнами» реализовать средней сложности проект. Хотя у меня мало опыта, что бы рассуждать про другие ПЛК :).

  2. У меня на работе контроллеры Siemens Simatic 200 и 300. Надежные, но дорогие.
    Еще есть Festo контроллеры. У нас их предствительство. Вот они подешевле чуть и оболочка для программинга мене много больше нравится.

    А вообще микроконтроллеры — таки наше всё! (оффтоп)

  3. DIHALT, ты вот много по внутренностям станков лазаешь, натыкался ли ты когда-нибудь на сервоприводы фирмы Kollmorgen Servotronix (CD Servostar)?

      1. локализация. китайские заводы сименса. строго для китайского рынка. к нам попало в составе готовой производственной линии.
        хотя, впрочем, немецкий симатик версии 2.х тоже не ломается (

  4. Прикольные PLC у израильской конторы Unitronics — у них в одном корпусе сам PLC, входы-выходы, интерфейсы, дисплей для отображения технологической инфы, панель с кнопками для задания параметров. В общем, всё в одном. Стоят дёшево. Софт бесплатно распространяется, при этом служба поддержки работает оперативно — я у них на форуме запрос оставлял на тему неправильно отображающейся кириллицы, через пару дней и несколько скриншотов выпустили новую сборку с исправленной проблемой. Самый дорогой из них стоил около сорока тысяч рублей, но при этом там цветной тач-скрин дюймов на 12.

      1. Конечно можно. Фишка то именно в том, что если система минимальна, то можно обойтись одним блоком. Другой вопрос, что в некоторых отраслях промышленности традиционно используются контроллеры определенной фирмы. Например, вся нефтяника на Аллен Брэдли работает, и пофиг на их охренительную цену, зато надёжность зашкаливает.

        С дисплеем общаться самому не надо, всё уже сделано за нас :) В специальном редакторе в составе ИДЕ рисуешь рисуночки, индикаторы, шкалы, кнопки (если тач-панель), навешиваешь на них переменные с определенными адресами, а потом в программе на лестничных схемах используешь эти переменные. Настроек разных — море.

        1. Про АБ не согласен. Ну в отечественных условиях, бывшее СССР. За что откаты больше — то и ставят. Лукойл прется от SCADA-Pack, хотя на СИКН-ах мы ставили АБ 500 серии. В КазМунайГаз — Siemens (наша-наша прелессссть). Башнефть — с недавнего времени подсела на АБ, а до этого был разброд такой, что ТО-шники вешались.
          Да и надежность АБ тоже под большим сомнением, конечно это не РК-133 и не КР-300, флагманы чебоксарской истребительной авиации, но горят они не хуже семенов и скада-паков. ControlLogix их меня зацепил. Приятная машинка. На работающем газосепараторе спокойно правил алгоритмы, не шелохнулся процесс.
          Есть еще монстр DeltaV емерсоновский. Железка сама по себе хорошая, но вот софт к ней и политика компании…лицензии нужно на каждый аппаратный канал заказывать. Т.е. на каждый дискретный, токовый и интерфейсный. Плюс бардак среди поставщиков — запросто могут профукать какую-нибудь лицензию. В результате бывает ситуация что все готово, осталось какой-нибудь мелкий датчик цепануть…а лицензии нету, датчика нету, каюк. Установка стоит, емерсоновцы извиняются, говорят — айн-момент. А момент у них три месяца.

          1. Нефтянники и энергетики любят скадапаки за одну единственную вещь — они стойко переносят как низкие так и высокие температуры, да и вообще их исполнение ориентировано как раз на промышленное исполнение и использование в агрессивных условиях. Честно говоря не знаю что нужно делать со скадапаками чтобы они горели — нет, конечно можно подключать наплевав на все требования, но это уже сами себе злобные буратины, а так довольно надежные и шустрые, правда часто большой «запас прочности» не особо и нужен.

            По сименсам скажу что по сути они являются копиями уже упоминавшихся выше DirectLogic. Изначально это были чистые копии, сейчас уже понятно сименс имеет свои наработки. При одинаковой функциональности сименсы проигрывают DirectLogic’ам в цене, что является немаловажным фактом. Правда, в России дистрибьютеров сименсов много, а вот DL — всего один насколько я знаю, и это тянет за собой определенные проблемы как с комплектацией, так и с персоналом. Вот DL и сименсы они да, несмотря на то что типа промышленные контроллеры — они несколько «нежные». Бывают случаи когда выгорают выходы-входы или порты ввода вывода. Особенно критично когда длинные линии связи rs-485 идут между контроллерами — тут вообще без преобразователей осуществляющих опторазвязку не обойтись.

    1. Еслия я ничего не путаю, именно такой контроллер этой управляет вот этим котлом:

      http://mega-watt.ru/nashi_obekti/steamboat/index.htm

      Вот видео, которое я снимал при пробном пуске установки — там в кадре мелькает и контроллер этот в щите, и среда разработки на экране ноута:

      http://rutube.ru/tracks/1243023.html?v=72d3425650fc242c824af57b31c4cb9b

      Посмотрел внимательно — ну да, контора эта все вообще проекты на таких контроллерах делает:
      http://mega-watt.ru/sft/index.htm

  5. Книга — автор Парр 2007 год.

    «Программируемые контроллеры. Руководство для инженера»

    Описание:
    Рассмотрены инженерные аспекты построения систем управления технологическими процессами с использованием программируемых логических контроллеров (ПЛК).

    Приведена обобщенная структура ПЛК, рассмотрены интерфейс программиста и оператора ПЛК, а также инструментальные средства программирования, обмен данными по

    последовательным каналам, принципы организации локальных сетей управляющих ПЛК.
    Для инженеров-практиков, занимающихся автоматизацией производства, студентов вузов, изучающих дисциплины, посвященные техническим средствам автоматизации.

    Скачать http://tinyurl.com/njvwft 6.11 MB

    1. Огромное спасибо!! Вообще почему-то очень мало книг про ПЛК… Очень редкие вещи, хотя распространены повсеместно в промышленности, не понятно откуда только берутся высококлассные специалисты по ПЛК.

      Лично я был на двудневных вводных курсах, но это так, чтобы понять что к чему, а так… чтобы после них какой-нибудь реальный объект автоматизировать, не рискнул бы.

      Немного поработал с ПЛК Wago, программируются в бесплатной среде CoDeSys (поддерживаются все языки МЭК), только для некоторых ПЛК (в том числе и Wago) платные таргет-файлы (по сути мини-драйверы) для CoDeSys, чтобы контроллер поддерживался оболочкой. У Овен-ПЛК, к примеру, таргеты вроде были бесплатные.

    2. Предупреждение всем, кто еще зайдёт на эту страничку, и соберётся проследовать по указанной Lerman ссылке.
      Там совершенно гадский файлообменник, подсовывающий екзешник, который что-то ставит в систему. Собственно, они там и не особо скрываются — в инструкции по скачиванию так и пишут:
      1 Simple save exe file installer on your dekstop (на картинке пример MyBirthday.avi.exe).
      2 Follow easy steps and install Download Accelerator
      3 Your file will be downloaded automatically after Accelerator installed

      — надо сказать, что галочку «Use Download Accelerator» я снял перед нажатием «скачать».

      Антивирус определил скачанное как «Application.Win32.InstalleRex». Может и не вирус — но нахрена вообще что-то левое ставить, когда можно найти, где скачать напрямую?

      1. Ну спереть прошивку это пол дела, а вот еще потом разобраться в ней — тоже та еще задача. Занимался как-то подобным — весь переплевался. PLC управлял работой котельной (4 котла где-то 15 МВт каждый, соответственно куча насосов, клапанов, датчиков и прочей лабуды ), и вот один из клапанов странно дергаться стал — что-то засбоило в программе. Вообще довольно странно для PLC но потом как оказалось — во время сдачи-приемки не проверяли работу указанного клапана в автомате, и стоял он долгое время в ручном, а когда включили автоматический режим — получили глюк. На контроллере пароля не стояло, поэтому радостно упер всю программу себе на ноут и понял что попал. Потому что в прошивке не сохраняются ни комментарии ни имена переменных :) — ничего что могло бы помочь восстановить логику программы. В общем разбирать LD-программу в «голом виде» забавно, но меня больше не тянет.

        1. А вот тебе на LD пример простейшей мигалки.

          Суть в чем. OUT это реле запитывающее лампочку.
          Т1 и Т2 — таймеры. Когда на его вход приходит сигнал, то он выжидает время Т и выдает свой сигнал. И держит его до тех пор пока на входе у него не будет сигнал снят.

          Теперь как работает. При включении системы Т2 не запитан, поэтому его выход !Т2 запитывает таймер Т1 и он начинает считать. Через некоторое время Т1 сработает и включит лампочку. При этом он подаст сигнал и на Т2 который будет считать свою выдержку. Как только досчитает он перекроет кислород Т1 и Т1 отпадет, лампочка тоже погаснет. Однако обломав Т1 он обломет и себя, поэтому Т2 тоже отпадет, а Т1 снова запитается и будет считать, как досчитает зажгет лампочку и включит Т2 который перекроет ему кислород и погасит лампочку …. и так до бесконечности.

          Принцип понял? А теперь попробуй усложнить алгоритм. Скажем, чтобы лампочка моргнула два раза быстро, а потом долгая пауза :) Поначалу переклин мозга гарантирую, но потом проникаешься и начинает тащить как удава по стекловате.

          1. Примеры ИМХО лучший способ обяъснить. Спасибо за отот и хотелось бы ЕЩЕ ! как обычно :)

            но по этой схеме ни как не могу понять ваше описание алгоритма. Что ознаяают обозначения «конденсатор» и «перечеркнуты конденсатор». Как программа щагает по горизонтальным линиям ?

            1. Это не конденсатор. Так обозначают нормально замкнутый и нормально разомкнутый «контакт».

              Программа тут не шагает (там конечно есть скан цикл, но тут не о нем речь). Она ведет себя как обычная релейная схема. Где правая и левая шины это питание.

              1. Тогда я так понимаю алгоритм на схеме:

                При включении …

                1. питание подается по второй линии на Т1 и он начинает счет.

                2. При насчете Т1 включаеются контакты Т1 в первой и 3 строках, это запускает Т2 и включает OUT001

                3. Когда Т2 досчитает до заданого в нем времени он размыкает Т2 и отключает питание Т1 и значит размыкает контакты Т1 в двух строках — т.е. выключается OUT001 и Т2 и значит контакт Т2 снова завмыкается и мы уходим на п. 1.

                Правильно ?

                А где можно найти список всех блоков для таких диаграмм ?

                  1. А вот тебе усложненный пример который я предлагал составить комментом выше. Двойной мырг, а потом длительная пауза. Ну и временные диаграммы этой ботвы:

                    1. Любопытно. Я пытался пойти другим путем, но стало лень :) Тоже было бы 4 таймера, но посложнее коммутация.
                      Из описанных по ссылке меня больше заинтересовали FBD и SFC как самые высокоуровневые и наглядные. А LD для тех, у кого мозги свернуты в сторону рэлейной логики. IL и ST я думаю им мозги взрывают не хуже, чем LD обычным программистам :)

                    2. у меня на роботе (метрополитен) таким образом реализована микропроцессорная централизация. Релейная схема просто переписана вот в такие схемы и загружена в шнайдеровский контролер.

                1. Да, правильно.

                  Описание всех таких блоков в документации на конкретный PLC они у всех разные. Там функций подобных Т1 может быть под сотню разных всяких. Сравнение, счетчики, таймеры, всякая хитрая логика. Да чего там только нет. Скачай себе прогу Zen Tool (или как то так) там можно поэмулировать PLC Omron ZEN.

                  1. Большое спасибо. Диплом не нужно — я не хочу так глубоко копать. Хочу просто понять принцип такого программирования, так как PLC довольно модная тема щас а я в ней ни бе ни ме.

                    Симулятор скачаю обязательно.

                2. Если интересно, то могу найти свой диплом универский. Там я на DL-07 здоровенный станок собрал. Потом этот диплом с незначительными изменениями был воплощен в железе при апгрейде станка 6М612, правда уже без моего участия. Я уволился к тому моменту.
                  Там подробно разобрана схема подключения, прога управляющая. Вначале в виде уравнений ,потом в виде LD программы.

              2. Никакая программа на языке LAD никогда НЕ ведёт себя как обычная релейная схема. Все программы на этих разнообразных LAD, FBD и пр. «схематичных» языках транслируются в язык IL и ему подобные (у Сименса — STL), т.е. в последовательный набор команд. В настоящей же релейной схеме работа всех элементов происходит одновременно, а не последовательно.

                1. Да ладно? Может IL и выглядит последовательно, но думает эта штука дискретными скан-циклами. Т.е. за один цикл он собирает данные на входе, потом их анализирует по логике и выдает на выходе. Так что LD схему (как и прога на STL) можно считать что работает параллельно. Можно реле располагать в любом порядке и гонки не будет.

  6. Из PLC-шек имел дело только с климатическими Kieback&Peter. Но и там не программал сами PLC, а делал внешнюю тачскрин-консоль нестандартную, для управления по протоколу Bacnet.
    Вот тут про это: http://www.youtube.com/watch?v=TKo04zhm6BY

    Вообще забавно у LG сделано — ни дисплея, ни прочих органов управления. Понятно, что станку это не сильно нужно. Но дисплейчик с валкодером и парой кнопок стоит недорого, а для диагностики не помешает.

    1. А зачем они нужны? Дисплейчик бывает только на мелких PLC вроде Zen или Logo!
      Для отладки канает комп. Для диагностики переносная консоль. Для общей диагностики хватает светодиодов на вводах/выводах.

      1. Здесь скорее всего ещё зависит от области применения.. Когда PLC рулит одним станком, то там всё просто — либо оно работает как положено, либо светит красненьким и вызываем мастера :) Он лезет с ноутом в контроллер и остальное уже его головняк.

        А если конроллер рулит кондиционированием, то он управляет кучей разнесённых в пространстве и зависящих от множества условий компонент.. Вот продвинутая диагностика бывает полезно — логи аварий/ошибок за ночь, сообщение о том какой именно внешний блок отказал, в какой точке помещения-цеха-операционной-офиса пераметр вышел за допустимые пределы и т.д.

        1. Операторские панели вам в помощь, начиная от простых текстовых заканчивая здоровенными цветными TouchPad’ами — любые капризы за деньги клиента, ну а если денег совсем много или система большая, то есть SCADA-системы верхнего уровня для компьютеров.

          P.s. Кстати меня мучает вопрос почему большинство «серьезных» SCADA пишутся под Windows?

          1. Мне? Отнюдь.. Вы спорите не со мной, Вы спорите с рынком :)) Контроллеры с LCD на борту существуют, продаются и применяются.

            Всё что Вы описали, ничуть не отменяет спроса на те же BMR-400 от Кибека-и-Питера. Да и не только Кибеки.. И как раз в случаях когда денег немного это бывает удобным.

            Опять же — простая возможность быстро глянуть алерты контроллера «не отходя от кассы» парой тычков по кнопкам, бывает полезной и не такой уж дорогой.

            Почему большинство взрослых скада пишутся под винды?.. хз.. Скорее всего инертность мышления или нежелание распылять силы. Кроме того, попробуйте дать себе ответ на простой вопрос — если не под винды, то подо что? Linux? Solaris? HPUX? zOS? А какой гуй? А вернутся ли инвестиции? А когда? А как широко будет это востребовано?

            Пока есть Apache-server должно быть глубоко по барабану какая ось — web-интерфейс должен быть :) Сейчас на AJAX+Flas можно что угодно отобразить. IMHO. Вон, посмотрите, я давал ссылку на ютубовский ролик — там весь гуй

    2. А какой контроллер и панель сенсорная в ролике вашем? Я так понял что панель по проводу соединена с контроллером. А на контроллере linux и сервер, который управляет всем или на дисплее еще что-то стоит (операционка? или еще что). А какой linux стоит? А как управлять дисплеем? там же TouchPad. непойму как управляется дисплей.

      1. Там же всё есть в комментах и описании: контроллер BMR-400 Kieback&Peter, панель представляет собой целый комп Advantech, он PC-совместимый.. На компе с тач-скрином сделана BACNet-консоль специализированная. Связь с контроллером по BACNet/IP поверх Ethernet.

        Остальное, сорри — know-how. Но полагаю, там самому додуматься несложно до всего.

  7. Всё это, конечно, интересно, но по-моему это уже не в концепции easyelectronics. Хотя, судя по отзывам, тут достаточно народа со стажем.

    На счёт шифрования.
    Интересный док от Атмель: AVR231. AES Bootloader.
    http://www.atmel.com/dyn/resources/prod_documents/doc2589.pdf

    Почему бы не просниферить трафик во время очередного вызова китайцев? Они пароль что, руками вводят? Хех……

    1. Трудно снифать пароль когда китаец подключен к железке метровым проводом со своим компом. Хотя… можно придумать какой шпионский девайс и сунуть его внутрь.

  8. А можно узнать, для каких задач эта «лыжа» используется?
    У меня на сортировке досок Mitsubishi стоит, очень приятный контроллер… и сименсовский Simatic S5, древний как говно мамонта и неубиваемый как танк…
    Я пробовал писать на Step 5 — это язык для сименсовских S5, прикольно получается.
    Найти специалиста — любой маломальски грамотный программер-электронщик обкурившись мануалов сможет сопровождать эту хреновину.

    1. Стеклорезный обрабатывающий центр вроде как. Я сам станок не видел. Поддерживать то сможет, да. А вот с нуля написать управляющую прогу?

      1. А вот как с нуля — нужно анализировать работу станка, если есть готовый станок с датчиками и моторами — смотреть что за что цепляется, выяснять алгоритм работы, например, датчик видит стекло на раскроечном столе, контроллер опускает пилу и ведёт до концевого датчика, там пилу поднимаем…
        В общем, имхо, китайцев можно и послать, и вообще — правильно написанная прога после отладки и при условии что не меняется конструкция станка и режимы работы не должна нуждаться в обслуживании. У меня на штабелеформирующей машине прога писалась финнами в 94м году, с тех пор корректировалась только один раз, когда меняли дефолтную скорость под новый частотный привод..

        1. Эх если бы все так просто. Порой станок работает по таким хитрым циклограммам, что курить и курить. А как ошибешься, так загнется чего?

        2. Чтобы такое сделать — нужно хорошо знать мат. часть. Ну и психануть здорово. Мой шеф однажды так и поступил. В результате появились ПО верхнего уровня и вычислитель расхода Метрокон.))
          А, ну еще и времени вагон, желательно.
          Если заниматься разбором чужой прошивки — нужно знать примерную квалификацию программиста, который писал оригинал. Иногда пялишься в код, и не веришь что такие идиоты смогли научиться дышать. А иногда просто балдеешь от красоты решений.

  9. Раз уж тут речь пошла о промылшенности, вставлю сюда свои 5 копеек.
    Есть у меня такой станок — Пастерезационная установка, на ней стоит Ecograph T и куча вспомагательных приборов. Даный екограф пишет данные на карту памяти, данные можно считать через прграмму Read Win 2000 либо вставив карточку в комп и считав из нее данные, или подключится с помощю Ethernet и скачать данные.
    Теперь главное — проблема, все бы хорошо но данные с пастеризатора мне нужно упаковать в свою БД, програмка Реадвин имеет свою БД на парадоксе, даные там зашифровани, методом хакерства пароль вычислил, Не ожыдал конечно что он такой простой 123456 :) но теперь передо мною другая проблемма, — мне нужно чтобы данные считывались автоматически через определенное время, в Реадвине я четко такой ф-ции не нашел, — хотел сделать свою, но тут протокол обмена непонятен, сделал снифер TCP протокола — что то есть но куча битов,… без какой небудь логической развязки…
    Может кто стыкался с таким протоколом Ecograph -> Ethernet -> ReadWin2000
    Сори за долгое сообщение… :)

    1. Если есть желание, сделайте файлик с пакетами вормата pcap (можно тем же WireShark-ом) и киньте мне на dipspb-бабака-gmail.цом . Попробую глянуть, интересно стало.

        1. Вы каким снифером пользуетесь, он умеет пакеты сохранять?

          pcap — это стандартный формат сохранения пакетов, пошёл в массы от программы tcpdump. Если Вы под юниксом — ей и сохраняйте, если по виндами, то вот это http://www.wireshark.org/download.html скачивайте, захватывайте пакеты, сохраняйте в файл и кидайте на мыло..

          1. неа, я собственный снифер сделал на C++…ведь там ничего сложного, но совет использую… попробую и скину…

    2. С экографами нас пытались заставить работать. Два месяца переписки с разработчиками, по поводу протокола обмена — нишиша. Не говорят ни да, ни нет (наши поставщики еще как обычно ХЗ где уперли приборы, без документов и софта). Короче плюнули, разругались с проектантами, засунули их в шкаф для красоты, данные с них тянуть не стали, затащили на контроллер последовательно. Вообще в АСУ таких магических приборов уйма. Столкнулся с таким прибором ИМ-2030 (кажется номерок такой, или 2003). Чуть бошку себе не расшиб. Для передачи данных на контроллер по 484 настройки одни, для считывания — другие. Чтобы среди наладчиков и программистов было поменьше суицидов, существует другой прибор — конвертор в нормальный 232-485. Правда прибор без сертифицированного шамана тоже мозг сношает здорово. Сделали связь конечно, но дышать на всю эту конструкцию старались по-аккуратнее.

      1. Кстати там тоже возможна передача по RS-485 но Ethernet «круче»… хотя и можно попробовати хакнуть 485, там вроде должно быть попроще…

        1. Честно говоря, было уже лениво со всяким барахлом копаться. Это был «разовый» объект. А если идет железка серией — то конечно разбираемся по полной программе. Так DF1 без доки разколупали, потом уже доку достали, когда в цивилизованные края приехали. Драйвер вылизали и работает по сию пору.
          Скорее всего там очередная вариация на Modbus, изуродованная оптимизаторами и ограничениями криворуких конструкторов. Как было с ИМ. А может и собственная разработка.

  10. О, крокодильчики знакомые)) В смысле PLC.
    Кстати, для баловства можно попробовать RTU188 с переферией.
    Мой шеф на нем всякие извращения вытворял. Ребята на нем УПВА соорудили (http://www.nefteavtomatika.ru/Good89_34_33.aspx), когда еще в Нафте работали. ОЗНА на них АГЗУ клепает. Дешево и сердито))

    http://ntch.ru/joomla/index.php/component/virtuemart/?page=shop.product_details&flypage=flypage.tpl&product_id=90&category_id=53 — наши ими по полторы сотни бакинских банчат.

    1. Народ как с ума посходил! :) Schneider, Siemens, LG все стоит нереально дорого, 99% цены переплата только за имя.
      Реально дешевый свободно программируемый логический контроллер Сегнетикс
      http://www.segnetics.com/
      сделан на атмел меге, есть вариант с креплением на DIN рейку и в дверцу щкафа, на борту аналоговые и релейные IO, любые модули расширения с Modbus (типа ICP, Advantech) да и вообще люые устройства с нормальным модбасом (частотники например).
      Цена 100-150 евро. Среда программирования визуальная, для чайников, указываешь этот параметр к тому блочку, этот доступен для диспетчеризации с ПК, этот берется с удаленного модуля и выводится на экран.

      1. Это сегнетикс питерский
        [URL=сегнетикс][IMG]http://www.segnetics.com/images/PIXEL/Pixel_Header.jpg[/IMG][/URL]

        Еще работал с тайваньскими ICP конроллерами, контроллеры коммуникационные, на борту полноценная операционная система ДОС, компилируешь на С++ программу и она там крутится, по одним портам опрашивает контроллеры по другим сливает данные на сервер, все протоколы прописываешь вручную. Цена контроллера 200 у.е., каналов IO нету никаких, нет экрана, внутри 80186 совместимый контроллер и 512 кб флеш памяти. ATMEGA как бы больше возможностей имеет :) Минусы много программировать, я программировал на Borlan C for dos обычном старой версии, есть визуальные среды прогрммирования, помоему тот же трэйс мод, но за деньги, и с ограничением, свои протоколы нестандартные уже не реализуешь. Есть контроллеры с Modbus TCP на борту их же, надежность зависит от программиста, не всегда получается, и порты Ethernet у них слабые какие-то, хабы все целые, а IPC I7188EX сгорают при грозе.

        сами контроллеры
        http://www.ipc2u.ru/catalog/N/N7/11581.html

        модули ввода-вывода, вполне можно и в своих проектах применять
        http://www.ipc2u.ru/catalog/Q/QM/

        особенно с простым протоколом DCON, даже с терминалки управляются
        http://www.ipc2u.ru/catalog/Q/Q7/

  11. Самый тупой контроллер с каким работаю

    http://www.santech.ru/katalog/card.php3?cid=4033

    Danfoss ECL 300/200 цена 500 евро, на борту контроллер с сотней байт памяти, 2-3 реле, тиристорный выход (слаботочное реле как-бы) входы для 6 датчиков аналоговой температуры pt1000, индикатор ЖК, не графический. Алгоритм работы тупой, если вода в системе отопления нагрелась выше заданной, контроллер клапан немного закрывает, если остыла открывает. Есть некоторые дополнительные фишки для систем ПВУ, но тоже примитивно. Откуда берется такая цена уму непостижимо. Контроллер не свободно программируемый, пользователь может менять несколько параметров и все. Если схема установки отличаетя от типичной приходится вешать кучу промежуточных реле, реле времени. RS485 нету, есть RS232 для задания параметров с ноутбука (тоже самое что с экрана). Вот мы этот протокол подслушали и сделали диспетчеризацию, удаленно опрашиваем эти железяки :) Ставят их только потому что подрядчик диллер Danfoss, и с нормальными контроллерами работать не умеет, в этом же случае чем проще тем лучше, по схеме собрал и все работает. 500 евро на фоне оборудования вентиляционного и теплообменников всяких сумма микроскопическая. Тем более что все работает )))

  12. Если собрались пароль к PLC подбирать, то для начала советую почитать статейку на эту тему http://homepage.ntlworld.com/ian.sullivan/password/mitsubishi.htm.

    Вкратце суть в следующем — надо иметь свободный PLC из зипа, софт и шнурок к нему. Дополнительно снифер 232 порта, HHD Free Serial Port Monitor например.

    Ставишь на PLC любой пароль и пытаешься получить из софта доступ. Поочередно вводишь правильный и неправильный пароли. В некоторых случаях проверка пароля производится в софте, т.е. он в открытом виде передается из плк в пк. В других случаях — внутри плк — пароль передается от пк к плк, а тот возвращает код — угадал-неугадал. Тут уже надо писать приблуду для перебора вариантов.

    Вдохновленный вышеназванной статьей я устроил психоанализ четырем PLC (точнее это не совсем ПЛК — логические реле). Logo Siemens и Zelio от Шнайдера относятся к первому типу. Kinco Lovato и Need Relpol — ко второму (в худшем случае полный перебор около 20 минут — вполне приемлимо).

    Так что удачи.

    1. Есть еще третий вариант. Автор писал, что прошиву поиметь неплохо бы. Так вот, можеть быть такая ситуация, что прошивка разбита на модули. И часть модулей, где реализован довольно сложный и актуальный функционал, просто запаролены на уровне софта. Или, что хуже, поставляются уже в «скомпилированном» виде, без исходного кода. Так что в байт-коде копаться придется, который сгенерен автоматическим транслятором. Короче — мраки. С одной стороны — удобство программирования. С другой — гиморой при сопровождении))
      И ведь не скажешь, что это противоестественно. Сам сколько раз ползьзовался этими защитами. В основном по двум причинам: чтобы оградиться от проблем шаловливых ручонок ТО-шников (в начале трудового пути были случаи, когда ТО-шники лезли в ПО, доводили его до неработоспособного состояния, а потом обливали нас говном и вызывали по гарантии); от недобросоветсных заказчиков, особенно на всяких мелких заказах (закладки, да и просто от их «умненькой девочки», которая все это могет за пять минут сделать, только вот вы ей покажите как).

      Кстати, еще один изврат вспомнил. Делал для одоного объекта прошивку на АБ-шной контроллере, «топовый» SLC 5/05, мат. обеспечение предусматривало практически все, кроме ядерной войны. Попробовал я на релейной логике эти алгоритмы реализовать, щелкая мышкой — почуствовал что рука отваливается, да и Гитлер с чебурашкой что-то нашептывать стали. Плюнул, накропал на перле тул-кит, который позволяет код на сурогатном подобии си и перла в релейную логику перегнать. Дело пошло веселей. Ошибок стало на порядок меньше, проблемы с исправлениями многие решились. Не надо стало весь файл прошивки пересылать, в тексте письма кусок текстового кода выслал, сказал какой файл заменить и все.

    2. Да я так и собираюсь сделать. У меня чистый мозг, купленный в магазине. И сниффер RS232. Напрягает только длина пароля 8символов ни больше ни меньше. Перебор может быть дооолгим.

    3. Можешь LG тоже отнести к первому типу. Они пароль открытым текстом слали от PLC до софта. Даже перебор не потребовался.

      Попробовал тутже считать свою софтину которую я туда запихал (какую то мигалку побыстрому на LD набросал) считалась как родная и в LD все развернуло.

  13. :)
    Как всё знакомо…

    По поводу байткода — из того, с чем имел дело — самый безнадежный вариант Codesys. Компилит проект в нативный код процессора (x86, ARM и т.д.). Разобраться наверное можно, но проще с нуля переписать.

    В Step 7 тоже можно сделать так, что из PLC код вытаскивается только в виде IL (STL). Но и без принятия мер в исходном виде отображаются только модули, разработанные на LD (LAD) и FB (FBD). Без комментариев и символических имен переменных, естественно. То что писано на SCL (что-то типа паскаля) или Graph — HiGraf (графические диаграммы) всё равно в виде STL будут.

    :)

    В дополнение к терморектальному способу добывания исходников могу предложить еще несколько из личного опыта:

    Системноалкогольный с последующим братанием. Хорошо действует на немцев. Очень быстро усваивают фразу «утро добрым не бывает» и дабы не рисковать лишний раз печенью при приездах по гарантии (организовать которые весьма легко — в этом они быстро убеждаются) готовы отдать не только исходники.

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

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

    1. Буржуи на наших землях вообще часто испытывают шок)) Что даже радует. Особенно жгут американцы. То поставят пускатели (правильные техасские пускатели, они не могут ломаться!) на 110 вольт в отечественную сеть на 220. То двигатель многообмоточный превратят в электротормоз (пришлось муфту откидывать от компрессора, чтобы доказать этому додику его ошибку). То генератор с четырехпроводной схемой нам подсунут (правильный американский электрисества!). А потом уже начинаются сцены с круглыми глазками, на свиных рожицах. Поубывал бы, гадов.

  14. «Чем хороши PLC, так это тем, что это готовые устройства…
    …Все сделано надежно и неубиваемо, по высоким промышленным стандартам.»

    Всегда хотел глянуть разобранный PLC, посмотреть как именно достигаются высокие пром. стандарты по надежности.
    DI HALT, если есть возможность, выложи крупные фото платы CPU. Ну или так расскажи, какие там особенности в обвязке микроконтроллера, в разводке платы, как организовано питание и т.п.

    1. Тут я тебе по питанию не скажу, т.к. на этой платке только мозг, а БП и порты находятся на маме.

      А вообще в стандарт — жесточайшая фильтрация питания. Много дросселей, много земли. ПОлная оптическая развязка всех входов и выходов. Защита входов от статики и перенапряжениям супрессорами. Наличие супервизора питания на МК.

    2. Неубиваемые промышленные стандарты по факту и на практике означают следующее — выгорание одного из каналов ввода-вывода не тащит за собой все устройство. Но выгорает-то именно тот что был в работе. Поэтому под рукой все равно должен быть ЗИП с контроллером, на случай такой неприятности.

  15. 29 и 30 августа этого года в Санкт-Петербурге снова пройдёт компьютерный фестиваль Chaos Constructions. В частности, в новой версии конкурса Real time Hardware Hack участники должны будут за пару часов изучить и обезвредить некое устройство http://party.cc.org.ru/compos_general.php#rt_hard_hack

    Конкурс проводится непосредственно на фестивале, в течении 1-3 часов.
    Каждый из участников получает устройство (печатная плата с элементами, без корпуса), на индикаторе которого идёт обратный отсчёт.
    Задача — изучить и обезвредить устройство, путём выставления на его входном разъеме комбинации перемычек, останавливающей обратный отсчёт.
    Устройство реализовано на жёсткой логике с применением отечественной элементной базы.
    Участникам предоставляются перемычки, светодиоды, резисторы, бумага, карандаш, справочная литература.
    Победа присуждается тому, кто первым назовёт правильную комбинацию для своего устройства.
    Помните, что своими действиями вы можете не только остановить, но и ускорить отсчёт!
    Во время конкурса участникам не разрешается пользоваться компьютерами, собственной справочной литературой, собственным оборудованием.
    Не допускается выполнять задание за пределами Real-time зоны, использовать чью-либо помощь, за исключением вопросов организаторам конкурса.

  16. http://www.electronshik.ru/item/251691
    http://www.electronshik.ru/class/programmiruemie-kontrolleri-i-logicheskie-moduli-1604
    http://www.fastwel.ru/products/238995/

    Да тысячи их. В основном используются LAD-ер диаграммы (Ladder Logic или просто ладдеры) или FBD (Functional Block Diagram), ST (Structured Text) используется редко, в основном для всяких алгоритмов связанных с численными методами, таких как различные преобразования, работа с кадром буфера. Внизу фотка одной из моих программ для управления запуском двигателя на 100кВт, написана для Siemens Logo!

    Для более менее сложной логики и бы выбрал контроллер на базе среды CoDeSys, то что попроще обычно на дельте (ссылка на электронщик выше).

    http://img403.imageshack.us/img403/2759/pmix.png

  17. >meteo сентября 1, 2009 at 18:08
    >
    >Огромное спасибо!! Вообще почему-то очень мало книг про ПЛК… Очень редкие вещи, хотя >распространены повсеместно в промышленности, не понятно откуда только берутся >высококлассные специалисты по ПЛК.

    Вот еще книжка «для начинающих» на русском по омроновским мелким контроллерам CP1.
    CP1L Вводное руководство по программированию: http://cospa.ru/disk1/PLC/CP1/Ru/W07E-RU-01A+CP1L+IntroManual.pdf
    Примеры там на LD, хотя LD может быть представлена в виде IL и на оборот + плюс куски на ST можно писать.

    PS Если запоролить новые омроновские ПЛК, то перебором пароль подобрать не удасться: после ввода не правильного пароля приходиться выключать/включать питание, а если в вести несколько неправельных паролей подряд, контроллер блокируется и игнорирует даже правильный пароль.

  18. Всем здравствуйте!!! Ребята я студент 4-го курса спец. Автоматизация технологических процессов!Приобрел контроллер ПЛК-100( хочу получить практический навык в программировании, двигатель ассинхронный на 1.5 кВт запустить(чтоб вообще было круто с реверсом, с таймерами и вообще со всем до чего дойдет моя фантазия)) Все руководства прочитал, дочитываю книгу Петров И.В.»Программируемые контроллеры». Двигатель вроде как и запустил на LD, но проблемма что только на LD!!! Нет подробного описания принципа создания программ и нет также дельных примеров. Помогите пожалуйста пыхтящему студенту, посоветуйте дельную литературу. Всем благодарен!!!

    1. IL и прочие языки МЭК должны быть неплохо описаны на каждом углу. Прикол в том, что у каждого ПЛК свой диалект и свои синтаксические заморочки. Тебе тут только искать мануал производителя.

  19. Di, по надежности Zelio скажу, около 80-ти единиц в течении 3-х лет пашут без отказов и сбоев, единственное, что шкафы управления подключены через UPSы. Еще отмечу отсутствие программных сбоев.Единственное, релюшками клацают не шибко часто, цикл повторяется примерно раз в 48 часов. Изделие серийное, сейчас доработано для работы по ModBus TCP с доп модулем расширения,правда всю серию не дорабатывали, посмотрим на глюкавость,потом пустим в доработку. Ну и память при этом забита под завязку, пришлось побороться за объем программы. Если интересно, могу на мыло выслать проект для Zelio Soft 4.4

      1. Здравствуйте Уважаемый DI HALT
        Вы как то мне говорили, что имели дело с ПЛК от омрона.
        Проблема есть у меня одна. ПЛК висит в эроре
        Я подканектился — ошибка карты.
        Помогите пожалуйста разобраться, можно ли запустить ПЛК без карты
        ПЛК CQM1H-CPM21

  20. Уважаемые специалисты!

    Помогите подобрать пароль на PANASONIC FP-X C40R.
    Возможно удаленная работа. Кому интересно пишите в почту

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha