powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получение данных с весов через rs232
96 сообщений из 96, показаны все 4 страниц
Получение данных с весов через rs232
    #37456112
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте Уважаемые !

Прошу не пинать если вопрос уже поднимался, лучше ткните носом :(

Суть задачи: Есть весы производства ФизТех с весовым терминалом Т3. Программа (серверOLE automation VES_CONTROL) предлагаемая производителем для получения веса на компе не устраивает. По этому очень чешутся руки написать самому внешнюю компоненту для 1С на Delphi.
Опыт программирования есть (хоть и не большой), но давно не занимался.

В документации к весам нашел следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
6.8 Связь с компьютером
Обмен осуществляется через последовательный порт RS-232.
Формат посылки: 8-N-1. Контроль потока нет.
Скорость обмена 9600 бод. В настройках терминала bt-003.
Скорость обмена 4800 бод. В настройках терминала bt-002.
Скорость обмена 2400 бод. В настройках терминала bt-001.
Информация передается 6 байтами.
Первый байт ASCII символ LF (0AH)
Следующие 3 байта передаваемой информации -  число в двоично-десятичном  коде, отображаемое на индикаторе.
Четвертый байт - байт состояния:

Номер бита         Содержимое бита
D0                     Три младших бита
D1                     определяют положение
D2                     десятичной точки
D3                     Флаг счетного режима
D4                     Флаг переполнения
D5                     Весы успокоены
D6                     Произведено тарирование
D7                     Знак числа

Шестой байт - ASCII символ CR (0DH)

Пример: на индикаторе:   -10,74 ru gjrfpfybz cnf,bkmys
            в порт:              0A 74 10 00 A2 0D

Хотелось бы сразу спросить может у кого есть исходники, былоб вообще шоколадно ;)

А так застопорился на мысли как эту строку (0A 74 10 00 A2 0D) преобразовать в человеческий вид.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456120
Фотография demian111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*,

0A 74 10 00 A2 0D = 10.74 классика

а лучше себе не взрывать мозг, а использовать их родной драйвер, в случае косячков будет на кого свалить :)
поверь, я тож в свое время такой фигней занимался :))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456131
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Так вопрос-то в чём ? Ты не умеешь работать с байтами/битами ?


Складируешь принятые байты в буфер, пока не встретишь 0D, а дальше смотришь, что там лежит.

Преобразовать двоично-десятичное значение "74 10 00" в 10.74 сумеешь ? ))))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456136
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
demian111*keeper*,

0A 74 10 00 A2 0D = 10.74 классика

а лучше себе не взрывать мозг, а использовать их родной драйвер, в случае косячков будет на кого свалить :)
поверь, я тож в свое время такой фигней занимался :))

Ну, задачка-то простая. Только тебе ещё нужно анализировать и предпоследний байт, бит D7 - там знак числа


Я в 2004 году делал интерфейс к весам CAS, работают до сих пор.
А их COM-объект глючил по страшному.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456144
Фотография demian111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorА их COM-объект глючил по страшному.
Странно, обычно на косяки производитель реагирует.
хотя в данном случае протокол обмена простой, и тем более документирован, может ты и прав.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456164
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorА их COM-объект глючил по страшному.
Спрашивается: задлянафига их вообще делают?
Для асинхронного (a-la RS232) обмена ничего лучше непосредственной работы с портом вроде бы нет...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456207
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисdefecatorА их COM-объект глючил по страшному.
Спрашивается: задлянафига их вообще делают?
Для асинхронного (a-la RS232) обмена ничего лучше непосредственной работы с портом вроде бы нет...
у нас сейчас похожая задача, но надо данные как-то выгрызать после запроса на апач (т.е. тынца в ссылку на страничке).
а сервер и машина с сомпортом - разные. пхп говорят можно сом/оле юзать = при определенных насторойках и т.п.
пока идея есть поставить дельфовый ехе, который будет слушать сом-порт (локально) и порт - в машине. шоб по запросу с сервера мочь отдать данные (через сокеты).
вроде если дрова умеют сом - можно тоже самое реализовывать и через пхп.

может на этот случай и делают?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456245
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вау! Не ожидал , что так быстро ответите. Спасибо!

defecatorТак вопрос-то в чём ? Ты не умеешь работать с байтами/битами ?


Складируешь принятые байты в буфер, пока не встретишь 0D, а дальше смотришь, что там лежит.

Преобразовать двоично-десятичное значение "74 10 00" в 10.74 сумеешь ? ))))

Хотелось хоть одним глазком увидеть наглядный примерчик. Получения этой самой строки и её дальнейшего разбора.

(с чужими велосипедами всегда легче ;))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456247
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
demian111*keeper*,

0A 74 10 00 A2 0D = 10.74 классика

а лучше себе не взрывать мозг, а использовать их родной драйвер, в случае косячков будет на кого свалить :)
поверь, я тож в свое время такой фигней занимался :))

Их родной очень не устраивает. Его бы доработать, добавить универсальности и ошибки исправить.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456249
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatordemian111*keeper*,

0A 74 10 00 A2 0D = 10.74 классика

а лучше себе не взрывать мозг, а использовать их родной драйвер, в случае косячков будет на кого свалить :)
поверь, я тож в свое время такой фигней занимался :))

Ну, задачка-то простая. Только тебе ещё нужно анализировать и предпоследний байт, бит D7 - там знак числа


Я в 2004 году делал интерфейс к весам CAS, работают до сих пор.
А их COM-объект глючил по страшному.

Может поделитесь своим ноу-хау?
Буду премного благодарен.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456294
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Хотелось хоть одним глазком увидеть наглядный примерчик.
А в чём проблема? В MSDN приведён очень даже наглядный пример...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456329
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov*keeper*Хотелось хоть одним глазком увидеть наглядный примерчик.
А в чём проблема? В MSDN приведён очень даже наглядный пример...


Ткните носом пожалуйста.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456362
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*defecatorпропущено...


Ну, задачка-то простая. Только тебе ещё нужно анализировать и предпоследний байт, бит D7 - там знак числа


Я в 2004 году делал интерфейс к весам CAS, работают до сих пор.
А их COM-объект глючил по страшному.

Может поделитесь своим ноу-хау?
Буду премного благодарен.

Код исключительно под весы CAS, там совсем другой протокол обмена.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456396
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Ткните носом пожалуйста.
http://msdn.microsoft.com/en-us/library/aa363196%28v=VS.85%29.aspx
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456666
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

спасибо конечно, но думаю самостоятельно не разберусь. Там примеры на C
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456771
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*Dimitry Sibiryakov,

спасибо конечно, но думаю самостоятельно не разберусь. Там примеры на C

Берешь TurboPower AsyncPro, там есть компонент для работы с последовательным портом.
Изучаешь примеры и начинаешь принимать поток данных от весов.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456869
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Там примеров очень много, но они все по моему не в тему.
Я вот нашел компонент TComPort вот пытаюсь что-то получить.

Никак не пойму как работать с получеными данными.
Открываю пример , который шел вместе с компонентой.
Есть исходники приложения ComExample
Вижу PortMon'ом вот такое
102319 10:47:15 ComExample.exe IRP_MJ_READ Serial0 Length 6
102319 10:47:15 SUCCESS Length 6: 0A 45 40 01 A2 0D
на табло терминала -140,50 кг
вроде все так

но как мне с этими данными работать не пойму
в терминал валятся символы
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456897
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorБерешь TurboPower AsyncPro, там есть компонент для работы с последовательным портом.
Изучаешь примеры и начинаешь принимать поток данных от весов.Можно даже фришный TcomPort.
Успешно использовал для работы с весами CAS.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456932
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
LSVdefecatorБерешь TurboPower AsyncPro, там есть компонент для работы с последовательным портом.
Изучаешь примеры и начинаешь принимать поток данных от весов.Можно даже фришный TcomPort

TurboPower AsyncPro на 300% фришный ))))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456934
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*defecator,

Там примеров очень много, но они все по моему не в тему.
Я вот нашел компонент TComPort вот пытаюсь что-то получить.

Никак не пойму как работать с получеными данными.
Открываю пример , который шел вместе с компонентой.
Есть исходники приложения ComExample
Вижу PortMon'ом вот такое
102319 10:47:15 ComExample.exe IRP_MJ_READ Serial0 Length 6
102319 10:47:15 SUCCESS Length 6: 0A 45 40 01 A2 0D
на табло терминала -140,50 кг
вроде все так

но как мне с этими данными работать не пойму
в терминал валятся символы

В общем, мне кажется, что, наверное, пора в форум работа или нанять программиста....
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456947
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Мне хочется самому разобраться.
Но знаний и практики не хватает. По этому и обратился за помощью к Вам.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456960
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,
Хотя бы подскажите как работать с получеными данными.
Ну вот получил я строку из порта, что с ней дальше надо сделать, чтоб разложить по байтам и по битам (на сколько я понял надо четвертый байт разбирать по битам)
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456976
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*102319 10:47:15 SUCCESS Length 6: 0A 45 40 01 A2 0D
на табло терминала -140,50 кг
вроде все так

но как мне с этими данными работать не пойму
в терминал валятся символы

Перевести из BCD формата в двоичный, поставить правильно десятичную точку и знак:

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

где dat:array[0..5] of byte - данные из порта. Примерно так - не проверял
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37456983
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*defecator,
Хотя бы подскажите как работать с получеными данными.
Ну вот получил я строку из порта, что с ней дальше надо сделать, чтоб разложить по байтам и по битам (на сколько я понял надо четвертый байт разбирать по битам)

Ты получаешь не строку, а просто отдельные байты.
Складируешь их в некий буфер, пока не встретишь $0D.
Не забывать, что буфер может переполняться - мало ли, какая ошибка будет.
Если переполнение - сбрасываешь буфер, и копишь заново.

НУ я не знаю, как тебе ещё объяснить.....Как работать с массивами ? С индексами массивов ?
Могу ещё посоветовать начать читать книжки по Object Pascal....
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458192
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064*keeper*102319 10:47:15 SUCCESS Length 6: 0A 45 40 01 A2 0D
на табло терминала -140,50 кг
вроде все так

но как мне с этими данными работать не пойму
в терминал валятся символы

Перевести из BCD формата в двоичный, поставить правильно десятичную точку и знак:

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

где dat:array[0..5] of byte - данные из порта. Примерно так - не проверял

Sorry, формула преобразования bcd-bin содержит ошибку, но я уверен, что Вы разберетесь.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458458
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064x1ca4064пропущено...

Перевести из BCD формата в двоичный, поставить правильно десятичную точку и знак:

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

где dat:array[0..5] of byte - данные из порта. Примерно так - не проверял

Sorry, формула преобразования bcd-bin содержит ошибку, но я уверен, что Вы разберетесь.

Нет, похоже без вашей помощи не обойтись.
Помогите, если не трудно конечно.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458507
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*x1ca4064пропущено...


Sorry, формула преобразования bcd-bin содержит ошибку, но я уверен, что Вы разберетесь.

Нет, похоже без вашей помощи не обойтись.
Помогите, если не трудно конечно.

Ты для начала хотя бы сделай корректный приём данных от весов.....
А разбор принятого - дело десятое
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458540
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Что значит корректный?
Данные с весов я получаю, даже в том же примере с компонентой.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458567
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*defecator,

Что значит корректный?
Данные с весов я получаю, даже в том же примере с компонентой.

Корректный - это значит со складыванием в буфер,
контролем возможного переполнения при сбое синхронизации (ну вот не принялся $0D)
и определением того факта, что данные в буфере готовы для дальнейшего анализа.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458576
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Тогда ответьте на вопрос. Каков должен быть размер буфера, с учетом того что устройство посылает информация размером 6 байт?

Такой же - 6 байт?
И при приеме сначала анализировать первый и последний?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458585
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*defecator,

Тогда ответьте на вопрос. Каков должен быть размер буфера, с учетом того что устройство посылает информация размером 6 байт?

Такой же - 6 байт?
И при приеме сначала анализировать первый и последний?

6 байт, и сделать буфер кольцевой - как самый простой вариант.
Добавление нового байта в конец буфера выталкивает самый старый.
Приняли $0D - буфер готов для анализа.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458638
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorДобавление нового байта в конец буфера выталкивает самый старый.

Зачем? Если посылка фиксированной длины, то достаточно сказать ReadFile чтобы читал шесть
байт и проверять, что их пришло действительно шесть. Он вернётся когда примет все шесть
(или истечёт таймаут).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458695
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry SibiryakovdefecatorДобавление нового байта в конец буфера выталкивает самый старый.

Зачем? Если посылка фиксированной длины, то достаточно сказать ReadFile чтобы читал шесть
байт и проверять, что их пришло действительно шесть. Он вернётся когда примет все шесть
(или истечёт таймаут).


Ну это если юзать голый API.

А если юзать AsyncPro или другой компонент, то они, как правило, возвращают по событию байты по мере их поступления из порта.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37458959
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064,

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

Повашей формуле данные не верные по тому что они в десятичном формате, а нужно их представить в 16-ном

Как видно на картинке по формуле показания -164,69 , а на приборе -140,45

Если строку 10 69 64 1 162 13 представить в 16-ном виде будет 0A 45 40 01 A2 0D что как раз будет соответствовать действительности - 140,45
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459007
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*x1ca4064,

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

Повашей формуле данные не верные по тому

Хм....Похоже на претензию ? )))))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459391
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator*keeper*x1ca4064,

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

Повашей формуле данные не верные по тому

Хм....Похоже на претензию ? )))))

Я Вас умоляю ;) не смешите мои подковы (c) :)

Хочу действительно разобраться (хотя в положительном результате очень сомневаюсь).

Опыта и так мало, а с байтами/битами вообще не доводилось работать (а уж с их математикой вобще напряг).
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459402
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Подскажите.
Если переменной присваивать значение 16-ричное, то какого типа она должна быть?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459439
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Если переменной присваивать значение 16-ричное, то какого типа она должна быть?

Строкового. Шестнадцатиричные числа существуют только в строках.

Но на самом деле тебе это не нужно. Описанный в первом же посте "двоично-десятичный код"
означает, что каждые четыре бита (так же именуемые нибблом) содержат одну десятичную цифру.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459449
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*defecator,

Подскажите.
Если переменной присваивать значение 16-ричное, то какого типа она должна быть?

вам не нужно присваивать 16-ричное значение. если пользуетесь справкой дельфи на символе $ нажмите F1

вы работаете с байтом byte. при присвоении байту значения - он все равно останется байтом.
если у вас доюникодная дельфа, то символ char тот же байт.

не поленитесь почитать про азы - двоичные операции, and, or, Xor, SHR и т.д.
их всего пригоршня - зато потратив три часа вы избежите массы ошибок.

переменные типа integer single кодируются так же байтами.

я использовал вариантный рекорд для работы с "распарсиванием" этих переменных.

ваш случай проще - парсить не нужно.

и т.к. это ком порт - там нет "мегаскоростей". так что и "супер быстрый" код не нужен. достаточно работающего без ошибок.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459474
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*[
Опыта и так мало, а с байтами/битами вообще не доводилось работать (а уж с их математикой вобще напряг).

Что-то мне подсказывает, что начать надо с определения, что такое Бит и что такое Байт.....
Потом перейти к операциям И, ИЛИ, сдвиги влево-вправо...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459529
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator*keeper*[
Опыта и так мало, а с байтами/битами вообще не доводилось работать (а уж с их математикой вобще напряг).

Что-то мне подсказывает, что начать надо с определения, что такое Бит и что такое Байт.....
Потом перейти к операциям И, ИЛИ, сдвиги влево-вправо...

я знаю что такое бит и байт и операции и, или слабо но помню
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37459920
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Повашей формуле данные не верные по тому что они в десятичном формате, а нужно их представить в 16-ном


С каждым dat[1],dat[2],dat[3] проделайте преобразование:

10*(x shr 4)+(x and $0F) - Может и получится...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460003
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
x1ca4064*keeper*Повашей формуле данные не верные по тому что они в десятичном формате, а нужно их представить в 16-ном


С каждым dat[1],dat[2],dat[3] проделайте преобразование:

10*(x shr 4)+(x and $0F) - Может и получится...

Я думаю, что в свете
*keeper*я знаю что такое бит и байт и операции и, или
слабо но помню

твой совет пройдёт впустую )))))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460030
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот никак не пойму, каким образом 0A 45 40 01 A2 0D дешифруется в 140,45 :)
Пусть даже #13#10#45#40#01#A2
А2 особенно смущает...

А если просто, как в школе, "проюстировать"?
Т.е. положить 1г - посмотреть, 2г - посмотреть, 3г - посмотреть, 5г - посмотреть, 10г - посмотреть,
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460034
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GatorВот никак не пойму, каким образом 0A 45 40 01 A2 0D дешифруется в 140,45 :)
Пусть даже #13#10#45#40#01#A2
А2 особенно смущает...

А если просто, как в школе, "проюстировать"?
Т.е. положить 1г - посмотреть, 2г - посмотреть, 3г - посмотреть, 5г - посмотреть, 10г - посмотреть,

A2 - это байт с битами статусов.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460036
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Типа как тут:


авторНомер бита Содержимое бита
D0 Три младших бита
D1 определяют положение
D2 десятичной точки
D3 Флаг счетного режима
D4 Флаг переполнения
D5 Весы успокоены
D6 Произведено тарирование
D7 Знак числа
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460040
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorA2 - это байт с битами статусов. И что теперь, тупо его ловить в цикле, не кинув XOFF и не бросив CTS? хе-хе-хе
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460042
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GatordefecatorA2 - это байт с битами статусов. И что теперь, тупо его ловить в цикле, не кинув XOFF и не бросив CTS? хе-хе-хе

Зачем ? Ловить $0D - это конец пакета.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460052
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК. А что такое $0A? Начало?
Мне ближе интерпретация CRLF / LFCR
То-то он в картинке три байта из четырёх показал кракозябрами.
Нет чтобы нормальными пакетам...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460264
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064x1ca4064пропущено...


Перевести из BCD формата в двоичный, поставить правильно десятичную точку и знак:

(dat[1]+dat[2]*100+dat[3]*10000)*exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

где dat:array[0..5] of byte - данные из порта. Примерно так - не проверял

Sorry, формула преобразования bcd-bin содержит ошибку, но я уверен, что Вы разберетесь.

Видимо ошибка в определении положения десятичной точки.
При переключении на терминале положения "," на экране бред какой-то получается.

Разясните кто-нибудь вот эту часть формулы: exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460298
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GatorОК. А что такое $0A? Начало?
Мне ближе интерпретация CRLF / LFCR
То-то он в картинке три байта из четырёх показал кракозябрами.
Нет чтобы нормальными пакетам...

Если сделать буфер кольцевой, то достаточно ловить приход $0D, а дальше анализировать уже буфер.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460418
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorЕсли сделать буфер кольцевой, то достаточно ловить приход $0D, а дальше анализировать уже
буфер.

Ага, и если из шести байт пропало по дороге три, то результаты будут - обхохочешься...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460425
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry SibiryakovdefecatorЕсли сделать буфер кольцевой, то достаточно ловить приход $0D, а дальше анализировать уже
буфер.

Ага, и если из шести байт пропало по дороге три, то результаты будут - обхохочешься...


А этот момент, как я уже сказал выше и повторю специально для тебя, не умеющего думать и читать:

defecatorдостаточно ловить приход $0D, а дальше анализировать уже буфер
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37460434
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovdefecatorЕсли сделать буфер кольцевой, то достаточно ловить приход $0D, а дальше анализировать уже
буфер.

Ага, и если из шести байт пропало по дороге три, то результаты будут - обхохочешься...

ну КС судя по описанию, тут в принципе нет, так что подход простой:
три запроса, при состоянии "все установилось". сверка .
определение "средневероятного" - и он суть правильный.
а если это весы для взвешивания вагонов, то одно деление = 60кг )))))
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37461364
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JudeDimitry Sibiryakovпропущено...

Ага, и если из шести байт пропало по дороге три, то результаты будут - обхохочешься...

ну КС судя по описанию, тут в принципе нет, так что подход простой:
три запроса, при состоянии "все установилось". сверка .
определение "средневероятного" - и он суть правильный.
а если это весы для взвешивания вагонов, то одно деление = 60кг )))))

определение "средневероятного"???
Это еще зачем?
Не проще ли брать стабильный вес и передавать его программе?

ЗЫ
Весы обычные платформенные, до 300 кг вроде, может и меньше.
Сечас терминал работает без платформы по этому показывает отрицательное значение.
Есть интересное наблюдение, если по разъему подключения платформы на обратной стороне терминала провести пальцем - показания меняются. Мне для тестов больше ничего и не надо.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37461480
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Judeпропущено...

ну КС судя по описанию, тут в принципе нет, так что подход простой:
три запроса, при состоянии "все установилось". сверка .
определение "средневероятного" - и он суть правильный.
а если это весы для взвешивания вагонов, то одно деление = 60кг )))))

определение "средневероятного"???
Это еще зачем?
Не проще ли брать стабильный вес и передавать его программе?

ЗЫ
Весы обычные платформенные, до 300 кг вроде, может и меньше.
Сечас терминал работает без платформы по этому показывает отрицательное значение.
Есть интересное наблюдение, если по разъему подключения платформы на обратной стороне терминала провести пальцем - показания меняются. Мне для тестов больше ничего и не надо.

Есть требования стандартов (если вам придется проходить сертификацию, то их придется соблюдать).
для упомянутого вам необходимо ДОКАЗАТЬ что ваше средство визуализации использует(отображает) корректные данные.

обычно, например если вы имеете тензодатчик и пишите ПО для контроллера, то вы выбираете 5-6 показаний, проводите автоколибровку(или не проводите, тогда переколибровка - не ваша проблема, а вот ошибка при колибровке - ваша), и потом выбраковываете "лишние" данные. тут могут и не остановившиеся переходные процессы, и наводки, и скачки напряжения и черти шо.

как правило если датчик "умный" все это делают граждане разработчики датчика и вам дают "поверенный" сигнал.

но за "комутацию" т.е. то как датчик и ваша машина связаны, разработчики не отвечают. например была похожая задача, где сигнальное заземление, присоединили к "земле" на которой висели ТЭНы, сварочные аппараты, станки и т.п. данные я получал стабильно и без ошибок, пока не "подрубали" что-то, что сводило мои усилия на нет.(временами вместе с компом накрывало).

так что в зависимости от того, что ТРЕБУЕТСЯ можно (а иногда и нужно) делать контрольную сумму (в вашем случае не поможет, т.к. нет у вас на той стороне контрольной суммы). Иногда можно брать результаты трех-пяти последних замеров и давать усредненный результат, дабы, например, если иногда "стреляет" ложный результат, выбраковать его двумя - тремя "правильными".

например на одном датчике давления, время от времени выдавало +40% показания. (типало его).

если ничего из этого не надо - то вам же легче.
ни гистерезис не надо учитывать ни еще многое чего по теории измерения.

остается изучить вопросы:

- что делать если часть байт "потерялось" (не принял буфер - глюкнуло где-то сами весы, на шнур кто-то наступил))))
- что делать если весы "зависли". (или сом-порт завис).

ну и остальное всплывет в процессе.

Желаю удачи.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37461511
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*Judeпропущено...

ну КС судя по описанию, тут в принципе нет, так что подход простой:
три запроса, при состоянии "все установилось". сверка .
определение "средневероятного" - и он суть правильный.
а если это весы для взвешивания вагонов, то одно деление = 60кг )))))

определение "средневероятного"???
Это еще зачем?
Не проще ли брать стабильный вес и передавать его программе?

ЗЫ
Весы обычные платформенные, до 300 кг вроде, может и меньше.
Сечас терминал работает без платформы по этому показывает отрицательное значение.
Есть интересное наблюдение, если по разъему подключения платформы на обратной стороне терминала провести пальцем - показания меняются. Мне для тестов больше ничего и не надо.

Надо анализировать бит D5 в предпоследнем байте - там признак, что весы уравновесились
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37462202
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator*keeper*пропущено...


определение "средневероятного"???
Это еще зачем?
Не проще ли брать стабильный вес и передавать его программе?

ЗЫ
Весы обычные платформенные, до 300 кг вроде, может и меньше.
Сечас терминал работает без платформы по этому показывает отрицательное значение.
Есть интересное наблюдение, если по разъему подключения платформы на обратной стороне терминала провести пальцем - показания меняются. Мне для тестов больше ничего и не надо.

Надо анализировать бит D5 в предпоследнем байте - там признак, что весы уравновесились
Так я об этом и говорю. Устройство-то простецкое. Калибровка весов - задача вообще другого отдела и они это делают. Мне нужно только упростить задачу получения того веса, что на табло в 1С. Для этого и решил написать внешнюю компоненту. благо примеров в интернете хоить и не навалом но есть.
Результаты уже кое какие есть. Единственная засада - мало знаний.
Понял как узнать, что тот или иной бит включен/выключен в нужном байте.
Код: plaintext
 If  (buf[ 4 ]  and  $ 20 )=$ 20   then  ...
это что касается стабильности веса. Кстати, пожалуйста поправьте если я не прав.
Остальные по аналогии быдем вычленять.
Очень понравился вариант в одной формуле предложенной x1ca4064
Код: plaintext
(dat[ 1 ]+dat[ 2 ]* 100 +dat[ 3 ]* 10000 )*exp(-(dat[ 4 ]  and  $ 07 )*ln( 10 ))*( 1 -((dat[ 4 ]  and  $ 80 )  shr   6  ))
но поскольку часть формулы мне не понятна, приходится делать по своему.
И еще не решил как мне полученые байты представить в 16-ричном виде.
Может подскажете?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37462279
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*И еще не решил как мне полученые байты представить в 16-ричном виде

IntToHex
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37463170
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Разясните кто-нибудь вот эту часть формулы: exp(-(dat[4] and $07)*ln(10))*(1-((dat[4] and $80) shr 6 ))

dat[4] and 7 - младшие 3 бита
exp(x*ln(10)) - 10 в степени x
(dat[4] and $80) shr 6 - старший бит, умноженный на 2
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475607
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все получилось. Всем спасибо за помощь!
Если кому нужно могу поделиться.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475676
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*keeper*Все получилось. Всем спасибо за помощь!
Если кому нужно могу поделиться.

нужно.
напомни что за весы у тебя?
фирма, название?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475681
Нужно коневчно, розшарь где-нибудь пример на файлообменнике, например

нам бы с весами шенк...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475695
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Jude*keeper*Все получилось. Всем спасибо за помощь!
Если кому нужно могу поделиться.

нужно.
напомни что за весы у тебя?
фирма, название?

А что, самому посмотреть ПЕРВОЕ сообщение топика не судьба ?
*keeper*Есть весы производства ФизТех с весовым терминалом Т3
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475703
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весовщик С.,

Исходники и используемые компоненты D7, а так же пример использования на 1с v7.7 и 8.1 t3vk.rar
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475720
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
*keeper*Весовщик С.,

Исходники и используемые компоненты D7, а так же пример использования на 1с v7.7 и 8.1 t3vk.rar

Ща заценим )))))))) Ох, заценим...
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475726
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator*keeper*Весовщик С.,

Исходники и используемые компоненты D7, а так же пример использования на 1с v7.7 и 8.1 t3vk.rar

Ща заценим )))))))) Ох, заценим...
че-то 404((((

не успел я заценить(
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475898
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь. вот рабочая сцылка.

Исходники и используемые компоненты D7, а так же пример использования на 1с v7.7 и 8.1 t3vk.rar
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475902
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator
Ща заценим )))))))) Ох, заценим...

Критика приветствуется ;)
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37475933
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для тестирования дома (без весов) использовал следующий софт:

Virtual Null Modem создает соединения виртуальных COM портов, есть возможность выбрать каким кабелем будет соединение. В моем случае нужен нуль-модемный. 65 кб пересылает бесплатно :)

COM Port Data Emulator - Freeware позволяет эмулировать устройства подключенные к COM порту. Я создал в hex - редакторе файлик с таим содержимым: 0A 74 10 00 A2 0D, и посылал его в нужный порт.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #37476615
*keeper*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В вообщении 11414446 исправленная ссылка. Желающие могут качать.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Получение данных с весов через rs232
    #38395022
Stas_mal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.

Тоже понадобилось написать программку, считывающую показатели с весов. Пока не могу найти документации по формату обмена весов CAS RW-P через RS-232C с компьютером. Весы будут через пару недель, пока готовлюсь теоретически. Не могли бы Вы поделиться информацией по считыванию данных с этих весов (формат передаваемых данных) или примером исходника, о котором Вы написали.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395032
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Почти все CAS весы работают по одному и тому же протоколу.
Описание приаттачил
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395034
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему не 485-ый протокол?
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395070
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymxа почему не 485-ый протокол?

Потому что CAS работают только через RS232
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395268
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из описания на сайте
авторНе тратьте своё время на долгую разработку собственного ПО, его внедрение и не всегда удачные эксперименты. Использование «ITProject RFID Server 2.0» позволит вам сразу приступить к внедрению любой RFID-системы на предприятии.

«ITProject RFID Server 2.0» легко масштабируется, т.е. сегодня вы можете внедрить одно RFID решение, а завтра - другое и т.д. Очень важно, что для этого вам не потребуется использование нового программного обеспечения для решения других задач.

Полезная ссылка http://www.itproject.ru/oborudovanie_torgovlya_sklad/vesoizmeritelnoe_oborudovanie/avtomobilnye_vesy/cas_rw_p
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395291
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Anatoly PodgoretskyИз описания на сайте
авторНе тратьте своё время на долгую разработку собственного ПО, его внедрение и не всегда удачные эксперименты. Использование «ITProject RFID Server 2.0» позволит вам сразу приступить к внедрению любой RFID-системы на предприятии.

«ITProject RFID Server 2.0» легко масштабируется, т.е. сегодня вы можете внедрить одно RFID решение, а завтра - другое и т.д. Очень важно, что для этого вам не потребуется использование нового программного обеспечения для решения других задач.

Полезная ссылка http://www.itproject.ru/oborudovanie_torgovlya_sklad/vesoizmeritelnoe_oborudovanie/avtomobilnye_vesy/cas_rw_p

Бесполезная ссылка, так как за это уродство ещё и денег хотят немеряно
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395312
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем конкретно уродство ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395316
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В начале 2000-х написал пару программ, и они проработали какое-то время. А потом перешёл в другое подразделение
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395324
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Гаджимурадов РустамА чем конкретно уродство ?



В том, что вместо того, чтобы напрямую залезть в порт и нативно вытащить оттуда данные, предлагается костылёк
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395354
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему именно костылёк-то?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395365
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Гаджимурадов РустамПочему именно костылёк-то?



Ну так платное решение - почти посредник между программой и устройством. Даже не драйвер, а некий "ITProject RFID Server"
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38395737
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мешай народу торговать.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #38405859
Stas_mal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecator,

Спасибо, придут весы, проверю.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Получение данных с весов через rs232
    #39619099
Dr_Grizzly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Столкнулся с подобной проблемой распознавания данных в протоколе передачи от платформенных весов. Весовой Терминал Т12(Ц) (Физтех). Задача стоит в аппаратном преобразовании данных от весов к компьютеру. Т.е изменить протокол передачи. В терминале в настройках нет нужного протокола, и придется сейчас его реализовать на аппаратном уровне. Но для этого я должен понять что там ходит от терминала. Получил такой лог данных Com порта от терминала:
13 AC FF 48 4C FF 6E 24 E8 FE 13 2C FF 48 4C FF 9E 1B E8 FE 97 99 FF 48 4C FF 2E 1B 68 FE 07 4C FF C8 99 FE 6E 0D E8 FE 07 4C FF C8 99 FF 16 05 68 FE 13 2C FF 08 AC FF
Сейчас еще пытаюсь понять где тут начало пакета,а где его конец. Это кусок потоковой передачи данных. Предполагаю что FF означает конец пакета, но как-то не вяжется... Может кто подскажет на какой протокол это похоже? И как его разобрать? На табло было значение 100 кг. когда я получил эти данные. А эти:
13 AC FF 06 4C FF 6E 1A 92 FE 97 99 FF 48 4C FF FE 1A 02 FE 97 99 FF 48 4C FF EE 1A D2 FE 07 4C FF C8 99 FF EE 5A D2 FE 07 4C FF 48 20 FF
Когда на табло было 0. Я так понимаю, что терминал округляет полученные данные от датчиков и выводит на табло 0, а по факту наверное там гуляет вес, т.к. ни одного одинакового пакета разобрать не смог.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619124
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr_Grizzly,
Эти весы поддерживают разные протоколы обмена. Какой на них сейчас выставлен?
Визуально, этот поток байт выглядит так, как будто скорость обмена выбрана неправильно.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619142
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064Визуально, этот поток байт выглядит так, как будто скорость обмена выбрана неправильно.
И/или четность/стопбит. Проэксперементируй с even/7 и no/8
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619205
Dr_Grizzly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064Dr_Grizzly,
Эти весы поддерживают разные протоколы обмена. Какой на них сейчас выставлен?


Я вот тоже это видел в инструкции к весам, что там несколько протоколов. Но вчера я к ним первый раз попал, и по инструкции пытался попасть в меню. По итогу, в меню попал, и вижу два раздела Set, Test, Scale. Других разделов меню не смог вытащить, какие только комбинации не пробовал... В Set провалится не дает никак. Пока щелкал увидел еще пару надписей это OUT, ETF, LOG. Таких пунктов даж в инструкции нет(кроме OUT)... поэтому пока сложно сказать с чем я столкнулся... Сейчас там стоит чья-то программа которая с одного com порта получает данные, передает их на другой сом порт в другом формате, а с другого сом порта в третий уже подключена перемычка. Это благо, что у компа есть 4 сом порта... Вот такой вот "костыль" собран был спецом из физтеха. Похоже что он тоже не смог выбрать нужный протокол. Поэтому я решил собрать на Ардуине преобразователь протокола и давать данные уже в нужном виде на один порт.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619206
Dr_Grizzly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRockx1ca4064Визуально, этот поток байт выглядит так, как будто скорость обмена выбрана неправильно.
И/или четность/стопбит. Проэксперементируй с even/7 и no/8

Сегодня после обеда получу снова доступ к ним, и попробую со скоростями поиграть
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619309
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr_Grizzly,

Осциллографом смотрится протокол без особых сложностей. Можно посчитать. Лет 20 назад такое делал. Сейчас с запоминающими сильно проще.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619357
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, к весам не идет инструкции?
На сайте производителя мануалов по протоколам тоже нет?

Странно как-то.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619390
Dr_Grizzly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поймал на 38400 такую штуку. При разных стоповых 7/8. Часть в ASCII часть в HEX поймал
Код: pascal
1.
2.
yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(yU?<0><0><0><0> ?Eh<0>2<0>Xui<0>2<0>Y(
FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55 AA 00 02 04 00 00 00 20 8C C8 
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619393
Dr_Grizzly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже что-то ближе к теме:
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
AA 00 02 04 00 00 00 20 8C C8 68 04 00 32 00 0C 58 F9 69 04 00 32 00 0C 59 28 FF 10 55
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619407
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dr_GrizzlyЭто благо, что у компа есть 4 сом порта...
Вот такой вот "костыль" собран был спецом из физтеха.
Похоже что он тоже не смог выбрать нужный протокол.
Поэтому я решил собрать на Ардуине преобразователь протокола и давать данные уже в нужном виде на один порт.

Достаточно поставить com0com или аналогичгые виртуальные порты,
и можно обойтись единственным com-портом:
программа перевода формата есть, т.е. нет нужды делать что-то на ардуине.

Если есть возможность, запустите на управляющем компе какой-либо снифер последовательного порта - узнаете,
с какими параметрами обмена программа перевода формата открывает порт.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619412
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064Если есть возможность, запустите на управляющем компе какой-либо снифер последовательного порта - узнаете,
с какими параметрами обмена программа перевода формата открывает порт.Да, это быстрее всего будет.
...
Рейтинг: 0 / 0
Получение данных с весов через rs232
    #39619816
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть софт, который может что-то принять, то проще всего посмотреть как он порты настраивает. вирутальными, как сказали, com0com. им же можно и траффик посмотреть, что реально передаётся в обе стороны. в общем - тот или иной сниффер в руки и вперед.
...
Рейтинг: 0 / 0
96 сообщений из 96, показаны все 4 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получение данных с весов через rs232
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]