PDA

Просмотр полной версии : Чайнику подскажите 151 + делфи + ОИэвен



valeriy vm
14.08.2009, 09:24
Пытаюсь изучать работу через owen_io.dll
Использую owen_io.dll , пишу на делфи 2007 прибор ТРМ151-03.
пример который выложен на сайте рассмотрел)))
Вопрос в следующем:
OpenPort(COM_4,spd_19200,prty_NONE,databits_8,stop bit_1,0) порт открыт
ShowMessage(intToStr(ReadSInt(16,8,'dEv',val,0))); возвращает -100
если порт закрыт то:
ShowMessage(intToStr(ReadSInt(16,8,'dEv',val,0))); возвращает -2

подскажите что не так?
хочу получить адрес прибора в переменную val но туда пишет каждый раз разные значения или надо преобразование типов делать в val?
заранее прошу не ругать за делитанские вопросы

Малышев Олег
14.08.2009, 11:48
1) Надо не 'dEv', а 'dEv '
2) 'dev ' - возвращает строку, а не число со знаком - так что читайте нужный тег

valeriy vm
14.08.2009, 13:54
изменил 'dEv', на 'dEv ' спс не заметил
но все равно -100 возвращает

Малышев Олег
14.08.2009, 14:37
Еще раз
каждый параметр имеет ТИП, и каждая функция читает параметр соответствующего ТИПА. Т.е. прочитать строковый тег как знаковое число не получится!!!!!!

valeriy vm
21.08.2009, 13:14
Добрый день
помогите как правильно считать параметр 'dEv '?
я делаю следующим образом но что-то не получается:
var
val:string;
comand:pchar;
params:array [0..7] of char;
p_sz:integer;
i:integer;
begin
Memo1.Clear;
InitLib;
val:='';
comand := 'dEv ';
try
ShowMessage(intToStr(OwenIO(16,0,1,comand,params,p _sz)));
for I := 0 to 7 do
begin
memo1.Lines.Add(Char(params[i]));
end;
label1.Caption:=val;
except on E: Exception do
Begin
label1.Caption:='Неудачно прочитал данные';
End;
end;

возвращает 0
считываю массив в нем одно и тоже не зависимо от указания параметра.
заранее спасибо

valeriy vm
27.08.2009, 08:47
добрый день
подскажите кому не лень
возвращает -104 в этом случае:
ReadStoredDotS(16,0,'rEAd',val,0)
то что сетевая ошибка прочитал но в чем проблема?

valeriy vm
27.08.2009, 09:45
пробую с ShowMessage(intToStr(ReadIEEE32(16,0,'rEAd',val,tm ,0)));
тоже самое -104
через конфигуратор все нормально идет есть значения на измерителе 1

valeriy vm
27.08.2009, 11:58
все спасибо всем разобрался)))

valeriy vm
10.09.2009, 08:27
читаю вход1: ReadIEEE32(addr,0,'rEAd',val,tm,-1); все ОК
как прочитать вход2?

valeriy vm
10.09.2009, 08:59
все спс addr+1 прочел в другом файле)))

valeriy vm
14.09.2009, 16:59
подскажите хочу запустить команду WriteWord(addr,0,'r.St ',val,0);
что надо прописать в val?
тип val:integer.
Надо запустить прибор на регулирование.
Заранее спасибо за ответ

valeriy vm
09.10.2009, 22:36
подскажите как поменять тип шага в программе?
это про обычный шаг , шаг с переходом и конец программы, для трм151-03.
в документации несказанно про этот параметр как изменить с помощью виндлл.
заранее спасибо за ответ

valeriy vm
10.10.2009, 22:35
параметр 'st.ty' как поменять в трм151 используя виндлл в делфи?

valeriy vm
10.10.2009, 23:11
WriteWord(addr,0,'st.ty',0,i) помогло )))
что-то мало описания по трм151, приходиться догадываться

valeriy vm
23.11.2009, 11:03
проблема при задании параметра Lf.lu.
иногда при задании этого параметра выдает -104. чаще 0. но все же интересно почему, разрядность и тип данных один и тот же.

valeriy vm
23.11.2009, 11:05
прибор трм151

Дмитрий Егоренков
23.11.2009, 14:52
обновите библиотеку с нашего сайта.

http://www.owen.ru/device/64305906