|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
02.04.2018, 09:40 | #1 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
WAD-AO-BUS и SMH-2Gi - странности.
Добрый всем день. Имею связку 2Gi с несколькими модулями от отечественного производителя АКОН, а именно WAD-AI4-MaxPro, WAD-AO-BUS и WAD-DIO24-ECO по Modbus-RTU. Контроллер в роли мастера со скоростью 115200 (N,8,1), его версия ПО последняя, модули запрограммированы программой производителя на аналогичные параметры, через его программу полностью адекватно считываются и управляются посредством адаптеров USB-RS485 (проверил на двух разных моделях адаптеров). Вроде почти хорошо, но вот проблемы - модуль аналогового вывода WAD-AO-BUS контроллером 2Gi видится очень странно, а именно: при попытке в онлайне дать значение на выход значение это передается с большой задержкой до нескольких секунд, а некоторые значения "трансформируются" в откровенную ересь. Изредка проскакивает бит ошибки по каналу связи, один за передачу. В карте слэйва пробовал и групповые запросы, и просто один регистр записывать - изменений никаких, результат тот же. Менял так же и скорость, и 1-2 стоп-бита в карте переменных, период опроса, не помогает. Кто-нибудь сталкивался с такими странностями?
|
02.04.2018, 10:54 | #2 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
1. В вашем случае (на экране много онлайн-данных), цифры с отладки будут изменяться не сразу. Запись - ещё дольше. Чтобы проверить реальную скорость записи - выведите желаемые цифры на экран, сделайте ввод с контроллера.
2. Переведите индикацию из десятичной системы в двоичную и посмотрите, что происходит с битами. Сравните то, что вы записываете с тем, что читается. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
03.04.2018, 10:08 | #3 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Попробовал совет номер два. Так и не понял чем мне он бы смог помочь, но на всякий случай сообщаю результаты. Все целочисленные знаковые (положительные и отрицательные) real-значения проглатываются контроллером нормально, что посылаешь на вход регистра, то же и присылается в ответ из регистра. Более того, например значение -2.500 так же воспринимается нормально, а вот например при посылке -2.600, -2.70 возвращается -3.2218939е+026, в формате long это соответствует 80000000h. Посылаю -2.800, получаю -2.800. Посылаю 2.8, получаю 2.8. Иначе говоря, наблюдается какая-то трабла с дробными значениями типа хх.100, хх.200 и хх.600, хх.700... Есть мысли еще?
|
03.04.2018, 10:20 | #4 |
Senior Member
Регистрация: Jul 2006
Сообщения: 176
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Обратитесь к производителю данного модуля - у него побогаче коллекция траблов работы с его модулями. Вероятно какой-то маленькой настроечки Вам и не хватает, например, коэф умножения в самом модуле приводит к выходу за допустимые границы или не хватате/слшком большая задержка ответа и т.п. Ведь модули сами по себе микрокотроллеры с массой настроек в т.ч. вероятно и по формату данных (вывод в физ единицах ил абсолютных).
|
03.04.2018, 10:23 | #5 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Возможно, дело в округлении.
Сделайте, пожалуйста, скриншот, такой же как в первом сообщении, только с двоичным отображением значений. Ещё было бы интересно, на всякий случай, посмотреть логи обмена. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
03.04.2018, 11:06 | #6 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Обращаю внимание на уже написанное - с софтом производителя (AKON Administrator) через ноутбук/ПК по Modbus было проверено тремя разными адаптерами USB/RS485. Вообще никаких претензий нет. Траблы только в описанных ситуациях с дробными числами типа хх.100 (и т.п.) и только с 2Gi. С производителем буду связываться, но версия про некорректное округление - простите меня за откровенность - выглядит бредово. У всех каналов и модулей диапазон значений +/-10В, абсолютно корректно софтом производителя сигналы отрабатываются в полной шкале. Никаких иных настроек кроме номера канала и скорости не требуется, коррекции и масштабирования в том числе...
|
03.04.2018, 11:14 | #7 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Кстати, намекните как посмотреть логи обмена. Пока не приходилось этого делать...
|
03.04.2018, 11:34 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Про округление - делаю вывод из вашей первой картинки.
значения типа 2.8 выглядят нормально, потому что в лоджике они такие же, однако, значения 2.6 в лоджике 2.599, и тут какие-то косяки. Чтобы посмотреть логи - используйте какую-нибудь программу типа modbus slave, подключайте компьютер на тот же интерфейс, на котором контроллер и этот девайс обмениваются данными. На правильных параметрах порта вы увидите, что они там шлют друг другу. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
03.04.2018, 11:51 | #9 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Очень давно заметил (как первый раз стал работать с Лоджиком) то что Вы описываете - САМ(!) Лоджик некоторые дробные числа представляет с отниманием очень малой доли, то есть 2.6 представляет как 2.599999. Это было всегда! Сколько я помню Ваш программный продукт. Может кто-то что-то недоговаривает? Арсений сможет объяснить такие моменты с преобразованием?
|
03.04.2018, 11:53 | #10 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
И подставил в переменную 2.2, она не превратилась в 2.199999 зато на выходе регистра тот же бред в виде числа -3.2339832е+026...
|
03.04.2018, 12:00 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Цитата:
Если коротко, то в числах с плавающей точностью нет такого понятия, как "круглое число". Любые числа, которые вы видите, типа 2.6 или 0.1 - это ложь. 32-хбитное число всегда содержит 6 знаков вокруг запятой. Т.е. 0.1 это всегда либо 0.1000(1) или 0.0999(9). До 0.1 его округляют средства отображения на экране. Лоджик практически не занимается таким округлением, поэтому вы видите правду. 2.59999 - это округление исходного числа 2.599998(9). И последнее. Это всё никак не связано с проблемой, поднятой в этой теме. Лично моё мнение, что проблема в WAD. Логи это либо подтвердят, либо опровергнут. Но всё говорит за то, что с формулами проблемы какие-то. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
03.04.2018, 12:07 | #12 | |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Цитата:
|
|
03.04.2018, 12:09 | #13 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Положительные числа передаются нормально, значит с порядком байтов всё нормально. Там структура типа такова, что при малейшем несовпадении всё к чертям улетает.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
03.04.2018, 14:45 | #14 | |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Цитата:
|
|
03.04.2018, 14:51 | #15 |
Member
Регистрация: Jun 2012
Адрес: Магнитогорск
Сообщения: 71
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
я тоже пробовал все варианты со стоп битами...
|
04.04.2018, 12:20 | #16 | |
Senior Member
Регистрация: Jul 2006
Сообщения: 176
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: WAD-AO-BUS и SMH-2Gi - странности.
Цитата:
|
|