PDA

Просмотр полной версии : сколько показаний можно считать с секунду трм-201 и трм-138



незарегистрированный
14.12.2007, 09:30
сколько показаний можно считать с секунду трм-201 и трм-138

Илья Глан
14.12.2007, 10:50
при идеальных условиях один параметр 201-го, например pV можно опросить раз 140 в секунду, другое дело, что сам прибор обрабатывает свои датчики гораздо медленнее, пару раз в секунду. приблизительно та же картина для 138-го

незарегистрированный
18.12.2007, 08:11
есть 25 датчиков двух видов ТРМ-201 с двумя версиями 1 и 2 ,ТРМ-138
делаю считывание в потоке
открываю порт (OpenPort(0,7,0,1,0,1)<0)

и в ходе цикла делаю опрос

if Short_Adr[-1]>0 then
begin
for i:=0 to Short_Adr[-1]-1 do
begin
res:=-1;
if Tip[poz_Znah[i]]='ТРМ201_V1' then
begin
res:=ReadFloat24(Adr[poz_Znah[i]],0,'LuPV',val,-1);
if res>=0 then Znah[poz_Znah[i]]:=RoundTo(val,-2);
//Znah[poz_Znah[i]]:=poz_Znah[i];
end;
if Tip[poz_Znah[i]]='ТРМ201_V2' then
begin
res:=ReadFloat24(Adr[poz_Znah[i]],0,'Pv ',val,-1);
if res>=0 then Znah[poz_Znah[i]]:=RoundTo(val,-2);
//Znah[poz_Znah[i]]:=poz_Znah[i];
end ;
if Tip[poz_Znah[i]]='ТРМ138' then
begin
res:=ReadIEEE32(Adr[poz_Znah[i]],0,'rEAd',val,tm,-1);
if res>=0 then Znah[poz_Znah[i]]:=RoundTo(val,-2);
//Znah[poz_Znah[i]]:=poz_Znah[i];
end ;
end;
end;

вначале и конце этого кода фиксирую время... и получается что опрос проходит от 2-х до 3-х секунд ..
что это , плохая линия может? как это проверить? скорость порта есть смысл загонять на максимум(щас 57600)?

незарегистрированный
18.12.2007, 08:27
забыл сказать что линия недлиннее 15 метров

незарегистрированный
18.12.2007, 12:38
вдогонку как влияют согласующие резисторы для АС-3 М? и как их подберать тогда?

незарегистрированный
18.12.2007, 12:51
а как влияет условие что адреса должны быть кратны 2-м?

Дмитрий Егоренков
19.12.2007, 10:47
никак. просто адреса должны быть кратны числу каналов.

Дмитрий Егоренков
19.12.2007, 10:53
ТРМ201 у вас старые, с проблемами обмена.

библиотека, которую вы используете, по умолчанию делает четыре повторных запроса, если по каким-то причинам не удалось считать значение параметра.

используйте функцию SetMaxRetriesGlobal() чтобы установить меньшее число повторных запросов, и проверьте значения, возвращаемые ReadFloat24() - наверняка будут ошибки ERR_TIMEOUT.

незарегистрированный
19.12.2007, 11:17
пронивки 201 новые V2 024 или 025 прошивки ..
а с колвом повторов спасибо попробую похимичить..

незарегистрированный
19.12.2007, 11:56
провёл экспиримент ...
взял АС4 и один ТРМ201 . подключил их напрямую
в программе задал цикл на постоянное считывание значений и произвожу фиксирование колва успешных ответов ... меняю скорость порта и время задержки ответа... и вот что у меня получилось
первая цифра это скорость
вторая задержка ответа
третья колво зарегистрированных удачных ответов
115.2,5 57
115.210 46-48
115.2,15 29-30
115.2,20 29-30
115.2,25 23-24
115.2,30 19-20
115.2,40 16-19
115.2,45 14-15

решил поменять скорость при фиксированной задержке

57.6, 15 29
38.4, 15 29
28.8, неоткрывает порт
19.2, 15 19
9.6, 15 13

низнаю как можно тут выжать 120 запросов .. ну никак у меня неполучается

незарегистрированный
19.12.2007, 11:59
забыл сказать что эти значения за 1 сек

Кулхацкер
19.12.2007, 13:19
провёл экспиримент ...

низнаю как можно тут выжать 120 запросов .. ну никак у меня неполучается

Видимо, надо разгонять процессор...

tashkinov
19.12.2007, 13:23
Видимо, надо разгонять процессор...

блин флудеры и сдесь...:eek: дайте дельный совет спецы ;)

Кулхацкер
19.12.2007, 13:42
Ну, раз так просите...
Можно попытаться разобраться в проблеме. Сперва посчитать, сколько вообще возможно теоретически сделать запросов в секунду. Для этого выяснить длину посылки, рассчитать, исходя из скорости передачи, время посылки, прикинуть задержку с ответом. Затем провести натурный эксперимент, используя какую-нибудь программу для работы с COM-портом, например ComPortToolkit. Выяснить с её помощью реальную задержку с ответом, а также, возможно, количество ошибок. Если ошибок много, можно попытаться устранить их возможную причину, например, подключить ТРМ к АС4 проводками не длиннее 10 см. И так далее...

Мне только непонятен смысл этой возни. Ведь в самом начале было объяснено, что данные в ТРМ обновляются раз в полсекунды...

tashkinov
19.12.2007, 14:14
Ну, раз так просите...


Мне только непонятен смысл этой возни. Ведь в самом начале было объяснено, что данные в ТРМ обновляются раз в полсекунды...

а смысл есть если я не один а 40 значений опрашивать хочу в секунду .у 20 датчиков... и как я понимаю если в сети один датчик с кабелем 10 см от АС до него и я натыкаюсь на предел 29 значений то у меня уже возникают проблемы если линия длинннее и в сети 20 датчиков

а понаблюдать за портом это мысль дельная ... мож что и выловлю

у новых ТРМ201 есть параметр задержки ответа , а каково значение этой задердки у старых ?

Дмитрий Егоренков
20.12.2007, 12:26
1. owen_io не самый быстрый способ опрашивать приборы. если вам нужна такая бешеная скорость, напишите обмен самостоятельно - это несложно

2. опрашивать один и тот же прибор - не то же самое, что несколько приборов подряд (особенно актуально для старых приборов).

3. при rSdl = 5 и 60 опросах в секунду несложно подсчитать, что 0,3с тратится только на ожидание. установите rSdl в единицу, и если не 120, то 90-100 опросов вы получите