Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2012, 11:53   #1
BarsDG
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 47
По умолчанию ТComPort

Доброго времени суток уважаемые!
Есть родная программа для сбора данных с Com1
Я пишу программу, которая должна конектиться к Com1 и послать команду 'MEAS80'. Команда прибором отрабатывается.
Цитата:
procedure TForm1.Button6Click(Sender: TObject);
var
Str: String;
begin
ComPort1.Open;
Str := 'MEAS80';
Str := Str + #13;
ComPort1.WriteStr(Str);
ComPort1.Close;
end;
НО родная программа после этого с Com1 данные не выгружает.

Пробовал через HyperTerminal:
HyperTerminal -> команда "MEAS" -> Результат ОК -> Disconnect
Далее в родной программе данные грузятся без проблем!

Последний раз редактировалось BarsDG; 29.08.2012 в 11:59.
BarsDG вне форума Ответить с цитированием
Старый 29.08.2012, 13:56   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...очевидно родная программа не может получить доступ к порту. Ищите кто занял, может вы, так как всего вашего кода не видно.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.08.2012, 14:45   #3
BarsDG
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 47
По умолчанию

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

Так вот мой выше описанный код имитирует нажатие кнопки на самом ПРИБОРЕ, но если я проделываю это не физически, а через мой код, то Родная прога не грузит данные, и выдает сообщение:

Такое же сообщение появляется когда Родная программа пытается загрузить данные, а прибор Выключен.

Это весь код связанный с СОМ портом.
BarsDG вне форума Ответить с цитированием
Старый 29.08.2012, 15:46   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Это весь код связанный с СОМ портом.
не обижайтесь, словам привык не верить.

Подойдем с другого боку: приведите полный дамп обмена родной программы и вашей, и на всякий случай еще и с гипертерминала. Одни и те же действия проделайте и снимите логи PORTMON-итором с включенным HEX отображением. Это покажет в чем между ними разница и где что вы упустили. Андерстенд?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.08.2012, 15:49   #5
BarsDG
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
не обижайтесь, словам привык не верить.

Подойдем с другого боку: приведите полный дамп обмена родной программы и вашей, и на всякий случай еще и с гипертерминала. Одни и те же действия проделайте и снимите логи PORTMON-итором с включенным HEX отображением. Это покажет в чем между ними разница и где что вы упустили. Андерстенд?
не совсем...
BarsDG вне форума Ответить с цитированием
Старый 29.08.2012, 16:17   #6
Neobrat
Форумчанин
 
Регистрация: 10.12.2007
Сообщений: 124
По умолчанию

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

то как вариант..
1. получить данные..
т.е. между
ComPort1.WriteStr(Str);
ComPort1.Close;
считать все пришедшие данные..

2. Delphi какую используете? 2010? если да, то скорее всего с кодировкой проблемы. string <> AnsiString

ну если не помог, то делайте то что просит raxp ))

ему нужен полный лог данных которые пробрасываете от ПО к аппарату в 16-ричном формате..
Русский язык не мой конёк
Neobrat вне форума Ответить с цитированием
Старый 29.08.2012, 16:56   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

http://technet.microsoft.com/ru-ru/s.../bb896644.aspx
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 11.09.2012, 09:33   #8
BarsDG
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 47
По умолчанию

Всем большое спасибо за помощь! Вопрос решен.
BarsDG вне форума Ответить с цитированием
Старый 11.09.2012, 12:29   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...таки где опшиблись?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 11.09.2012, 12:33   #10
BarsDG
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 47
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...таки где опшиблись?
В кодировке
BarsDG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц