I'm working for a Siemens RFID with model RF186C, I use OPC UA to connect with it, PLC works as OPC UA client, now the connection is established, I can read variables from the reader, but If have to use method call to read tag and write tag, If I want to use method call for read tag, I need assign some input and output parameters(arguments), the ReadTag method declared in reader is as following:
ReadTag (
[in] ScanData Identifier
[in] CodeTypeDataType CodeType
[in] UInt16 Region
[in] UInt32 Offset
[in] UInt32 Length
[in] ByteString Password
[out] ByteString ResultData
[out] AutoIdOperationStatusEnumeration Status);
the problem is that there are some structures in the parametes which is not present in TwinCAT, for example I did the first parameter Identifier
VAR
_identifier : DWORD;
END_VAR
_paramCounterIn := _paramCounterIn + 1;
_paramListIn[_paramCounterIn].IsString := FALSE;
_paramListIn[_paramCounterIn].pString := ADR(_identifier);
_paramListIn[_paramCounterIn].ParamAdr := ADR(_identifier);
_paramListIn[_paramCounterIn].ParamSize := SIZEOF(_identifier);
_inputArgInfos[_paramCounterIn].DataType := eUAType_UInt32;
_inputArgInfos[_paramCounterIn].ValueRank := -1;
_inputArgInfos[_paramCounterIn].ArrayDimensions[1] := 0;
but it failed, sometimes it throws following error, does anyone have experience for method call with Opc UA, please give me some instruction, thanks!
0x E4DD 0105
UAC_E_ITEMTYPE
Invalid or unsupported item type