Просмотр полной версии : Чтение параметров МВА8 и ТРМ202
Не удается прочитать текущие значения измерений с ТРМ202
на вызовы:
res = ReadFloat24(84, 0, "Pv ", val, 0)
res = ReadFloat24(84, 0, "PV ", val, 0)
получаю ошибку код -104.
При этом SP (или HYS) и читается на тех же приборах, и пишется (вызов res = ReadFloat24(84, 0, "SP ", val, 0)).
Аналогично не могу прочитать тип датчика у МВА8 с помощью
ReadUInt(***), тоже ошибка -104. Хотя текщие измерения читаются (ReadIEEE32) на том же приборе и с теми же параметрами сети RS485.
И функция ReadUInt(***) работает ...
Среда программирования VisualBasic_.NET.
Что делать ?
Дмитрий Егоренков
03.03.2008, 14:56
надо делать так: res = ReadFloat24(84, 0, "Pv", val, -1)
и вот так: res = ReadUInt(80, 0, "In-t", uval, 0);
И еще, библиотека (owen_io_lib) писалась, подозреваю, на Си. Мне кажется, использование библиотеки упростится, если указать версию языка разработки, а еще лучше сразу длины параметров функций в байтах.
Заранее спасибо.
>надо делать так: res = ReadFloat24(84, 0, "Pv", val, -1)
это будет соответствовать 1-му каналу, видимо (адрес прибора=84) ?
а со 2-го канала ?
у меня SP правильно читались (и записывались) такими вызовами :
1-й канал: res = ReadFloat24(84, 0, "SP ", val, 0)
2-й канал: res = ReadFloat24(84, 0, "SP ", val, 1)
и какой командой читать текущее значение управляющей уставки ?
все это ТРМ202 !
Дмитрий Егоренков
03.03.2008, 16:19
> а со 2-го канала ?
ReadFloat24(84 + 1 , 0, "Pv", val, -1)
> у меня SP правильно читались (и записывались) такими вызовами :
SP, в отличие от PV, не оперативный параметр.
> и какой командой читать текущее значение управляющей уставки ?
не знаю, что это. разве не SP?
Дмитрий Егоренков
03.03.2008, 16:22
ну да, на c. а что, есть какие-то проблемы с вызовом функций?
>ну да, на c. а что, есть какие-то проблемы с вызовом функций?
конечно есть: не понятно, для какой версии Basic'a приведены вызовы в примерах и help-файле, и соответственно, какова длинна переменных ...
>> и какой командой читать текущее значение управляющей уставки ?
>не знаю, что это. разве не SP?
нет, SP - это устанавливаемая температура.
а я имею в виду текущее значение выходов ВУ1 и ВУ2 (рис.1, стр.12 Руководства по эксплуатации на ТРМ202), как называется этот параметр и какой функцией его читать ?
Дмитрий Егоренков
04.03.2008, 11:01
owen_io.dll - обычная динамическая библиотека, из которой экспортированы функции точно такие же, как любые функции Win API. Он версии бейсика они не зависят.
ТРМ202 не умеет отдавать нужные вам значения. А SP - это все-таки уставка.
Точно, от версии языка, ИЗ КОТОРОГО вызывается бибилиотечная функция, сама бибилиотека (owen_io.dll) не зависит. Но в вызывающей программе, как известно, обязано присутствовать объявление библиотечных функций. И вот это объявление должно точно соответствовать определениям функций в самой библиотеке.
В VB_.NET длина integer и long отличается от длинн в версии VB6. Подобное может иметь место и для версий других языков.
... и спасибо за помощь с чтением параметров, все заработало -))
Дмитрий Егоренков
04.03.2008, 15:50
да, нехорошо получилось. посмотрим, что можно сделать.
не смертельно
... зато есть на чем "мозги размять", а то берешь Help от MS и сразу все понятно, все описано (ну или почти все) и думать не надо, только пиши себе -)))
я бы предложил примеры приводить к каждой функции в виде 2-х фрагментов кода:
1. Объявление функции производится в следующем формате ********,
типы параметров следующие : *****.
2. Вызов функции производится в следующем формате : ********.
Особые случаи задания значений параметров следующие : ********.
Дмитрий Егоренков
05.03.2008, 11:15
к сожалению, мы не майкрософт ))
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot