experion mx odx link - balibago platform - experion mx/6510020413.pdf · honeywell products. it is...
Post on 13-Jul-2020
24 Views
Preview:
TRANSCRIPT
Experion MX ODX Link
User Manual
6510020413
Experion MX ODX Link User Manual
March, 2012
Confidentiality Statement
This manual is a product of Honeywell. It is intended for use only by Honeywell and customer personnel in connection with Honeywell products. It is strictly prohibited to copy this manual or any part thereof or to transfer this manual or any part thereof to any non-Honeywell person or entity, except customer personnel for use in connection with Honeywell products. Persons employed by a third-party service company shall not have access to this manual.
Notice
All information and specifications contained in this manual have been carefully researched and prepared according to the best efforts of Honeywell, and are believed to be true and correct as of the time of this printing. However, due to continued efforts in product improvement, we reserve the right to make changes at any time without notice.
Trademarks
All trademarks and registered trademarks are the properties of their respective holders.
Copyright
© 2012 Honeywell
All rights reserved. No part of this publication may be reproduced or translated, stored in a database or retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of Honeywell.
Contents
Introduction.............................................................................................................................................. iii
Audience ................................................................................................................................................ iii
About This Manual ................................................................................................................................ iii
Conventions ........................................................................................................................................... iii
1. Setting up RAE ODX Server and ODX Client ............................................................................... 1-1
1.1. RAE ODX Server...................................................................................................................... 1-1
1.2. RAE ODX Client .................................................................................................................... 1-13
List of Figures Figure 1-1 Shows how this database will appear when viewed with the RAE Browser. ........................1-9 Figure 1-2 How this might appear in the RAE Browser........................................................................1-13 Figure 1-3 Shows how this might appear in the RAE Browser .............................................................1-26
List of Tables Table 1-1 The field in the HmxConfiguration table ................................................................................1-3 Table 1-2 The field in the HmxConfiguration table ................................................................................1-3 Table 1-3 The following is a description of the “Odx Server Events” table and fields.........................1-10 Table 1-4 The Link table is structured as follows..................................................................................1-14 Table 1-5 The TransferGroup table is as follows ..................................................................................1-16 Table 1-6 The Variable table is as follows ............................................................................................1-17
P/N: 6510020413 3/29/12 i
Introduction
The purpose of this manual is to describe the theory and features of ODX Client and Server.
Audience
This manual is intended for use by engineers or process engineers and assumes that the reader has some knowledge of the operation of a paper machine and a basic understanding of mechanical, electrical and computer software concepts.
About This Manual
This manual contains 1 chapter.
Chapter 1, Setting up RAE ODX Server and ODX Client, describes the procedure to setup ODX Server and ODX Client.
Conventions
The following conventions are used in this manual:
Text may appear in uppercase or lowercase except as specified in these conventions. Boldface Boldface characters in this special type indicate your input.
P/N: 6510020413 3/29/12 iii
Experion MX ODX Link User Manual Introduction
Special Type Characters in this special type that are not boldfaced indicate system prompts, responses, messages, or characters that appear on displays, keypads, or as menu selections.
Italics In a command line or error message, words and numbers shown in italics represent filenames, words, or numbers that can vary; for example, filename represents any filename. In text, words shown in italics are manual titles, key terms, notes, cautions, or warnings.
Boldface Boldface characters in this special type indicate button names, button menus, fields on a display, parameters, or commands that must be entered exactly as they appear.
lowercase In an error message, words in lowercase are filenames or words that can vary. In a command line, words in lowercase indicate variable input.
Type Type means to type the text on a keypad or keyboard. Press Press means to press a key or a button. [ENTER] or [RETURN]
[ENTER] is the key you press to enter characters or commands into the system, or to accept a default option. In a command line, square brackets are included; for example: SXDEF 1 [ENTER]
[CTRL] [CTRL] is the key you press simultaneously with another key. This key is called different names on different systems; for example, [CONTROL], or [CTL].
[KEY-1]-KEY-2 Connected keys indicate that you must press the keys simultaneously; for example, [CTRL]-C.
Click Click means to position the mouse pointer on an item, then quickly depress and release the mouse button. This action highlights or “selects,” the item clicked.
Double-click Double-click means to position the mouse pointer on an item, and then click the item twice in rapid succession. This action selects the item “double-clicked.”
Drag X Drag X means to move the mouse pointer to X, then press the mouse button and hold it down, while keeping the button down, move the mouse pointer.
Press X Press X means to move the mouse pointer to the X button, then press the mouse button and hold it down.
The attention icon appears beside a note box containing information that is important.
The caution icon appears beside a note box containing information that cautions you about potential equipment or material damage.
The warning icon appears beside a note box containing information that warns you about potential bodily harm or catastrophic equipment damage.
3/29/12 P/N: 6510020413 iv
1. Setting up RAE ODX Server and ODX Client
This section provides a detailed steps to configure RAE ODX Server and RAE ODX Client.
1.1. RAE ODX Server
RAE allows data in the RTDR database to be accessed using the Open Data Exchange (ODX) protocol. Data access can be read and/or write. This functionality is provided for backward compatibility and to provide interoperability with existing 3rd party ODX clients, it is not intended to be the primary method of Communication between RAE nodes. For more information on the ODX protocol see the “Open Data Exchange (ODX) Protocol Specification”, PN: 46003400.
The ODX protocol only allows 32 characters to be used as a symbol name and this is not sufficient enough to handle the hierarchical namespace of the RTDR. To enable the RAE ODX Server to map its hierarchical namespace to a 32-character name, the Server uses a translation table. For RAE 2.0 and beyond this is provided through the SQL based HmxConfiguration database and the [Odx Server Variables] table. For earlier systems an “Odx Server Variables” table resided directly within the RTDR. The old mechanism is still fully supported for backward compatibility but unless the HmxConfiguration database is used, it is not possible to have dynamic variable additions. The table allows the flat namespace (i.e. symbol name) to be mapped to the hierarchical namespace of the RTDR (i.e. path). The table must be added and populated in the RTDR if you wish to use the RAE ODX Server.
P/N: 6510020413 3/29/12 1-1
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
The primary functions supported by the RAE ODX Server are:
Symbol Lookup:
o A client can determine the availability of a given symbol(s) and determine the symbol’s definition. The server will only validate against “Flat Name” (i.e. exposed symbol names) entries in the “Odx Server Variable” table.
Read Transfers:
o Data can be retrieved on a one-shot, periodic or event basis. All symbols in a group are guaranteed to be delivered synchronized in the return message. All RTDR simple types are supported (i.e. byte, short, long, float, double, ascii and date) and up to 2-D arrays of these types. The event triggers can be based either on an “ordinal” transition or by an RTDR ObjectHasChanged notification.
Cancel Data Transfer:
o Cancels a previously requested periodic or ordinal triggered read transfer.
Write Transfers:
o In addition to writing the actual data, a write operation can also cause an RTDR ObjectHasChanged notification to be set against a particular record.
The following description of the “Odx Server Variables” table and fields are really for information only. It is not expected that anyone would use these directly today. All configuration is expected to be in the SQL configuration database and placed there through the configuration browser or interactively through HmxOnLineConfigurator, from C:\Programe Files\Honeywell\Experion MX\RAE\BIN\TOOLS.
For Field Names that appear as x/y, the x entry is for the older RTDR table and the y entry is the field in the HmxConfiguration table.
3/29/12 P/N: 6510020413 1-2
Setting up RAE ODX Server and ODX Client RAE ODX Server
Table 1-1 The field in the HmxConfiguration table
Field Name Type Description
Flat Name/Tagname Ascii Specifies the 32 character symbol name a client can use to access the data.
Path/RtdrPath Ascii Specifies the actual RTDR location of the data, described in the standard hierarchical representation of …/recordname/fieldname
Max Dim1 size Long This specifies the size of the first dimension if the RTDR variable is an array. Set this to 1 if this is not an array.
Max Dim2 size Long This specifies the size of the second dimension if this variable is an array. Set this to 1 if this is not an array. Set this to maximum size of the string if this field is an Ascii field type *
Data Conversion Type
Ascii Valid values are ORDINAL or FLOAT. These can be applied to a ByteField to have the server treat it as an ordinal or to a DoubleField to have the server treat it as a float. **
Special use of this field when the RTDR field is an Ascii string
** This field can be used to provide backward compatibility to clients written to only handle a subset of odx types, typically those available through MxOpen. If this field is blank then no action is taken and all data RTDR data types map directly to their equivalent odx data types, as shown in the first 2 columns. The following table shows how this field works
Table 1-2 The field in the HmxConfiguration table
RTDR DATA TYPE ODX DATA TYPE Data Conversion Field
ODX Data Type
ByteField T_BYTE ORDINAL T_ORDINAL
ShortField T_INTEGER NA T_INTEGER
LongField T_LONG NA T_LONG
FloatField T_FLOAT NA T_FLOAT
DoubleField T_DOUBLE FLOAT TFLOAT
AsciiField T_ASCII NA T_ASCII
The following is a build file example of using the “Odx Server Variables” table.
AddField "/","DataTypes",ChildField,0
AddTable "list table"
P/N: 6510020413 3/29/12 1-3
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
AddField "list table","Data","ChildListField",0
AddRecord "list table",
"parent" = "/DataTypes,DataTypes"
AddTable "Data";
AddField "Data","ASCII", "AsciiField", 0
AddField "Data","BYTE", "ByteField", 0
AddField "Data","INTEGER", "ShortField", 0
AddField "Data","LONG", "LongField", 0
AddField "Data","FLOAT", "FloatField", 0
AddField "Data","DOUBLE", "DoubleField", 0
; The following simply defines of datapoints, which will be accessed
; by the RAE ODX Server.
;
ADDRECORD "Data",
"PARENT" = "/DataTypes/data,Data Set 1",
"ASCII" = "ASCII TEST1",
"BYTE" = "1",
"INTEGER" = "2",
"LONG" = "3",
"FLOAT" = "4",
"DOUBLE" = "5"
ADDRECORD "Data",
"PARENT" = "/DataTypes/data,Data Set 2",
"ASCII" = "ASCII TEST2",
3/29/12 P/N: 6510020413 1-4
Setting up RAE ODX Server and ODX Client RAE ODX Server
"BYTE" = "2",
"INTEGER" = "3",
"LONG" = "4",
"FLOAT" = "5",
"DOUBLE" = "6"
ADDRECORD "Data",
"PARENT" = "/DataTypes/data,Data Set 3",
"ASCII" = "ASCII TEST3",
"BYTE" = "3",
"INTEGER" = "4",
"LONG" = "5",
"FLOAT" = "6",
"DOUBLE" = "7"
ADDRECORD "Data",
"PARENT" = "/DataTypes/data,Data Set 4",
"ASCII" = "ASCII TEST4",
"BYTE" = "4",
"INTEGER" = "5",
"LONG" = "6",
"FLOAT" = "7",
"DOUBLE" = "8"
ADDRECORD "Data",
"PARENT" = "/DataTypes/data,Data Set 5",
P/N: 6510020413 3/29/12 1-5
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
"ASCII" = "ASCII TEST5",
"BYTE" = "5",
"INTEGER" = "6",
"LONG" = "7",
"FLOAT" = "8",
"DOUBLE" = "9"
;
; Define the Odx Server Variable table
;
AddTable "Odx Server Variables"
AddField "Odx Server Variables","Flat Name","AsciiField",Scalar// Flat name of variable
AddField "Odx Server Variables","Path","AsciiField",Scalar// Path to variable
AddField "Odx Server Variables","Max Dim1 size","LongField",Scalar// Max dimension 1 size if array
AddField "Odx Server Variables","Max Dim2 size","LongField",Scalar// Max dimension 2 size if array
AddField "Odx Server Variables","Data Conversion Type","AsciiField",Scalar// Data Conversion type for byte and double fields.
;
; Populate the Odx Server Variable table
; Here we are mapping the symbolnames ascii(n), which a client will use,
; to the RTDR hierarchical namespace of /DataTypes/data set (n)/ascii. This
; is simply repeated for the byte field etc.
AddRecord "Odx Server Variables",
"Flat Name" = "ascii1",
3/29/12 P/N: 6510020413 1-6
Setting up RAE ODX Server and ODX Client RAE ODX Server
"Path" = "/DataTypes/data set 1/ascii",
"Max Dim1 size" = "1",
"Max Dim2 size" = "20"
AddRecord "Odx Server Variables",
"Flat Name" = "byte1",
"Path" = "/DataTypes/data set 1/byte",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1",
“Data Conversion Type” = “Ordinal”
AddRecord "Odx Server Variables",
"Flat Name" = "integer1",
"Path" = "/DataTypes/data set 1/integer",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
AddRecord "Odx Server Variables",
"Flat Name" = "float1",
"Path" = "/DataTypes/data set 1/float",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
AddRecord "Odx Server Variables",
"Flat Name" = "double1",
"Path" = "/DataTypes/data set 1/double",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
P/N: 6510020413 3/29/12 1-7
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
AddRecord "Odx Server Variables",
"Flat Name" = "ascii2",
"Path" = "/DataTypes/data set 2/ascii",
"Max Dim1 size" = "1",
"Max Dim2 size" = "20"
AddRecord "Odx Server Variables",
"Flat Name" = "byte2",
"Path" = "/DataTypes/data set 2/byte",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
AddRecord"Odx Server Variables",
"Flat Name" = "integer2",
"Path" = "/DataTypes/data set 2/integer",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
AddRecord "Odx Server Variables",
"Flat Name" = "float2",
"Path" = "/DataTypes/data set 2/float",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
AddRecord "Odx Server Variables",
"Flat Name" = "double2",
3/29/12 P/N: 6510020413 1-8
Setting up RAE ODX Server and ODX Client RAE ODX Server
"Path" = "/DataTypes/data set 2/double",
"Max Dim1 size" = "1",
"Max Dim2 size" = "1"
Repeat for datasets 3, 4 and 5.
Figure 1-1 Shows how this database will appear when viewed with the RAE Browser.
The RAE ODX Server also supports events. Read operations can be triggered from a particular event, which can be configured to trigger either from an “ordinal” transition or an actual ObjectHasChanged notification. In addition a write operation can schedule an event by causing an ObjectHasChanged on a particular record. To enable the RAE ODX Server to expose events to a client, the Server uses a table called “Odx Server Events”. There must be an entry/record in this table for each event you wish to use.
P/N: 6510020413 3/29/12 1-9
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
Table 1-3 The following is a description of the “Odx Server Events” table and fields
Field Name Type Description
Event Name Ascii Specifies the 32 character symbol name a client can use to specify the event. This event name alias is applicable for either “Ordinal” changes or ObjectHasChanged events.
Record Path Ascii Specifies the actual RTDR location of the data, described in the standard hierarchical representation of …/recordname/fieldname if the event is to be triggered from an ordinal transition. If an actual RTDR subscription event is to be used then this is the record path (no fieldname and terminated with /) *
Subscribe Mask Long Reason Mask if an RTDR Subscription type event is required, 0 (zero) if the event is to be triggered from an ordinal transition.
Object Has Changed Reason
Long This is used by write operations. This is the event reason the write operation will use when calling ObjectHasChanged.
This table maps the MXOPEN AM ODX Server functionality of ODX ordinals and Fex events to the RTDR ObjectHasChanged facility.
When data read is to be returned based on an “ordinal” transition then the “Record Path” field contains a fully qualified path to a scalar numeric (typically byte) field. The client program can request that the value of the field to monitored for a TTOF (True to False), FTOT (False to True) or any transition. The Subscription Mask field must be zero to use the ordinal transition mechanism.
When read data is to be returned based on an RTDR ObjectHasChanged notification then this field contains a record path, terminated with a ‘/’. The client program can request any transition in this case. The Subscription Mask field must be a non-zero value corresponding to the Event Reason the Server should subscribe with when it registers for the specified RTDR event.
The "Object Has Changed Reason" field is used for write operations that wish to set a Server event when the write is complete. The reason is the event reason the server will use when it issues the ObjectHasChanged notification, on the record specified by “Record Path”.
3/29/12 P/N: 6510020413 1-10
Setting up RAE ODX Server and ODX Client RAE ODX Server
The Following is an example audit trail:
AddTable "Odx Server Events"
// Flat (Alias) name of event/ordinal used by client when specifying event
AddField "Odx Server Events","Event Name","AsciiField",Scalar
// Path to record (for ObjectHasChanged) or field (for Ordinal Transition)
AddField "Odx Server Events","Record Path","AsciiField",Scalar
// Mask for event subscription or 0 if using Ordinal transitions
AddField "Odx Server Events","Subscribe Mask","LongField",Scalar
// Event reasons to be used for write completion operation
AddField "Odx Server Events","Object Has Changed Reason","LongField",Scalar
;
; The following sets up an event alias called Pa1ordinal
; This event is specified as an “Ordinal Transition” type
; The server will poll /DataTypes/data set 2/byte for changes
; and depending on the clients desired transition (TTOF, FTOT or ANY)
; will return the read transfer data on the appropriate change of the byte value
;
AddRecord "Odx Server Events",
"Event Name” = "Pa1ordinal",
"Record Path" = "/DataTypes/data set 2/byte",
"Subscribe Mask"=0
;
; The following sets up an event alias called “eos test”
; This event is specified as an RTDR ObjectHasChanged type
P/N: 6510020413 3/29/12 1-11
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
; The server will subscribe to /DataTypes/data set 3/ with a reason mask
; of –1 (which means any reason) and will return the read transfer data
; when it detects an ObjectHasChanged has occurred on this record
;
AddRecord "Odx Server Events",
"Event Name” = "eos test",
"Record Path" = "/DataTypes/data set 3/",
"Subscribe Mask"=-1
;
; The following sets up an event alias called “write complete”
; This event is specified as an RTDR ObjectHasChanged type
; In this case we mean to use the event as part of a write request
; Here we are specifying that the server should issue an ObjectHasChanged
; Notification on the record /DataTypes/data set 3/ with a reason of 1
; When the write operation is complete.
;
; Although a little unorthodox a client example is given below showing how
; We cause the “eos test” event to be triggered at regular intervals based on our
; write requests utilizing the “write complete” event.
AddRecord "Odx Server Events",
"Event Name” = "write complete",
"Record Path" = "/DataTypes/data set 3/",
"Subscribe Mask"=-1,
"Object Has Changed Reason"=1
3/29/12 P/N: 6510020413 1-12
Setting up RAE ODX Server and ODX Client RAE ODX Client
Figure 1-2 How this might appear in the RAE Browser
1.2. RAE ODX Client
The ODX Client can communicate with any ODX Server (assuming it is properly protocol compliant) but is primarily used with the MXOPEN AM ODX Server. The ODX client is configured similar to all other links in RAE by populating the LINK table to describe the link.
Each link is comprised of groups, which contain configuration information and a list of symbols that will be involved in the read/write transfers.
The groups in an ODX link correspond directly to the following ODX request types:
Periodic Read
One-shot (Demand) Read
Event triggered Read
Write
Once started the link program examines the LINKS table searching for all entries of type ODX. If no entries are found then the program exits. On a running client a separate thread is started for each ODX link entry found. For each ODX link definition the program creates the necessary ODX request messages and after
P/N: 6510020413 3/29/12 1-13
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
validating the symbols in each group, begins to issue the requests. If any symbol in a group is bad then the entire group will be disabled, so it is important to initially check for errors relating to undefined symbols.
The ODX client will sit and poll for any server that is unavailable when the link starts. Under normal operation each group will carry out its appropriate read/write operations and the link Status will be 6, for normal run mode. Any errors with a link are logged in the NT event log and the last error code will appear in the Error field for that link. If the link encounters a serious error (e.g. looses communication with the server) then that particular link shuts down and tries to re-establish the connection.
The ODX Client should be stopped before loading/reloading the RTDR database, or if the RTDR is sent Invalid, this will not be necessary in future versions of the client. The max packet size per group transfer is 64k, an error will be generated in the unlikely event that the packet size is attempting to be exceeded (e.g. a group is reading a float array of 17,000 entries, this would equal a packet size of 17000*4+header = ~68k)
Table 1-4 The Link table is structured as follows
Field Name Type Description
Parent[,Name] AsciiField Parent Name (e.g. /Links)
LinkType AsciiField Type of link - ODX
Hostname AsciiField HostName, actual name if defined in host file, else IP address
Timebase LongField Polling time in millisec (e.g. 200). Used by link to check if groups should do any work etc.
Command LongField Command to Link 0 No Command (initial) 1 Stop Link 2 ReInit for new data
Status LongField Current Status of Link 0 Host needs to start 1 Host is starting 2 Looking up hostname 3 Connecting to Host 4 Logging into host 5 Validating symbols 6 Normal run mode 7 Disabled
Parent[,Name] AsciiField Parent Name (e.g. /Links)
Error LongField Last error encountered
3/29/12 P/N: 6510020413 1-14
Setting up RAE ODX Server and ODX Client RAE ODX Client
Long Parameter 1 LongField Used to hold Thread Id
Long Parameter 2 LongField Unused
Ascii Parameter 1 AsciiField Used to hold the username to be used while logging on
Adding records to the TRANSFERGROUP table configures the transfer groups. Each group will correspond directly to a particular ODX Read or Write request. Each TransferGroup has a ChildList describing all variables assigned to that group, variables are defined by a symbolname to rtdr path mapping. The parent of the transfer groups should be the Tgroup ChildListField in the LINK table. The Transfer Group record describes the type of group and the RTDR records to be used as part of the RTDR subscription/objecthaschanged mechanism. The client supports five different group types:
1. Read on Rate - Data arrives at a fixed periodic rate Function = Read TriggerType = NumericRate Rate Or Reason = n, where n is a number representing the
periodic rate in secs (e.g. 5)
2. Read on Demand - Single read scheduled from an RTDR ObjectHasChanged Function = Read TriggerType = Demand Trigger Variable = Record path specifies RTDR record to
subscribe to. Rate Or Reason = n, where n is the event reason to use
during subscription
3. Read on Event - Data arrives based on a server side event occurring Function = Read TriggerType = Event Trigger Variable = Server size ordinal to be used as trigger
for event. Rate Or Reason = Transition type to use, FTOT, TTOF,
ANY default is ANY.
4. Write on Rate - Data is written at a fixed periodic rate Function = Write TriggerType = NumericRate
P/N: 6510020413 3/29/12 1-15
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
Rate Or Reason = n, where n is a number representing the periodic rate in secs (e.g. 5)
Event Path = Server side event name to be schedule when the write completes
5. Write on Event - Writes occur based on an RTDR ObjectHasChanged. Function = Write TriggerType = Event Trigger Variable = RTDR record path group subscribes to,
write occurs when an ObjectHasChanged occurs on this record with a reason matching that specifird in “Rate Or Reason”
Rate Or Reason = n, where n is the event reason to use during subscription
Event Path = Server side event name to be schedule when the write completes
Any fields not shown above under each group type are not used by that configuration.
Table 1-5 The TransferGroup table is as follows
FieldName Type Description
Parent[,Name] AsciiField Parent Name
Function AsciiField Read or Write
Trigger Type AsciiField How/When to transfer NumericRate : rate transfer Event: transfer on ojecthaschanged Demand: only applies for reads, used for one-shot
Trigger Variable AsciiField Used by event and demand transfers. Logic Ordinal for read event, record path for demand reads or event writes.
Rate Or Reason AsciiField Rate in seconds for NumericRate transfer Reason for read event transfer, TTOF, FTOT, ANY Reason mask for write event
Event Path AsciiField Event to schedule RTDR record path for reads “Server Event” for writes
Event Reason LongField Reason for ObjectHasChanged if read Unused by writes
3/29/12 P/N: 6510020413 1-16
Setting up RAE ODX Server and ODX Client RAE ODX Client
Adding records to the ODXVARIABLE Table configures variables. The parent of the ODXVariable table should be the Variable ChildListField in the LINK table. Variables are comprised of two parts, the device name that acts as the target for reads/writes from/to the server and an RTDR path that specifies data path to store/retrieve the value to/from.
Table 1-6 The Variable table is as follows
FieldName Type Description
Parent AsciiField Parent Name
Symbol Name AsciiField Device symbol name
RTDBPath AsciiField Path to store returned data (reads) Path to outgoing data (writes)
The following is an example audit trail; this is matched to the RAE ODX Server configuration given above:
;
; Define the necessary LINK related tables
;
AddTable "LINK"
AddField "LINK","LINKTYPE","AsciiField",0
AddField "LINK","HOSTNAME","AsciiField",0
AddField "LINK","TIMEBASE","LongField",0
AddField "LINK","COMMAND","LongField",0
AddField "LINK","STATUS","LongField",0
AddField "LINK","ERROR","LongField",0
AddField "LINK","LONG PARAMETER 1","LongField",0
AddField "LINK","LONG PARAMETER 2","LongField",0
AddField "LINK","ASCII PARAMETER 1","AsciiField",0
AddField "LINK","ASCII PARAMETER 2","AsciiField",0
P/N: 6510020413 3/29/12 1-17
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
AddField "LINK","TGROUP","ChildListField",0
// add table to contain information about a specific transfer
AddTable "TRANSFERGROUP"
AddField "TRANSFERGROUP","FUNCTION","AsciiField",0
AddField "TRANSFERGROUP","TRIGGER TYPE","AsciiField",0
AddField "TRANSFERGROUP","TRIGGER VARIABLE","AsciiField",0
AddField "TRANSFERGROUP","RATE OR REASON","AsciiField",0
AddField "TRANSFERGROUP","EVENT PATH","AsciiField",0
AddField "TRANSFERGROUP","EVENT REASON","LongField",0
AddField "TRANSFERGROUP","VARIABLE","ChildListField",0
AddField "TRANSFERGROUP","TRANSFER TIME","DoubleField",0
// add table to define odx variables
AddTable "ODXVARIABLES"
AddField "ODXVARIABLES","SYMBOL NAME","AsciiField",0
AddField "ODXVARIABLES","RTDBPATH","AsciiField",0
;
; Populate the tables
;
AddRecord "LINK",
"PARENT" = "/LINKS,QCS",
"LINKTYPE" = "ODX",
"HOSTNAME" = "158.100.555.555",
"TIMEBASE" = "200",
"COMMAND" = "0",
3/29/12 P/N: 6510020413 1-18
Setting up RAE ODX Server and ODX Client RAE ODX Client
"STATUS" = "0",
"ERROR" = "0",
"LONG PARAMETER 1" = "",
"LONG PARAMETER 2" = "",
"ASCII PARAMETER 1" = "IDS",
"ASCII PARAMETER 2" = "RESULTS"
//
// Read On Rate example
//
AddRecord "TRANSFERGROUP",
"PARENT" = "/QCS/TGroup,OneSecRateRead",
"FUNCTION" = "Read",
"TRIGGER TYPE" = "NumericRate",
"RATE OR REASON" = "1"
//
// Read On Event example (using Ordinal Trigger type on RAE Server)
//
AddRecord "TRANSFERGROUP",
"PARENT" = "/QCS/TGroup,OrdTriggerRead",
"FUNCTION" = "read",
"TRIGGER TYPE" = "event",
"TRIGGER VARIABLE"= "pa1ordinal",
"RATE OR REASON" = "TTOF"
//
P/N: 6510020413 3/29/12 1-19
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
// Read on Event example (using ObjectHasChanged type on RAE Server /FEX event)
//
//
On the client side the Read On Event configuration is the same in both cases, the differenece is on the server side.
//
AddRecord "TRANSFERGROUP",
"PARENT" = "/QCS/TGroup,EvtTriggerRead",
"FUNCTION" = "read",
"TRIGGER TYPE" = "event",
"TRIGGER VARIABLE"= "eos test",
"RATE OR REASON" = "ANY"
//
// Read on Demand example
//
AddRecord "TRANSFERGROUP",
"PARENT" = "/QCS/TGroup,DemandRead",
"FUNCTION" = "read",
"TRIGGER TYPE" = "demand",
"TRIGGER VARIABLE"="/pa datatypes/data set 1/",
"RATE OR REASON" = "1"
//
// Write on Rate example, note the completion of the write will trigger the “write complete” event // on the server, which on our example will actually cause the
3/29/12 P/N: 6510020413 1-20
Setting up RAE ODX Server and ODX Client RAE ODX Client
EvtTriggerRead read group to //receive data (“eos test” subscribes to the record specified by “write complete”)
//
AddRecord "TRANSFERGROUP",
"PARENT" = "/QCS/TGroup,FiveSecRateWrite",
"FUNCTION" = "Write",
"TRIGGER TYPE" = "NumericRate",
"RATE OR REASON" = "5",
"Event Path" = "write complete",
"Event Reason" = 1
;
; Add some data
;
AddField "/","PA DataTypes", ChildField, 0
AddTable "PA list table"
AddField "PA list table","Data","ChildListField",0
AddRecord "PA list table",
"parent" = "/PA DataTypes,PA DataTypes"
AddTable "PA Data"
; ByteField Signed 8-bit integer
; ShortField Signed 16-bit integer
; LongField Signed 32-bit integer
; FloatField Single precision (32-bit) floating point
; DoubleField Double precision (64-bit) floating point
; AsciiField ASCII string (single byte character array)
P/N: 6510020413 3/29/12 1-21
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
;
AddField "PA Data","ASCII","ASCIIField",0
AddField "PA Data","BYTE","byteField",0
AddField "PA Data","INTEGER","SHORTField",0
AddField "PA Data","FLOAT","FLOATField",0
AddField "PA Data","DOUBLE","DoubleField",0
ADDRECORD "PA Data",
"PARENT" = "/PA DataTypes/data,Data Set 1",
"ASCII” = "PA TEST1",
"BYTE" = "0",
"Integer"= "1",
"Float" = "2.0",
"Double" = "3.0"
ADDRECORD "PA Data",
"PARENT" = "/PA DataTypes/data,Data Set 2",
"ASCII” = "PA1TEST2",
"BYTE" = "1",
"Integer"= "2",
"Float" = "3.0",
"Double" = "4.0"
;
; Repeat for 3, 4 and 5 etc.
;
//
3/29/12 P/N: 6510020413 1-22
Setting up RAE ODX Server and ODX Client RAE ODX Client
// OneSecRateRead
//
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/OneSecRateRead/Variable,Var1",
"SYMBOL NAME" = "ascii1",
"RTDBPATH" = "/PA DataTypes/data set 1/ascii"
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/OneSecRateRead/Variable,Var2",
"SYMBOL NAME" = "byte1",
"RTDBPATH" = "/PA DataTypes/data set 1/byte"
.
.
.
//
// OrdTriggerRead
//
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/OrdTriggerRead/Variable,Var1",
"SYMBOL NAME" = "ascii2",
"RTDBPATH" = "/PA DataTypes/data set 2/ascii"
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/OrdTriggerRead/Variable,Var2",
"SYMBOL NAME" = "byte2",
P/N: 6510020413 3/29/12 1-23
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
"RTDBPATH" = "/PA DataTypes/data set 2/byte"
//
// EvtTriggerRead
//
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/EvtTriggerRead/Variable,Var1",
"SYMBOL NAME" = "ascii3",
"RTDBPATH" = "/PA DataTypes/data set 3/ascii"
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/EvtTriggerRead/Variable,Var2",
"SYMBOL NAME" = "byte3",
"RTDBPATH" = "/PA DataTypes/data set 3/byte"
.
.
.
//
// DemandRead
//
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/DemandRead/Variable,Var1",
"SYMBOL NAME" = "ascii4",
"RTDBPATH" = "/PA DataTypes/data set 4/ascii"
AddRecord "ODXVARIABLES",
3/29/12 P/N: 6510020413 1-24
Setting up RAE ODX Server and ODX Client RAE ODX Client
"PARENT" = "/QCS/DemandRead/Variable,Var2",
"SYMBOL NAME" = "byte4",
"RTDBPATH" = "/PA DataTypes/data set 4/byte"
.
.
.
//
// FiveSecRateWrite
//
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/FiveSecRateWrite/Variable,Var1",
"SYMBOL NAME" = "ascii5",
"RTDBPATH" = "/PA DataTypes/data set 5/ascii"
AddRecord "ODXVARIABLES",
"PARENT" = "/QCS/FiveSecRateWrite/Variable,Var2",
"SYMBOL NAME" = "byte5",
"RTDBPATH" = "/PA DataTypes/data set 5/byte"
.
.
P/N: 6510020413 3/29/12 1-25
Experion MX ODX Link User Manual Setting up RAE ODX Server and ODX Client
Figure 1-3 Shows how this might appear in the RAE Browser
3/29/12 P/N: 6510020413 1-26
top related