Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

Как работать с 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
3-1144303882
Алекс5
2006-04-06 10:11
2006.05.28
Конвертация таблицы Paradox 4 в Paradox 7


2-1147596208
Алена
2006-05-14 12:43
2006.05.28
TRichEdit


2-1147110889
que
2006-05-08 21:54
2006.05.28
Memo


15-1146407457
Piter
2006-04-30 18:30
2006.05.28
Кто на чем смотрит DVD?


2-1147451903
Vitalik__
2006-05-12 20:38
2006.05.28
Ищу компонент делфи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский