https://ftp.owen.ru/CoDeSys3/11_Docu...dbus_v.1.1.pdf
https://www.youtube.com/watch?v=GHUrbkP-gU4
Вид для печати
Насколько я понял, заранее известно, что в 11-00 произойдет "ложный" сброс счетчиков.
Просниффьте линию связи - будет ли отправлена команда от контроллера в этом момент?
И проконтролируйте, какие значения будут в каналах узла OwenRTC.
Вы синхронизацию времени по NTP используете?
Сегодня к 11:00 я не успею, наверное.
1. Что значит просниффеть? Как? Могу ли я это сделать "онлайн" Кодесисом?
2. Что такое NTP? Если это какой то сервис на каком то сервере, то шлюзы отключены. СПК к сети подключен для программирования, просмотра WEB-визуализации и считывания архива (вручную).
Я так же могу расширить импульс сброса (TOFом) до 10 сек и записать в архив.
1. Нет. Нужно подключить к шине преобразователь типа RS-485/USB (например, АС4) и запустить на ПК приложение-сниффер - например, wTerm.
2. Это сервис синхронизации времени между контроллером и сервером. Судя по вашему ответу - вы его не используете.
Здравствуйте Евгений.
Я сделал :
1) передачу данных "по событию" (нарастающий фронт)
2) поставил TON на 5 сек на сигнал "сменного" сброса (перед посылкой сообщений по ModBus)
3) поставил TOF на 30 сек на тот же сигнал и записываю теперь его в архив.
За прошедшие сутки системные часы "ложных" срабатываний (в 11:00 и 23:00) не давали.
Однако в 20:00 один из контроллеров (S7 200) не сбросился.
Подскажите, надо ли увеличивать время импульса "сменного" сброса (в 08:00 и 20:00) или сообщение должно уйти в любом случае по нарастающему фронту?
Может быть я вообще не правильно всё делаю? Может надо организовать подтверждение приёма?
Вложение 42748
Вложение 42749Вложение 42750
Я правильно понимаю, что алгоритм передачи данных во все контроллеры один и тот же, но счетчик не сбросился только в одном?
Да, это будет лучше - считывать значение счетчика и пытаться обнулить его до тех пор, пока контроллер не сдастся.Цитата:
Может надо организовать подтверждение приёма?
Да правильно.
Счетчик не сбросился один раз, в одном контроллере, вчера в 20:00. Обычно он, как и другие, сбрасывается очень хорошо (если команда послана и принята). Это произошло после изменения программы СПК, описанной выше. До этого, когда обмен осуществлялся циклично (100мс), такого не было, что бы за десять секунд изменения бита в 08:00 и 20:00, какой либо контроллер не сбросил свои счётчики, а в 11:00 и 23:00 сброс происходил хаотично (всех счётчиков) на одном двух или трёх контроллерах.
Надо ли удерживать (какое либо время) сигнал запуска передачи при передачи по сигналу?
Вложение 42752
Удерживать не надо, запись по фронту происходит.
На вкладке ModbusGenericSerialSlave, у параметра Всегда обновлять
переменные выставил значение Включено 2.(вчера)
Пока всё работает.
Спасибо!