в конфигураторе измените адреса приборов.
или после установки связи запишите в прибор новый адрес.
можно конечно и на другой порт.
скачайте документ, рис.8
https://yandex.ru/clck/jsredir?from=...28042685127475
Вид для печати
в конфигураторе измените адреса приборов.
или после установки связи запишите в прибор новый адрес.
можно конечно и на другой порт.
скачайте документ, рис.8
https://yandex.ru/clck/jsredir?from=...28042685127475
capzap так я и написал не в качестве кода для использования а для примера. Насколько помню, тут надо полином поменять и исходное значение при расчете и получим все тот же Modbus CRC16.
Где-то еще был код с таблицей на ST но найти не смог. Не все же за автора выискивать. А этот код у меня просто на компе валялся.
В Oscat там очень большая библиотека, так как там куча вариантов контрольных сумм и имеет недостаток, только от 4-х байт рассчет если не ошибаюсь.
CRC online калькулятор нашел !!
020400040004 -> 3bb0
но у ZETLAB почему то записано b0 3b
https://www.lammertbies.nl/comm/info...lculation.html
См. википедию ("Note about the CRC").
Вложение 32962
https://en.wikipedia.org/wiki/Modbus#Frame_format
in37usd потому что старшим(младшим) байтом АЛГА.
[QUOTE=melky;257163]in37usd потому что старшим(младшим) байтом АЛГА.[/QUOT
Понятно
допустим такой вариант(Их уже вырисовалось вроде 4шт) запроса к датчику
010400200004F003
ВОПРОС- как сохранять в программе лучше?
как массив- не знаю шеснадцатеричный формат как записать в массив- какой тип данных брать ???
может как строку ?
В любом случае как потом "толкать " в MODBUS MASTER- "байт за байтом?"
где пример посмотреть?
сперва лучше с этим ознакомиться
http://www.kipshop.ru/CoDeSys/steps/...figuration.pdf раздел 3.2
Простите, а чего там придумывать ? 0x08 загнали в байт и все. или как там в CDS правильно указывать hex-ы, дворды и так далее. В справке посмотрите. Иногда CDS сам ругается и предлагает точную запись, чтобы он не размышлял что это...
записав хекс, можете считать десятичное, монописуально как и во множестве других языков.
китайский вариант датчика 485 modbus rtu
0х03- function code
0x0004- data start adres
1- number of data
2 - data bytes
-32768-327767- data range
measured output values- instruction significance
может тут истина??