Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение RS485 [D7, WinXP]


revo ©   (2010-05-09 07:39:00) 

Опрашиваю овеновские приборы по 485 (использую их DLL) -  во время опроса подвешиается форма. Подскажите пожалуйста как избавиться от висюка?
код:
procedure ReadTRM138(var array_t: array of single);
var
hh,res,tm: integer;
val:single;                                    

begin
 for hh:=0 to 7 do
  begin
   res:=ReadIEEE32(16+hh,0,'rEAd',val,tm,-1);
    if(res>=0) then
       begin
         array_t[hh]:=val;
       end  else   array_t[hh]:=-777;
  end;

end;


tesseract   (2010-05-12 17:25:00) [1]


> Подскажите пожалуйста как избавиться от висюка?


Посмотреть - поддерживает ли их DLL асинхронное чтение. Если нет проще накатать самому. Если всё-таки очень хочется - выводить в отдельный поток.


> Я имею в виду слово "вообще".


Отличия минимальны. Программно таки-да "вообще".


> Есть пару отличий:
> - после передачи нужно дождаться эхо
> - нет одновременного приема и передачи.


RS-485 логический уровень сети не оговаривает. Вообще. Адрес девайса - это программный уровень.
А так всё едино, например :
Первое - почти все RS232 отправляют подтверждение и многие хотят CRC.
Второе - большинство устройств RS работают как раз в асинхронном режиме, а виндовый буфер приема/передачи окончательно картину запутывает.


Loginov Dmitry   (2010-05-10 10:25:00) [2]


> Работа с  RS485 ничем не отличается от RS232. Вообще.
> Точно также открываешь порт, точно также пишешь/читаешь
> данные и точно также работаешь в потоке.


Есть пару отличий:
- после передачи нужно дождаться эхо
- нет одновременного приема и передачи.


revo   (2010-05-10 08:55:00) [3]

Спасибо.


Германн   (2010-05-10 02:38:00) [4]


> GanibalLector ©   (10.05.10 00:02) [2]
>
> Работа с  RS485 ничем не отличается от RS232. Вообще.

Ну это перебор. Я имею в виду слово "вообще".


GanibalLector   (2010-05-10 00:02:00) [5]

Работа с  RS485 ничем не отличается от RS232. Вообще.
Точно также открываешь порт, точно также пишешь/читаешь данные и точно также работаешь в потоке.


CrytoGen   (2010-05-09 12:29:00) [6]

обычно такие проблемы решаются потоками


Наверх

Титульная страница Поиск, карта сайта Написать письмо