PDA

Просмотр полной версии : Можно ли в ПЛК110 через USB A с флешки загрузить программу?



Brandon_heat_dre
06.06.2019, 16:24
Доброго дня, вопрос такой, можно ли записать программу для ПЛК на флешку, далее это флешку вставить в разъем USB A контроллера, считать программу в память и запустить контроллер на исполнение. Т.е. обойтись без компьютера. А то не всегда электрик который обслуживает систему, может притащить компьютер подключить к плк и загрузить в него программу. спасибо.

P.S. такие вещи через microSD карты реализованы например в контроллерах Delta ну или Schneider , да во многих вообще контроллерах.

Елизавета Соколова
07.06.2019, 12:54
Добрый день. Такая возможность не предусмотрена. Подключение флешек к USB A осуществляется для ведения архивации.

Serhioromano
19.12.2019, 15:52
А такая возможность была бы не лишней. Как упомянулось у многих она есть, и не зря. Часто нужно залить прогармму а персонал не квалифицированный, или связи нет. Удобная инструкция это закачать файл на флешку, вставить и загрузить контроллер. В придачу программу уже в откомпилированом виде, защищено от копирования.

Ollema
19.12.2019, 17:31
А как флешка защищена от копирования?

Филоненко Владислав
19.12.2019, 19:03
Доброго дня, вопрос такой, можно ли записать программу для ПЛК на флешку, далее это флешку вставить в разъем USB A контроллера, считать программу в память и запустить контроллер на исполнение. Т.е. обойтись без компьютера. А то не всегда электрик который обслуживает систему, может притащить компьютер подключить к плк и загрузить в него программу. спасибо.

P.S. такие вещи через microSD карты реализованы например в контроллерах Delta ну или Schneider , да во многих вообще контроллерах.

Можно.
Копируете проект с флешки на внутренний носитель, заменяя существующий.
Далее нужно выключить/включить питание и новая программа запустится.

Николай Суриков
20.12.2019, 07:43
Можно.
Копируете проект с флешки на внутренний носитель, заменяя существующий.
Далее нужно выключить/включить питание и новая программа запустится.

Имеется ввиду функция, когда воткнул флешку, включил питание и ПЛК найдя в корне флешки файл программы сам скопировал его себе в память, тем самым обновив прошивку.

Филоненко Владислав
20.12.2019, 13:23
Именно так. просто надо немного покодить, это же ПЛК, а не ТРМ.

Николаич
01.06.2020, 21:43
Именно так. просто надо немного покодить, это же ПЛК, а не ТРМ.

А не расскажете поподробнее, пожалуйста? Никогда не работал с флешками на контроллере, а тут встала задача, чтобы пользователи имели возможность обновить прошивку с флешки, потому как будут находиться очень далеко от меня. И чтобы им не нужно был для этого подключать компьютер к ПЛК. Заранее спасибо за помощь :)

Александр Ч.
02.06.2020, 08:09
Но ведь чтобы перезаписать новую программу , надо сначала стереть старую пользовательскую. В это время ПЛК по сути без мозгов. Как он сможет сформировать команды записи? Может всё таки изменения д.б. в заводской прошивке?

A.Simonov
02.06.2020, 10:40
А не расскажете поподробнее, пожалуйста? Никогда не работал с флешками на контроллере, а тут встала задача, чтобы пользователи имели возможность обновить прошивку с флешки, потому как будут находиться очень далеко от меня. И чтобы им не нужно был для этого подключать компьютер к ПЛК. Заранее спасибо за помощь :)

Добрый день.

Не так давно я подготовил пример того как можно скачать проект с флешки из программы ПЛК.
Пример во вложении. Перед использованием внимательно прочтите комментарии в проекте и файл "прочти меня.txt"


Но ведь чтобы перезаписать новую программу , надо сначала стереть старую пользовательскую. В это время ПЛК по сути без мозгов. Как он сможет сформировать команды записи? Может всё таки изменения д.б. в заводской прошивке?

Программа загружается в оперативную память при запуске ПЛК, удаление из flash памяти программы не должно её остановить.
Изменения вступят в силу после перезагрузки по питанию.

A.Simonov
03.06.2020, 11:22
Долго думал зачем там fb_Rtrig. Так и не постиг

Вариант с возможностью отката.
1.Все так же создаем 2 файла. Обзываем их '1' и '2'
2.Копируем их на плк-флеш пофиг как //После копирования можно даже убедится что они есть
3.Тупо :
SysFileRename('DEFAULT.PRG', '3');
SysFileRename('DEFAULT.CHK', '4');
SysFileRename('1','DEFAULT.PRG');
SysFileRename('2','DEFAULT.CHK');
//Можно на внешнюю флешку скопировать '3' и '4' для отката

Значительно меньшее время подвешенного состояния (1 цикл) => более безопасно

Да, можно и так.
Я не постулирую единственно возможный вариант. Я лишь показываю то, как это можно сделать, как правильно работать с нашими библиотеками.
Если кто-то залезет в код и перепишет под себя или по своему виденью - это будет здорово.

Зачем я использовал fb_Rtrig:
1) Привычка его использовать.
2) Нужен чтобы блок выполнялся один раз независимо от длительности нажатия на тумблер.
Понятно, что пользователь может и сам его поставить, но я решил подстраховать.

Филоненко Владислав
10.06.2020, 17:20
Но ведь чтобы перезаписать новую программу , надо сначала стереть старую пользовательскую. В это время ПЛК по сути без мозгов. Как он сможет сформировать команды записи? Может всё таки изменения д.б. в заводской прошивке?

Вы стираете файл, а не текущий исполняемый код

Mortumas
01.06.2021, 21:34
Добрый день есть ли какие либо ограничения по камеру кода при данном методе? У меня мелкий код грузиться и работает без проблем а вот что то посложнее-копирование останавливается и ошибку не выдает и не завершает загрузку.

Филоненко Владислав
02.06.2021, 09:09
Добрый день есть ли какие либо ограничения по камеру кода при данном методе? У меня мелкий код грузиться и работает без проблем а вот что то посложнее-копирование останавливается и ошибку не выдает и не завершает загрузку.

В пределах свободного места на диске ПЛК. Ну и надо проверить код копирования, может там есть нюанс.

Nikoly@
26.10.2022, 09:42
В пределах свободного места на диске ПЛК. Ну и надо проверить код копирования, может там есть нюанс.
Добрый день, 63366 да действительно большие файлы не грузит, но если на оборот сделать в ПЛК110-60 [M02] средствами CoDeSys создание загрузочного проекта,
заведомо большего размера, то ваш пример загружается и работает, т.к. он меньшего размера.
Подскажите где искать этот нюанс?

Валенок
26.10.2022, 11:01
..Подскажите где искать этот нюанс?

..надо проверить код копирования, может там есть нюанс.
Код, а не картинку

Nikoly@
26.10.2022, 11:48
63374 вот файлы .CHK и .PRG которые не полностью грузятся, но и это не тот размер файлов, что на скрине ранее.

Валенок
26.10.2022, 12:09
63374 вот файлы .CHK и .PRG которые не полностью грузятся, но и это не тот размер файлов, что на скрине ранее.
Когда проблема с погрузкой картошки, разбираются не с картошкой, а с погрузчиком.

..надо проверить код копирования, может там есть нюанс.
3й раз

Nikoly@
26.10.2022, 12:37
Когда проблема с погрузкой картошки, разбираются не с картошкой, а с погрузчиком.

3й раз

Добрый день, объясните пожалуйста, что мне нужно скинуть и на что нужно смотреть в этом скинутом?

Валенок
26.10.2022, 15:02
В п#17 - картошка. Она не интересует.
В п#15 фото погрузчика.

Nikoly@
26.10.2022, 16:49
Вот погрузчик 63384

Валенок
26.10.2022, 20:05
1.По 2 шага на операцию - на любителя
2.Размер при копировании можно похерить (к авторам либы)
3.Просто syslibfile - быстрее и удобней

---
2.1 Подозреваю что нужно будет сделать getsizefile конечного файла коли надо проверить рез-т. Сделаете - расскажите. А так - все норм.
3.1 Вы же не будете утверждать что менять проект надо каждую секунду? Все можно сделать за 1 цикл:
Получить размер
Копировать в х. prg
Получить размер x. prg
Если норм - переименовать в default.prg

Филоненко Владислав
26.10.2022, 20:09
В п#17 - картошка. Она не интересует.
В п#15 фото погрузчика.

Валенок, прекратите троллинг!

Валенок
26.10.2022, 20:16
Валенок, прекратите троллинг!
По пункту 2 из поста#22 есть что новое ?

---
А оппонент - понял (см пост#21)