OPC-UA Method for C++ PLM Component/Realtime Program
Hi,
I am wondering if there is an example for how to implement handling of an OPC-UA method call in a C++ PLM component (or associated realtime program) ? I have looked at the ACF example (https://github.com/PLCnext/CppExamples/blob/master/Examples/OpcPlcManager/README.MD) and also the function block example (https://github.com/PLCnext/OpcUaMethods). I.e if I follow the ACF example (except for a PLM component) and deploy the plm component (with one or more program instances) to the plcnext, I encounter the error in the logs that the opc-ua server does not know where the method is (i.e 16.08.22 02:05:35.210 Arp.Services.OpcUAServer.Internal.InformationModel.Xml.NodeManager ERROR - No extension data found). I understand that either OPC-UA methods are not supported for PLM components, the ACF process is not applicable in the same way to the PLM process or I am missing a config file somewhere etc...
Cheers,
Lindsay
Comments
It should be possible to implement OPC UA methods in any code whose variables can be accessed through the OPC UA server, so that should also work for PLM components and C++ Programs, since they can both define Port variables marked with the
Opc
attribute.The first thing to check is that you can see the required Port variables on the PLM Component (for example) in an OPC UA Client like UaExpert.
Then, in UaModeler, make sure the FunctionBlock string in the user-defined Extensions window is correct, and refers to the PLM Component instance in the PLCnext Engineer project.