Показано с 1 по 5 из 5

Тема: использование owen_io.dll

  1. #1

    По умолчанию использование owen_io.dll

    Здравствуте.
    Вопрос по поставляемому примеру использования библиотеки 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; 02.05.2008 в 09:10.

  2. #2

    По умолчанию

    Ответа я похоже не дождусь...

  3. #3

    По умолчанию

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

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

  4. #4

    По умолчанию

    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);

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

  5. #5

    По умолчанию

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •