Components of ORiN
ORiN provides an interface to access robots and other FA devices, involving an interface for client applications and an interface for devices. With this technology, application vendors can develop client applications without dependence on FA devices, while FA device manufacturers can disclose the functions of devices without dependence on client applications.
Outline of ORiN2
The ORiN project launched in 1999. ORiN version 1 was released in 2002 and has been used in a variety of FA applications. A new standard, based on technology cultivated through the development of FA applications, was released as ORiN version 2 (ORiN2) in 2005.
The conceptual diagram of ORiN2 is presented below. As standard middleware, ORiN2 provides PC application software with integrated access to various FA devices, with no need to adapt them to manufacturer-specific access methods to control devices. The engine component has the same functions as a standard program interface and provides an application development environment with no need to consider differences between devices. The provider component has a communications interface to connect various FA devices with PCs, and absorbs differences between communications specifications, which differ between machines, to offer integrated access to high-level applications.
ORiN2 consists of the three basic technologies, CAO, CAP and CRD. CAO is a standard program interface that provides a common interface and function to client applications and devices. CAP is an Internet communications protocol for access to devices on the Internet. CRD is a standard data schema that defines the format for expressing resource information in devices without dependence on manufacturers.
ORiN technology comparison
|ORiN 1||ORiN 2|
|Year of release||2002||2005|
|OS||Windows||Windows, Linux, etc. (CORBA specifications are OS independent.)|
|Language||Application part: Visual Basic, C++, etc.
Engine and provider parts: C++
|Application part: Visual Basic, C++, VB.NET, C#, Java, VBScript
Engine and provider parts: C++ (CORBA specifications are language independent. However, in reality, Visual Basic and other languages cannot be used because only the bound languages can be used.)
|Communications||DCOM, web service (RAP)||DCOM, CORBA, web service (CAP), HTTP (e-CAP), UPnP|
|Target devices||Controllers with relatively high functionality (PLC, robot controller, NC, etc.) only||Controllers ranging from those with relatively high functionality (PLC, robot controller, NC, etc.) to single-function ones (DA/AD conversion board, DIO board, etc.)|
|Target sectors||Secondary industry with a focus on factory automation||All industries|
|Device profile||XML schema (RRD)||XML schema (CRD), UPnP Device Description|
|Framework||The abstract controller is defined and operated with applications. Providers fill gaps between the abstract controller and the actual controller.||Same as in the left column|
|Interface||The interface for applications and the interface for devices are specified||Same as in the left column<|
|Support for module development||ORiN1 SDK includes samples, documents, simple test tools, etc. With “Provider Wizard,” C++ skeleton programs for providers can be generated automatically||ORiN2 SDK includes samples, documents, integrated test tools, etc. With “Provider Wizard,” C++ skeleton programs for providers can be generated automatically|
|Configuration services||Security setting with RaoConfig, etc.||Security setting, language locale setting, etc. with CaoConfig. Module configuration, software wiring, data type conversion, etc. with CaoSQLConfig|
|Support for application development||Commercially available development environments (Visual Studio, VS.NET, Eclipse, etc.) can be used.||In addition to the capability identified on the left, simple programs can be developed with “CAO Script Language Editor,” which is included in ORiN2 SDK.|
In this website, CAO application, CAO engine and CAO provider are also referred to as ORiN application, ORiN engine, and ORiN provider, respectively