Ребята ! А кто подскажет почему ПЛК-63м виснет и перегружается самопроизвольно ? Это связано с неправильно написанной программой? Может кто сталкивался с такой проблемой ?
Ребята ! А кто подскажет почему ПЛК-63м виснет и перегружается самопроизвольно ? Это связано с неправильно написанной программой? Может кто сталкивался с такой проблемой ?
Залейте голый проект и проверьте.
В сервисном меню есть коды последних ошибок, можно понять почему
Тролль-наседка, добрый, нежный и ласковый
Наверное лучше описать поставленную задачу. Пытаемся связать ПЛК-63м с амперметром через RS-485 ModBus RTU. Берём готовый пример c пластинки, подставляем в него свои данные и запускаем программу. ПЛК работает, пакеты бегают и вдруг писк и перезагрузка. По времени нет определённой системности. Может перегрузиться через 3 секунды, может через 7, или 15 и т.п. Потом опять начинает работать. Через некоторое время опять писк и перезагрузка.
В ходе мониторинга было определено, что зависание происходило после принятие пакета от Амперметра. Мониторинг пакетов проводили программой MODSIM32 в режиме Show traffic.
Вложение 38747
[008][003][000][015][000][001][180][144] - это запрос
[008] - адрес амперметра
[003] - код функции чтения регистра
[000][015] - первый регистр для чтения (0FH)
[000][001] - количество регистров
[180][144] - контрольная сумма
[008][003][002][000][000][100][069] - это ответ
[008] - адрес амперметра
[003] - код функции чтения регистра
[002] - количество байт
[000][000] - данные
[100][069] - контрольная сумма
всё как бы в порядке ! запрос и ответ как по феншую !
Опять писк и перезагрузка. Последний пакет [008][003][002][000][000][100][069].
Последний раз редактировалось Oleg77; 14.09.2018 в 14:23.
может у вас таймаут ожидания ответа есть и он как-то в прогамме влияет на ватчдог ?
Типа амперметр задумался с ответом и в этот момент срабатывает ватчдог
От амперметра ответ пришёл: [008][003][002][000][000][100][069].
Тут в программе есть таймаут T#50ms. Мы его меняли на больший, результат не изменился. Зависание и перезагрузка.
Из одного сообщения на форуме http://www.owen.ru/forum/showthread.php?t=28500 пользователя aRRma99 узнаём, что в библиотеке модбаса есть ошибка. Вот что он пишет:
Еще следует помнить что в библиотеке модбаса есть ошибка из-за которой через пачку в порт мусор идет. Для ее починки следует сделать следующееТоже попробовали сделать. Всё равно зависает.Код:(* В БИБЛИОТЕКЕ OWEN MODBUS.LIB В ФБ MB_UNI_IO ЗАМЕНЯЕМ СТРОКУ 7 НА WHILE SysComRead(ComHandle, ADR(DataBuf)+DataSize, SIZEOF(DataBuf)-DataSize, 0) <> 0 DO; инче в случае получения ошибки таймаута FF в след пачке пойдем мусор. Также для скорости 9600 необходимо установить значение таймера T_FRTU = ~5ms *)
Последний раз редактировалось Oleg77; 15.09.2018 в 15:18.