Найти - Пользователи
Полная версия: Запись в БД с условием
Начало » Python для новичков » Запись в БД с условием
1 2 3 4 5 6 7
xam1816
вот эту строку сделайте вместо своей, а на весах F10 задайте 03(там 00 -99)
 ser.write(b'03')
и пришлите снова что выдает 22 байта
xam1816
 ser = serial.Serial(
    port='COM3',
    baudrate=9600,
    timeout=1,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)

вот так прописать

на весах F12 сделать 2 - передача данных после успокоения, если 3 то после отправки номера оборудования,задается в F10 я в примере написал 03
staxbel
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'
staxbel

xam1816
ser.write(b'03')
b''
xam1816
staxbel
А на весах F10 значение?,это как раз задается номер оборудования на которое он отзывается, и скорость бод посмотри соответствует ,F11 вроде,
Вместо b'03' сделать ‘03’.encode(),это конечно мелочи все, не относящиеся к вашей задаче, потому что я хотел декодировать все 22 байта, он ругается на имя весов,но это х. С ним, каким кабелем соединено,может чего там с заземлением или помехи или кто знает как борются с кривыми данными на практике, на весы в инете первой строкой есть pdf , есть там протокол данные 8бит, бит четности 0,стповый 1, Может скорость в бодах убавить
Rodegast
> Это весы CAS2001A, в документации про корректность данных ни слова.

Посмотрел документацию, весы действительно тупые.

> когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.

Может у тебя весы одинаковые номера имеют и пытаются данные одновременно передать?
staxbel
Rodegast
> Это весы CAS2001A, в документации про корректность данных ни слова.Посмотрел документацию, весы действительно тупые.> когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.Может у тебя весы одинаковые номера имеют и пытаются данные одновременно передать?
нет, весы все настроены одинаково и каждый имеет свой id
xam1816
Я думаю ещё можно попробовать увеличить тайм-аут после запроса, или как советовали выше,проверять каждый байт данных на соответствие цифрам
  correct_set = [32, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 ]  
.Вообще наверное грамотно подключеная,согласованная витая пара, проложенная по правилам,и рассчитанная по нагрузке, должна давать четкие данные, попробуйте оставить только одни весы на линии, и понаблюдайте за данными,потом подключайте по одному,может какие-то одни весы дают помехи
staxbel
xam1816
Я думаю ещё можно попробовать увеличить тайм-аут после запроса, или как советовали выше,проверять каждый байт данных на соответствие цифрам
Это проверял уже не раз. Для эксперимента подключал их проводом длиной 20 см. 1 - прибор (0 ошибок за час), 2 прибора (2 ошибок за час), 3 прибора (около 10 ошибок ) Все при условии опроса каждые 3 мин.
PEHDOM
staxbel
Это проверял уже не раз. Для эксперимента подключал их проводом длиной 20 см. 1 - прибор (0 ошибок за час), 2 прибора (2 ошибок за час), 3 прибора (около 10 ошибок ) Все при условии опроса каждые 3 мин.

Не дает мне покоя вот это:
staxbel
Устройство работает через преобразователь AC4 (rs485-usb)
staxbel
когда прибор один подключен, все ок, но когда параллельно их несколько, получается такой мусор.
Я конечно далек от темы, но быстрое гугление выдало вот такое :
https://zen.yandex.ru/media/id/5bd52e42d0549400ab5b51be/parallelnoe-podkliuchenie-rs485-5c9c661893c31d00b21fc6ce
приборы, которые выполняют обмен данными через интерфейс RS-485, должны подключаться последовательно, один за другим. То есть должна использоваться топология “последовательная шина”.

Топология “звезда” (то есть параллельное подключение приборов на линию RS-485) не допускается, потому что длинные ответвления от линии вызывают рассогласование и отражение сигнала.
Правда там дальше идет что таки можно и паралельно, если использовать повторители интерфейса, но это уже не суть..
Может в этом причина?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB