PDA

Просмотр полной версии : Проблемы в работе с архивными данными по 20-й функции ModeBus



Юрий Поляков
15.07.2010, 13:01
Коллеги, приветствую.
Очень долго не могу разобраться с архивами.
Почему-то, документированные возможности работают не всегда, а иногда и вообще не работают.
Начинал разрабатывать свою программу по раоте с архивами, опираясь на документ, описывающий пример работы с 20-й функцией - работе с архивными файлами ПЛК.
Разработал, работает нестабильно, с ошибками.
Попробовал скомпилировать пример. и сделал все согласно описанию. Почему-то в данном примере система Lectus вообще не увидела файл архива (вернее ПЛК не дал ответа на запрос).
В данном запросе я выставляю исходные файлы программы для ПЛК (ПЛК-100 L R), для Lectus (версия 3.9, build 53), логи Lectus и сам файл архива взятый с ПЛК.
Таргеты взяты самые последние с сайта "ОВЕН", ПЛК тоже очень свежий (Июнь 2010 г.).
Все вышеперечисленное в приложенном архиве.
Теперь поясняю что происходит в данной программе:
- при первом запуске Lectus происходит обмен с ПЛК, в котором повторяется запрос и ответ с данными несколько раз, пока не прерывается "зависанием" ПЛК. После чего ПЛК уже никогда не присылает корректного ответа на запрос по 20-й функции.
Все возможные параметры (ИМХО) я уже пробовал менять, картина в общем не меняется.
Жду вашей помощи.

Антон12345
15.07.2010, 13:45
Добрый день! Та же проблема. С помощью Lectus OPC Server пытаемся забрать архивный файл снапрямую по 20 ф-ии ModBus RTU по 485 интерфейсу. В лог файле Lectus пишет ошибка приема/передачи com3 адрес 1. Специалисты Lectus все просмотрели и предлагают посмотреть на эту проблему со стороны Овен (используется ПЛК100). Все необходимые файлы прилагаю.

Антон12345
15.07.2010, 13:52
текущие настройки и лог файл

Юрий Поляков
16.07.2010, 11:50
господа специалисты из "овена", прошу обратить внимание, что на данный запрос уже в течении 2-х дней нет никакой реакции.
можно узнать, в каком состоянии проверка данного трабла?
или все в отпуске?

Илья Кареткин
16.07.2010, 13:26
текущие настройки и лог файл

Здравствуйте.
Ваша ошибка, по логу:
09:31:00.015 [1092] (COM3)Tx: [12] 01 14 07 06 00 00 00 00 00 01 38 E4
09:31:00.062 [1092] (COM3)Rx: [5] 01 94 04 4F 03

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


На будущее: выкладывайте с проектом плк.

Антон12345
19.07.2010, 13:15
Здравствуйте.
Ваша ошибка, по логу:
09:31:00.015 [1092] (COM3)Tx: [12] 01 14 07 06 00 00 00 00 00 01 38 E4
09:31:00.062 [1092] (COM3)Rx: [5] 01 94 04 4F 03

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


На будущее: выкладывайте с проектом плк.

1) Перезагрузка не дала положительного результата.
2) Прошивка ПЛК 2.10.9

Выкладываю проект Codesys, может он внесет хоть какую-либо ясность.

Юрий Поляков
20.07.2010, 10:25
Здравствуйте.
В своем первом обращении в архиве я поместил проект CoDeSys.
После перезагрузки идет странный обмен, как будто не находит конца файла и считывает по нескольку раз одни и те же записи.
лог в приложенном файле.
Прошивка плк 2.10.9.

Илья Кареткин
20.07.2010, 11:05
Здравствуйте.
В своем первом обращении в архиве я поместил проект CoDeSys.
После перезагрузки идет странный обмен, как будто не находит конца файла и считывает по нескольку раз одни и те же записи.
лог в приложенном файле.
Прошивка плк 2.10.9.


1) Перезагрузка не дала положительного результата.
2) Прошивка ПЛК 2.10.9
Выкладываю проект Codesys, может он внесет хоть какую-либо ясность.

Прошу прощения, судя из лога (http://www.owen.ru/uploads/log.zip)прошивок 20-функция исправлялась позднее.

Коллеги, перепрошейте ПЛК на прошивку 2.12.4 : http://www.owen.ru/catalog/78552813

.. Юрий, а у вас же реньше всё работало..
.. Антон поменяйте тип Истории на ОВЕН..

Юрий Поляков
20.07.2010, 11:10
илья приветствую.
нет, так и не заработало стабильно и корректно...
иногда забирает данные, но некорректно обрывается, как в последнем случае, лог которого я вам прислал.
попытаюсь перепрошить плк.
спасибо.

Илья Кареткин
20.07.2010, 12:21
илья приветствую.
нет, так и не заработало стабильно и корректно...
иногда забирает данные, но некорректно обрывается, как в последнем случае, лог которого я вам прислал.
попытаюсь перепрошить плк.
спасибо.

1) т.к у вас соединение через модем, на котором весит еще модуль Master возможно проверка связи на модем мешают обмену. Увеличте в модуле modem параметр Test period секунд до 180.
2) У вас в проекте есть первый Modbus-Slave, смело переносите переменные опрашиваемые в нём в последний узел конфигурации_плк - где передаёте архив. Соответственно в лектусе в узле который за них отвечает(за текущие данные, не текущую историю) установите обращение так же к 1 адресу устройства

Юрий Поляков
21.07.2010, 09:13
Илья здравствуйте.
По вашему совету переместил арзив в единый блок ModeBus (Slave).
Из-за того, что данные в данном блоке имеют разные источники, пришлось в Lectus создавать два узла (один для функции чтения 20, другой для текущих данных). Начались чудеса в Lectus. Переменные то исчезают, то появляются. То читаются, то не читаются.
Высылаю лог, код программы CoDeSys, конфигурацияю Lectus. Есть еще советы? Или необходимо перешивать ПЛК?

Илья Кареткин
21.07.2010, 10:15
перешивать однозначно - это же поддерживаемый функционал. а совет был направлен на оптимизацию, на мой взгляд.

Юрий Поляков
27.07.2010, 08:25
после перепрошивки плк все заработало.
спасибо.

Юрий Поляков
29.07.2010, 11:05
Здравствуйте.
После перепрошивки ПЛК появились новые проблемы как в самом ПЛК, тпк и в последующей цепочке передачи информации.
ПЛК 100
Прошивка 2.12.4
Функция DT_TO_INT. После установки новой прошивки некоторое время работает правильно, потом, по неизвестной причине, начинат выдавать значение ~31000. Может быть изменилась дата и время с которой необходимо считать секунды (т.е. результат данной функции - секунды, прошедшие с определенной даты)?

Lectus
1. Переменные даты и времени всегда принимают значение даты и времени обмена (т.е. после обмена, когда записываются в БД), а не дату их создания из архивного файла.
2. Переменные не всегда записываются в БД, хотя в файле есть значения. Вместо значений стаятся 0.

Юрий Поляков
29.07.2010, 11:07
в присоединеном файле исходники и логи.