OPC DA to UA Gateway

Forum Home Forums Understanding the Software OPC DA to UA Gateway

Tagged: , , ,

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #12676
    raizazel
    Participant

    Hi,

    I’ve just stumbled upon this great software but I’m still a bit lost. I’m trying to connect to a OPC DA server and create a gateway to a new OPC UA server. I’ve seen that this is possible with the latest realease but I’ve got zero clue on where to start.

    Could you please give me some hints on where to start looking?

    Thanks a lot

    #12679
    heavenbird
    Participant

    First add communicator line and device for connect to your opc da server。
    Then active OPC UA server Data source。

    #12684
    Mikhail
    Moderator

    Hi,

    There are 2 independent tasks:
    1. Get data from OPC DA.
    2. Provide data as OPC UA. Rapid SCADA 6 is needed for this.

    To solve the 1st task, use usual configuring sequence, as written above. In case of errors, please provide screenshots of the settings and logs.

    After the 1st task is done, ask about the 2nd,

    #12718
    raizazel
    Participant

    Hi,

    I’ve been able to configure reads from OPC DA using a the OPC DA driver and setting a line in the communicator for that.

    After that I’ve set a Data Source of type OPC UA and I’m able to connect to it using UAExpert.

    Now I’m worried about losing data in the transformation, I’m running a OPC DA Matrikon Simulation server and some of the data posted runs under 100ms and from the tests I’ve run I’m not able to post to OPC UA consistenly under 100ms.

    To check if the simulation server wasn’t the bottleneck I’ve created a simple scripts that uses MQTT to create a triangular signal [-100, 100] that can go up to 1ms and increments 1 by each “tick”. Using MQTT and going through RapidScada results as stable as it should send and recieved the signal without losing points and not much delay. With OPC UA as a publisher it happens the same, anything trying to go sub 100ms starts to get chopped.

    Another thing that I wanted to achieve is to store signals into InfluxDB but it bahaves the same as with OPC UA it cannot go under 100ms, I’ve setted it up to be written on change so in principle it shouldn’t be missing data but it does. Am I missing some configuration or is this a hard limit of RapidScada? I’ve tested InfluxDB on its own and is more than capable of running at under 10ms without any issue.

    I know that OPC DA is not supposed to go under 100ms but I’m looking at RapidScada not only for OPCDA but also for some future projects that could involve rapid changing signals

    Sorry for the long topic and thanks a lot for the support.

    #12721
    Mikhail
    Moderator

    Hi,

    You have done interesting tests.

    1. OPC UA. If you sent data to the OPC UA Server data source (implemented y DrvDsOpcUaServer.dll) fast and for a long time, are there some RAM issues or hangs?
    Currently, I have no info how such situation should be processed by the used libraries https://github.com/OPCFoundation/UA-.NETStandard
    Would you ask the OPC developers on GitHub? If you ask please share a link to the issue.

    2. Influx DB. There is no limits. If data points are sent too fast, the internal queue of the client should eat a lot of RAM. Could you post a screenshot of the archive settings and data samples?
    Check the issue I created a few months ago https://github.com/influxdata/influxdb-client-csharp/issues/478

    #12722
    Mikhail
    Moderator

    Talking about Influx DB client, we can implement our own data queue in Rapid SCADA to gain more control. But that would be stupid, since the Influx DB client claims to provide a built-in queue as a feature.

    #12723
    Mikhail
    Moderator

    If your project requires work with a large amount of incoming data, we can take part in it to improve existing Rapid SCADA modules.
    Alternatively, if you are a software developer, you can join the development and submit a solution.

    Just for info: PostgreSQL archives (ModArcPostgreSql.dll) appends all data points in the queue. And it’s easy to monitor the queue size and data insert rate.

    #12724
    Mikhail
    Moderator

    I guess, OPC server should have an option that allows to restrict publishing speed. Or may be, it’s a client subscription includes such parameter. For example, Rapid SCADA OPC UA client subscription have the Publishing interval option.

    #13034
    sperate
    Participant

    Hi,
    I’m interested in implementing such a gateway but I can’t figure how to make OPC UA Server work :

    – what is the port ?
    – do I need to edit the basic windows configuration file (DrvDsOpcUaServer.xml) ?
    – Both SCADA Server and OPC UA Server are activated in Data Sources
    Communicator
    – Communicator log view :

    ------------
    Started        : 24/07/2023 14:22:07
    Execution time : 00:15:09
    Status         : Normal
    Version        : 6.1.1.0
    
    Data Sources (2)
    ----------------
    [ScadaServer] Server Data Source : Ready
    [OpcUaServer] OPC UA Server      : Ready
    
    Server Data Source
    ------------------
    Connection            : Logged In
    Current data queue    : 0 of 1000, skipped 0
    Historical data queue : 0 of 1000, skipped 0
    Event queue           : 0 of 1000, skipped 0
    
    Communication Lines (1)
    -----------------------
    [1] OPC DA Line : Normal

    Just don’t know how to connect to the OPC server with UA Expert or equivalent (IP / PORT / URL / etc..)
    I’ve seen that some of you managed to connect.
    Thanks for your help !

    #13047
    Mikhail
    Moderator

    Hi,
    Answer is here. Additional configuration is not necessary.

    #13754
    sperate
    Participant

    Hi,
    Is it possible to have more than one OPC UA Server running in data sources ?
    It seems that it is not :

    2023-11-30 16:51:21 [HP-DH3][HP-DH3$][ACT] Start communication lines
    2023-11-30 16:51:22 [HP-DH3][HP-DH3$][ERR] Error calling the Start method of the opc2 data source:
    System.AggregateException: One or more errors occurred. (Failed to establish tcp listener sockets for Ipv4 and IPv6.)
     ---> Opc.Ua.ServiceResultException: Failed to establish tcp listener sockets for Ipv4 and IPv6.
       at Opc.Ua.Bindings.TcpTransportListener.Start()
    #13762
    Mikhail
    Moderator

    Hi,
    To do that, you need to specify different configuration files for different OPC servers to use different TCP ports.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.