24
DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN AUTOMATION P.O. Box 38 FIN-00371 Helsinki Finland tel. int. + 358 9 5404940 fax int. + 358 9 5413541 www.klinkmann.com

DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

DCS Gateway (KGTW)

for providing OPC data

to SuiteLink/DDE Clients

User Manual Draft Ver 1.x Rev 1.0

DR 550 10

KLINKMANN AUTOMATION P.O. Box 38

FIN-00371 Helsinki Finland tel. int. + 358 9 5404940 fax int. + 358 9 5413541

www.klinkmann.com

Page 2: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW i

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Table Of Contents

Overview ........................................................................................................................ 1

Communication Protocols .............................................................................................. 2

Accessing Remote Items via the KGTW ....................................................................... 3

Installing the KGTW....................................................................................................... 4

KGTW general functionality ........................................................................................... 4

Configuring the KGTW .................................................................................................. 5

Server Settings Command ......................................................................................... 6

OPC Server Settings Command ................................................................................ 7

Saving of the KGTW Configuration File ..................................................................... 8

Configuration File Location ........................................................................................ 9

Topic Definition Command ......................................................................................... 9

Item Names ................................................................................................................... 12

“Objects/items definition” file ...................................................................................... 12

“Activate/deactivate Object” items .............................................................................. 13

Creating “Objects/items definition” file in Wonderware Application Server ................ 13

Using KGTW with Suite Link and DDE Clients .............................................................. 15

Using the KGTW with InTouch ...................................................................................... 15

Defining the Access Names ....................................................................................... 16

Defining the Tag names ............................................................................................. 17

Monitoring the Status of Communication with InTouch .............................................. 19

Notes on Using Microsoft Excel ..................................................................................... 20

Reading Values into Excel Spreadsheets .................................................................. 20

Troubleshooting ............................................................................................................. 20

WIN.INI entries .......................................................................................................... 20

Troubleshooting menu ............................................................................................... 21

Page 3: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 1

KGTW Ver 1.x User Manual Rev 1.0 55010m10

DCS Gateway (KGTW)

Overview The DCS Gateway ( hereafter referred also as the “Klinkmann Gateway ” or “KGTW” throughout the remainder of this manual) is a Microsoft Windows 32-bit application program that acts as a communication gateway for providing manageable and configurable communication between SuiteLink/DDE Clients and 3rd party OPC Servers. The KGTW is primarily intended for use in Wonderware ArchestrA environment with Industrial Application Server to support configurable activation/deactivation of OPC Server items depending on Wonderware InTouch View windows “show/hide” state, but it may be used by any Microsoft Windows program capable of acting as a DDE, FastDDE or SuiteLink Client to access data from OPC Servers The general layout of system with KGTW application if used in ArchestrA environment is following: The KGTW application consists of two main parts: - SuiteLink/DDE Server part, providing data for SuiteLink/DDE Clients, e.g. for Wonderware Application Server $DDESuiteLink Client Object; - OPC Client part, for connection to OPC Servers. The KGTW application provides communication between SuiteLink/DDE Clients and 3rd party OPC Servers, including special implementation how OPC items are created,

Page 4: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 2

KGTW Ver 1.x User Manual Rev 1.0 55010m10

activated and deactivated, in purpose to reduce the OPC Server communication load during OPC items activation/deactivation.

Communication Protocols Dynamic Data Exchange (DDE) is a communication protocol developed by Microsoft to allow applications in the Windows environment to send/receive data and instructions to/from each other. It implements a client-server relationship between two concurrently running applications. The server application provides the data and accepts requests from any other application interested in its data. Requesting applications are called clients. Some applications such as Wonderware InTouch and Microsoft Excel can simultaneously be both a client and a server. FastDDE provides a means of packing many proprietary Wonderware DDE messages into a single Microsoft DDE message. This packing improves efficiency and performance by reducing the total number of DDE transactions required between a client and a server. Although Wonderware's FastDDE has extended the usefulness of DDE for the industry, this extension is being pushed to its performance constraints in distributed environments. KGTW supports the FastDDE Version 3 - an extension to Wonderware’s proprietary FastDDE Version 2. This extension supports the transfer of Value Time Quality (VTQ) information. The original DDE and FastDDE Version 2 formats are still supported, providing full backward compatibility with older DDE clients. NetDDE extends the standard Windows DDE functionality to include communication over local area networks and through serial ports. Network extensions are available to allow DDE links between applications running on different computers connected via networks or modems. For example, NetDDE supports DDE between applications running on IBM compatible computers connected via LAN or modem and DDE-aware applications running on non-PC based platforms under operating environments such as VMS and UNIX. SuiteLink uses a TCP/IP based protocol and is designed by Wonderware specifically to meet industrial needs such as data integrity, high-throughput, and easier diagnostics. This protocol standard is supported on Windows NT and Windows NT-technology-based operating systems including Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2003 Server, and Windows XP Pro. SuiteLink is not a replacement for DDE, FastDDE, or NetDDE. The protocol used between a client and a server depends on your network connections and configurations. SuiteLink was designed to be the industrial data network distribution standard and provides the following features: · Value Time Quality (VTQ) places a time stamp and quality indicator on all data values delivered to VTQ-aware clients. · Extensive diagnostics of the data throughput, server loading, computer resource consumption, and network transport are made accessible through the operating system performance monitor. This feature is critical for the scheme and maintenance of distributed industrial networks. · Consistent high data volumes can be maintained between applications regardless if the applications are on a single node or distributed over a large node count. · The network transport protocol is TCP/IP using Microsoft’s standard WinSock interface.

Page 5: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 3

KGTW Ver 1.x User Manual Rev 1.0 55010m10

OPC (OLE for Process Control) is an open interface standard to provide data from a data source and communicate the data to any client application in a common standard way. The OPC is based on Microsoft OLE, COM and DCOM technologies and enables simple and standardized data interchange between the industrial or office sector and the production sector. From general point of view many aspects of OPC are similar to DDE, but main difference is in the implementation by using Microsoft's COM (Component Object Model) technology. It enables fast exchange with process automation data and OPC open interface allows access to data from OPC Server in same standard way from OPC client applications supplied by different developers. For more information on the basics of OPC, please refer to the OPC Specification. The OPC Data Access Custom Interface Specification is maintained by OPC Foundation, the current specification is 2.05a dated June 2002 (3.00 dated March 2003). Wonderware DAServers are Wonderware's next-generation I/O servers built on ArchestrA™ technology. They are designed to provide simultaneous connectivity between plant floor devices and modern DDE, SuiteLink and/or OPC based client applications. DAServers support the OPC Data Access 2.05 specification and offer additional features beyond the standard, including powerful diagnostics and remote configuration capabilities. The Suite Link, FastDDE (Version 3) and DDE support for KGTW is implemented by Wonderware I/O Server Toolkit ver. 7,2,1,6. The OPC support for KGTW OPC Client part conforms to OPC Data Access Custom Interface Specification 2.05a.

Accessing Remote Items via the KGTW The communication protocol addresses an element of data in a DDE/SuiteLink conversation that uses a three-part naming convention that includes the application name, topic name and item name. The following briefly describes each portion of this naming convention: application name The name of the Windows program (server) that will be accessing the data element. In the case of data coming from appropriate OPC Server via this Server (KGTW), the application portion of the address is KGTW. topic name Meaningful name of communication entity, that is referred also as “Logical device”. Commonly the name considers one OPC Group used to access the corresponding OPC Server items for this topic. For example, MB3. item name A specific data element within the specified topic. When using the KGTW, items are pre-defined in “objects/items definition” file, which must be prepared before starting the KGTW application; as well KGTW supports built-in items used to control and monitor the KGTW run-time functionality. The term "point" is used interchangeably with the term

Page 6: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 4

KGTW Ver 1.x User Manual Rev 1.0 55010m10

"item" in this User Manual. For more information on item names, see the Item Names section later in this manual.

Installing the KGTW The KGTW installation package is supplied as a self-extracting archive 55010Pxxx.EXE, where xxx is the current (latest) version of the KGTW. To install the KGTW from the self-extracting archive, run the 55010Pxxx.EXE and proceed as directed by the KGTW Setup program. When installation is finished, the subdirectory specified as a folder where to install the KGTW files will contain the following files: KGTW.EXE The KGTW Program. This is a Microsoft Windows 32-bit

application program.

KGTW.TXT An example KGTW configuration file.

PLC.TXT An example “objects/items definition” file.

TRANSLATEDLL.ZIP Translate DLL source files.

55010mxxx.PDF

KGTW user manual (xxx is the current (latest) revision).

KGTW as Windows Service.pdf

Description how to use KGTW as a Windows Service.

To uninstall the KGTW, start Control Panel, select “Add/Remove Programs” and select the “KGTW” from the list of available software products. Click on “Add/Remove…” and proceed as directed by the UnInstallShield program. Note: The KGTW is developed with Wonderware I/O Server Toolkit (ver 7,2,1,6) and needs the Wonderware FS 2000 Common Components to be installed on computer where the KGTW is running. If using Wonderware InTouch 8.0 or newer, install the FS 2000 Common Components before installing InTouch (see also Wonderware Tech Notes 404 and 313).

KGTW general functionality In general, KGTW is a DDE/SuiteLink Server (I/O Server) written by using Wonderware I/O Server Toolkit and allowing to access OPC Server items organized and structured in groups of items, further in this document called “Objects ”. Each Object can have a variable length list of items, which belong to this Object. The KGTW application as a communication gateway enables the following: - special configuration, including a set of structured Objects/Items (“objects/items definition” file ) to support freely configurable item naming; this fixed set of OPC items can be generated automatically (e.g. by Wonderware AS scripts) or manually;

Page 7: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 5

KGTW Ver 1.x User Manual Rev 1.0 55010m10

- at KGTW start-up, opens connection with OPC Server(s) and creates a fixed set of OPC items defined in “objects/items definition” file; - after KGTW start-up, all available OPC items are created as inactive, with exception of “always active” items which are marked specially in “objects/items definition” file; - when some SuiteLink/DDE Client connects to KGTW, the activation/deactivation of OPC items is performed at SuiteLink/DDE side by using special “activate/deactivate Object” items , i.e. a group of OPC items linked with same Object is activated/deactivated at once. The KGTW own configuration contains information about Topics configured (for each Topic KGTW will create separate OPC group and each Topic requires own “objects/items definition” file) and about OPC Server(s) where to connect and communicate.

Configuring the KGTW After the KGTW is initially installed, a little of configuration is required. Configuring the TKGTW automatically creates KGTW.TXT file that holds all of the OPC Server(s) and topic(s) definitions entered. This file will be placed automatically in the same directory in which the KGTW is located unless the path where the configuration file will be placed is specified via the /Configure/Server Settings... command. To perform the required configurations, start up the KGTW program. If the KGTW starts up as an icon, double-click on the icon to open the server's window. At start-up, KGTW reads existing configuration file and if there is any “objects/items definition” file name configured (see Topic Definition Command section below) then connects to corresponding OPC Server and initiates the creation of all corresponding OPC items by OPC Server. Depending on how items are defined in “objects/items definition” file, items are created not active or active . In case there are many Objects and items configured in “objects/items definition” file, the creation and activation of items can take some time, so at KGTW start-up some delay can happen during these operations. When start-up is finished, the information about current state is displayed on KGTW main window. For example, something like following can appear if for topic MB300 in “objects/items definition” file there is 1 Object, containing totally 48 items:

After KGTW start-up, to access the commands used for the various configurations, open the /Configure menu:

Page 8: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 6

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Note! The KGTW configuration cannot be changed if OPC communication is active – the OPC communication state can be changed by selecting Start OPC or Stop OPC via OPC menu item in KGTW main menu.

Server Settings Command A number of parameters that control the internal operation of KGTW can be set. In most cases, the default settings for these parameters provide good performance and do not require changing. However, they can be changed to fine-tune the KGTW for a specific environment. To change the KGTW 's internal parameters, invoke the Configure/Server Settings... command. The "KGTW Settings" dialog box will appear:

The following describes each field in this dialog box: Protocol Timer Tick This field is used to change the frequency at which the KGTW checks for work to do - at this frequency KGTW checks if there are new data obtained from corresponding OPC Server(s) and delivers new data to SuiteLink or DDE Client(s). If computer is very busy or some other MS Windows application is taking over the computer then KGTW is activated rarely than setting in the Protocol Timer Tick . Note: The default value is 50 milliseconds. The minimum value is 10 milliseconds. NetDDE being used Select this option if you are networking using NetDDE. Configuration File Directory The first field is used to specify the path (disk drive and directory) in which KGTW will save its current configuration file. KGTW will use this path to load the configuration file the next time it is started.

Page 9: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 7

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Note: Only the "path" may be modified with this field. The configuration file is always named KGTW.TXT. Note: There is no limit to the number of configuration files created, although each must be in a separate directory. Start automatically as Windows NT Service Enabling this option will cause the KGTW to start as a Service. Windows NT-technology-based operating systems offers the capability of running applications even when a user is not logged on to the system. This is valuable when systems must operate in an unattended mode. Enabling this option and rebooting the system will cause the KGTW to run as a Service. However, to view configuration information or to reconfigure the KGTW, the user must log on to the system. Any KGTW related problems that may arise such as missing adapter cards, licensing failures or device drivers not loading will not be visible to the user until a log on is performed. Disabling this option and rebooting the system will cause the KGTW to run as a Windows application program once again. Note: The Service Startup configuration can be changed by MS Windows Control Panel/Services configuration dialogs. The Allow Service to Interact with Desktop checkbox in "Service" dialog box must be checked (the "Service" dialog box can be invoked by pressing the "Startup" button on "Services" dialog box when Service KGTW_IOServer is selected). If Allow Service to Interact with Desktop is not selected then KGTW full functionality is not ensured (e.g. the KGTW configuration can not be changed, no message boxes will be displayed, etc.). Once all entries have been made, click on OK.

OPC Server Settings Command This command is used to select and configure the KGTW OPC Client part - the settings for OPC Server, providing OPC data, and to which the KGTW OPC Client part will connect and communicate. Invoke the /OPC Server Settings... command. The "OPC Servers" dialog box like following will appear:

Page 10: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 8

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Click on New to create a new OPC Server definition or select the already defined OPC Server and click on Modify to edit the OPC Server settings - the "OPC Server Settings" dialog box will appear:

The following can be entered in this dialog box: Name Enter the name of OPC Server. Any name can be entered here, this name will be used in “Topic definition” dialog as a reference to appropriate OPC Server. Node Select the Node (computer name in local network) where the OPC Server resides. Server Select (browse) the OPC Server from the list of available OPC Servers installed and registered on the selected Node. OPC standard version Select the OPC standard (1.0 or 2.0; support for 3.0 is not yet implemented) supported by OPC Server. The default setting is OPC Ver2.0. OPC connection type Select the OPC connection type(s) supported by OPC Server. The default and recommended setting is “Local Server”. Click OK to accept the new OPC Server settings and close the "OPC Server Settings" dialog box or click Cancel to reject the entered settings. The "OPC Server" dialog box will reappear. Click OK to close the "OPC Server" dialog box.

Saving of the KGTW Configuration File If the configuration file does not currently exist, or a new configuration path has been specified, the KGTW will display the "Save Configuration" dialog box:

Page 11: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 9

KGTW Ver 1.x User Manual Rev 1.0 55010m10

This dialog box displays the path where the KGTW is going to save the current configuration file. The path may be changed if necessary. Also, the path can optionally be recorded in the WIN.INI file by selecting the "Make this the default configuration file" option. Doing so will allow the KGTW to find the configuration file automatically each time it is started.

Configuration File Location When the KGTW starts up, it first attempts to locate its configuration file by, first checking the WIN.INI file for a path that was previously specified. If the path is not present in the WIN.INI file, the Server will assume that the current working directory is to be used. To start the KGTW using a configuration file located in a different directory, click the Start button on the Taskbar, then choose Run and enter the following in the Open combo box: KGTW /d:directorynamepath For example, the following command allows to start the KGTW using a configuration file located in directory e:\MyPrograms: KGTW /d:e:\MyPrograms Note: There is no limit to the number of configuration files that may be created, although each must be in a separate directory.

Topic Definition Command The user provides each OPC Server Group used to access the corresponding OPC Server items for this topic with an arbitrary name that is used as the Topic Name for all references to the OPC Server Group. The following steps are taken to define the topics connected to KGTW: 1. Invoke the Configure/Topic Definition… command. The "KGTW Topics" dialog box will appear:

Page 12: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 10

KGTW Ver 1.x User Manual Rev 1.0 55010m10

2. To modify an existing topic, select the topic name and click on Modify . To define a new topic, click on New . The "KGTW Topic Definition" dialog box will appear:

3. Enter the Topic Name . 4. Click on the OPC Server button to associate a topic with the OPC Server (only OPC Server names entered in “OPC Server Settings” dialog box are available here). Additional topics may be associated with the same OPC Server later. 5. Set the Update Rate field to specify the ‘update rate” for KGTW internally

created OPC Group used to access the corresponding OPC Server items for this Topic. This is a time how often OPC Server updates its cache and sends notifications to OPC Client (KGTW) in purpose to keep the data fresh (the OPC Server should never send data to OPC Client at a rate faster than the client requests). Default value 0 means the data are updated as fast as possible, some non-zero value can be sometimes useful to decrease the load of OPC Server.

6. In Items field enter the name (full path) of “objects/items definition” file for this topic. 7. Enter (browse) the Item Path for accessing the OPC Server items. The Item Path is a string prefixed to all item names added to the OPC group. Default value is blank. The Item Path can be selected by browsing (clicking on Browse button) or can be entered manually.

Page 13: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 11

KGTW Ver 1.x User Manual Rev 1.0 55010m10

8. In Translate DLL field the name (full path) of custom DLL for dividing SuiteLink/DDE item name into several parts can be entered; if this field is empty (default) then item names for this Topic will have the format ObjectName.ltem Name ; if this field is not empty then this custom DLL will be used; custom DLL has the following functions: void TranslateInit(void); Called once when KGTW starts. void TranslateClose(void); Called once when KGTW stops. BOOL TranslateDDEItem( LPCSTR lpszOriginal, // input string LPSTR * lplpszObjectName, // calculated object name LPSTR * lplpszOpcTag, // calculated OPC item name BOOL * lpActive, // calculated item state int * lpType, // calculated item type

void * lpCreateParams); // Translate argument configured // in topic dialog

Called each time when activated SuiteLink/DDE item is not found in “objects/items definition” file. void TranslateDeleteStrings( LPSTR lpszObjectName, LPSTR lpszOpcTag); Called each time to release memory allocated in TranslateDDEItem function. 9. In Translate Argument field the “translation argument” string for use by Custom DLL can be entered. The general format of Translate Argument is following: trunc[I][character translate map] where the following rules are used: - if item name begins with ”!” then object name is System and OPC name is item name; translate argument is not used; otherwise valid item names contains three ':' characters; - the object name is calculated from first character to third ':' character by replacing ':' with '$' and '.' with '#' up to first ':' character and by replacing '.' to '#' form the first ':' till third character; the OPC tag name is calculated from third ':' till the end of item name; - if ”trunc ” is specified in translate argument then part of object name is calculated from characters after '$' character, whath follows after third ':' character and if character translation map is specified, then all object name and item name characters are translated according to the character translation map; - if 'I' character is specified in translate argument after ”trunc” and before character translation map then OPC item name characters are not translated according to character translation map;

Page 14: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 12

KGTW Ver 1.x User Manual Rev 1.0 55010m10

- the character translation map begins with ”2” and then contains two parts with equal number of characters: 1st part contains character list to be translated and 2nd part contains the replacement characters for each character in 1st part. For example, if Translate Argument is ”trunc2abba” and calculated object name is ”abba” then after translation 'a' character is replaced with 'b' and 'b' character is replaced with 'a' and resulting object name will be ”baab”. Once all entries have been made, click on OK. Select OK in "Topic definition" dialog box when configuration for all Topics has been performed.

Item Names KGTW supports freely configurable item naming, implemented as a set of structured Objects/Items, which are pre-defined for each topic in “objects/items definition” file. The “objects/items definition” file can be generated automatically (e.g. by Wonderware AS scripts) or manually.

“Objects/items definition” file The format of “objects/items definition” file is rather simple – it is a text file, where one row can contain: - Object name, included in square brackets [] - Item name, in following format: “Item name reference, OPC item name” All items must follow the Object where items belong, for example: [112Q$11#105Y1] ACT_PRES_TXT:C,112Q:MOTCON:11.105Y1:ACT_PRES_TXT:C REALA:C,112Q:MOTCON:11.105Y1: REALA:C In above example: - 112Q$11#105Y1 is Object name, - ACT_PRES_TXT:C and REALA:C are item name references – and corresponding SL/DDE item names are 112Q$11#105Y1.ACT_PRES_TXT:C and 112Q$11#105Y1.REALA:C - 112Q:MOTCON:11.105Y1:ACT_PRES_TXT:C and 112Q:MOTCON:11.105Y1: REALA:C are corresponding OPC item names The “objects/items definition” file can contain “always active” items, marked with special prefix # (default, can be changed by setting in KGTW.INI file). The following example of “always active” item definition: [112Q$11#105Y1] #STATUS:E:,112Q:MOTCON:11.105Y1: STATUS:E

Page 15: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 13

KGTW Ver 1.x User Manual Rev 1.0 55010m10

For above example - 112Q$11#105Y1.STATUS:E is SL/DDE item name and 112Q:MOTCON:11.105Y1: STATUS:E is OPC item name.

“Activate/deactivate Object” items When some item is created, activated, deactivated or deleted at KGTW DDE or SuiteLink side, then no any special OPC calls occur. Only KGTW internal structures are modified to indicate proper item state and behavior. The real activation/deactivation of OPC items is done by changing the state of special KGTW built-in “activate/deactivate Object” items, used to control the state of Objects during KGTW runtime. There are following “activate/deactivate Object” items supported (two independent activation/deactivation groups are supported – 2nd group is indicated by item name suffix 1): ObjectName.IncActive ObjectName.DecActive ObjectName.Active ObjectName.IncActive1 ObjectName.DecActive1 ObjectName.Active1 These “activate/deactivate Object” items are used in the following way: Each SL/DDE Client can write any value (e.g. 1) to Write Only item IncActive or IncActive1 when Object needs to be activated by this client, and write any value (e.g. 1) to Write Only item DecActive or DecActive1 when Object needs to be deactivated. The OPC items contained by Object are activated by KGTW when this Object “activation” increment count is greater than zero and deactivated when “activation” increment count is zero or less than zero. The Read/Write items Active or Active1 indicates the Object “activation” increment count current value and can be used to reset “activation” increment count to initial (non-active) value by writing 0 (zero) to Active or Active1 . When new value is written to SuiteLink/DDE “activate/deactivate Object” item then KGTW calls OPC function for activating or deactivating the corresponding set of OPC items contained by the Object. When new value is written to SuiteLink/DDE item ObjectName.Item name reference then written value is forwarded to corresponding OPC item owned by Object. When data change event is received for OPC item, then KGTW determines Object for this OPC item and changes the value of corresponding DDE or SuiteLink item if this item is created and activate.

Creating “Objects/items definition” file in Wonderw are Application Server The following explains how the “objects/items definition” file is created in WAS application to support configurable activation/deactivation of OPC Server items depending on Wonderware InTouch View windows “show/hide” state.

Page 16: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 14

KGTW Ver 1.x User Manual Rev 1.0 55010m10

The “objects/items definition” file is generated automatically in WAS application by using programmed in C# .NET dynamic library (CreateitemList.dll ) function WriteIOitemToFile . This function executes on every WAS object OnScan script, containing parameters of different Objects. For every item this function is executed once – it writes one item data into one text line in “objects/items definition” file. Description of WriteIOitemToFile function: Inputs: string sIOItemsFilePath – sets the full path of “objects/items definition” location e.g. c:/temp/WASIOItems.txt. string WASObjectName – WAS Object name, returned by WAS script function Me.Tagname, e. g. 54Q$54#500GR1. string sOPCItem – contains the item name generated by WAS script, in following format: DDE/SuiteLink name,OPC item name For example: #:MORD:2:E,54Q:MMCX:54.500GR1:MORD:2:E Note: if this string starts with ”#”symbol then it means item is always active. int iDebugLevel – debug mode: 0 no debug message to Wonderware LogViewer; 1 – write debug message to Wonderware LogViewer. Code sample in WAS scripts: me.C_NORMAL.output.outputDest = me._MB3_Driver +Me.tagname + ".!C_NORMAL:"; CreateIOitemList.CreateIOitemList.WriteIOitemToFile ( MyEngine.IOListFilePath, Me.Tagname,"#!C_NORMAL:, !C_NORMAL:" + me.DeviceBlockType + sObject, MyEngine.iIOListdllDebugLevel); ………….. me.C_FAST_ACTIVE.input.inputSource = me._MB3_Driver + Me.tagname +".!C_FAST_ACTIVE:"; CreateIOitemList.CreateIOitemList.WriteIOitemToFile ( MyEngine.IOListFilePath, Me.Tagname,"#!C_FAST_ACTIVE:, !C_FAST_ACTIVE:" + me.DeviceBlockType + sObject, MyEngine.iIOListdllDebugLevel);

Page 17: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 15

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Output WASIOItems.txt text file format: [IAS object name] #DDE/SuiteLink item name, OPC item name - always active items DDE/SuiteLink item name, OPC item name – activated/deactivated by KGTW items “Objects/items definition” sample data: [54Q$54#500GR1] #!POLL:, !POLL:MMCX_54.500GR1 #!ORDER_MMI:, !ORDER_MMI:MMCX_54.500GR1 #!MODE:, !MODE:MMCX_54.500GR1 ........... #:MORD:12:E, 54Q:MMCX:54.500GR1:MORD:12:E #:MORD:13:E, 54Q:MMCX:54.500GR1:MORD:13:E #:MORD:14:E, 54Q:MMCX:54.500GR1:MORD:14:E #:MORD:15:E, 54Q:MMCX:54.500GR1:MORD:15:E :STATUS:C, 54Q:MMCX:54.500GR1:STATUS:C :IND1:C, 54Q:MMCX:54.500GR1:IND1:C :IND2:C, 54Q:MMCX:54.500GR1:IND2:C :REALD:C, 54Q:MMCX:54.500GR1:REALD:C ….. :REALE:C, 54Q:MMCX:54.500GR1:REALE:C :ACT_PRES_TXT:C, 54Q:MMCX:54.500GR1:ACT_PRES_TXT:C [54Q$54#500M1] #!POLL:, !POLL:MOTC_54.500M1 ......... #:MORD:14:E, 54Q:MOTCON:54.500M1:MORD:14:E #:MORD:15:E, 54Q:MOTCON:54.500M1:MORD:15:E :STATUS:C, 54Q:MOTCON:54.500M1:STATUS:C :R_RES:C, 54Q:MOTCON:54.500M1:R_RES:C :RRES_HL:C, 54Q:MOTCON:54.500M1:RRES_HL:C :IND1:C, 54Q:MOTCON:54.500M1:IND1:C :IND2:C, 54Q:MOTCON:54.500M1:IND2:C :ALARM_UNACK:C, 54Q:MOTCON:54.500M1:ALARM_UNACK:C :INTWA:C, 54Q:MOTCON:54.500M1:INTWA:C :BOOL_A_H:C, 54Q:MOTCON:54.500M1:BOOL_A_H:C :ACT_PRES_TXT:C, 54Q:MOTCON:54.500M1:ACT_PRES_TXT:C [54Q$54#500Y1] ……….

Using KGTW with Suite Link and DDE Clients The KGTW is accessible from Suite Link clients (e.g. Wonderware InTouch) and DDE clients (e.g. MS Excel).

Using the KGTW with InTouch To access KGTW data from InTouch , the Access Names and Tag names should be defined in WindowMaker .

Page 18: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 16

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Defining the Access Names InTouch uses Access Names to reference real-time I/O data. Each Access Name equates to an I/O address, which can contain a Node , Application , and Topic . In a distributed application, I/O references can be set up as global addresses to a network I/O Server or local addresses to a local I/O Server. To define the Access Names in WindowMaker node invoke the /Special/Access Names... command. The "Access Names" dialog box will appear:

Click on Add… . The "Add Access Name" Dialog Box will appear:

Note: If Add is selected, this dialog box will be blank when it initially appears. Data has been entered here to illustrate the entries that are made. The following fields are required entries when entering an Access Name Definition: Access Name In the Access Name box type the name you want InTouch to use to this Access Name. (For simplicity, use the same name that you will use for the Topic Name here.)

Page 19: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 17

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Node Name If the data resides in a network I/O Server, in the Node Name box, type the remote node's name. Application Name In the Application Name box, type the actual program name for the I/O Server program from which the data values will be acquired. In case the values are coming from appropriate OPC Server, the KGTW is used. Do not enter the .exe extension portion of the program name. Topic Name Enter the name defined for the topic in the KGTW to identify the topic the KGTW will be accessing. The Topic Name is an application-specific sub-group of data elements. In the case of data coming from KGTW program, the topic name is the exact same name configured for the topic in the KGTW. Note: This will usually be the same as the "Access Name", although, if desired, they may be different. However, it must be the same name used when the topics were configured in Configuring the KGTW section. Which protocol to use Select the protocol (DDE or Suite Link) that you are using. When to advise server Select Advise all items if you want the KGTW program to activate all data whether or not it is in visible windows, alarmed, logged, trended or used in a script. Selecting this option will impact performance, therefore its use is not recommended. Select Advise only active items if you want the KGTW program to activate only points in visible windows and points that are alarmed, logged, trended or used in any script. Click OK to accept the new Access Name and close the “Add Access Name” dialog box. The “Access Names” dialog box will reappear displaying the new Access Name selected in the list. Click Close to close the “Access Names” dialog box.

Defining the Tag names To define the Tag names associated with the new "Access Name", invoke the /Special/Tagname Dictionary... command (in WindowMaker ). The "Tagname Dictionary" dialog box will appear:

Page 20: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 18

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Click on New and enter the Tag Name . (The tag name defined here is the name InTouch will use. The KGTW does not see this name.) Select the tag type by clicking on the Type:… button. The "Tag Types" dialog box will appear:

To access the elements of OPC arrays, the type must be I/O Discrete , I/O Integer , I/O Real or I/O Message . Select the Tag type. The "Details" dialog box for the tag name will appear:

Select the Access Name for KGTW by clicking on the Access Name:… button. The "Access Names" dialog box will appear:

Page 21: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 19

KGTW Ver 1.x User Manual Rev 1.0 55010m10

Select the appropriate Access Name and click on Close . (If the Access Name has not been defined as previously described, click on Add and define the Access Name now.) The "Details" dialog box will appear displaying the selected Access Name:

Enter an KGTW item name to be associated with this tagname in the Item: field in the "Details" box:

(Refer to the Item Names section for complete details.) Once all entries have been made, click on the Save button (in the top dialog box) to accept the new tagname. To define additional tagnames click on the New button. To return to the WindowMaker main screen, select Close .

Monitoring the Status of Communication with InTouch InTouch supports built-in topic names called DDEStatus and IOStatus , which are used to monitor the status of communication between the KGTW and InTouch. For more information on the built-in topic names DDEStatus and IOStatus, see your online “InTouch User’s Guide”.

Page 22: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 20

KGTW Ver 1.x User Manual Rev 1.0 55010m10

The status of communication between the KGTW and InTouch can be read into Excel by entering the following DDE reference formula in a cell on a spreadsheet (in following examples MB300 is the Topic Name configured for KGTW): =view|DDEStatus!MB300 or =view|IOStatus!MB300

Notes on Using Microsoft Excel Data from KGTW topics may be accessed from Excel spreadsheets. To do so, enter a formula like the following into a cell on the spreadsheet. =KGTW|topic!item Sometimes, Excel requires the topic and/or item to be surrounded by apostrophes. In the formula, topic must be replaced with one of the valid topic names defined during the Server configuration process. Replace item with one of the valid item names described in the Item Names section.

Reading Values into Excel Spreadsheets Values may be read directly into Excel spreadsheets by entering a DDE formatted formula into a cell, as shown in the following examples: = KGTW|MB300!'112Q$11#105Y1.INTWA:C' = KGTW|Device3!'501Q$5#235M5.IncActive' = KGTW| PLC2!'#PLCStatus’ PLC2!'#PLCStatus Note: Refer to the Microsoft Excel manual for complete details on entering Remote Reference formulas for cells.

Troubleshooting WIN.INI entries The first time you run the KGTW configuration, most of the items in the following list will automatically appear in the WIN.INI file, located in the MS Windows system directory (e.g. C:\WINNT). It is an ASCII file and can be altered manually if you wish with any text editor, e.g., MS Windows Notepad (do not use a program that formats text, such as MS Word or Write unless the file is saved as a DOS text). The following is a typical entry for the KGTW: [KGTW] WinIconic=0 WinFullScreen=0 WinTop=112 WinLeft=0 WinWidth=200 WinHeight=168

Page 23: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 21

KGTW Ver 1.x User Manual Rev 1.0 55010m10

ShowEvents=0 ShowOPCCalls=0 ShowOPCData=0 ShowData=0 ShowErrors=1 Verbose=0

Troubleshooting menu The following debugging choices are appended to the KGTW’s System Menu (the menu that appears when you click on the KGTW icon in the upper left hand corner of the KGTW window): ShowEvents - if checked then KGTW specific events are logged (not yet

implemented). Show Writes - if checked then OPC write events will be logged. Show OPC Calls - if checked then activity of OPC interface function calls is displayed. Show OPC Data - if checked then OPC data received (OPC callbacks) is displayed. ShowErrors - if checked then all information about errors is displayed. DumpScreen - if checked then information about active OPC Server(s), topics and

active arrays is displayed on KGTW main window. ClearScreen - if checked then KGTW main window is cleaned. All debugging information (except DumpScreen and ClearScreen is displayed via the Wonderware SMC (System Management Console) Log Viewer, which must be active for these commands to work. Warning: if you check Show OPC Calls and Show OPC Data , debug output grows very fast.

Page 24: DCS Gateway (KGTW)media.klinkmann.com/servers/docs/55010m10.pdf · DCS Gateway (KGTW) for providing OPC data to SuiteLink/DDE Clients User Manual Draft Ver 1.x Rev 1.0 DR 550 10 KLINKMANN

Klinkmann Automation KGTW 22

KGTW Ver 1.x User Manual Rev 1.0 55010m10

KLINKMANN AUTOMATION KGTW

Revision History

Sep 2007 Rev 0.90 First Release Oct 2008 Rev 1.0 Translate DLL added. OPC menu added.