05-30-2023 11:07 AM
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 |
Solved! Go to Solution.
05-30-2023 11:34 AM
Maybe this Siemens documentation helps:
https://support.industry.siemens.com/cs/attachments/109808136/AH_OPCUA-Ident_76_en-US.pdf
05-30-2023 02:07 PM
You are trying to execute the OPC UA method call natively with the PLCopen function blocks - this is indeed not so easy and you have to do some calculations to set the correct data addresses.
Have you looked at the NexeedOpcUaClient addon ?
Maybe it will make things easier for you.
05-31-2023 03:16 AM
thanks, but I already have this document, and the ReadTag method declaration comes from it, but my question is how to use method call with OPC UA PLCOpen API in beckhoff.
05-31-2023 03:17 AM
this is a good news for me, but I can't find NexeedOpcUaClient in BCI object repository, can you sent the link for it?