День добрый, пытаюсь считать значения входов МВА8 использую протокол DCON проблема с контрольной суммой, подскажите плиз по какому алгоритму она рассчитывается?
День добрый, пытаюсь считать значения входов МВА8 использую протокол DCON проблема с контрольной суммой, подскажите плиз по какому алгоритму она рассчитывается?
2 алгоритма. Либо сумма всех символов, либо 8-битная CRC по алгоритму Dallas-semiconductors (используется в 1-wire)
Большое спасибо. И еще один вопрос, символ # и завершающий (/х0D) в расчет не берутся?
Последний раз редактировалось Vitto; 23.02.2009 в 06:09.
Начальный символ берётся, 0x0D нет.
На будещее. Вдруг кто искать будет
addrHex$ - адрес в HEX
в итоге в chkSumHex$ будем иметь контрольную суммуКод:For i = 1 To Len(addrHex$) chkSumInt = chkSumInt + Asc(Mid(addrHex$, i)) Next i chkSumHex$ = Hex(chkSumInt Mod 256)
Ок. Большое всем спасибо! Буду пробовать.
Всем день добрый. Все-таки решил работать с МВА8 по modbus. Все заработала с полпинка ))). Но теперь у меня другая проблема. Для начала приведу схему подключения МВА8 к SCADA системе в диспетчерской. МВА8(485)->(TCP/IP)GPRS->Internet<-диспетчер. Т.е. пишу сервер сбора данных расположенный на стороне диспетчера. Суть проблемы в том, что мне нужно идентифицировать МВА при первом его подключении. К примеру, у многих железяк есть возможность считать заводской номер и привязаться к нему. В случае с МВА придется отправлять запрос на чтение с перебором сетевого адреса. А это лишний трафик, да и время теряется… Может, у кого есть какие либо соображения по данной проблеме?![]()
Так заводской номер все равно надо читать с какого-то адреса. Может можно отвести под МВА заранее известные адреса и пользоваться только ими.
С теплосчетчиками мы сделали проще, каждый тип цеплялся на свой порт. Затем, согласно внутреннего протокола, отправляли запрос или на получение серийного номера, или еще какого либо уникального параметра. С МВА планирую так, один порт, по подключению отправляю запрос на чтение какого либо параметра с перебором сетевого адреса. Только вот много их ))))) Я игрался с 0 адресом но МВА молчит, как партизан))))
А 1 раз забить таблицу адрес - какой МВА нельзя?