Просмотр полной версии : Протокол чтения/записи ПЛК
Есть идея написания на языке Java библиотеки для работы с ПЛК по части чтения/записи файлов. Хочу действительно кроссплатформенное решение, работающее на любой ОС, поэтому запуск процесса исполняемых файлов ОС Windows не предлагать.
Вопрос к компании ОВЕН: где можно взять описание протокола обмена файлами либо исходные коды утилиты plc_io?
Спасибо.
http://www.owen.ru/forum/showthread.php?t=14319&p=144478&viewfull=1#post144478 а это видели?
http://www.owen.ru/forum/showthread.php?t=14319&p=144478&viewfull=1#post144478 а это видели?
Посмотрел. Это же я так понял самописный модуль в программу ПЛК для приема файлов по сети через Сокеты. Что за Transfer.jar? Тоже самописный? Что за протокол передачи?
Почему бы не использовать простой TFTP? И реализация простая и выполняет требуемый функционал на все 100. Думаю использование открытых простых протоколов упростит жизнь многим, тем более зачем изобретать велосипед?
где можно взять описание протокола обмена файлами либо исходные коды утилиты plc_io?В открытом доступе — нигде. Однако добро пожаловать в мою дохлую жежешечку: http://yegorpetrov.livejournal.com/2401.html
В открытом доступе — нигде. Однако добро пожаловать в мою дохлую жежешечку: http://yegorpetrov.livejournal.com/2401.html
Прочитал статью, спасибо. Разобраться бы с передачей файлов... Не хочется ковыряться в Wireshark'е...
посмотрите реализацию ftp в бибке ОСКАТ, зачем эти сложности сосвистываться по протоколу, когда можно просто передать массив байт. ПЛК1хх неимеют полноценной ОС, поэтому реальзация различных протоколов довольно сложная
Прочитал статью, спасибо. Разобраться бы с передачей файлов... Не хочется ковыряться в Wireshark'е...А какая вообще цель стоит? Для чего вам файлы из под других платформ перетаскивать? Я бы, может, и доделал, если вы что-то интересное (в моём видении) задумали.
А какая вообще цель стоит?Ну, вспомни, как год назад выручил меня с програмкой LogParser (Спасибо еще раз!) Она чудненько считывает файлы из ПЛК100, но при этом запускает знаменитую "недоделку (http://www.owen.ru/forum/showthread.php?t=18151&highlight=plc_io)" plc_io.exe.
Теперь я захотел запускать тот же LogParser из Линукса. И что? Кроме (вполне естественного) отвращения к "недоделке" теперь еще и чужая для .ЕХЕ платформа... Я как раз Python осваиваю, дай, думаю, повторю твой великодушный подарок на нем. Вот и набрел на эту тему от коллеги dudanov-а.
Так что да, читать файлы из ПЛК напрямик, без КДС, без plc_io.exe - хотелось бы.
Ну, вспомни, как год назад выручил меня с програмкой LogParser (Спасибо еще раз!) Она чудненько считывает файлы из ПЛК100, но при этом запускает знаменитую "недоделку (http://www.owen.ru/forum/showthread.php?t=18151&highlight=plc_io)" plc_io.exe.
Теперь я захотел запускать тот же LogParser из Линукса. И что? Кроме (вполне естественного) отвращения к "недоделке" теперь еще и чужая для .ЕХЕ платформа... Я как раз Python осваиваю, дай, думаю, повторю твой великодушный подарок на нем. Вот и набрел на эту тему от коллеги dudanov-а.
Так что да, читать файлы из ПЛК напрямик, без КДС, без plc_io.exe - хотелось бы.
как я уже говорил открывайте сокет и передавайте что угодно и куда угодно, та же не доделанная прога занимается тем же только на другом уровне
как я уже говорил открывайте сокет и передавайте что угодно и куда угодноТо есть, нужно в ПЛК запустить сервис, который будет общаться по Tcp/ip. Верно я понимаю слова "откройте сокет"? Если да, то можно будет разобраться с нюансами.
Но вообще-то, когда мы обращаемся к ПЛК из plc_io.exe, мы и не рассчитываем, что нас там ждут. Просто получаем доступ к файлам ПЛК, можем читать-писать-создавать-уничтожать... Записанная в ПЛК пользовательская программа может и не подозревать, что у нее под носом ктой-то чевой-то делает :) Верно ли я понял из блога коллеги Yegor-а, что вот именно такой доступ к файлам ПЛК (a-la plc_io.exe) в некотором роде закрыт и нужно использовать "хак" Yegor-а для этих "чевой-то"?
Выйду с больничного - займусь, если время найдётся. Дома контроллеров нет.
И да, если в протоколе до конца разобраться, то от ПЛК ничего лишнего не требуется, и можно прямо с рантаймом работать.
То есть, нужно в ПЛК запустить сервис, который будет общаться по Tcp/ip. Верно я понимаю слова "откройте сокет"? Если да, то можно будет разобраться с нюансами.
Но вообще-то, когда мы обращаемся к ПЛК из plc_io.exe, мы и не рассчитываем, что нас там ждут. Просто получаем доступ к файлам ПЛК, можем читать-писать-создавать-уничтожать... Записанная в ПЛК пользовательская программа может и не подозревать, что у нее под носом ктой-то чевой-то делает :) Верно ли я понял из блога коллеги Yegor-а, что вот именно такой доступ к файлам ПЛК (a-la plc_io.exe) в некотором роде закрыт и нужно использовать "хак" Yegor-а для этих "чевой-то"?
это в своем примере открыл сокет чтоб что то принять, но если в ОС просто слушается порт и когда в него кто то стучится, да еще и с определенным маячком,разве ось не поймет,что сейчас начнется работа с файлами
Выйду с больничного - займусьВыздоравливай поскорее :)
2 capzap: вот я попробую понять, что же можно сделать. Ибо, как я уже убедился, все Великие Консультанты говорят скупо, рассчитывая на гениев с другой стороны провода (Валенок - тот вааще виртуоз загадок!) А здесь не всегда гении, иногда я :)
То есть, если я ща возьму либу soket из того же python-а, задам IP своего ПЛК, укажу порт 20 (да?) и дам команду FTP на чтение файла - ПЛК вдруг может и ответить? Или что за маячок еще надо из рукава достать?
нет в плк1хх фтп сервера,пока в проге не реализуете, ни кто не ответит
а поповоду маячка,это что то вроде: Вас схватили за грудки, и Вы понимаете что сейчас точно не зарплату будут выдавать, а либо люлей дадут,либо телефон отожмут
А почему вы решили работать на Python ? Python - интерпретируемый язык программирования и это его серьезный недостаток (программа исполняется медленно). Почему не Microsoft Visual C# ?
Python - интерпретируемый язык программирования и это его серьезный недостатокКоллега, оффтопим... Но отвечу. "Скорость исполнения" - вещь оооочень относительна. Грубо говоря, я и глазом не успею моргнуть, когда Пайтон уже много чего сделает. А интерпретируемость дает и много выгод.
С виндозными приложениями стараюсь не иметь дела. Такая у меня прихоть.
"Скорость исполнения" - вещь оооочень относительна. Грубо говоря, я и глазом не успею моргнуть, когда Пайтон уже много чего сделает.
При большом размере кода устанете моргать.
Теперь я захотел запускать тот же LogParser из Линукса.
...
Так что да, читать файлы из ПЛК напрямик, без КДС, без plc_io.exe - хотелось бы.
Докладываю: уже расхотелось.
Нет, конечно же, поиски уважаемого Yegor-а (как здоровье?) только приветствуются, ибо чем больше будем знать про связь с ПЛК - тем лучше. Но, если говорить о практической потребности сию минуту, то лично я пошел другим путем.
Програмку, подобную Logparser (http://owen.ru/forum/showthread.php?t=16563&page=9), я на Пайтоне накатал. И вопрос с протоколом CoDeSys решил просто: так же, как и Yegor, запускаю из своего приложения plc_io.exe. Причем при работе под Линуксом - через Wine. Работает без проблем. Так что обращаться к ПЛК вполне можно.
как здоровье?Оки! Только сейчас основной работы по горло. Сам-то я хотел бы из под андроида обращаться, между прочим.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot