Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Как работать с com портом???   Найти похожие ветки 

 
nick4u   (2006-02-02 20:40) [0]

Люди, HELP!
Мне надо автоматизировать внешний прибор через com порт. Есть демо-версия проги на Delphi, но она и есть демо.
Задача: на проиборе есть кнопки, управлять которыми можно через com порт, вопрос как? И как считывать полученную информацию?
Вот текст из приложения к прибору:

Протокол обмена прибора с компьютером
Прибор непрерывно находится в режиме передачи. Формат передаваемого кадра: 0xAA, Offset, Level, Frequency, Flags, Mode, Limit, ImParam, SecParam, SecParam_Value, ImParam_Value, onChange, CS, где;
0xAA – байт синхронизации;
Offset – младший и старший байт значения смещения;
Level – байт значения уровня измерительного сигнала;
Frequency – младший, старший байт значения частоты и байт множителя 10 частоты;
Flags – байт флагов:
4-й бит – автовыбор схемы замещения;
3-й бит – допуск;
2-й бит – параллельная/последовательная схема замещения;
1-й бит – автоматический режим переключения поддиапазонов;
Mode – режим работы прибора: 0х1 – режим измерения;
Limit – предел измерения;
ImParam – измеряемый параметр:
0х0 – Ср;
0х1 – Lp;
0x2 – Rp;
0x3 – Gp;
0x4 – Bp;
0x5 – |Y|;
0x6 – Q;
0x7 – Cs;
0x8 – Ls;
0x9 – Rs;
0xA – q;
0xB – Xs;
0xC – |Z|;
0xD – D;
0xE – I;
SecParam – дополнительный измеряемый параметр;
SecParam_Value – старший, средний, младший байты и байт множителя 10 дополнительного измеряемого параметра в дополнительном коде;
ImParam_Value – старший, средний, младший байты и байт множителя 10 измеряемого параметра в дополнительном коде;
OnChange – байт флагов редактирования:
3-й бит – изменение поддиапазона;
2-й бит – изменение частоты;
1-й бит – изменение смещения;
0-й бит – изменение уровня;
CS – контрольная сумма.
Прибор принимает однобайтные команды соответствующие нажатию клавиш управления:
0х0 – Меню;
0х1 – Вправо;
0х2 – Z/q;
0х3 – режим R;
0х4 – Вниз;
0х5 – Ввод;
0х6 – Вверх;
0х7 – режим L;
0х8 – калибровка;
0х9 – Влево;
0хА – режим I;
0хВ – режим С;
0хС – изменение смещения;
0хD – изменение частоты;
0xE – изменение уровня сигнала;
0xF – изменение поддиапазона.


 
YurikGL ©   (2006-02-02 22:17) [1]

Я бы посоветовал глянуть в сторону comm32...


 
Desdechado ©   (2006-02-02 22:23) [2]

Видел как-то модулек
DirectPort для Delphi 5 v2.1 29/01/2001. Сергей Агеев - SFlash.
sflash@flashmail.com
работоспособность не проверял


 
Германн ©   (2006-02-03 01:54) [3]

2 Desdechado ©   (02.02.06 22:23) [2]

Я тоже его не проверял. Но зачем тут DirectPort? Если я правильно понял его название. :(

Имхо по сабжу, автору надо читать ComPort. Я лично рекомендую использовать одну из компонент взятых с Torry. Если автор "хоть как-то подкован", то можно взять компонету из AsyncPro.  Там правда есть ограничения на коммерческое использование, но исходники доступны всем!


 
tesseract ©   (2006-02-04 11:59) [4]

Мой совет - пиши через WinAPI или WinIo - тебе охота чужие баги разгребать?

ЗЫ: от всяких таких поделок отказался очень давно.


 
Chaser ©   (2006-03-06 12:50) [5]

http://www.delphisources.ru/pages/sources/system/2005_year/bcom_port.html


 
yaral ©   (2006-03-07 08:19) [6]

TurboPower Async Professional
Кладешь на форму 2 компонента, ApdComPord  + ApdDataPacket, настраиваешь, и в событии OnPacket или OnStringPacket, твои данные, и никакого кода!


 
yaral ©   (2006-03-07 08:22) [7]

yaral ©   (07.03.06 08:19) [6]
Отправлять данные в порт PutBlock или PutChar или PutString, как больше нравиться



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
2-1147592071
kilonet
2006-05-14 11:34
2006.05.28
функция TextOut


2-1147003062
Mr tray
2006-05-07 15:57
2006.05.28
setkeyboardstate


2-1147474989
Призрак
2006-05-13 03:03
2006.05.28
Synchronize


2-1147508866
_duk
2006-05-13 12:27
2006.05.28
DBGrid


3-1144409433
RomanH
2006-04-07 15:30
2006.05.28
Умный триггер в InterBase