Производственное оборудование Медицинская техника, а также другое промышленное оборудования. Обсуждение и ремонт. |
08.06.2021, 01:18
|
#31
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от tsb
|
А что ж это за формат индикации посылки на LCD такой "смешанный": "тело посылки" в десятичном коде, а CRC в HEX?
|
После нескольких дней боданий, с кодом все смешалось, кони, люди.
|
|
|
|
08.06.2021, 01:22
|
#32
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от tsb
|
Все таки, пока вы не пошлете правильный пакет запроса, включая CRC, частотник вам не ответит. Тут уже писали, что в конце данной посылки должно быть 55 F7 (в HEX). Кроме того, у вас после передачи посылки вставлена задержка перед переключением на прием:
|
А почему вы называете правильным ответом переставленные байты CRC? Я уже задавал этот вопрос. В предложенном руководстве написано, что первым должен идти старший байт контрольной суммы! Первоначально у меня задержки не было и Протеус выдавал искаженный второй байт. Я и решил, что у контроллера не достает времени на прием последних данных и он переключается на передачу. Поэтом я и ввел задержку. Причем посчитал, что в данной ситуации величина её не критична.
Последний раз редактировалось vladh; 08.06.2021 в 01:26.
|
|
|
|
08.06.2021, 01:32
|
#33
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от tsb
|
Так почему бы не использовать тот, работающий код?
|
В этом языке я еще плаваю с большим спасательным кругом. А компилятор который обрабатывал исходник я вообще не знаю. Но надо было быстро доработать программу, которую я давно написал на Бейсике.
|
|
|
|
08.06.2021, 01:38
|
#34
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от jump
|
еще раз: в случае с ТС - оптимальным было б прослушать шину Uport 1150 и терминалом от чужой прошивки
|
jump, я уж писал, что я пробовал пообщаться ЧП с помощью МОХ'ы программы Modbus Poll, к сожалению ЧП общаться не хочет и как его принудить к этому уже не понимаю.
|
|
|
|
08.06.2021, 01:57
|
#35
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,016
Сказал спасибо: 0
Сказали Спасибо 4,954 раз(а) в 2,378 сообщении(ях)
|
Re: Какая CRC правильная
vladh,
ну сколько повторять - заливаешь прошивку того погромиста в марахайку, вяжешь по 485 с ППЧ, веревку продляешь до мохи, ее на усб, включаешь брайтерминал на ПК на прием и смотришь обмен марахайки и ППЧ, копируешь из буфера приема в редактор содержимое и ручками разбираешь говнопосылки для понимания, заодно вставляешь копию в свой гавнокод и пробуешь управлять этим самолетом из соплей и соломы. попутно подбираешь полином и исходное состояние регистра, если получится - радуешься и танцуешь памбаду-самбу-румбу
|
|
|
Эти 3 пользователя(ей) сказали Спасибо jump за это сообщение:
|
|
|
08.06.2021, 05:12
|
#36
|
Гражданин KAZUS.RU
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
|
Re: Какая CRC правильная
|
|
|
|
08.06.2021, 06:42
|
#37
|
Гражданин KAZUS.RU
Регистрация: 10.06.2010
Сообщений: 598
Сказал спасибо: 222
Сказали Спасибо 234 раз(а) в 154 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от jump
|
попутно подбираешь полином и исходное состояние регистра
|
можно, только зачем? это и так в мануале есть.
crc_value = 0xFFFF;
Polynomial = 0xA001
|
|
|
|
08.06.2021, 08:59
|
#38
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от DmitriyVDN
|
можно, только зачем? это и так в мануале есть.
crc_value = 0xFFFF;
Polynomial = 0xA001
|
Простите, Дмитрий, но я не понял о чем это вы здесь? Согласно правилу приведенному в руководстве там говорится о перемене старшего и младшего бита. И тогда должно получится 0х7FFE, а не 0xA001
Последний раз редактировалось vladh; 08.06.2021 в 09:51.
|
|
|
|
08.06.2021, 09:02
|
#39
|
Почётный гражданин KAZUS.RU
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
|
Re: Какая CRC правильная
Последний раз редактировалось vladh; 08.06.2021 в 09:44.
|
|
|
|
08.06.2021, 12:02
|
#40
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Какая CRC правильная
Сообщение от vladh
|
А почему вы называете правильным ответом переставленные байты CRC? Я уже задавал этот вопрос. В предложенном руководстве написано, что первым должен идти старший байт контрольной суммы!
|
Modbus RTU - это хоть и "старенький", но все таки промышленный стандарт. И метод расчета CRC для него "подбирать" не надо - он четко определен в стандарте. Первоисточником в этом вопросе, наверное, можно рассматривать документ с официального сайта:
https://modbus.org/docs/Modbus_over_...line_V1_02.pdf
Там на странице 39 и далее, в разделе "6.2.2 CRC Generation" все описано (фрагмент из этого документа привожу на скриншоте).
По стандарту CRC передается младшим байтом вперед, в отличие от остальных полей информационного пакета, которые передаются старшим байтом вперед. Но "руководствах пользователя" некоторых устройств, поддерживающих Modbus, (в том числе и для вашего частотника) идут на хитрость - пишут, что CRC передается старшим байтом вперед, НО после вычисления CRC переставляют в ней байты. Вот с этим и получается у некоторых путаница.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:21.
|
|