OPC stands for OLE for process control, which is the OLE used for process control. It is an industrial standard interface for field control systems, it is the interface standard for hardware and software used in the field of industrial control and production automation. Based on Microsoft's Ole (current Active X), COM (Component Object Model), and DCOM (Distributed Component Object Model) technologies, OPC includes a set of standard sets of interfaces, attributes, and methods used in automated applications for process control and manufacturing automation systems. It provides standardized interconnection among independent units in industrial automation systems, and conforms to the development trend of the automation system towards openness, interoperability, networking and standardization.
OPC specification
OPC specificationIncludingData Access Server Interface Specification, historical data access server interface specification, event and alarm server interface specification, batch processing server interface specification, opcda server interface specification and xml da Server Interface Specification. The mature and released OPC specification mainly includes data access specification, alarm and event processing specification, and historical data access specification.
OPC design purpose
1. In the field of control, the system is usually composed of scattered subsystems, and each subsystem often uses equipment and solutions from different manufacturers. You need to integrate these subsystems and construct a unified real-time monitoring system.
2. Such a real-time monitoring system needs to solve the problem of data sharing among scattered subsystems, and each subsystem needs to coordinate the corresponding control commands in a unified manner.
3. Considering that the real-time monitoring system often needs to be upgraded and adjusted.
4. All subsystems must have a unified open interface.
OPC is designed to standardize the interfaces between devices and applications of different vendors and simplify data exchange. As a result, you can provide users with process control software components that can be freely combined and used without relying on specific development languages and development environments. The most important purpose of OPC design is to configure hardware and software interfaces in a standard way. A device can be easily added to an existing system and put into use immediately without complicated configurations and affecting the existing system.
Advantages and disadvantages of OPC
Compared with the early field equipment interface, OPC has the following advantages:
(1) reduce repeated development;
(2) Reducing the incompatibility between data devices;
(3) Reducing the development cost of system integrators;
(4) improve performance.
OPC limitations
Although the OPC interface has various advantages, there are still some problems if you connect to the real-time database directly through OPC: (1) Although the OPC standard includes the OPC history standard, however, most OPC servers do not support data caching, so it is difficult to provide data caching for real-time databases.
(2) the OPC server is unable to provide some common computing functions, such as the integrated computing functions of accumulation, filtering, and addition of several BITs, increasing the burden on real-time databases, it affects the stability and robustness of real-time databases.
(3) OPC is based on Microsoft's COM/DCOM system. The RPC Method Used in distributed applications often conflicts with enterprise-level firewalls. You cannot use the firewall.
OPC Architecture
Figure 1 shows the contact information of the OPC interface, OPC server, and OPC customer application.
Like all com implementations, the OPC structure is the client server mode. Each OPC client operates the devices managed by each OPC server through the OPC standard interface, without the need to care about the implementation details of the server and the specific internal details of the device. OPC puts the task of developing access interfaces to hardware manufacturers or third-party manufacturers and provides them to users in the form of OPC servers. It solves the conflicts between software and hardware manufacturers and completes system integration, this improves the openness and interoperability of the system.
The configuration of hardware and software in the previous process monitoring is shown in 2. All applications must provide drivers for these three devices, that is, 12 drivers are required to maintain the normal operation of the system, and each software cannot communicate with each other. Because each software comes from different developers and has different drivers for the same device, multiple software cannot simultaneously access data from the same device, otherwise, the system may be paralyzed. At the same time, the upgrade of a device requires that all drivers of the device be upgraded, otherwise there are infinite risks. To maintain such a system for a long time, you can imagine the workload. The introduction of OPC specifications allows the hardware and software configurations of process control to be represented in figure 3.
OPC standardizes interface functions. regardless of the form in which the on-site equipment exists, the customer accesses the interface in a unified manner to ensure the transparency of the software to the customer, this completely removes the user from low-layer development. For software developers, they no longer bother Developing Drivers for various hardware devices, but focus their energy and time on adding and improving software functions, make your software more accepted and used by users. Hardware manufacturers no longer have to worry that their products are ignored or abandoned by users because they do not provide drivers for some software. A compiled Driver (OPC server) can be used by all application software. It not only saves the development cost of various I/O drivers, but also enables manufacturers to focus on producing hardware that is easier to use and has complete functions.
Ole (Active X)/COM
Active X/COM technology defines how different software components interact and share data. OLE/COM is
The customer/server model has advantages such as language independence, code reusability, and ease of integration.