PDA

Просмотр полной версии : OPC server



balepa1
02.06.2009, 12:37
1)
При чтении параметров прибора OPCQuality = OPC_QUALITY_WAITING_FOR_INITIAL_DATA

Однако при чтении измеренных значений(ChannelDataX/rEAd) quality=OPC_GOOD

Интересует что значит OPC_QUALITY_WAITING_FOR_INITIAL_DATA и почему именно при чтении параметров прибора.

В ppErrors возвращается код 1 - ???

2)
Запись значений не проходит. quality устанавливается в Local Override при этом значение параметра изменяется на требуемое, но потом возвращается старое значение.

сервер owen.rs485 версия 1.2.0.37
приборы ТРМ138 прошивка P037


Из-за чего это может быть ? Заранее, спасибо

balepa1
03.06.2009, 12:13
1)
При чтении параметров прибора OPCQuality = OPC_QUALITY_WAITING_FOR_INITIAL_DATA

Однако при чтении измеренных значений(ChannelDataX/rEAd) quality=OPC_GOOD

Интересует что значит OPC_QUALITY_WAITING_FOR_INITIAL_DATA и почему именно при чтении параметров прибора.

В ppErrors возвращается код 1 - ???

2)
Запись значений не проходит. quality устанавливается в Local Override при этом значение параметра изменяется на требуемое, но потом возвращается старое значение.

сервер owen.rs485 версия 1.2.0.37
приборы ТРМ138 прошивка P037


Из-за чего это может быть ? Заранее, спасибо

С первым разобрался, это я там накосячил, а вот с записью значений пока никак.

balepa1
03.06.2009, 13:49
С первым разобрался, это я там накосячил, а вот с записью значений пока никак.

Запись не проходит только в General/Purpose
В SensorParamsX, пишет. Реле управляется, а в General/Purpose никак.

Дмитрий Егоренков
04.06.2009, 13:21
для начала попробуйте сделать тоже самое через matrikon opc explorer (http://www.matrikonopc.com/products/opc-desktop-tools/opc-explorer.aspx) -- он бесплатный.

balepa1
05.06.2009, 08:55
для начала попробуйте сделать тоже самое через matrikon opc explorer (http://www.matrikonopc.com/products/opc-desktop-tools/opc-explorer.aspx) -- он бесплатный.

Уже разобрался. Не пишутся только два параметра ind.t, ind.r

balepa1
05.06.2009, 09:01
Кто-нибудь делал групповую запись ?
Какой массив туда передавать?

Делаю так:
var
arr: OleVariant;
begin
arr:= VarArrayCreate([0,8],varVariant);
SyncIOIf.Write(9, ItemServerHandles, POleVariantArray(@arr), Errors);
end;

Дмитрий Егоренков
17.06.2009, 16:58
Уже разобрался. Не пишутся только два параметра ind.t, ind.r

это проблема сервера. будет исправлена в следующей версии.

balepa1
24.06.2009, 12:59
это проблема сервера. будет исправлена в следующей версии.

Добавьте еще туда если возможно добавление/удаление приборов из списка опрашиваемых