Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
OPC UA information modeling.
July 9, 2019
8:57, EET
Avatar
aj
New Member
Members
Forum Posts: 2
Member Since:
July 9, 2019
sp_UserOfflineSmall Offline

hi,
The Prosys has OPC UA simulation server, OPC UA modbus server. I tried these with my modbus RTU compliant device. I am able to connect through Prosys OPC client.
Now I am moving towards creating OPC UA model for this modbus RTU compliant device. I am using UA modeler tool to create OPC UA model. The tool would generate xml and also C++ source.
The thing that I dont understand is
1. what do I do with this C++ source
2. Is it possible to import this xml into Prosys modbus server and have whatever variables, methods and events of the model working without doing anything else?
If not, then is it usual that if you develop an information model then typically you need OPC UA server source code and integrate generated C++ (from UA modeler) into it
to get variables, methods working?

Any help or pointers to something that explains this stuff is appreciated.

Thanks
aj

July 9, 2019
10:05, EET
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 422
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

Hi,

1. UaModeler can generate code to be used with the SDKs, see https://www.prosysopc.com/products/opc-ua-modeler/ and/or output models in the NodeSet2 XML format.

2. At the moment you will need an SDK (like https://www.prosysopc.com/products/opc-ua-java-sdk/). At least currently we do not have a ready application level product that would enable importing the NodeSet2 files.

The Modbus Server installation contains the model (on windows at C:\Program Files (x86)\ProsysOPC\ModbusServer\app\model).

But in general if I may ask, what are you trying to do or achieve?

July 10, 2019
14:46, EET
Avatar
aj
New Member
Members
Forum Posts: 2
Member Since:
July 9, 2019
sp_UserOfflineSmall Offline

hi
Thanks for your prompt reply.
We are evaluating various OPC UA server options to send data to Azure IoT Hub.
As we are new to this area, we werent aware what capabilities a typical ready to use OPC UA server might have.
It now seems that typical OPC UA server app has default entries in its Address Space. By connecting a standard modbus RTU device, we were able to see values from device in server’s address space. And also in client’s.
We now want to create our model for this device and import that in to server, but it seems it is not part of a typical OPC UA server app. Am I correct? And everyone who wants his own models, will have to modify the server source code.

Is there not standard information models already available for industrial devices like compressors, frequency converters and other machines??

Thanks for your help.
aj

July 10, 2019
16:18, EET
Avatar
Bjarne Boström
Moderator
Moderators
Forum Posts: 422
Member Since:
April 3, 2012
sp_UserOfflineSmall Offline

There is more than one way to interpret that. Do you just need to push the data from an UA server (that you would already have) to IoT Hub? Or do you need an actual UA server product to be able to do that by itself? Or something else? From where your data comes from (DB, PLC etc.)?

There is a lot of models already, see e.g. https://opcfoundation.org/developer-tools/specifications-opc-ua-information-models, most of them are there (but e.g. these are not http://www.euromap.org/en/i40/…..nterfaces/)

OPC UA is “self-describing”, i.e. type information is available from the server’s address space (see the Types folder). Therefore most of the time the clients do not exactly need to be aware of the model as all it provides is obtainable from the address space. But for example in our Java SDK you could use the codegen that comes with the SDK to create model specific classes making it easier to develop a client application that connects to servers using that model. Or you could skip that and operate on a more generic “UaNode” instances. It depends what you want from the application.

But generally for making UA server applications you will need an SDK, which you would then use as part of making your application (maybe including using the information models). It is not exactly “modifying source code of the server”, more like writing the source code of your application using SDK as software libraries (e.g. our Java SDK is just a .jar file like any other java library).

Alternatively if you can find a ready product that can import NodeSets, then you can skip the development part. But at least currently we do not have such ready products (but it is quite easy to do that with our SDKs, however..). A future Simulation Server version probably will eventually be able to import and simulate NodeSets (at least that is one of the goals we have), however outside of pure simulation the data must come from somewhere and must have some kind of logic mapped to that (as typically it would not be useable as-is for the model). That is non-trivial and generally an area under research. So I would say most of the time you’ll probably need to code some application specific logic, which in most cases then again would need the SDK.

If you have just a server, you should be able to use https://docs.microsoft.com/en-us/azure/iot-accelerators/overview-opc-publisher (and https://sandervandevelde.wordpress.com/2018/11/06/getting-started-with-opc-ua-on-azure-iot-edge/, found by googling “azure iot hub opc ua”, seems they use our simulation server in there).

Note that UA 1.04 added a concept “PubSub” (which is now part 14 of the specification). That doesn’t yet have a lot of support, but it should allow in the future for UA Servers to act as publishers to push data via AMQP/MQTT etc. to the cloud if needed. However e.g. our Java SDK does not yet support it (hopefully it does before the end of this year).

P.S.
I’m not aware that even this would support importing NodeSets, but it can do all kinds of things, https://www.kepware.com/en-us/products/kepserverex/

October 28, 2019
10:41, EET
Avatar
roopesh@kalkitech.com
New Member
Members
Forum Posts: 1
Member Since:
February 28, 2018
sp_UserOfflineSmall Offline

aj said
hi
Thanks for your prompt reply.
We are evaluating various OPC UA server options to send data to Azure IoT Hub.
As we are new to this area, we werent aware what capabilities a typical ready to use OPC UA server might have.
It now seems that typical OPC UA server app has default entries in its Address Space. By connecting a standard modbus RTU device, we were able to see values from device in server’s address space. And also in client’s.
We now want to create our model for this device and import that in to server, but it seems it is not part of a typical OPC UA server app. Am I correct? And everyone who wants his own models, will have to modify the server source code.

Is there not standard information models already available for industrial devices like compressors, frequency converters and other machines??

Thanks for your help.
aj  

OPC UA is a flexible model. Unlike other modeling standard like CIM or IEC 61850 model here you have the flexibility to create your own model as per the Information model specification. And this XML schema based should work in any OPC UA Server that allows information model in xml format.
In your case the the field data is from Modbus RTU where there is no particular model followed but just register address mapping, which is more of a flat structure. It may not be wise to keep flat model, but you can define a hierarchy model of your own that can represent the electrical or administrative hierarchy of the field/station. This is absolutely normal not to have a standard model file to represent a field device/compressors. Also Azure IoT will not be looking for any particular model there, but the user has to configure the OPC UA Client looking at the Model/Address space.
In a gateway implementation which we did, we kept the model universal; anyone who has the knowledge on the specification can define a model either manually or by using some modeler tool. We also kept a separate xml file that stores the mapping between OPC UA and Modbus registers. This helped us in modular design where we can edit the modbus settings separately also replace modbus with IEC61850/DLMS or any other protocol.
Please note that currently PubSub is not available OPC UA Server which is in the Prosys roadmap. Hence publish-subscribe mechanism cant be used. There are OPC UA Client module with X.509 authentication provided with Azure IoT that can be used to do the connection.
Thank you,
Roopesh

Forum Timezone: Europe/Helsinki

Most Users Ever Online: 119

Currently Online:
17 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

hbrackel: 91

pramanj: 86

ibrahim: 68

kapsl: 57

gjevremovic: 49

TimK: 41

Fransua33: 39

fred: 36

Rainer Versteeg: 32

peterrob45: 25

Member Stats:

Guest Posters: 0

Members: 897

Moderators: 12

Admins: 1

Forum Stats:

Groups: 3

Forums: 14

Topics: 898

Posts: 3787

Newest Members:

thojermaine, Lukas, lbtsheldon, dpto.informatica, nolazky8119, peter.jakubik, amaralesbeltateresa@yahoo.com, amaralesbeltateresa@gmail.com, esbeltateresaamaral@yahoo.com.br, doanphan111

Moderators: Jouni Aro: 833, Otso Palonen: 32, Tuomas Hiltunen: 5, janimakela: 0, Pyry: 1, Terho: 0, Petri: 0, Bjarne Boström: 422, Heikki Tahvanainen: 402, Jukka Asikainen: 1, Teppo Uimonen: 16, Markus Johansson: 1

Administrators: admin: 0