PDA

Просмотр полной версии : Изменение программы в ПЛК без КДС.



Sergey666
09.07.2013, 13:21
Всем доброго.
Появилась необходимость в изменении программы в ПЛК без подключения средой КДС.
Вроде бы была информация , надо записать файлы DEFAUL.PRG и DEFAULT.CHK в ПЛКшку.
Но... не получается.
Короче , кто-нибудь делал изменение программы таким способом???
Если да , то подробнее описание процесса.

Пока , что я добился того , что после записи файлов и подключении пишет "Нет программы".
Изменение надо сделать не глобальное (на уровне "Онлайн чейндж").
Возможно ли вообще это без использования КДС???
Запись файлов делаю с помощью plk_io.exe.

Sergey666
09.07.2013, 15:29
Добавляю.
Если записать DEFAUL.PRG и DEFAULT.CHK в ПЛКшку при помощи КДС и рестартнуть(кнопкой) то... изменения работают , при подключении просит "Новую" программу , отвечаем "Нет" , все работает , панель конектится , все ОК.

Если запись файлов сделать при помощи plc_io , запись проходит успешно , но программа не работает , при подключении к ПЛК говорит "Нет программы".

Не пойму в чем дело...:mad::mad::mad::mad:

Sergey666
09.07.2013, 21:27
Тор!
Туды его в качель.

Yegor
12.07.2013, 05:57
В курсе, что есть две версии plc_io? Одна нормально пишет, вторая нормально читает.

Sergey666
12.07.2013, 09:27
В курсе, что есть две версии plc_io? Одна нормально пишет, вторая нормально читает.

А...как бы так , поточнее может кто - нибудь . Утилиту с сайта брал , там одна версия , да и запись проходит нормально , все файлы есть.

Если действительно "есть две версии plc_io? Одна нормально пишет, вторая нормально читает " , я нисколько не удивлюсь , корпоративная традиция.

Sergey666
12.07.2013, 11:28
Да какой какой смысл...

Надо , чтобы человек со своего ПК (на нем нет КДС) подключился к ПЛКшке на объекте и , запустив батник заменил программу в ПЛК .

А сарказм в том , что не работает , а 2-3 года назад это сколько тем надо перелопатить.
И еще сарказм в том , что если не работает - значит не доделано , косячно ... как еще сказать и это лежит на сайте в разделе для скачивания.

Теперь по делу ...
До сего дня пытался утилитой записать файлы в ПЛКшку сформированные на ПК при отключенной ПЛК.(Создание загрузочного проекта с откл.ПЛК), писал 2 файла DEFAULT.PRG , DEFAULT.CHK . Если запись сделать из КДС - изменения принимаются .

Сегодня попробовал перезаписать файлы , сформированные в ПЛК ,3 файла - DEFAULT.PRG , DEFAULT.CHK , config.dat , запись проходит нормально , но не работает . ВЫВОД- косячная утилита.
Овенцы!!!! Если у вас есть , дайте нормальную plc_io ...:mad::mad::mad:

Мерседес вам в гараж...:mad:

А,если кому приходила мисль - Capzap , как внешней(ПК) приложухой файл прочитать , записать в ПЛК ???? Рецепты и Архив на флэш ПЛК.

Yegor
12.07.2013, 11:43
Утилиту с сайта брал , там одна версия , да и запись проходит нормально , все файлы есть.Файлы, конечно, есть. Только одна версия пишет их битыми на компьютер, а другая — на ПЛК. К сообщению прикрепляю обе версии. Названы put и get — соответственно для записи в ПЛК и для чтения с него. Команды у них отличаются.
обязательно надо подойти к этому вопросу через "задний проход"?Отчего же? Это консольные программы, и их можно легко автоматизировать теми же батниками, которые вызываются двойным щелчком мыши.

Sergey666
12.07.2013, 12:38
Да это чистой воды изврат, это надо оператора или кого то еще из предприятия научить заливать рецепты в плк. Разве нельзя создать окно в панели, на котором технолог будет заносить какие нужно и сколько нужно рецептов. Делов то разработать интерфейс, чтоб плк сам сохранял рецепты в файл, чем делать это через дополнительный ПК
обязательно надо подойти к этому вопросу через "задний проход"?

Видите ли уважаемый Capzap , изврат - это что-то противоестественное .... Если я создаю файл в ПЛК , я должен записать или прочитать его с ПК верхнего уровня . Для этого есть 2 пути:
- Поблоковое чтение-запись в Слэйв и передача наверх (сделали , но... долго и трудновато контролировать ошибки)
- Чтение-запись plc_io
Ну и замена программы - само собой.

Значит по делу ...
Нашел старые темы (почти то-же , что и у меня человек в 11м году поднимал) , capzap и там возмущался ,( у вас,capzap, с желудком , печенью все нормально???? Мы же нормальные , не чайники если что-то делаем - значит надо).
Спасибо ,Дмитрий Артюховский, его версия батников работает . Только я для себя подкорректировал , чтобы удаления перед записью не было .

Cbug
18.01.2018, 16:16
Недавно столкнулся с проблемой обновления ПО ПЛК на удаленном объекте.
Покопался на форумах, прослезился и написал скрипт на основе полученных данных.

Вот мое решение:

Текст из readme.txt: 35179
----------------------------------------------------------------------------------------------







ЛИРИКА


Данный скрипт является компиляцией находок многих пытливых умов, набивших
шишки при использовании ПО от ОВЕН.








НАЗНАЧЕНИЕ


Скрипт предназначен для заливки обновленной программы в ПЛК без использования
программного комплекса CodeSys через ethernet интерфейс.








СТРУКТУРА
.
| . fw_update.cmd - собственно сам скрипт
|
+---bin
| . . . plc_io_get.exe - в девичестве plc_io.exe который доступен для скачивания с сайта ОВЕН сегодня
| . . . plc_io_put.exe - в девичестве plc_io.exe старая версия (найдена на форуме) - важнейший компонент
|
+---doc
| . . . plc_io_get.pdf - "мануал" от ОВЕН
| . . . plc_io_get.txt - перенаправленная инфа при запуске без параметров
| . . . plc_io_put.txt - перенаправленная инфа при запуске без параметров
| . . . readme.tx - сие чтиво
|
+---firmware
. . . . DEFAULT.CHK - какой-то нужный файл
. . . . DEFAULT.PRG - основная программа для заливки








КАК ПРОШИТЬ ПЛК


В CodeSys при ОТКЛЮЧЕННОМ ПЛК в верхнем меню выбрать создать загрузочный
проект. При этом в папке проекта создадутся два файла <project_name>.PRG и
<project_name>.CHK. Их нужно переименовать в DEFAULT.PRG и DEFAULT.CHK
соответственно.

Дальше эти файлы нужно положить в папку firmware. Затем запустить:
fw_update.cmd без параметров, если IP-адрес ПЛК не менялся из коробки, или
fw_update.cmd <IP>, где <IP> - IP-адрес в обычном десятеричном формате,
например: fw_update.cmd 192.168.0.2 и следовать инструкции скрипта.

Скрипт выполняется не мгновенно, так что нужно немного подождать и не торопиться
прерывать его.








НЕМНОГО ИСТОРИИ


Как было сказано на форуме: новая версия правильно читает файлы из ПЛК, а
старая правильно пишет. Собственно так и оказалось. Хотя визуально результат
загрузки файлов в ПЛК и выглядит одинаково, если делать запись обеими прогами -
все файлы лежат в ПЛК и свиду все хорошо. Только если писать новой версией -
ПЛК не загружается, а CodeSys пишет что в ПЛК нет проги. При обратном считывании
DEFAULT.PRG, в моем случае, оказалось что файл увеличился в 3 раза! При
просмотре оказалось, что оригинальные данные перемежаются большими нулевыми
блоками - вот и причина.

Еще один косяк уже на старой (рабочей) версии всплыл неожиданно: если
сначала записать файл DEFAULT.CHK, а потом DEFAULT.PRG, то DEFAULT.CHK бесследно
исчезает из ПЛК. Решение - пишем в обратной последовательности.

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








ИТОГ


Скрип получился вполне рабочий и удобный. Можно смело высылать ответственным
лицам на объект для обновления прошивки.


Все исследования проводились на ОВЕН ПЛК110-30-Р.М (М02) и Windows 7 x64.




С наилучшими пожеланиями всем кодерам, CBug

IVM
18.01.2018, 17:30
plc_io.cbug.rar не возможно разархивировать.

Cbug
18.01.2018, 18:37
plc_io.cbug.rar не возможно разархивировать.

У меня нормально открылся. Но на всякий случай перезалил в ZIPе. Может Rar старый?

IVM
18.01.2018, 20:41
Теперь все нормально. Только в файле plc_io_put.txt какие-то кракозябры.

“вЁ«Ёв* звҐ*Ёп §*ЇЁбЁ д*©«®ў б Ћ‚…Ќ Џ‹Љ. ‚ҐабЁп 1.00
„*в* Ё ўаҐ¬п Є®¬ЇЁ«пжЁЁ Apr 13 2007 10:37:37
Џ*а*¬Ґвал:
/? - ўл§®ў бЇа*ўЄЁ
/TCPxxx.xxx.xxx.xxx - *¤аҐб Є®*ва®««Ґа* ¤«п TCP/IP.
Ќ*ЇаЁ¬Ґа /TCP10.0.6.10
/COMxx - Ї®б«Ґ¤®ў*⥫м*л© Ї®ав
/up - §*Јаг§Є* д*©«®ў ** Џ‹Љ б ЏЉ.
/dn - звҐ*ЁҐ д*©«* Ё§ Џ‹Љ.
/FLDR"Name" - 楫Ґў*п Ї*ЇЄ* ** ЏЉ.
‚б«гз*Ґ ®вбгвбвўЁп Ї*а*¬Ґва* ЎҐаҐвбп ⥪гй*п Ї*ЇЄ*.
‘ЇЁб®Є д*©«®ў ¤®«¦Ґ* Ўлвм ЇаҐ¤бв*ў«Ґ* ў ўЁ¤Ґ Ё¬Ґ* д*©«®ў
(Ѓ…‡ “ЉЂ‡ЂЌ€џ ЏЂЏЋЉ)ў ¤ў®©*ле Є®ўлзЄ*е б а*§¤Ґ«ЁвҐ«Ґ¬ Їа®ЎҐ«.
ЏаЁ¬Ґа: "file1.txt" "file2.txt"

petera
18.01.2018, 22:31
Теперь все нормально. Только в файле plc_io_put.txt какие-то кракозябры.

“вЁ«Ёв* звҐ*Ёп §*ЇЁбЁ д*©«®ў б Ћ‚…Ќ Џ‹Љ. ‚ҐабЁп 1.00
„*в* Ё ўаҐ¬п Є®¬ЇЁ«пжЁЁ Apr 13 2007 10:37:37
Џ*а*¬Ґвал:
/? - ўл§®ў бЇа*ўЄЁ
/TCPxxx.xxx.xxx.xxx - *¤аҐб Є®*ва®««Ґа* ¤«п TCP/IP.
Ќ*ЇаЁ¬Ґа /TCP10.0.6.10
/COMxx - Ї®б«Ґ¤®ў*⥫м*л© Ї®ав
/up - §*Јаг§Є* д*©«®ў ** Џ‹Љ б ЏЉ.
/dn - звҐ*ЁҐ д*©«* Ё§ Џ‹Љ.
/FLDR"Name" - 楫Ґў*п Ї*ЇЄ* ** ЏЉ.
‚б«гз*Ґ ®вбгвбвўЁп Ї*а*¬Ґва* ЎҐаҐвбп ⥪гй*п Ї*ЇЄ*.
‘ЇЁб®Є д*©«®ў ¤®«¦Ґ* Ўлвм ЇаҐ¤бв*ў«Ґ* ў ўЁ¤Ґ Ё¬Ґ* д*©«®ў
(Ѓ…‡ “ЉЂ‡ЂЌ€џ ЏЂЏЋЉ)ў ¤ў®©*ле Є®ўлзЄ*е б а*§¤Ґ«ЁвҐ«Ґ¬ Їа®ЎҐ«.
ЏаЁ¬Ґа: "file1.txt" "file2.txt"
Перевожу...

Утилита чтения записи файлов с ОВЕН ПЛК. Версия 1.00
Дата и время компиляции Apr 13 2007 10:37:37
Параметры:
/? - вызов справки
/TCPxxx.xxx.xxx.xxx - адрес контроллера для TCP/IP.
Например /TCP10.0.6.10
/COMxx - последовательный порт
/up - загрузка файлов на ПЛК с ПК.
/dn - чтение файла из ПЛК.
/FLDR"Name" - целевая папка на ПК.
Вслучае отсутствия параметра берется текущая папка.
Список файлов должен быть представлен в виде имен файлов
(БЕЗ УКАЗАНмЯ ПАПОК)в двойных ковычках с разделителем пробел.
Пример: "file1.txt" "file2.txt"

IVM
19.01.2018, 12:55
При этом в папке проекта создадутся два файла <project_name>.PRG и <project_name>.CHK. Их нужно переименовать в DEFAULT.PRG и DEFAULT.CHK соответственно. Дальше эти файлы нужно положить в папку firmware.

Уважаемый Cbug, вы сделали хорошую работу. Но было бы просто замечательно если ваша программа дополнительно выполняла вышеприведенные действия.

Филоненко Владислав
19.01.2018, 13:27
PLC_IO давно поправили и расширили функционал.

Cbug
19.01.2018, 22:42
Овену нужно следить за сайтом:
- в разделе плк110 (старом) лежит ссылка на глючный io
- а в разделе м02 вообще его нет

где новый расшириный? пожалуйста дайте ссылку и закройте тему
желательно прямую на сайт, чтоб прям носом ткнуть, ну или хотябя через форум

приборист
20.01.2018, 23:26
Овену нужно следить за сайтом:
- в разделе плк110 (старом) лежит ссылка на глючный io
- а в разделе м02 вообще его нет

где новый расшириный? пожалуйста дайте ссылку и закройте тему
желательно прямую на сайт, чтоб прям носом ткнуть, ну или хотябя через форум

Главная - ПЛК110М02 - Материалы для скачивания - Утилита PLC_IO
http://www.owen.ru/catalog/programmiruemij_logicheskij_kontroller_oven_plk110/87310138

Cbug
21.01.2018, 00:22
Главная - ПЛК110М02 - Материалы для скачивания - Утилита PLC_IO
http://www.owen.ru/catalog/programmiruemij_logicheskij_kontroller_oven_plk110/87310138

Ай красавцы! (это Овену)
Вот только вчера или позовчера я набирал в поиске по сайту (не по форуму) PLC_IO (после того когда Владислав сказал что есть прям свежак), думал вдруг я слепой - хрен - ни одной ссылки вообще! А сейчас появилась одна, и как раз таки на М02.
Ладно, не мытьем, так катанием: хотел я людям босяцкий подгон сделать, а вышло еще лучше: страницу продукта обновили.
Спасибо всем кто читает форум, даже старые темы.
Вместе мы победим!
Думаю тему можно закрывать до появления новых багов.

Дмитрий Артюховский
21.01.2018, 15:19
куда ж без багов?! ))) ... при записи файлов на текущих прошивках ПЛК приходится делать паузы между передачей файлов секунд по 15, иначе PLC_IO выкидывает ошибку 100 и соответственно ничего не передает

Cbug
22.01.2018, 13:07
куда ж без багов?! ))) ... при записи файлов на текущих прошивках ПЛК приходится делать паузы между передачей файлов секунд по 15, иначе PLC_IO выкидывает ошибку 100 и соответственно ничего не передает

Ну тогда я не зря трудился: в скрипте проблемы с паузами решены

SuP
28.04.2018, 00:35
Спасибо, пригодилось с новыми контроллерами (М02). А в материалах для контроллера на сайте всё ещё лежат старая версия plc_io. У меня откуда-то была гораздо более свежая (при запуске выдаёт "отладочная"), но работала через раз, и в работе пока как-то не требовалась.

вут
21.11.2021, 13:12
вот это топик !!!
снимаю шляпу и за юмор , и за профессионализм !!!!
:D

Raikkonen
28.12.2021, 18:17
Я скачал современный плкИО чтобы потестить возможность заливки проги для наладчиков. И не работает. Ошибка 120, хотя я вроде использую "пут"
@ECHO OFF

plc_io /TCP10.0.6.10 /FLDR"data" /put "DEFAULT.CHK" "DEFAULT.PRG"

IF %ERRORLEVEL%==200 ECHO *ҐўҐа*л© Ї*а*¬Ґва
IF %ERRORLEVEL%==121 ECHO ®иЁЎЄЁ звҐ*Ёп
IF %ERRORLEVEL%==120 ECHO ®иЁЎЄ* звҐ*Ёп
IF %ERRORLEVEL%==111 ECHO б«ЁиЄ®¬ ¤«Ё**®Ґ Ё¬п д*©«*
IF %ERRORLEVEL%==110 ECHO *Ґ г¤*«®бм ®вЄалвм д*©«
IF %ERRORLEVEL%==100 ECHO *Ґ г¤*«®бм ᮥ¤Ё*Ёвмбп б Џ‹Љ
IF %ERRORLEVEL%==0 ECHO ®ЇҐа*жЁп §*ўҐаиҐ** гбЇҐи*®

TIMEOUT /T 15

saii
28.12.2021, 21:07
Я скачал современный плкИО чтобы потестить возможность заливки проги для наладчиков. И не работает. Ошибка 120, хотя я вроде использую "пут"
@ECHO OFF

plc_io /TCP10.0.6.10 /FLDR"data" /put "DEFAULT.CHK" "DEFAULT.PRG"

IF %ERRORLEVEL%==200 ECHO *ҐўҐа*л© Ї*а*¬Ґва
IF %ERRORLEVEL%==121 ECHO ®иЁЎЄЁ звҐ*Ёп
IF %ERRORLEVEL%==120 ECHO ®иЁЎЄ* звҐ*Ёп
IF %ERRORLEVEL%==111 ECHO б«ЁиЄ®¬ ¤«Ё**®Ґ Ё¬п д*©«*
IF %ERRORLEVEL%==110 ECHO *Ґ г¤*«®бм ®вЄалвм д*©«
IF %ERRORLEVEL%==100 ECHO *Ґ г¤*«®бм ᮥ¤Ё*Ёвмбп б Џ‹Љ
IF %ERRORLEVEL%==0 ECHO ®ЇҐа*жЁп §*ўҐаиҐ** гбЇҐи*®

TIMEOUT /T 15

При заливке по TCP файлы передавайте по одному и, возможно, надо будет увеличивать таймаут между посылками

Raikkonen
29.12.2021, 11:31
таймаут который в конце это я сделал чтобы окно не закрылось и я успел увидеть че оно там напридумывало, этого не было в примере.
За идею скидывать файлы по одному спасибо. А как увеличить таймаут я не знаю.....

saii
29.12.2021, 13:40
таймаут который в конце это я сделал чтобы окно не закрылось и я успел увидеть че оно там напридумывало, этого не было в примере.
За идею скидывать файлы по одному спасибо. А как увеличить таймаут я не знаю.....


TIMEOUT /T 15

Изменять надо таймаут между передачами файлов. Отправили файл в ПЛК, подождали некоторое время, отправили следующий, подождали, следующий и т.д. Я выжидаю одну минуту между отправками.

glazastik
29.12.2021, 13:45
Вопрос по версии Cbug
Бывали ли случаи когда программа не обновлялась, не смотря на то что ошибок при выполнении скрипта не возникало?