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:
[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
_identifier : DWORD;
_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 := 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
Invalid or unsupported item type
Solved! Go to Solution.
Some platforms can have variant types, which cannot be handled by Beckhoff so far and will never be supported. I had this experience with Arburg's moulding machines. The only solution was to write a helper application in C#, communicating with the PLC over Ads.
Maybe in your case you have similar problems with Siemens.
Yes, we did it like you said, we create an application with C#, it works as OPC UA client and communicate with Siemens RFID, and TwinCAT PLC communicates with this application with ADS, but this application is not working well, sometimes it losts communication with RFID, we can't solve this problem, and also Siemens don't give any support for this, finally, we get rid of Siemens RFID and change to other solutions.