PDA

Просмотр полной версии : Перепрограммирование ПЛК110



rwg
01.04.2014, 09:52
Добрый день! 2 недели назад запрограммировал 2 ПЛК110. Программировал по Ehernet, так как USB, если обнаруживался, то работал не более нескольких секунд, а RS232 под рукой не было. Вчера поехал обновлять программу. На первом ПЛК всё прошло практически без проблем (проблемы со связью были, но настолько тривиальные, что вспомнить ух потом не удалось). Со вторым ПЛК первоначально не удалось установить связь ни по одному из 3 каналов(USB, RS232, Ehernet). После часа плясок с бубном удалось добиться появления связи по Ehernet после перезагрузки ПЛК (одновременное нажатие кнопок СТАРТ и RESET). Вскоре была замечена и связь по RS232, но с меньшей вероятностью. После попытки записи в ПЛК новой программы связь рвалась до следующей перезагрузки ПЛК. После очередной серии плясок удалось записать в ПЛК пустую программу, связь после этого не рвалась, но при попытке записи нужной программы связь терялась. Следующий успех был достигнут после исключения из конфигурации ПЛК Statistics, Button и Archiver. Всё, кроме связи по USB, заработало, только стартовать пришлось кнопкой СТАРТ. После этого удалось записать в ПЛК первоначальную программу и она заработала!. Дополнительная информация - первый ПЛК был в работе, а второй был обесточен и аккумулятор у него, скорей всего, был разряжен. По ощущениям, внутри ПЛК всё время борьбы с ним крутился какой то неубиваемый процесс, который имеет больший приоритет, чем связь с ПЛК и отключается кратковременно при аппаратном сбросе ПЛК. К ПЛК по Modbus были подключены 6 ТРМ, судя по светодиодам на них они постоянно и успешно опрашивались ПЛК.
Вопрос: что делать, чтобы минутная работа по замене программы в ПЛК не растягивалась на 5 часов с риском растянуться на несколько недель?

Валенок
01.04.2014, 20:00
Собачьего лая за околицей нету ? Есть подозрения что рабочий цикл мс эдак от 200..
Соединится, резет заводской, залить свое НЕ запуская, создать загрузочник, отключится, соединятся. Как ?
Если Ok - изучаем свое творчество.

rwg
02.04.2014, 14:06
Собачьего лая за околицей нету ? Есть подозрения что рабочий цикл мс эдак от 200..
Соединится, резет заводской, залить свое НЕ запуская, создать загрузочник, отключится, соединятся. Как ?
Если Ok - изучаем свое творчество.
Не понял про собачий лай, рабочий цикл 20 мсек при времени исполнения цикла 800 мксек, пауза более 19 мсек. После соединения (если соединился) связь пропадает сразу, сделать что-либо невозможно. После того, как с не первой попытки записалась пустая программа, постепенно стало возможно и ресетится, и создавать загрузочник и прочее. Но процесс борьбы с постоянно рвущимся соединением нигде в документации не описан.

Валенок
02.04.2014, 15:09
Вы не поняли вопроса.

выключить
нажать стоп
включить
соединится (без заливки)
сброс заводской
отсоединится
открыть свое
очистить все
соединится (с заливкой в пустой плк)
НЕ ЗАПУСКАТЬ
создать загрузочник
отсоединится
Диод работа - отдыхает. Пытаемся соединится. Что ?

ЗЫ
"Не понял про собачий лай" - watchdog
С Ваших слов спит - цикл 0.8мс. Зачем тогда минцикл 20 ?

rwg
02.04.2014, 17:48
Вы не поняли вопроса.

выключить
нажать стоп
включить
соединится (без заливки)
сброс заводской
отсоединится
открыть свое
очистить все
соединится (с заливкой в пустой плк)
НЕ ЗАПУСКАТЬ
создать загрузочник
отсоединится
Диод работа - отдыхает. Пытаемся соединится. Что ?

ЗЫ
"Не понял про собачий лай" - watchdog
С Ваших слов спит - цикл 0.8мс. Зачем тогда минцикл 20 ?

Спасибо, оказывается есть ещё что попробовать. Буду проверять.
Нажимать кнопку СТОП перед включением питания не пробовал, РЭ об этом молчит.
Watchdog это MaxCycleLength? В процессе борьбы я питался его увеличить до 5 секунд, но из за обрыва связи неудачно.
Цикл на 20 мсек сделан для подстраховки. Реле быстрее не работают, задержки допускаются до 0,5сек, а как тормозят работу таймауты Овеновского Modbusа я пока не знаю. Я вообще думал сделать его 50-100 мсек.

rwg
04.04.2014, 10:07
Вынужденно посетил объект с ПЛК. Эксперимент с нажатием кнопки СТАРТ и перезапуском питания оказался удачным, связь с контроллером при этом по RS232 устанавливалась сразу. Столкнулся с другой бедой - предположительно после аварийной остановки рядом расположенных частотных преобразователей ПЛК как бы забыл свою программу. "РАБОТА" горела, но все выходы были отключены. RESET и отключение питания не помогли. Времени на более глубокий анализ не было, поэтому просто перезаписал программу. После перезаписи программы всё заработало. Буду ставить в провода питания фильтр БСФ. Есть ли ещё какие приёмы для сохранения работоспособности ПЛК?

Sulfur
04.04.2014, 10:29
Добавьте в конфигурацию ПЛК элемент Button. Это существенно снизит риск зависания ПЛК от наводок извне.

rwg
04.04.2014, 12:01
Добавьте в конфигурацию ПЛК элемент Button. Это существенно снизит риск зависания ПЛК от наводок извне.

Это первое, что я делаю при работе с ПЛК Овена

Валенок
04.04.2014, 16:03
Многие бы вообще посоветовали уйти на 24v. А так, БСФ землить обязательно.

связь с контроллером при этом по RS232 устанавливалась сразу.
Все таки код немешало бы покопать.

rwg
09.04.2014, 09:25
Все таки код не мешало бы покопать.

Все функциональные блоки линейные, без циклов - проанализировал входы - изменил выходы - вышел. Никаких прямых обращений к физической памяти. Если в ФБ используются нецелочисленные переменные, то запуск не чаще, чем 2 раза в секунду. Стандартные библиотеки практически не используются. На 51 и AVR контроллерах мои программы всегда работали как часы, стаж программирования более 10 лет. А вот насколько надёжны встроенные подпрограммы обслуживания Modbus и архиватора - не знаю. Есть ли что то, чего в программах ПЛК не должно быть? Я пока таких рекомендаций не встречал!