PDA

Просмотр полной версии : использование owen_io.dll



Alor
29.04.2008, 15:34
Здравствуте.
Вопрос по поставляемому примеру использования библиотеки owen_io.dll.

Проблема такая, я использую ТРМ 200.
Код из прмера на прибор ТРМ 202 думаю должен работать и на ТРМ200?

display('Работа с ТРМ202 - адрес 26 скорость 9600');
display('Работа с индексируемыми параметрами...');
//Читаем темперетуру канал 1
res:=ReadFloat24(26,0,'Pv ',val,0);
if(res>=0) then
begin
display('Значение температуры[Канал1]',val);
end
else begin
display('Ошибка чтения!');
end;
//Читаем темперетуру канал 2
res:=ReadFloat24(26,0,'Pv ',val,1);
if(res>=0) then
begin
display('Значение температуры[Канал2]=',val);
end
else begin
display('Ошибка чтения!');
end;
//Читаем сдвиг характеристики(SH ) входа 1
res:=ReadFloat24(26,0,'SH ',val,0);
if(res>=0) then
begin
display('сдвиг характеристики[Канал1]=',val);
end
else begin
display('Ошибка чтения!');
end;

Так вот проблема в том, что не происходит чтения параметра "Pv ", а "SH " либо других все норм.
Из текстового файла tags.txt
PV, LuPV, in.L, in.H, SH, KU, Fb, inF - ReadFloat24, WriteFloat24
Видно что используется одна функция для чтения этих тегов.
В чем тогда проблема?
P.S.
Да при отладке res возращает значение -104
(код -104 (константа ERR_NERR) - прибор возвратил ошибку nErr)

В сказано doc\readme.txt что
1.2 Порядок индексации.
В функциях имеющих в качестве входного значения index передаются следующие значения:
1.2.1 Для оперативных параметров - значение "-1" - т.е. без индекса - индексация осуществляется по адресам.
1.2.1.1 Исключение: В ТРМ20х v.01.0013 параметр Pv и LuPv параметр read - индексация идет по адресам,
но дополнительно передаем индекс со значеним "0".
-----------------------------------------------------
res:=ReadFloat24(26,0,'SH ',val,0); // чтения нет
res:=ReadFloat24(26,0,'SH ',val,-1); // чтение есть но только 1го канала т.е.
res:=ReadFloat24(27,0,'SH ',val,-1); // следующий адресс уже не читается.

Alor
07.05.2008, 15:25
Ответа я похоже не дождусь...:mad:

Alor
13.05.2008, 13:35
Плин, что все програмисты и модераторы в отпуск свалили,
вопрос по поставляемой библиотеки, какие трудности?

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

Дмитрий Егоренков
14.05.2008, 12:15
Pv, как оперативный параметр, читается так:

res:=ReadFloat24(26,0,'Pv',val,-1);
res:=ReadFloat24(26+1,0,'Pv',val,-1);

SH читается так:

res:=ReadFloat24(26,0,'SH',val, 0);
res:=ReadFloat24(26,0,'SH',val, 1);

проверьте, что у вас свежая версия библиотеки.

Alor
03.06.2008, 16:20
Да спасибо за ответ, причина определилась, все было верно, была попытка прочтения неактивного канала (без датчика).