Форум сайта python.su
вот эту строку сделайте вместо своей, а на весах F10 задайте 03(там 00 -99)
ser.write(b'03')
Отредактировано xam1816 (Апрель 5, 2021 22:50:00)
Офлайн
ser = serial.Serial( port='COM3', baudrate=9600, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS )
Отредактировано xam1816 (Апрель 5, 2021 22:48:18)
Офлайн
xam1816сделал как вы сказали
b' 2830'
Данные изменены 2021-04-06 07:07:53.572095
b' 1495'
Данные изменены 2021-04-06 07:08:03.902686
b' 3950'
Данные изменены 2021-04-06 07:08:04.224704
b' 2<30'
Данные изменены 2021-04-06 07:08:04.447717
b' 14\xb95'
Офлайн
xam1816b''
ser.write(b'03')
Офлайн
staxbelА на весах F10 значение?,это как раз задается номер оборудования на которое он отзывается, и скорость бод посмотри соответствует ,F11 вроде,
Отредактировано xam1816 (Апрель 6, 2021 07:55:49)
Офлайн
> Это весы CAS2001A, в документации про корректность данных ни слова.
Посмотрел документацию, весы действительно тупые.
> когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.
Может у тебя весы одинаковые номера имеют и пытаются данные одновременно передать?
Отредактировано Rodegast (Апрель 6, 2021 11:32:40)
Офлайн
Rodegastнет, весы все настроены одинаково и каждый имеет свой id
> Это весы CAS2001A, в документации про корректность данных ни слова.Посмотрел документацию, весы действительно тупые.> когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.Может у тебя весы одинаковые номера имеют и пытаются данные одновременно передать?
Офлайн
Я думаю ещё можно попробовать увеличить тайм-аут после запроса, или как советовали выше,проверять каждый байт данных на соответствие цифрам
correct_set = [32, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 ]
Офлайн
xam1816Это проверял уже не раз. Для эксперимента подключал их проводом длиной 20 см. 1 - прибор (0 ошибок за час), 2 прибора (2 ошибок за час), 3 прибора (около 10 ошибок ) Все при условии опроса каждые 3 мин.
Я думаю ещё можно попробовать увеличить тайм-аут после запроса, или как советовали выше,проверять каждый байт данных на соответствие цифрам
Офлайн
staxbel
Это проверял уже не раз. Для эксперимента подключал их проводом длиной 20 см. 1 - прибор (0 ошибок за час), 2 прибора (2 ошибок за час), 3 прибора (около 10 ошибок ) Все при условии опроса каждые 3 мин.
staxbel
Устройство работает через преобразователь AC4 (rs485-usb)
staxbelЯ конечно далек от темы, но быстрое гугление выдало вот такое :
когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.
приборы, которые выполняют обмен данными через интерфейс RS-485, должны подключаться последовательно, один за другим. То есть должна использоваться топология “последовательная шина”.Правда там дальше идет что таки можно и паралельно, если использовать повторители интерфейса, но это уже не суть..
Топология “звезда” (то есть параллельное подключение приборов на линию RS-485) не допускается, потому что длинные ответвления от линии вызывают рассогласование и отражение сигнала.
[code python][/code]
Отредактировано PEHDOM (Апрель 7, 2021 10:37:43)
Офлайн