for I := 0 to Length(OPCServerItemArray)-1 do begin if (AnsiMatchStr(Name, OPCServerItemArray[I].ItemName)) then begin if (OPCServerItemArray[I].Source='SPS') then begin AttributeSPSData := OPCUAClientSPS.Read(Url_String,'nsu='+ nsu + ';s=' + S0); ReadVar_vonSPS := AttributeSPSData.Value; for I := 0 to NoV_DB100-1 do begin OPCServerItemArray[I].Value:= ReadVar_vonSPS[I]; end; end else begin Name := OPCServerItemArray[I].Source + '.' + Name; ReadArguments[J] := CoUAReadArguments.Create; ReadArguments[J].EndpointDescriptor.UrlString := Url_String; ReadArguments[J].NodeDescriptor.NodeId.ExpandedText := 'nsu='+ nsu + ';s=Local Items.' + Name; Arguments := VarArrayCreate([0, J], varVariant); Arguments[J] := ReadArguments[J]; TVarData(Results).VType := varArray or varVariant; J:=J+1; TVarData(Results).VArray := PVarArray(OPCUAClientRead.ReadMultipleValues( PSafeArray(TVarData(Arguments).VArray))); end; end; end;