Development Models for OPC Clients
QuickOPC offers several development models for OPC client development. Each development model represents certain approach to solving a problem. Some development models involve imperative programming (coding), while others do not require programming in the traditional sense. The various OPC client development models are described further below.
Multiple different development models can be freely mixed in the same project.
Imperative coding. In this OPC client development model, you write code that calls methods on QuickOPC objects. You prepare and pass in the arguments necessary, and get back the results that you can process further.
This is the traditional model, “natural” to many software developers. Its advantage is that you have high level of control over what is happening, and you can structure the code the way you like it. The disadvantage is that you may end up writing more code than it’s necessary, compared to other models.
Live Binding: Codeless development - bind properties of visual or non-visual components to OPC data in Visual Studio.
Even users with minimal programming experience can use this model. But this is not to say it is limited in any way; it has provisions for fairly complex scenarios, and when needed, it can be combined with other models.
Live Mapping: Write logical objects first, then give them OPC functionality by annotating them with attributes.
In a way, this model is similar to what object-relational mapping (ORM) achieves for databases.
Reactive Programming: Use Microsoft Rx (reactive extensions) to compose event-based programs with OPC client data streams, and LINQ-style operators.
The development models are accompanied with rich developer productivity features.
In QuickOPC-COM, only the imperative programming model is available.
Useful links: Documentation / Knowledge Base