OPC UA Companion Specification
The OPC UA Companion Specifications aim to provide a solution by describing the interfaces, services and data that should be exposed by the devices to enable easier configuration and interpretation.
20 years ago, if you bought a digital camera, it usually came with a USB interface. However, you still had to install the drivers provided in the CD that came along with the camera. Nowadays, you have to just plug in your camera and it works out of the box. The transition from plug-and-pray to plug-and-play has been quite widespread for users of desktop/laptop PCs and peripherals at home and in the enterprise. This transition was driven by the need to gain market share by improving the user experience which until then was not very user friendly.
A similar transition has not happened in the industrial world. This is due to the fragmented nature of industrial use cases and the low volume nature of the devices used in these installations. As industrial users, we are able to understand and interpret the configuration and formats based on which devices operate and provide data. But this requires a huge effort to do it across devices from different vendors and also requires repeated effort when the same device is operated with different configurations.
It will be vastly more efficient if industrial devices produce data in a manner that reduces the repeated efforts for configuration and data interpretation. The OPC UA Companion Specifications aim to provide a solution by describing the interfaces, services and data that should be exposed by the devices to enable easier configuration and interpretation.
Going back to the camera example, all cameras provide the same interface to access photos/image data. But you as the consumer decide which one to buy depending on the internal functionalities and features as these may differ with different models. For e.g. one model may offer a Bluetooth accessory to remotely trigger taking a photo while another model may not.
Thinking of this from an industrial point of view, let us consider the example of AutoID based applications. These applications use devices such as industrial RFID and barcode scanners in deployment scenarios such as product identification and tracking in warehousing. These devices from multiple vendors have OPC UA as the common interface and implement a common scanning method to identify new RFID transponders or barcodes but they can differ from inside based on their specifications such as supported read range and speed, etc. The interpretation of this data varies depending on the technology used but can still be described in universal manner with same APIs. This can be achieved with companion specification, which also lets you to write your own extension.
Let us take two scenarios to further understand companion specification
- Scenario 1
- Consider that every vendor integrates OPC UA in their products or devices. But then every time it takes engineering effort to connect to the UA server since each vendor provides different services in their implementation.
- Scenario 2
- If all vendors implement AutoID companion specification in their products, then the only effort required to connect to the UA server is deciding which methods are implemented and how to call them. This becomes a plug and play environment.
OPC UA specifies a number of base information models that define commonly used objects including both real-time and historical data variables and alarms. New information models can be created based on the OPC UA data model and eventually derived from OPC UA base information models. The specifications of such information models which together with the OPC UA infrastructure enables interoperability at the semantic level are called Companion Specifications. 
Though we have used the AutoID example to illustrate the purpose and benefit of OPC UA Companion Specifications, it must be noted that it is not targeted at just one specific market. As a standard for data interoperability, the OPC Foundation facilitates the adoption of OPC technology through collaboration with other international standards organizations to create companion specifications for vertical market requirements. These collaborative efforts can provide you new opportunities for market expansion and technology integration  .
As you can see, a number of industries are starting to develop OPC UA Companion Specifications:
- Food & Beverage
- Kitchen equipment
Let’s have a brief look at a few companion specifications from different industries and the targets they are aimed at:
Plastics & Rubber Machinery
This companion specification interface is intended to provide functionality to exchange machine information such as its status and configuration, process and job parameters as well as the transfer of data sets for configuration  .
This companion specification is intended to develop an OPC UA Information Model for a universal communication interface of machine tools towards “external” communication partners, e.g. MES, ERP, cloud, automation system 
Offshore Oil & Gas
MDIS companion specification is the oil and gas standard MDIS implemented over OPC UA for interfacing the Subsea Production Control System (SPCS) with a Master Control Station (MCS) or a Subsea Gateway to the Distributed Control System (DCS)  .
Commercial Kitchen Industry
At the moment the connection of different commercial kitchen appliances works best for products that are manufactured by the same company. Connecting equipment from different manufacturers is possible but a challenge. The OPC UA Companion Specification “Equipment for commercial kitchens — Communication interface for commercial kitchen Equipment” was created with the intention to change that  .