Best practice approach? Use OPC Client objects compared to PCS

Hi Aveva Team and community,

Is there a general recommendation if it's better to use opc clients objects in the app server or directly use the PCS framework (scope) to access items?
In general I am interested in performance or debugging possibilities or stability.

What are the differences between SuiteLink v2/v3 and iData v2/v3?

Thanks
Peter

  • Hi,

    PCS is our new approach to access data through the Communication Drivers and it is still evolving. Current limitations to be aware of is that IData currently is limited to approx. 50,000 data changes per second and we do not (yet) provide a built-in redundancy mechanism for it.

    By comparison, using the OPC client to access the driver supports a higher throughput, and using the SuteLink client is even faster than that. The DI objects include the Redundant DI Object to provide redundancy and automatic failover between DI objects.

    We are continuing to expand on PCS capabilities, to have the Communicaiton Drivers more tightly integrated to each product, for a simplified architecture, and to eliminate some of the extra configuration work currently required for DI objects. We're also expanding on communication patterns, such as the recently introduced IMethods interface which faciliates OPC UA Methods client and will soon also facilitate method calls to RTUs through AVEVA Telemetry Server.

  • Thank you Rickard,

    How many data changes the OPC client is capable of then?

    Thanks
    Peter

  • I don't have an exact metric for that. We have seen around 150,000 changes per second with SuiteLink and my impression is that OPC is somewhere between PCS and SuiteLink.

    You also asked about differences between versions. The main difference for SuiteLink is that v3 implements TLS encryption. I'm not sure about IData versions but it too is encrypted these days and there may have been some improvements to the transport channel.

  • Hej Richard,


    Related question
    If I have application server set up with redundancy and have OPC/UA set up in OI Gateway on each server, does PCS connection follow between machines when failover occur?

    Regards
    Ulrik

  • No, one of the limitations is that we have not yet completed redundancy for PCS communication channels. Each OI Server instance must have a separate (and unique) "scope". I guess it is possible to implement your own switch between instances by updating the scope part of each IO reference upon failover, but my recommendation is to stick with SuiteLink (or OPC) for now.

    AVEVA Telemetry Server achieves a redundant PCS provider by using the discovery mechanism, i.e. the second server gets discovered if the primary disappears, but for the OI Servers we intend to build redundancy directly into the PCS protocol stack. 

  • Thank you for the update Richard,

    How does the roadmap for this implementation look?
    Is it planned? or something in the future pile?

    Best Regards

    /Ulrik

  • It is under consideration, with relatively high priority, so I'd tag it as "near future" for now. I cannot commit to a release date or version yet.

  • One of advantages of using OI PCS Plugin is we can directly use an I/O point for an attribute without creating any I/O object instance in a galaxy. However, currently, App Server supports only 10,000 IData I/O points per engine, which will certainly need improving in a future release. There is no such limit for SuiteLink.