Стартовая страница › Форумы › Ошибки в работе › Некорректная запись modbus регистров v6 RC1
- В этой теме 29 ответов, 3 участника, последнее обновление 3 года, 7 месяцев назад сделано
Mikhail.
-
АвторСообщения
-
10.11.2022 в 12:39 #25950
manjey73УчастникКоличество элементов 2 поставить у команды ?
10.11.2022 в 13:21 #259527in
УчастникТогда вот что отправляет:
Отправка (17): 30 10 02 2E 00 04 08 00 00 00 00 00 00 00 00 28 44
Это если у множественной ставить.10.11.2022 в 14:15 #25953
manjey73УчастникА почему тогда отправляет сплошные нули, если вы отправляете 2 ?
Явно косяк в драйвере
10.11.2022 в 15:23 #25955
MikhailМодераторМожно узнать в чем заключалась проблема? Я верно предположил что это связано с размерностями элементов?
Драйвер неверно рассчитывал адрес команды.
Т.е. пишет 4 байта вместо необходимых двух. Зачем — непонятно
Число float состоит из 4 байт и занимает 2 адреса Модбас.
По поводу новой проблемы с float, проверю.
11.11.2022 в 09:34 #259637in
УчастникЧисло float состоит из 4 байт и занимает 2 адреса Модбас.
Действительно все верно. Только почему то нули одни пишутся, а не передаваемое значение.
11.11.2022 в 09:56 #259647in
УчастникДолжен вот такой пакет передаваться:
30 10 02 2E 00 02 04 00 00 40 00 A3 6711.11.2022 в 10:24 #25965
manjey73УчастникНули видимо пишутся потому, что драйвер некорректно обрезает или преобразует изначальный double.
то есть изначально 00 00 00 00 00 00 40 00 и хвост пропадает…-
Ответ изменён 3 года, 7 месяцев назад пользователем
manjey73.
11.11.2022 в 13:33 #259697in
Участникто есть изначально 00 00 00 00 00 00 40 00 и хвост пропадает…
Попробовал записать значение «1,1» — там хвоста с нулями быть не должно т.к. в hex оно выглядит как 0x9a9999999999f13f
Однако в журнале коммуникатора все равно одни нули
11.11.2022 в 15:56 #25971
MikhailМодераторВы могли бы выложить свежий шаблон Модбас и ещё раз уточнить, на каком элементе возникает ошибка? На следующей неделе планирую проверить.
11.11.2022 в 16:25 #259737in
УчастникШаблон прежний (не изменялся) — из первого сообщения данной темы.
Проблема с элементом «Смещение графика конт 1»:
<Elem type="float" byteOrder="2301" readOnly="false" isBitMask="false" tagCode="558" name="Смещение графика конт 1" />
Проблема заключается в том, что при попытке записи такого элемента коммуникатор направляет некорректный запрос устройству: пытается функцией для записи одного регистра записать сразу два.11.11.2022 в 16:34 #259747in
УчастникЭто была первоочередная проблема.
При попытке её обойти вылезла другая — если создать команду (множественную) с типом float — то всегда через неё пишутся нули вне зависимости от того, что я пытаюсь записать. Если нужны скриншоты/файл шаблона — выложу чуть позже.15.11.2022 в 17:27 #26013
MikhailМодераторПопробуйте обновление, пожалуйста.
15.11.2022 в 21:26 #260237in
УчастникОбе рассматриваемые ошибки больше не возникают. Запись float работает корректно в обоих случаях.
Спасибо!
Неужели до меня никто не сталкивался с подобными проблемами?15.11.2022 в 21:57 #26027
manjey73УчастникПросто 6-я версия еще не в ходу, а ошибка могла возникнуть в промежуточных вариантах перед релиз кандидатом.
16.11.2022 в 15:41 #26045
MikhailМодераторНеужели до меня никто не сталкивался с подобными проблемами?
Наверное, запись float не слишком часто используется. За исключением ошибки с нулями, остальные ошибки не проявлялись в новой версии на старых шаблонах.
Сейчас уже начинают переходить на 6-ю версию.
Исправление войдёт в следующий релиз. -
Ответ изменён 3 года, 7 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.