Free OPC server for simulated values - simulation

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.

Related

Codesys opc ua connection

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

OPC UA Global Discovery Server (GDS)

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.

Need clarity on opc ua server and opc ua client

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.

How can I get the runtime data from WinCC7.2 to another computer in the same LAN?

I have installed WinCC in a host computer, and I want to get the data from the runtime databases to another computer which is as a web server so I can build a JSP web to monitor and change the parameter of devices below the Wincc. How can I achieve that, please give some advice, thanks!
I use the Industrial Data Bridge and solve the problem.

OPC server built in to dymosim.exe cannot be found by OPC client on localhost

According to the Dymola user guide:
It is possible to start Dymosim from an OPC client. To enable this,
the environment variable PATH needs to be complemented with the path
to the Dymola installation directories bin and bin\lib
The Dymosim OPC server is registered automatically each time a new
model translation is performed in Dymola.
Although the Dymosim OPC servercan be started from Dymola or called
directly by the user, the normal procedure is to start it from an
OPC client, in which Dymosim will show up as Dymosim.OPCServer.1
I have compiled my model in Dymola with the option of an imbedded OPC Server. If I run the resulting dymosim.exe file from within the Dymola Modelling Environment, or even manually by clicking on the dymosim.exe file, then the OPC server is initialized and simulation occurs in realtime. Now the problem:
I wish to now start the imbedded OPC Server from an OPC UA client. With reference to the three points above:
Completed.
No evidence that the OPC server is ever registered (in the windows
registry, I assume). I have monitored all registry processes on my
machine using the Sysinternals Suite at time of model
translation/compilation but see no evidence of this step occurring.
Because step 2 (registering the Dymosim OPC Server) does not seem to
be occuring, I am not surprised that the imbedded server
Dymosim.OPCServer.1 does not show up in any of the UA Clients I have
tested.
Note: I have installed OPC test servers which register at installation and show up as expected in the OPC client. So the problem does not lie with the OPC Client.
I am fairly sure the problem lies with Dymola not registering the imbedded OPC Server in the windows registry.
I am running a node-locked installation of Dymola and am performing all the OPC server-client interactions on the localhost.
Thanks for any help, much appreciated.
Clifford
In Windows, start Dymola.exe with Administrator rights. This allows the imbedded OPC server (in dymosim.exe) to be registered in the Windows registry at model translation.