En 1994, un groupe de vendeurs de logiciels et de matériel dans le secteur de l'automatisation industrielle et d'autres disciplines d'ingénierie a formé ce qui est maintenant connu sous le nom de Fondation OPC. La Fondation OPC a entrepris de développer une spécification client/serveur unique qui permettrait à n'importe quel fournisseur de développer des logiciels et des applications qui partagent des données de manière rapide et robuste, tout en éliminant les schémas propriétaires qui obligeaient ces fournisseurs à dupliquer leurs efforts de développement.
En conséquence, la Fondation OPC a développé la première spécification pour OPC DA, appelée "Data Access Specification 1.0a". Elle a été publiée peu de temps après, au début de 1996. En utilisant cette spécification, les fournisseurs pouvaient rapidement développer un logiciel client/serveur. La spécification d'accès aux données définit comment l'interface d'application du client et du serveur doit être construite. Cependant, comme OPC DA s'appuie fortement sur Windows DCOM (Distributed Component Object Model), de nombreux fournisseurs reconnaissent que OPC DA n'est pas un véritable standard ouvert, se comporte mal dans un état déconnecté, ne fonctionne pas bien avec les pare-feu, et ne fonctionne que sous Windows.
Pour surmonter les inconvénients d'OPC DA, la fondation OPC a développé OPC UA qui était sensiblement différent de son prédécesseur. L'objectif était de s'éloigner de l'utilisation principale de Windows DCOM pour mieux répondre aux besoins évolutifs de l'automatisation industrielle. La première spécification d'OPC UA a été publiée en 2006 et la dernière version 1.04 a été publiée en novembre 2017, qui a ajouté une infrastructure de communication de type publish/subscribe et de nouvelles politiques de sécurité.
Certaines des améliorations qui ont été introduites dans OPC UA sont :
- Ouverture : disponible pour que tout le monde puisse l'utiliser et le mettre en œuvre sous la licence GPL 2.0.
- Multiplateforme : elle n'est pas liée à un seul système d'exploitation ou langage de programmation.
- Sécurité accrue du protocole : qui permet aux utilisateurs d'accéder à l'authentification, l'autorisation, l'intégrité et la confidentialité.
- Introduction de la méthode qui représente l'appel de fonction d'un objet : la méthode est appelée (invoquée) et revient une fois la fonction terminée, qu'elle soit réussie ou non.
- Intégration du modèle d'information dans la CEI 62541 : cette spécification est la base de l'infrastructure nécessaire aux fournisseurs pour intégrer leurs informations et modéliser leurs données complexes dans un espace de nom OPC UA. Elle tire parti de la riche architecture orientée services d'OPC UA.