Тензо-М: а есть ли тут знатоки низкоуровнего протокола? [Печать]
Выбрать сообщения с # по # FAQ
AUTOLADA.RU -> Кофейня и курилка |

#26:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 17:21
DerDen писал(а):

Вангую что выход с самого тензодатчика 4-20 ма


Не, не напрямую... Я могу все вплодь до показаний дисплея читать и на него же что угодно выводить... supercool

#27:  Автор: DerDenОткуда: Luxury village СообщениеДобавлено: 11 Сентября 2018 17:25
masta писал(а):

DerDen писал(а):

Вангую что выход с самого тензодатчика 4-20 ма


Не, не напрямую... Я могу все вплодь до показаний дисплея читать и на него же что угодно выводить... supercool


Я про другое, сам датчик тензорезистивный, соотв. выдаёт на контроллер аналоговый сигнал, который преобразуется в цифровой, который ты собственно и видишь. Ну может не 4-20 ма а 0-10 в. Суть не меняется

#28:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 17:31
Да, чтобы было чуть более понятно по протоколу...

Открываю порт и сую туда вот такое дело: FF-04-C3-EC-FF-FF
04 - айдишник весов
С3 - команда "отдать вес брутто"
ЕС - CRC

Если читать побайтово, то приходит нормальный ответ вида: FF-04-C3-00-66-00-32-2E-FF-FF

Если читаю по 10 байт сразу, то приходит сначала вот так: FF-04-C3-00-66-00-32-00-00-00, а потом вот так: 2E-FF-FF-FF-04-C3-00-00-00-00 и после этого порт затыкается наглухо... facepalm

ЗЫ: В принципе, можно забить уй на это все и тупо читать побайтово и не ипсти голову, но не люблю делать неправильно... Pardon

Добавлено спустя 3 минуты 22 секунды:

DerDen писал(а):

соотв. выдаёт на контроллер аналоговый сигнал, который преобразуется в цифровой, который ты собственно и видишь. Ну может не 4-20 ма а 0-10 в. Суть не меняется


Это уже самый низкий уровень... Pardon

Контроллер, если быть точным, отдает XX-XX-XX-XX в хексе, где первые 3 байта это абсолютное значение веса, а 4 байт - набор битов-модификаторов типа сколько знаков после запятой, + или -, устоявщийся/нейстоявшийся и нетто/брутто... lol1

#29:  Автор: DerDenОткуда: Luxury village СообщениеДобавлено: 11 Сентября 2018 17:40
А вообще, посоветуй клиенту такую фичу http://seveks.ru/kombikorm_tenzo4.htm
#30:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 17:44
DerDen писал(а):

А вообще, посоветуй клиенту такую фичу http://seveks.ru/kombikorm_tenzo4.htm


Так что-то подобное у них и так есть... Но оно тупо порты насквозь пропускает через себя данные в обе стороны... Pardon

ЗЫ: Я ж выше пример запроса кидал, а там как раз айди весов указывается, которым этот запрос адресован... Pardon

Добавлено спустя 1 минуту 43 секунды:

Да и это не то чтобы мой клиент... Это кориш попросил помочь, он на мясокомбинате сисадмин... Pardon

#31:  Автор: rezidentОткуда: г Щербинка СообщениеДобавлено: 11 Сентября 2018 18:07
masta писал(а):

Не могу... Это удаленная машина и у меня нет прав для создания виртуальных портов...


Ты виртуальный com порт создал или подключился к удаленному рабочему столу? В первом варианте глучить будет даже с родным ПО. Со вторым вроде проблем особых не должно. Запускаешь на удаленке терминал и пробуй.

#32:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 18:11
rezident писал(а):

masta писал(а):

Не могу... Это удаленная машина и у меня нет прав для создания виртуальных портов...


Ты виртуальный com порт создал или подключился к удаленному рабочему столу? В первом варианте глучить будет даже с родным ПО. Со вторым вроде проблем особых не должно. Запускаешь на удаленке терминал и пробуй.


Я на удаленке... И да, родного ПО нет, вернее, оно есть, но оно уже морально устарело... Pardon

#33:  Автор: rezidentОткуда: г Щербинка СообщениеДобавлено: 11 Сентября 2018 20:10
Ну понятно. Под 7 и выше родное ПО не работает в этом и проблема, было такое. Пробуй уменьшить скорость порта и режим синхронизации повключать повыключать, в режиме совместимости запустить родное ПО , может VirtualBox а на него windows XP и цепляй терминал с прослушиванием порта. Человек который писал ПО на сам прибор гомосексуалист раз нормально незадокументировал.
#34:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 20:19
rezident писал(а):

Человек который писал ПО на сам прибор гомосексуалист раз нормально незадокументировал.


Я думаю, это специально сделано, чтобы их софт древний покупали... facepalm

#35:  Автор: Кот ЧеширскийОткуда: Страна чудес СообщениеДобавлено: 11 Сентября 2018 21:24
Limon писал(а):

zmey999 писал(а):

эт те к Коту Чеширскому


мне он как-то раз вот так ответил Smile
Кот Чеширский писал(а):

Если честно лениво консультировать забесплатно.



А сколько можно? Drinks or Beer Лучше земляков, консультировать, они меня консультируют supercool

#36:  Автор: Michail_09Откуда: Самара СообщениеДобавлено: 11 Сентября 2018 21:25
masta писал(а):

Да, чтобы было чуть более понятно по протоколу...

Открываю порт и сую туда вот такое дело: FF-04-C3-EC-FF-FF
04 - айдишник весов
С3 - команда "отдать вес брутто"
ЕС - CRC

Если читать побайтово, то приходит нормальный ответ вида: FF-04-C3-00-66-00-32-2E-FF-FF

Если читаю по 10 байт сразу, то приходит сначала вот так: FF-04-C3-00-66-00-32-00-00-00, а потом вот так: 2E-FF-FF-FF-04-C3-00-00-00-00 и после этого порт затыкается наглухо... facepalm

ЗЫ: В принципе, можно забить уй на это все и тупо читать побайтово и не ипсти голову, но не люблю делать неправильно... Pardon


При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.

#37:  Автор: Кот ЧеширскийОткуда: Страна чудес СообщениеДобавлено: 11 Сентября 2018 21:26
Я вот пытаюсь к кассе меркурий 130 ф весы присобачить по ком порту.
сканер присобачили, 10 т. наименований, загрузка удаленно и тд и тп.

#38:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 11 Сентября 2018 21:38
Michail_09 писал(а):


При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.


Нет там флагов... Ну, по крайней мере, в доке не упоминаются... Да, есть инфа о том, что может приходить FFFE, вместо FFFF, и тогда надо читать еще 4 байта, но это не мой случай... Pardon

ЗЫ: Но запрос-ответ и побайтовое вычитывание работает на 99% стабильно, поэтому пошли они в пукало... supercool

#39:  Автор: Michail_09Откуда: Самара СообщениеДобавлено: 11 Сентября 2018 21:45
masta писал(а):

Michail_09 писал(а):


При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.


Нет там флагов... Ну, по крайней мере, в доке не упоминаются... Да, есть инфа о том, что может приходить FFFE, вместо FFFF, и тогда надо читать еще 4 байта, но это не мой случай... Pardon

ЗЫ: Но запрос-ответ и побайтовое вычитывание работает на 99% стабильно, поэтому пошли они в пукало... supercool


Ну я в 2-х словах сказал, как на уровне микропроцессора принять телеграмму с сом порта. Что тебе доступно, мне неизвестно. Но, если выкрутился побайтовым чтением, то и замечательно. Главное , чтоб при этом отдельные байты телеграммы не начали пропадать.

#40:  Автор: mastaОткуда: Автономная Республика Крым, Симферополь СообщениеДобавлено: 12 Сентября 2018 01:30
Michail_09 писал(а):

Но, если выкрутился побайтовым чтением, то и замечательно. Главное , чтоб при этом отдельные байты телеграммы не начали пропадать.


Да срать мне на ту пропажу... Кориш попросил, чтобы опрос порта был минимум раз в секунду... Pardon

#41:  Автор: G-DriverОткуда: Москва СообщениеДобавлено: 12 Сентября 2018 12:04
masta писал(а):

Да, чтобы было чуть более понятно по протоколу...

Открываю порт и сую туда вот такое дело: FF-04-C3-EC-FF-FF
04 - айдишник весов
С3 - команда "отдать вес брутто"
ЕС - CRC

Если читать побайтово, то приходит нормальный ответ вида: FF-04-C3-00-66-00-32-2E-FF-FF

Если читаю по 10 байт сразу, то приходит сначала вот так: FF-04-C3-00-66-00-32-00-00-00, а потом вот так: 2E-FF-FF-FF-04-C3-00-00-00-00 и после этого порт затыкается наглухо... facepalm



По виду простейший протокол. Pardon

Алгоритм под винду должен быть такой: ставятся таймауты в нули - чтоб функция чтения возвращалась сразу.
И считывается в цикле пакетами с своим программным таймаутом в цикле, хоть по 1024 читай.

Добавлено спустя 56 секунд:

masta писал(а):


Да срать мне на ту пропажу...


facepalm

А CRC там в конце зачем думаешь? hehe




AUTOLADA.RU -> Кофейня и курилка |
Страница 2 из 2
Часовой пояс: GMT + 4
AUTOLADA.RU