GUI to create OPC UA models and export them as XML
WARNING: This tool is not maintained anymore. The code is fine it could do the job, but I found out it is much safer and easier to maintain to use code instead of created xml using a GUI. With the latest version of opcua-asyncua you can easily write custom enums/structs using code like:
snode1, _ = await new_struct(server, idx, "MyStruct", [ new_struct_field("MyBool", ua.VariantType.Boolean), new_struct_field("MyUInt32List", ua.VariantType.UInt32, array=True), ]) snode2, _ = await new_struct(server, idx, "MyOptionalStruct", [ new_struct_field("MyBool", ua.VariantType.Boolean), new_struct_field("MyUInt32List", ua.VariantType.UInt32, array=True), new_struct_field("MyInt64", ua.VariantType.Int64, optional=True), ]) enode = await new_enum(server, idx, "MyEnum", [ "titi", "toto", "tutu", ])
Free OPC UA Modeler is a tool for designing OPC UA address spaces. It uses OPC UA specified XML format which allows the produced XML to be imported into any OPC UA SDK.
Basic features of the modeler work, but this is a work in progress.
Bug reports and feature requests are welcome.
Ïn the background the modeler uses an OPC UA server which can be connected to. The server is either a python-opcua server (default) or the C based open65421 server. To use the open62541 backend, open65241.so must be available as well as the its python wrapper.
Current state and plans can be found here: https://github.com/FreeOpcUa/opcua-modeler/issues/3
The process of creatig custom structures is a bit different than in order modelers. Ideas and code to improve process is welcome
The new nodes under your custom Structure will not be saved in model but a new node called TypeDictionnay will be created and its value describe the custom nodes (As specified in UA specification). When reopening your model, the design nodes will be recreated on the fly and you can add/modify your custom structure
Note: PyQT 5 is required.
Note: Python 3.6+ is required.
pip3 install opcua-modeler
pip install opcua-modeler
To update to the latest release run:
pip install opcua-modeler --upgrade