08.09.2017 11:26
WebDmR
 
Добрый день, необходима помощь.
Возникла необходимость интеграции дисплея CAS CI2001A с компьютером через com.

Не хочу использовать уже готовый драйвер CI2001A.dll.
Будем делать напрямую чтение из порта.

Но тут возникла проблема чтения из порта. Оборудование переведено в непрерывный режим передачи данных.
При подключении к порту никакой информации не выдает.
Я так понят что необходимо послать какую-то команду чтобы получить ответ от весов.

Проштудировал материалы, пробовал посылать ID дисплея в разных режимах и возврат корретки и пустую строку.

В непрерывном режиме получаю такую строку.
V??K???????.... и т.п.
Передаю команды в кодировке ASCII (KG, D06KG и т.п.).

Подскажите куда копать. Я так понимаю что вопрос банальный, но в мануалах не нашел.
08.09.2017 11:52
pavel_k
 
Что установлено в F02, F11, F12? Какая распайка кабеля?
08.09.2017 16:58
WebDmR
 
F02= 0
F11=06
F12=4

По распайке кабеля не скажу. Но использование программы CI_5or6_ReadWeight.exe от cas позволяет получать результат взвешивания.
08.09.2017 17:49
pavel_k
 
Цитата:
WebDmR F11=06
F12=4
значения некорректные
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_212.png
Просмотров: 385
Размер:	36.0 Кб
ID:	8831  
08.09.2017 18:06
WebDmR
 
Цитата:
pavel_k значения некорректные
Простите, не в той инструкции посмотрел наименование параметров.
На устройстве установлены следующие параметры:
F11 - скорость передачи =4
F12 - условие передачи данных - 1
F02 = 0

Именно при этих условиях я получаю такой результат: V??K???????
Соответственно на com 9600 передача данных
11.09.2017 09:44
pavel_k
 
Вот, что должно быть:
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_213.png
Просмотров: 425
Размер:	78.7 Кб
ID:	8835  
11.09.2017 11:58
WebDmR
 
Я понял, что должна быть строка подобного вида.

Но для того чтобы ее получить надо передавать в порт какую-то информацию? Если да, то какую?
В одном из руководств к устройству (CI-200) нашел следующее:

Идентификационный номер индикатора является значением в шестнадцатеричном формате, а команда - значением в ASCII-коде.
Например: Если номер устройства «13», а пользователь хочет узнать текущие показания массы, команда выглядит следующим образом: 0x0d 0x57 0x54 0x0d 0x0a.

В руководстве CI2001A такого не написано и вообще ничего не сказано про то как инициировать получение данных с порта.
11.09.2017 12:20
WebDmR
 
Цитата:
pavel_k Вот, что должно быть:
Павел, все получилось :). Оказалить неправильными настройки порта. Четность стояла. А тут без четности надо.

СПАсИБО БОЛЬШОЕ.
11.09.2017 16:24
WebDmR
 
Подскажите пожалуйста еще одну мелочь.

Строка передается, но часть данных в строке (идентификатор оборудования) передается со спецсимволами:
например 06 = 6\u7f; Какой-то нечитамый символ.

Как с этим справится?
11.09.2017 17:04
pavel_k
 
Попробуйте задать двузначный номер, например 12
Часовой пояс GMT +3, время: 20:22.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.