PDA

Просмотр полной версии : Не могу подключить МВА8 с помощью OWEN_IO



kamaz2000
15.03.2011, 15:13
В Delphi пытаюсь прочитать данные с МВА8:
if (not InitLib) then ShowMessage('Ошибка загрузки библиотеки');
OpenPort(2,2,0,1,0,0);
res:=ReadIEEE32(16,0,'rEAd',val,tm,-1);
if(res>=0) then
Memo1.Lines.Add('Read='+FloatToStr(val/6/3)+' Time='+FloatToStr(tm/5))
else
begin
Memo1.Lines.Add('Ошибка чтения! '+IntToStr(res));
LastErrToStr(errStr);
Memo1.Lines.Add(errStr);
end;
Пишет "Ошибка чтения! -104"
а дальше вместо букв квадраты.
ReadUInt(hh,0,'bPS',val1,-1);-выдает тоже самое.
как узнать код ошибки?

kamaz2000
17.03.2011, 13:55
Нупомогите пожалуйста. Замучила уже эта ошибка -104.
Может есть какие-то тонкости в настройке МВА?
Спасибо.

Илья Глан
08.04.2011, 11:31
Надо использовать функцию из библиотеки LastErrToStr
для получения сетевой ошибки, и далее посмотреть в описании к библиотеке что это за ошибка

Doomnik
09.08.2011, 22:36
у меня тоже квадраты вместо кода ошибки...

Илья Глан
16.08.2011, 12:41
Потому что у вас delphi современный, и строка воспринимает как юникодную, а она -- ANSI.

-104 -- прибор вернул код ошибки nErr. Вызовите int GetDeviceLastErr(), и посмотрите, что прибор хочет.

Sdvnkhp
12.10.2011, 09:53
Все будет работать если в Описании функций использовать PAnsiChar вместо PChar.

minaevn
11.05.2015, 20:27
Огромное спасибо!!! Как приятно осознавать, что твоя проблема была решена много лет назад!

Вот уже 2 день сижу-маюсь и не понимаю почему старая программа (писал даааавным-давно на Delphi 7), которую сейчас неспешно переписываю на Delphi 10 не хотела видеть прибор и ругалась " ERR_NERR (-104) прибор вернул код сетевой ошибки nErr "

Было до:



...
Type
...
TProcOwenIO=function (adr,adr_type,is_read:DWORD;command,params:pchar;v ar param_sz:integer):integer;stdcall;
...
var
...
params:array [0..7] of char;
...


Стало:



...
Type
...
TProcOwenIO=function (adr,adr_type,is_read:DWORD;command,params:PAnsiCh ar;var param_sz:integer):integer;stdcall;
...
var
...
params:array [0..7] of AnsiChar;
...


И ТРМ-148 прислал мне через АС-4 в ответку то, как его зовут! Ну прямо подарок под конец праздников!

А вообще, сейчас кому-то актуальны примеры программ на Delphi 2010 для работы с ТРМ-200 ТРМ-210 и ТРМ 148 ? Суть - греют емкости с заданными температурами и замеряют температуру и давление внутри них. Если начальство позволит, то выложу исходники сюда.

capzap
11.05.2015, 20:35
Огромное спасибо!!! Как приятно осознавать, что твоя проблема была решена много лет назад!

Вот уже 2 день сижу-маюсь и не понимаю почему старая программа (писал даааавным-давно на Delphi 7), которую сейчас неспешно переписываю на Delphi 10 не хотела видеть прибор и ругалась " ERR_NERR (-104) прибор вернул код сетевой ошибки nErr "

Было до:


Стало:


И ТРМ-148 прислал мне через АС-4 в ответку то, как его зовут! Ну прямо подарок под конец праздников!

А вообще, сейчас кому-то актуальны примеры программ на Delphi 2010 для работы с ТРМ-200 ТРМ-210 и ТРМ 148 ? Суть - греют емкости с заданными температурами и замеряют температуру и давление внутри них. Если начальство позволит, то выложу исходники сюда.

считаете, что подняв тему от 11-ого года, все ринутся посмотреть Ваши исходники :)

minaevn
11.05.2015, 20:40
а фиг знает. Сам бы глянул с удовольствием пример заведомо рабочей программы. Кстати, ту писал вроде на основе чьего-то примера.