Skip to content

OPC Address Space/Namespace is different between two PLCs

We have redundancy PLC-A and PLC-B and use "UaExpert" to establish OPC connection.

For PLC-A, a drop down list is shown below,

0          http://opcfoundation.org/UA/

1     urn:axc-f-2152-primary:PhoenixContact:eUAServer

2          http://opcfoundation.org/UA/DI/

3          http://PLCopen.org/OpcUa/IEC61131-3/

4          http://phoenixcontact.com/OpcUA/PLCnext/Devices/

5          http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/

6          http://phoenixcontact.com/OpcUA/PLCnext/Alarms/

For PLC-B, a drop down list is shown below,

0          http://opcfoundation.org/UA/

1     urn:axc-f-2152-primary:PhoenixContact:eUAServer

2          http://opcfoundation.org/UA/DI/

3          http://phoenixcontact.com/OpcUA/PLCnext/Devices/

4          http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/

5          http://phoenixcontact.com/OpcUA/PLCnext/Alarms/

The namespace for global variable in the PLCs is 5 for PLC-A and 4 for PLC-B. It was value 4 for both of the PLCs before. This results our OPC client failure for PLC-A connection since this OPC client was using namespace 4 for both of the PLC's OPC connection.

Is there anyway to change the namespace array value in the PLC-A to be the same as in the PLC-B?

Thanks

Jason Li

Comments

  • A better solution would be for the OPC UA Client to use the namespace URI instead of a fixed namespace index, which it should do :

    In saying that, it would be strange for two identical devices with identical firmware versions and identical applications running on them, to have different OPC UA namespace lists. Can you confirm that this is the case -  identical devices, identical firmware versions, and identical applications?

  • Hi, as Martin has already posted, the namepace index can change with each connection from the client. The client needs to browse the namespaces of the server and assign the indices accordingly.

  • Hi Martin,

    I checked the firmware from the WBM page and saw the firmware is the same for PLC-A and PLC-B. PLCNext Engineer is ver2020.3, the project is ver2020.0.0, and the firmware for both of the PLCs is 2020.3.1. Both of the PLCs were able to be accessed by the client using the namespace index 4.

    One day the customer reported that the client lost all data display. The PLC could have been reset and had been powered down for a while that resulted the loss of display. We had to modify the namespace index in the OPC client to resume the display of data.

    Another thing I cannot understand. Before I always had to modify the "TCP/IP" to the "TCP/IP Backup" under the tab "Cockpit" and the IPs for both of the PLCs under the tab "Settings" to be able to connect to the backup PLC and download the project to it. I.e, swap the IP between "192.168.1.101" and "192.168.1.102" in the settings.

    However, now I can only change the "TCP/IP" to the "TCP/IP Backup" in order to connect to the backup PLC and keep the IP values in the setting unchanged. The PLCNext Engineer is using the same version, and the same for the firmware of PLCs and the project.

    What has caused the change?

    Thanks

    Jason Li

  • For the first question, about the change in the namespace index: the most likely explanation for the change in the namespace index is that the firmware version changed in the PLC, which can happen if (a) the device has different firmware versions installed on the two boot partitions, and (b) the boot partitions are swapped.

    For the second question, about the TCP/IP settings, here is the answer from the developers:

    It was always implemented in the PLCnext Engineer in that way, that the IP-addresses just had to be adjusted once and by using the Dropdown menu at the tab "Cockpit" it is possible to select to which PLC you want to be connected. 

Sign In or Register to comment.