I wanted to read and write data in codesys with the help of codesys opc ua and ua expert client. I wanted to generate certificate for the opc ua server and i went through the instructions present in https://help.codesys.com/api-content/2/codesys/3.5.14.0/en/_cds_runtime_opc_ua_server/.
I am using codesys sp16 and after installing security agent, i am unable to find devices tab in the security screen tab. I am able to see only 2 options in the security screen tab.
How can i generate the certificate and get connected to the ua expert client?Security screen tab
What is the best way to implement Global Discovery Server and Certificate Management? Does open62541 support these services or is there some better library that could be used (not necessarily open source)?
There is a sample code for a GDS from the OPC Foundation here. But it is only community maintained and managing devices via Pull and Push can be quite cumbersome with the GDS Client application. But it was used for a while in IOP Workshops and for V1.04 operation with RSA certs should still work according to standards.
There are some commercial GDS offerings in the pipeline by different vendors, given security is in the play I recommend use rather commercial ones.
For implementing and testing the GDS Pull/Push services for a UA server the sample server should be sufficient.
I would like to create an application for industrial automation to do the following functionalities:
Read values from PLC, SCADA, and DCA
Process those values and notify failures to Supervisor and Technician
I am new to the Industrial Automation industry and IoT, and I knew that we have OPC UA in place to rescue.
I came across many websites and youtube videos to understand OPC UA and its predecessors (OPC DA, OPC A&E, OPC HDA). And I have installed matrikon OPC server and explorer (client) to explore more.
Let's say I want to read signals from SIMATIC S7-1200 PLC, from my understanding, the OPC UA server is shipped with PLC to convert OPC UA information to Profinet information.
So, my questions are:
Where should I need to write logic to read values? OPC Server or Client?
I am going to use NODE-OPC-UA. Is there any open-source OPC client GUI out there?
How to write our own OPC Server for PLC which doesn't have OPC UA complaint?
If anyone shares some resources that would be grateful!
Where should I need to write logic to read values? OPC Server or Client?
In OPC UA a Server is generally speaking a device or a component which provides data to OPC UA Clients. In your case the OPC UA Server is the SIMATIC S7. An OPC UA Client is then used to read variable values from this server.
For debugging purposes and inspection you can use for example the free (commercial) tool UaExpert. You can only use it to see the current data of the server, you can not use it to program your logic around it.
Finally, to answer your question: You need to use an OPC UA Client SDK to read values from an OPC UA Server and implement your own logic around it.
There are commercial OPC UA stacks available, and open source stacks. A list of open source stacks can be found here: Open Source OPC UA Stacks.
I know that the open62541 stack is able to connect to the Simatic S7 and it can read values from variable nodes.
I am going to use NODE-OPC-UA. Is there any open-source OPC client GUI out there?
OPC client GUI is quite a generic term. What exactly is your goal for the GUI? If you just need it for debugging and inspection, use UaExpert. Since OPC UA is just a Framework and Protocol definition, you need to program the logic behind the values yourself. Currently there's not really a generic OPC UA GUI with which you can easily define your own logic as an OPC UA client. Use any OPC UA client SDK to achieve this.
How to write our own OPC Server for PLC which doesn't have OPC UA
complaint?
This question can not be answered in a generic way. It strongly depends which PLC hardware you are using. E.g., is it possible to directly put your own program onto the PLC? Is it completely closed and you need to use a fieldbus interface to communicate with the PLC?
A generic solution for this would be that you implement an OPC UA Server on an external device, e.g., a PC. This PC is directly connected with the PLC. Inside your implementation you then need to implement the communication with the PLC and then map the received PLC values to the OPC UA Server variables. So basically your OPC UA Server acts as a gateway.
Forget about previous versions of OPC (OPC DA, OPC A&E, OPC HDA) they are outdated versions and replaced by OPC UA.
In addition, the outdated versions are based on Windows DCOM and therefore could only be installed on a Windows computer.
In contrast, OPC UA is platform independent and can even be installed in the PLC itself, like some PLC manufacturers that already offer an integrated OPC UA server.
If you use a PLC with the integrated server, you only need an OPC UA client to read and write PLC data.
If instead the PLC does not have an OPC UA server, then an OPC UA server should be installed on a computer that on one hand reads or writes from the PLC using a protocol that the PLC understands (Profinet, Ethernet/IP, Modbus, Fins, etc. ...) and on the other hand OPC UA clients can read and write
As far I remember, S7-1200 does not have an integrated OPC UA server but S7-1500 does.
How to write our own OPC Server for PLC which doesn't have OPC UA
complaint?
Yo can't do that. The PLCs with integrated OPC UA server have it incorporated in their firmware and only the manufacturer can program it.
If you are not limited on either side, I would like to suggest you the Siemens
S7-300/400/1200/1500 controller series.
You can integrate them into the system and monitor their work through the TIA portal.
Then there would be no need to create an additional application.
I'm trying to develop opc ua client. I have node set files (euromap 77 standards) and i want to have test opc server in my computer so i can develop and test my client application.
I have found many opc server demo application but they all simulated with couple of values. I want to import different nodeset and work on that such as this
http://www.euromap.org/files/Opc_Ua.EUROMAP77.NodeSet2.xml
is there any demo or test opc ua server allows me to import these files ? I'm searching for months but no luck.
I am developing an OPC client and need a free OPC server that can both simulate values and set values static. Is there such a server freely available?
I use Matrikon OPC explorer
you can download it for free, just need to register, it can simulate server and client on the same machine and also access servers remotely, i tested it on several OS along with several OPC servers.
here
I am developing OPC client->server->device Emulator (C++)
Check out Prosys OPC Simulation Server. It does exactly what you need.
http://prosysopc.com/opc-downloads.php
http://www.opcconnect.com/freesrv.php
i use Kepware Server ,it restart every 2H, but for testing, is not a problem. Also, you can connect a PLC. In Matrikon you also can do it, but with more limitations..
If you check the www.opcfoundation.org website, you can find tools for creating OPC clients and servers. I don't remember specifically which ones, but some of these come with 'simulation servers' so that you can test your code.