OPC for Matlab

OPC for MATLAB

MATLABŪ is a nice environment to develop control algorithms and signal analysis software. MATLAB offers you a gigantic list of functions to perform these tasks. Although MATLAB was launched as an academic software tool, many industries use it for prototyping and testing. The main drawback to use it in these industries is the reduced possibilities to connect it directly to the DCS/PLC and the plant.
OPC for MATLAB is the answer to that problem. You can directly access the field data from your MATLAB workspace and even perform real-time closed loop control. It is not necessary anymore to develop your code in MATLAB and translate it afterwards to a standalone C++/VB application or to DCS/PLC-code to test it. Just write the code and add the interface lines and your connected in no time!

The benefits are obvious

IPCOS developed the OPC for MATLAB interface for internal use. A lot of our own advanced process control tools are developed in this MATLAB environment. We also use the OPC interface as our standard interface for all our products. We therefore put a lot of effort to keep this OPC for MATLAB tool on track with the latest OPC standards. We are the first and still the only provider of this interface tool. Since control is our business, the real-time aspects of OPC for MATLAB are important to us.
You do not need to put MATLAB in a blocked hold position to wait for the next sync signal to arrive. No, OPC for MATLAB uses an intelligent way to put your workspace on hold without losing CPU power. This means that you can still perform other tasks with your computer.

OPC for MATLAB at work

features:

  • Opening and closing a connection to a local or remote OPC server
  •  Browsing functionality 
  • Read data from the server 
  • Write data to the server 
  • Start notification for an item change on the server. 
  • Stop notification for an item change on the server 
  • Wait for a notification from the server.


Deliverables

General scope of supply:
OPC for MATLAB is delivered in the form of a perpetual license.
User may use/run only application at the time per license.

The OPC for MATLAB license fee includes:

  • OPC for MATLAB
  • OPC for MATLAB user manual
  • One year support and upgrades
  • Further support and upgrades beyond one year (optional)

FAQ

Is it compatible with MATLAB 5.x , 6.x, 7.x, ...12,13, ...?
Yes.


Is it compatible with Windows 2000, XP, Vista?
Yes.


What is the performance?
A combination of our OPC server and our OPC MATLAB client:

  • Transmitting 1000 vectors of 1000 doubles: 0.27 seconds 
  • Transmitting doubles separatly: 7500 doubles per second

The size of the vectors is only limited by the available memory.


How does Matlab receive OPC notifications?
Since MATLAB is single-threaded (or at least the execution of MATLAB commands), it's not possible to have asynchronous calls from an OPC server into MATLAB (it is possible, but very dangerous, because there's no multi-threading safety in MATLAB).
As a solution to this, we put MATLAB into an efficient wait state, which it leaves when the OPC server triggers it or when a certain amount of time has elapsed. The main idea is that you externally trigger MATLAB as a simulator, and that MATLAB returns to its wait state
when it's ready.


Has it been tested in a RT environment?
A sampling interval of 0.1 sec should be no problem for the OPC communication layer (MATLAB might spend more time in its simulation)


What OPC standards are supported?
The clients uses OPC standard 1.0A for full compatibilty with older OPCservers, although some functions of the OPC 2.0 standard are also implemented. (e.g. SetClientname" of the OPCcommon interface).


What number formats are supported?
Boolean, integers (4 bytes), doubles (8 bytes), strings, vectors of integers and doubles.


How do you synchronise a MATLAB program with external programs (e.g. DCS)?
Just create a Sync item for MATLAB on the server and let MATLAB wait for a notification.
If someone modifies the sync item, your MATLAB routine will be automatically triggered. Next MATLAB can read the items it needs.

Fertilizer@MAX
Glass@MAX
Batch solutions
Syngas@MAX