In the Souce Configuration Screen, when you connect to an OPC HDA Server, the same OPC Item/Tag is repeated over and over.
This occurs when connecting to OPC HDA Servers that don't support the OPCHDA_FLAT Browse Type (i.e. ICONICS TrendWorX). The WtHDAClient.dll that the Interface uses to communicate with the OPC HDA only supports this method.
From the manufacturer of the WtHDAClient.dll (WinTech):
The client requests a list of tags from the server using one of the following BrowseTypes:
Member Description
OPCHDA_ BRANCH Returns only nodes that can have children. These may or
may not be items.
OPCHDA_LEAF Returns only nodes that cannot have children. These are
always items.
OPCHDA_FLAT Returns everything at and below this level including all
children of children, all the way to the end, as fully
qualified ItemIDs – basically ‘pretends’ that the address
space at this level and below is FLAT. This parameter is
ignored for FLAT address space.
OPCHDA_ITEMS Returns all items at the current browse position. This means
all objects at the current level which are valid objects to
send to IOPCHDA_Server::GetItemHandles. Note: this
browse type will normally be used instead of
OPCHDA_LEAF to guarantee that all items are displayed.
The client dll positions the pointer at the root of the namespace and browses using OPCHDA_FLAT
which should return a list of all items. It sounds like the server is not returning the proper list, however,
you'd have to run it through a debugger to make sure. If the server does not support browsing using the
OPCHDA_FLAT type, the code within the dll would have to change to browse each branch of the name space
individually.
To get around this issue for ICONICS TrendWorx32 a new utility was created, TWX2OPSXML. This utility reads in an ICONICS TrendWorX Data Logger XML Configuration file and exports an OPSDATAXML file that can by used by the browser (see article 12281).