все последовательные порты работают с буфером, поэтому быстродействие не имеет никакого значения. Даже самая простая Ардуина справляется с Модбасом RTU, разве что чем длиннее запрос, тем дольше считается контрольная сумма, то есть увеличивается интервал ответов и только
Комментарии: 15
Anatoly
Проблема Овена в том, что он долго переключается на прием (освобождает линию), за это время расходомер уже начинает отвечать, в результате плк видит только часть пакета, естественно считая его не валидным
Nick
Обратитесь на форуме к Евгению Кислову
Anatoly
Обращались напрямую в саппорт, туда и туда. Понятно что Овен не полностью выполняет спецификацию modbus, удерживая линию чуть дольше 3.5 символа, но и эмис мог бы вытащить параметр задержки ответа в настройки (у всех уважаемых и не только производителей) он есть.
Nick
Для эмис это косяк
Berkeman
У меня однажды эмис не получилось по hart к плк подключить, никак не стыковался)) Либо какая-то своя спецификация hart, либо брак
Serge
3.5 символа ключевой параметр
Alexey
Точно такая проблема была у ПЛК ControlWave от Эмерсон при работе с новыми AUMA
Anatoly
Формально нет, как раз они спецификацию выполняют, но чисто по человечески - да, такая мелочь Кто был виновен?
Andrey
Какая при этом скорость линии? Уменьшить возможно? Скажем до 2400.
Andrey
Ещё вариант - самому написать блок обработки байтов вместо готового modbus. В принципе ничего сложного, если сами данные прилетают, а теряется только начало ответа (id slave, номер функции). Если на шине ничего другого нет - нормальный костыль. Ещё вариант - был в практике, что время цикла ПЛК влияло на потерю байтов на шине RS485. Это был не овен, а beckhoff, но тем не менее. При слишком маленьком времени цикла (меньше 10 мс) была потеря на модуле с буфером в 5 байт, на 24 байтовом проблем не было.
Anatoly
Это в кдс не решить, на уровне чипа. Сорцы модбаса уже смотрел. У меня было 2 эмиса: массомер и вихрь. От первого на 9600 ответы воспринимались через раз, на 19200 - ничего, вихрь на любой скорости не воспринимается (видимо массомер иногда подтупливает, что спасает ситуацию). Значит ПЛК73 переключает линию за dT = const. По идее можно понизить скорость ниже 9600 и поможет, но там минимум 9600. С этим тоже игрались при содействии саппорта Овена (равно, били в бубен). но когда подключили Вихрь, там - всё
Dmitry
а нужные данные в нём есть?
Oleg
На линии RS485 не допускается два устройства на передачу. Это может привести к выходу из строя приемопередатчика. Понятно,что в схеме есть защита, токоограничиваюшие резисторы или более сложная. Так что это не доработка производителя оборудования. Если нет возможности с производитилем решить этот вопрос. Можно попробовать маленький ПЛК с несколькими RS485, где реализовать передачу от одного устройства к другому. Как вариант I-7188/DOS/512
Anonim
Разве RS-485 не допускает передачу несколькими устройствами? В полудуплексном режиме.
Oleg
Вот полудуплекс как раз передача по одному каналу, только приём или передача. Вот в дуплексном режиме там два канала, можно и передавать и принимать по разным каналам одновременно. Но в любом случае канал может использовать один передатчик.