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

Вниз

Чтение RS485   Найти похожие ветки 

 
revo   (2010-05-09 07:39) [0]

Опрашиваю овеновские приборы по 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;


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

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


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

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


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


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

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


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

Спасибо.


 
Loginov Dmitry ©   (2010-05-10 10:25) [5]


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


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


 
tesseract ©   (2010-05-12 17:25) [6]


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


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


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


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


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


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



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

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

Наверх




Память: 0.48 MB
Время: 0.092 c
3-1304514851
Leon-Z
2011-05-04 17:14
2015.09.10
DBLookupListBox & DBLookupComboBox.


3-1304500232
scott-tiger
2011-05-04 13:10
2015.09.10
табличный тип -> xml (Оракл)


15-1417453981
Dimka Maslov
2014-12-01 20:13
2015.09.10
Ничего не меняется


15-1420579802
Юрий
2015-01-07 00:30
2015.09.10
С днем рождения ! 7 января 2015 среда


3-1304500823
Atum
2011-05-04 13:20
2015.09.10
Сделать запись в поле CLOB