PLC Programming SAPLC ProgrammingSOUTH AFRICA
Menu

compare · South Africa

OPC UA vs OPC Classic: Migration and Training in SA

OPC UA vs OPC Classic for South African learners and sites: compare migration options, data mapping, certificates, history, alarms and practical training.

Conceptual OPC UA vs OPC Classic migration study with two controllers, a switch and a laptop network display
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

OPC UA vs OPC Classic is a decision about application compatibility, supported platforms, data meaning and security management. OPC UA provides a platform-independent architecture and a migration path from Classic. Moving to it still requires you to verify what each client uses, which features the proposed server implements and how the operating system, applications and data stores will be maintained.

For a South African brownfield site, there is no universal migration deadline or standard two-year project window. Base the programme on documented product support, operational requirements and the actual dependencies at the site. For a learner, the useful outcome is being able to explain and test an exchange rather than repeating that one protocol is old and the other is new.

This site has a commercial connection to PLC Simulator. Its related HMI and alarm exercises can support foundational learning, but they are not native OPC UA or OPC Classic endpoints. The illustrations are conceptual learning scenes, not screenshots of a migration or validated production architecture.

What OPC Classic and OPC UA describe

The OPC Foundation's Classic overview describes specifications based on Windows COM/DCOM. Data Access, or DA, exchanges values with time and quality information. Alarms and Events, or A&E, addresses alarm and event information. Historical Data Access, or HDA, defines access to historical time-stamped data. These are distinct capabilities that need separate attention during a migration.

The same overview describes OPC UA as a platform-independent architecture integrating Classic functionality. That describes the architecture's scope, not a promise that every UA product implements every service. A server that exposes current values may not provide the historical access or alarm features required by an existing client.

Migration questionEvidence needed from the existing systemEvidence needed from the proposed system
Current valuesUsed items, types, units, quality and timingEquivalent supported values and interpretation
Historical queriesQuery use, time ranges and storage ownershipSupported access and a plan for existing records
Alarms and eventsEvents, state handling and operator actionsSupported event model and tested behaviour
WritesPermitted writers and application responseEquivalent permissions and command behaviour
Application supportExact application and operating-system versionsDocumented compatible versions and features
SecurityCurrent identities, access and maintenance arrangementsSupported policies, trust management and permissions

Use this table to identify workstreams. Do not merge them into one “OPC connection” task that becomes complete as soon as a client displays a number.

DCOM hardening is a compatibility issue, not a removal announcement

Microsoft's KB5004442 DCOM hardening guidance documents phased changes, with mandatory hardening from 14 March 2023. It also describes diagnostic events for applications using an insufficient activation authentication level. This is not an announcement that DCOM has been removed from Windows.

Review the vendor's supported application and operating-system combinations. Determine whether updates, configuration changes or replacement software are required for the installed products. Do not use an unverified prediction about Windows as the basis for a plant shutdown date, and do not plan a migration around disabling security hardening.

Build a lifecycle record for the actual installation

List the host operating system, OPC server, clients, drivers, database and engineering tools. Attach support evidence for the versions actually installed. A statement about a product family may not apply to an older release or to an optional driver supplied by another vendor.

Record the owner of each dependency and the consequence if it becomes unavailable. A report used once a month can be missed in daily observation but still matter to the business. Interview the people who use those outputs and compare their answers with the configuration and application inventory.

For course buyers, ask whether the instructor distinguishes protocol concepts from product lifecycle advice. A useful course should identify the versions in its lab and explain which conclusions can be transferred to other environments.

Conceptual sensor, controller and conveyor illustration for distinguishing signals from program values
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

Three migration approaches to compare

A native UA client and server pairing is one option where both applications support the required exchange. Another is an interoperability component that preserves part of the Classic arrangement. A third is a broader replacement project that changes the historian, HMI or other applications as well as the communication interface.

The OPC Foundation's process-automation white paper describes wrappers connecting Classic servers to UA clients and proxies connecting Classic clients to UA servers. This provides a basis for staged migration. It does not mean every bridge supports every DA, HDA or A&E function your applications need.

Keeping a bridge does not remove every old dependency

Identify where the Classic-facing component runs and what it still depends on. A UA-facing connection can reduce the number of clients directly using the old interface while leaving the original server and its host in service. Document that residual dependency instead of reporting the whole system as migrated.

Check licensing, supported data types, diagnostic access, buffering, restart and maintenance arrangements for the proposed component. A bridge can be useful when it solves a defined compatibility problem. Its presence is not automatically either wasteful overhead or a complete solution.

Separate communication changes from application replacement

Changing the communication interface and replacing the historian at the same time increases the number of behaviours that need explanation if a test fails. Where practical and approved, stage changes so that their effects can be identified. The site's operational constraints determine the feasible sequence.

For each stage, describe the starting state, change, acceptance evidence and recovery route. A phased plan should reduce uncertainty, not merely spread the same undefined work across several calendar entries.

Native OPC UA on a controller needs model-specific checks

Do not assume every modern PLC has an enabled UA server with the same capacity and security features. Confirm the exact model, firmware, engineering software, licence if required and supported services. Include the load imposed by clients and the other work performed by the controller.

For a concrete correction, Rockwell's September 2025 OPC UA in Logix controllers manual documents support enabled from version 36 firmware for the covered implementation, with model restrictions. It also distinguishes version 36 server-or-client operation from simultaneous operation starting with version 37. The earlier blanket claim of native ControlLogix 5580 support from version 32 was incorrect.

Use the manual for the selected controller and release rather than extending those details to every Logix generation. A gateway or aggregation service may still serve a purpose, such as consolidating access or meeting requirements beyond the controller's implementation. Compare the actual architecture and its supported capabilities.

The OPC UA basics guide explains nodes, namespaces, updates and data quality. Those concepts help interpret a capability document before choosing hardware or a specialised course.

Illustrated technical planning desk with a notebook and laptop for namespace and subscription exercises
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

Create a dependency inventory before counting tags

Tag count alone hides how data is used. One value may feed an operator display, a report and a calculation, each with different timing or quality expectations. Likewise, a single application may use both current values and historical queries. Record the relationships as well as the list of items.

Consider a fictional installation with five consumers. The operator application reads status and issues authorised requests. A historian collects current values and queries an existing historical service. An alarm console consumes events, an MES application reads current data, and a report application queries history.

Fictional consumerDependency to verifySeparate acceptance evidence
Operator applicationCurrent-value readsCorrect display with units and quality
Operator applicationWritesPermitted request and confirmed application response
HistorianCurrent-value collectionCorrect collection and missing-data handling
HistorianHistorical queriesRequired interval retrieved with correct interpretation
Alarm consoleAlarm/event exchangeDefined condition and operator action sequence
MES applicationCurrent-value readsCorrect downstream calculation or decision
Report applicationHistorical queriesRequired report reproduced and reviewed

That is five consumers but seven dependency rows. Neither number is a tag count. If only the operator display has been tested, the other dependencies remain open even when the new server is reachable.

Give each row a status that preserves unknowns

Use statuses such as not tested, passed, failed and awaiting evidence, with a named reviewer and test record. Do not convert “the vendor says it should work” into a passed test. Record whether an unsupported feature needs a changed design or further clarification.

Add a column for consequences and priorities. A low-frequency operation may be more consequential than a frequently refreshed dashboard. Agree the required acceptance evidence with the people responsible for operations, applications and data use.

Verify data equivalence, not just matching item counts

Create an explicit mapping between the old item and the proposed UA node. Include data type, units, scaling, valid range, quality interpretation, timestamps and access direction. State where any conversion happens. A conversion applied in both a gateway and a client can produce a plausible-looking but wrong value.

Do not describe Classic as necessarily a flat list with no useful metadata. Its DA specification includes quality and time information, and implementation details need inspection. Similarly, a UA address space is not automatically a rich model of your entire plant. Evaluate what the selected server actually exposes.

Fictional unit-conversion acceptance worksheet

The following invented observations illustrate why equal raw numbers are not enough. Assume the old application displays the engineering units shown, and the proposed source documents the stated units or scaling. These are exact teaching values, not measurements from a real migration.

ItemOld engineering valueProposed source valueConversion to old unitsComparison
Shaft speed1,500 rev/min25 rev/sMultiply by 60: 1,500 rev/minAgrees numerically
Temperature22.4 degrees Celsius224 tenths of a degree CelsiusMultiply by 0.1: 22.4 degrees CelsiusAgrees numerically
Pressure4 bar400 kPaMultiply by 0.01: 4 barAgrees numerically
Flow5 cubic metres/hour5 litres/minuteMultiply by 0.06: 0.3 cubic metres/hourDoes not agree

For flow, one litre is 0.001 cubic metres and there are 60 minutes in an hour. Five litres per minute therefore becomes 0.3 cubic metres per hour. Copying the raw number 5 onto a display labelled cubic metres per hour would conceal the mismatch.

Three rows agree numerically after the declared conversion. That does not establish that the migration is 75 percent complete. Quality, timestamps, permissions, update behaviour and the other dependency rows have not been proven by this worksheet. A conversion check is one part of acceptance evidence.

Test more than one value and one operating condition

Choose representative values and boundary cases from the actual application requirements. Include unavailable data and any supported status distinctions that consumers use. A value that matches while quality is invalid should not be silently treated as a valid process measurement.

Record how timestamp meaning is preserved. A source timestamp, a server timestamp and the time a report is generated are different concepts. Document the comparison rule so that a reviewer knows whether an apparent difference is expected or a defect.

Two illustrated learners reviewing a controller example beside a guarded training conveyor
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

Node identity needs a deliberate client strategy

The OPC Foundation's NodeId definition explains that a namespace index may change across future sessions, while the namespace URI and identifier form the persistent identity elements described there. A client should not assume a saved numeric namespace index remains valid indefinitely.

The BrowseName definition also states that different nodes may have the same BrowseName. Replacing every stored NodeId with a bare BrowseName is therefore not a general solution to identity problems. Use the server's documented model and an appropriate client resolution strategy.

Treat model changes as changes to an interface

Record the model version and mappings used during acceptance. Ask the supplier how supported upgrades affect identifiers, types and relationships. Test the consumer after an approved model change rather than assuming a successful browse operation proves its bindings remain correct.

A migration can legitimately expose a different model. If so, document the intended mapping and review its consumers. The goal is not to preserve every old spelling at any cost; it is to preserve or deliberately change the application's meaning with evidence.

Manage trust, identity and permissions separately

The OPC UA application-authentication model describes certificate validation and trust lists, including certificate authorities. Trust is an administrative decision, not an instruction to accept any certificate presented at first contact. Check the authentication behaviour of the actual transport and products in use.

Application trust, user identity and permission to perform an operation are different checks. A trusted application should receive only the access required for its role. Successful connection does not imply permission to write every exposed value, and a read-only reporting role should not inherit engineering permissions for convenience.

Plan certificate maintenance before cutover

Record certificate owners, renewal procedures and the products' supported recovery process. Establish who may change trust lists and how authorised changes are reviewed. Test certificate replacement in the appropriate lab or maintenance process; do not wait for an unexpected expiry to discover that a client needs intervention.

The Foundation's security guidance distinguishes signing from encryption and cautions against automatically trusting certificates. Signing addresses integrity; confidentiality requires encryption. A perceived connection delay is not sufficient evidence for removing confidentiality protection from a production exchange.

Investigate the actual delay and reconnect behaviour with the responsible engineering and security teams. Choose supported policies and permissions that meet the security objectives and operational requirements. Do not infer that anonymous user access means every network user automatically has unrestricted control; verify the configured rights and application trust as separate matters.

Illustrated learner comparing program observations with a guarded conveyor training model
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

Historical data and alarms need their own acceptance work

Changing a current-value connection does not demonstrate access to existing history. Identify the owner and format of the historical store, the required queries and the retention arrangements. If records are moved, establish how completeness, time interpretation, duplicates and retrieval will be checked.

Keep access migration separate from storage migration in the plan. A new client might access an existing history service through a supported bridge, or a project might replace the store. These options have different work and recovery requirements. Confirm what the actual proposal includes.

For alarms, document the condition, event information and permitted operator actions that matter to the application. Test the agreed sequence and reconcile the results with the old behaviour or an approved change. A client receiving one event is not proof of complete alarm-state handling.

The HMI vs SCADA selection guide explains why history, alarms and operating responsibilities belong in the requirements. For related foundational practice, review PLC Simulator's alarm-management exercises. They do not prove native OPC A&E or UA event interoperability.

Plan cutover and recovery around operational ownership

Define who may authorise each migration stage and what evidence they need. Include a clear decision point if mandatory tests fail. A rollback plan should identify the known configuration to restore, required backups and how operators will know which application is authoritative.

Where parallel comparison is appropriate, control the roles of both systems. Duplicating observation for a defined test is different from allowing two independent applications to issue commands. Prevent unintended competing writers through the approved architecture and procedures; do not rely on people remembering which screen is the new one.

After cutover, monitor the behaviours that acceptance testing identified as important. Resolve unexplained gaps or mapping discrepancies before treating the old path as disposable. Confirm that retained records and recovery material remain usable under the agreed maintenance arrangement.

South African course and project questions

For training in Johannesburg, Pretoria, Durban, Cape Town or online, ask which client/server pair each learner uses. Confirm whether the course covers only current values or also includes history, events, identity and diagnostic work. The location and the word “advanced” do not establish those outcomes.

Use the industrial networking training guide to compare prerequisite knowledge and practical evidence. The SCADA training guide helps connect communication skills to the wider operator and data-management tasks. Select the course that addresses your current responsibilities and the equipment you need to understand.

For a project quotation, request an explicit inventory and scope, including bridges, licences, application changes, testing, training and support. Check remote-support access and on-site availability for the actual location. Do not use unsupported claims about municipal, mining or petrochemical adoption as a substitute for your site's evidence.

Related HMI simulator practice can help you explain displayed values and operator tasks. Use a supported OPC client/server lab for certificate, subscription and native protocol exercises. Keep those learning outcomes distinct in your portfolio.

Conceptual PLC learning portfolio with a process sketch, test notes and a laptop showing logic
Conceptual learning illustration; not a vendor screen, migration capture or validated production architecture.

Common OPC migration questions

Must every OPC Classic system be replaced immediately?

Set the decision using supported versions, security requirements, operational consequences and a tested migration plan. There is no universal South African deadline established by the protocol name alone.

Can I connect an OPC UA client to a Classic server?

A supported wrapper may provide that connection. Verify the exact capabilities and dependencies; exposing current values does not automatically cover all historical and alarm functions.

Does OPC UA automatically move historical records?

No. Determine whether the project changes only access or also the data store, then test the required queries and any record transfer separately.

Is a BrowseName safer to store than a NodeId?

A bare BrowseName is not a globally unique node identity. Use the documented model and a client strategy that handles namespaces and intended model changes correctly.

Can an AI assistant create the migration plan?

It can help organise an inventory and test matrix if given the exact versions and requirements. Ask for primary sources and clearly marked unknowns. Have the responsible application, operations and security owners verify consequential decisions.

Can I learn these concepts without a physical PLC?

A suitable software client/server lab can support protocol-specific learning where the required features are implemented. General HMI or PLC simulation is useful related practice but does not automatically provide native OPC connectivity.

By PLC Programming SA · Last updated 2026-09-11