DerDen писал(а):Вангую что выход с самого тензодатчика 4-20 ма
Не, не напрямую... Я могу все вплодь до показаний дисплея читать и на него же что угодно выводить... masta писал(а):DerDen писал(а):Вангую что выход с самого тензодатчика 4-20 ма
Не, не напрямую... Я могу все вплодь до показаний дисплея читать и на него же что угодно выводить...
Я про другое, сам датчик тензорезистивный, соотв. выдаёт на контроллер аналоговый сигнал, который преобразуется в цифровой, который ты собственно и видишь. Ну может не 4-20 ма а 0-10 в. Суть не меняетсяДа, чтобы было чуть более понятно по протоколу...
Открываю порт и сую туда вот такое дело: 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 и после этого порт затыкается наглухо...
ЗЫ: В принципе, можно забить уй на это все и тупо читать побайтово и не ипсти голову, но не люблю делать неправильно...
Добавлено спустя 3 минуты 22 секунды:
DerDen писал(а):соотв. выдаёт на контроллер аналоговый сигнал, который преобразуется в цифровой, который ты собственно и видишь. Ну может не 4-20 ма а 0-10 в. Суть не меняется
Это уже самый низкий уровень...
Контроллер, если быть точным, отдает XX-XX-XX-XX в хексе, где первые 3 байта это абсолютное значение веса, а 4 байт - набор битов-модификаторов типа сколько знаков после запятой, + или -, устоявщийся/нейстоявшийся и нетто/брутто...
Так что-то подобное у них и так есть... Но оно тупо порты насквозь пропускает через себя данные в обе стороны...
ЗЫ: Я ж выше пример запроса кидал, а там как раз айди весов указывается, которым этот запрос адресован...
Добавлено спустя 1 минуту 43 секунды:
Да и это не то чтобы мой клиент... Это кориш попросил помочь, он на мясокомбинате сисадмин... masta писал(а):Не могу... Это удаленная машина и у меня нет прав для создания виртуальных портов...
Ты виртуальный com порт создал или подключился к удаленному рабочему столу? В первом варианте глучить будет даже с родным ПО. Со вторым вроде проблем особых не должно. Запускаешь на удаленке терминал и пробуй.rezident писал(а):masta писал(а):Не могу... Это удаленная машина и у меня нет прав для создания виртуальных портов...
Ты виртуальный com порт создал или подключился к удаленному рабочему столу? В первом варианте глучить будет даже с родным ПО. Со вторым вроде проблем особых не должно. Запускаешь на удаленке терминал и пробуй.
Я на удаленке... И да, родного ПО нет, вернее, оно есть, но оно уже морально устарело... rezident писал(а):Человек который писал ПО на сам прибор гомосексуалист раз нормально незадокументировал.
Я думаю, это специально сделано, чтобы их софт древний покупали... Limon писал(а):zmey999 писал(а):эт те к Коту Чеширскому
мне он как-то раз вот так ответил
Кот Чеширский писал(а):Если честно лениво консультировать забесплатно.
А сколько можно? Лучше земляков, консультировать, они меня консультируют 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 и после этого порт затыкается наглухо...
ЗЫ: В принципе, можно забить уй на это все и тупо читать побайтово и не ипсти голову, но не люблю делать неправильно...
При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.Michail_09 писал(а):
При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.
Нет там флагов... Ну, по крайней мере, в доке не упоминаются... Да, есть инфа о том, что может приходить FFFE, вместо FFFF, и тогда надо читать еще 4 байта, но это не мой случай...
ЗЫ: Но запрос-ответ и побайтовое вычитывание работает на 99% стабильно, поэтому пошли они в пукало... masta писал(а):Michail_09 писал(а):
При работе с сом при приеме надо либо по флагу принятия байта считывать этот байт, или играться с паузами между чтением байтов. Если тупо 10 раз подряд читать, то буфер сом отдаст только то, что принял на текущий момент.
Нет там флагов... Ну, по крайней мере, в доке не упоминаются... Да, есть инфа о том, что может приходить FFFE, вместо FFFF, и тогда надо читать еще 4 байта, но это не мой случай...
ЗЫ: Но запрос-ответ и побайтовое вычитывание работает на 99% стабильно, поэтому пошли они в пукало...
Ну я в 2-х словах сказал, как на уровне микропроцессора принять телеграмму с сом порта. Что тебе доступно, мне неизвестно. Но, если выкрутился побайтовым чтением, то и замечательно. Главное , чтоб при этом отдельные байты телеграммы не начали пропадать.Michail_09 писал(а):Но, если выкрутился побайтовым чтением, то и замечательно. Главное , чтоб при этом отдельные байты телеграммы не начали пропадать.
Да срать мне на ту пропажу... Кориш попросил, чтобы опрос порта был минимум раз в секунду... 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 и после этого порт затыкается наглухо...
По виду простейший протокол.
Алгоритм под винду должен быть такой: ставятся таймауты в нули - чтоб функция чтения возвращалась сразу.
И считывается в цикле пакетами с своим программным таймаутом в цикле, хоть по 1024 читай.
Добавлено спустя 56 секунд:
masta писал(а):
Да срать мне на ту пропажу...
А CRC там в конце зачем думаешь?