IGSS Interfaces User Guide
Transcription
IGSS Interfaces User Guide
IGSS Interfaces User Guide IGSS Version 8.0 Table of Contents Chapter 1: Welcome to IGSS Interface Help 11 1.1 Overview: The interfaces and their use 11 1.2 About this Help file 12 1.3 Tips on using this Help file 13 Chapter 2: Automation 14 2.1 Getting started with the IGSS Automation interface 14 2.2 Getting started with the built-in VBA editor 20 2.3 Atom names in Automation 30 Chapter 3: Configuration Databases 31 3.1 What is Jet ? 31 3.2 Database Descriptions 31 [MyConfig].mdb 31 ATX table 33 ATXtext table 34 Texts table 35 TextType table 35 Genhdm.mdb 36 MntDb.mdb 37 3.3 Translating Texts in the Configuration 38 Translate alarm texts or object texts 38 3.4 Tips & Tricks Can I access the *.mdb databases without having MS Access installed ? 39 39 Chapter 4: DDE 40 4.1 Introduction 40 Basic DDE concepts 4.2 The DDE Server The interface files 40 41 41 Network DDE 41 Restrictions 42 What Is Inside The Server ? 42 Service name 42 Topics 42 Item names in DDE 43 Supported data formats 46 4.3 Reference Guide to the Services Objects 46 46 Objects 46 REQUEST and POKE 47 Advice Loops 48 Items available for the Object topic 49 System Information 55 System information 55 Items available for the System Information topic 55 Server Information Server information Chapter 5: IGSS Internet Portal 5.1 Introduction 59 59 60 60 What is the IGSS Portal ? 60 5.2 Security Considerations 60 Risk on the Internet 60 Scenario 1: Simple protection on the LAN 61 Scenario 2: Wireless access security in the plant 62 Scenario 3: Extended security for access via the Internet 63 5.3 Setting Up the IGSS Portal 64 Installing software components 64 Setting up Portal usage in IGSS modules 66 5.4 Using the Portal to Monitor and Control 70 Coming onto the Portal 70 Using Online Values 71 Sending commands or changes 74 Creating a Quick Button 78 5.5 Portal Registry Strings 81 Restricting functionality in the Portal 81 Links to the Internet or an intranet 83 Chapter 6: IGSS OPC Server 85 6.1 What is the IGSS OPC Server ? 85 6.2 Architecture of the IGSS OPC Server 86 6.3 Possible locations for the IGSS OPC Server 86 6.4 Install and set up the IGSS OPC Server 87 6.5 OPC Client and Server on Different PCs - Using DCOM 88 Overview: DCOM security 88 Test for OPC Server presence and registration 90 Browse the IGSS OPC Server from the OPC Client 91 Example: SCADA to SCADA with OPC 92 Chapter 7: IGSS Real Time Data in Microsoft Excel 94 7.1 IGSS Real Time Data in Microsoft Excel 94 7.2 Example: Subscribing to real time data in MS Excel 95 Chapter 8: ODBC 98 8.1 The IGSS ODBC Interface 98 8.2 What is ODBC ? 98 8.3 ODBC: Key features and benefits 99 8.4 ODBC Tables 100 Notation in ODBC tables 100 Alphabetical table overview 101 Descriptor Tables 102 BIND_TYPES table 102 BINDDATA table 102 BINDING table 103 DSC_ALMLIST table 103 DSC_ALMLISTCOLS table 103 DSC_ALMLISTFILTERCOND table 104 DSC_ALMLISTFILTERS table 106 DSC_ANIMATION table 106 DSC_ANIMSYM table 107 DSC_ANIMSYMPROPERTIES table 107 DSC_BAR table 109 DSC_BUTTON table 110 DSC_COMMAND table 111 DSC_DIAGRAM table 111 DSC_DIAGRAMS table 112 DSC_EDIT table 112 DSC_ELLIPSE table 113 DSC_FONTS table 114 DSC_GRAPH table 115 DSC_GRAPHELEM table 117 DSC_GRID table 119 DSC_GRIDCELL table 119 DSC_HEADER table 120 DSC_ICON table 121 DSC_ICONS table 122 DSC_INDEX table 125 DSC_LINE table 126 DSC_MAIN table 127 DSC_MEMBERS table 129 DSC_OCXOLE table 130 DSC_PICTURE table 130 DSC_PIE table 130 DSC_POLYGON table 131 DSC_POLYLINE table 133 DSC_PROGRESS table 133 DSC_RECT table 134 DSC_SLIDER table 135 DSC_SUB table 135 DSC_TEMPDSC table 136 DSC_TEMPLATE table 137 DSC_TEXT table 138 DSC_TYPES table 139 VERTEX table 139 General Tables 140 ATOM table 140 CONF table 142 EHEADER table 143 ODBCOPTIONS table 145 OBJ_TYPES table 146 STANDARD table 147 STATUS table 151 SUPERCONF table 152 UNITTXT table 160 Type-Specific Tables 161 Analog Tables 161 ANALOG table 161 ANA_TEMPLATE table 162 Area Tables AREA table 163 163 Counter Tables 164 CNT_TEMPLATE table 164 COUNTER table 165 Diagram Tables PICTURE table Digital Tables 166 166 168 DEFAULTCMD table 168 DIG_ALARMS table 169 DIG_CMD table 170 DIG_STATE table 170 DIG_TEMPLATE table 171 DIGITAL table 173 INVALIDCMD table 174 Graph Tables 175 GRAPH table 175 GRAPHELEM table 178 Group Object Tables 180 GROUPOBJ table 180 MEMBERS table 182 Scaling Tables SCALINGPOINTS table String Tables STRING table Table Tables 182 182 182 182 184 TABLEOBJ table 184 TAB_TEMPLATE table 185 TABLEVALUES table 186 Function Key Tables 187 FKEY table Process Data Tables 187 189 ALM table 189 BCL table 191 LOG table 192 Online Data Tables 193 ATOM_ONLINE table 193 CONF_ONLINE table 194 8.5 How To ... (MS Access 2000) 195 Opening the ODBC tables 195 Editing the ODBC tables 197 Open and Edit the ODBC Tables 200 About the examples 200 Open the ODBC tables 201 Editing the ODBC tables 201 Create Templates and Objects 204 Create an analog template 204 Create an analog object 204 Create a digital template 205 Create a digital object 206 Edit Multiple Objects Simultaneously 207 Replace a template 207 Change the driver ID 208 Extract Historical Data Create an MS Excel chart showing historical values Filter Information Filter an ODBC table Chapter 9: SQL Database for IGSS Data 9.1 Introduction 208 208 209 209 210 210 What is SQL? 210 When to use an SQL database with IGSS? 210 9.2 Installation and Setup of SQL Express 210 The SQL Express server installation 210 9.3 The HDM database for SQL 221 Creating the HDM database on the SQL server 221 Creating an ODBC Data Source for HDM 221 System Configuration setup for HDM 222 9.4 The MNTDB database for SQL 222 Creating the MNT database on the SQL server 222 Creating an ODBC Data Source for Maintenance 223 System Configuration setup for MNT 224 9.5 The LOG database for SQL 224 Creating the LOG database on the SQL server 224 Creating an ODBC data source for LOG 225 System Configuration setup for LOG 225 Chapter 10: Web Access 227 10.1 Web Browser Solution Using ActiveX 227 10.2 Remote Access Solution 229 10.3 Live IGSS Data on Web Pages 230 Chapter 11: WAP 236 11.1 Overview - WAP service in IGSS 236 11.2 Implementation scenarios for an IGSS WAP Services (IWS) solution 237 11.3 Before you begin with WAP 238 11.4 Installing World Wide Web server software 239 11.5 Configure IIS parameters for Windows 2000 239 11.6 Configure IIS parameters for Windows NT 4 242 11.7 Configure Network Setup on Windows 2000 244 11.8 Configure Network Setup on Windows NT 4 244 11.9 Configure access via modem Chapter 12: Reference and Lookup 245 246 12.1 Conventions in this Manual 246 12.2 Getting Help in IGSS 246 12.3 Version Information (IGSS Help System) 248 Chapter 13: Glossary 249 IGSS V8, User Guide Chapter 1: Welcome to IGSS Interface Help 1.1 Overview: The interfaces and their use This topic gives you an overview of the individual interfaces supported by IGSS. Read the list to understand the differences between the interfaces. This will also enable you to choose the right interface for a given task. For further details, click the link in the More Info ? column. This inter- is used to … face … More info ? ActiveX Binding IGSS objects to ActiveX controls bind IGSS object values to ActiveX controls. This is an alternative to using the other descriptor types offered by IGSS. You can, for example, bind the current process value of a process component to an indicator embedded in the ActiveX control. There are numerous controls available on the Internet and you can, of course, also develop your own controls. As opposed to all other descriptor types, you can bind an ActiveX control to multiple IGSS objects. Automation access online data (while the configuration is running). / DDE Using this interface you can, for example: l l subscribe to current process values and active alarms Basic DDE concepts file. "Getting Started with Automation" subscribe to object events (for example, digital state changes) l create, acknowledge and end alarms l start and stop the configuration DDE can be used from, for example, MS Excel. Automation can be used from, for example, Visual Basic. IGSS Portal monitor and control the process from PDAs, wireless What is the devices, cellular phones, etc. that are HTML browser com- IGSS Porpatible. tal? Jet access the native, relational databases (*.mdb) that are created for each configuration you create in IGSS ODBC access offline configuration data with an SQL-enabled ODBC: Key database. The IGSS ODBC1 Driver allows you to view features and edit configuration data and to view historical process and benefits 1 Open DataBase Connectivity - 11 - Jet: Key features and benefits IGSS V8, User Guide data (ALM, LOG and BCL data). You can thus create new IGSS objects and edit their properties directly in a database. OLE link or embed OLE objects on process diagrams. OLE objects An OLE object could be an MS Excel file, an MS Word file, a custom OLE application. Your imagination is the limit. You can embed multiple OLE objects on one process diagram or one object as a whole diagram. In the latter case, no other objects can exist on the diagram. When the object is linked or embedded, you can activate it either in-place (within IGSS) or in the source application. IGSS RTD subscribe to IGSS real time data in a standard Microsoft in MS Excel Excel file. IGSS Real Time Data in Microsoft Excel SQL databases can be set up for use with IGSS where there are large amounts of process data. When to use SQL WAP connect your cellular phone to the IGSS server via the Internet. Overview WAP service in IGSS The WAP interface allows you to: l View current process values l Acknowledge alarms and change object properties l Manually enter or edit report values l View standard reports 1.2 About this Help file What it contains This Help file contains detailed descriptions of all the data exchange interfaces supported by IGSS. l ActiveX l Automation l DDE l IGSS Portal l Jet (Database engine) l IGSS OPC Server - 12 - IGSS V8, User Guide l IGSS Real Time Data in Microsoft Excel l ODBC1 l OLE l SQL database support l WAP What it does not contain In order to benefit from these interfaces, you must use external applications. This Help file does not contain detailed information about these applications and how you use them. It does, however, include examples to illustrate the functionality that is available. Requirements to the reader It is assumed that readers of this Help file: l have a good, working knowledge of IGSS l know how to set up the external applications required to use the interface in question 1.3 Tips on using this Help file How the help information is presented The background information in this Help file is presented in large windows and the procedural (How To) information in a small card-like window at the right side of the screen. The latter window is always on top, allowing you to read the procedural steps and simultaneously manipulate the appropriate user interface elements. Finding information in the ODBC2 table descriptions Use the search methods as follows: l Search for table names on the Index tab (example: “CONF”) l Search for specific fields on the Search tab (example: “ENAME”) If you keep returning to the same Help topics, you can save them on the Favorites tab. 1 Open DataBase Connectivity 2 Open DataBase Connectivity - 13 - IGSS V8, User Guide Chapter 2: Automation 2.1 Getting started with the IGSS Automation interface Automation interface to the IGSS Online Database The interface will give access to: l Object properties like unit, description and scan interval. l Atom properties like process values, alarm limits and I/O modes. l Alarms on single objects or the complete alarm list. l Alarm start, acknowledgement and end time. l System properties like configuration name and status and system time. l Events when objects are changed, alarm changes and configuration status changes. The interface is available from all programs and languages which support the Microsoft Automation standard and, since the interface is dual, can call COM interfaces. This includes among others the Visual Basic (VB) and C/C++ programming languages and all products implementing Visual Basic for Applications (VBA) as a macro language, e.g. all Microsoft Office products. For the examples mentioned here, the VB/VBA programming environment is used. You can try the examples yourself, if you have either Visual Basic or any of the Microsoft Office products installed. Hints will be given to users of other environments when relevant. If you want to use the interface from the built-in VBA editor in IGSS, some of the steps have already been done. Refer to Getting started with the built-in VBA editor for more information. Attaching the interface In the VBA editor, open the Tools menu and browse through the list of Available References, until you come to the entry IGSS32 v.7.00.00 Online Database Access. Select the check box next to it, and you have attached the IGSS Automation interface. - 14 - IGSS V8, User Guide If the entry does not appear in the list of Available References, click the Browse... button and search for the file dc.exe which contains the Type Library. Dc.exe is found in the folder [IGSS InstallPath]\Gss. For C/C++ programmers, the files dc.h, dc_i.c and dc_p.c in the \Gss folder may also be of interest, because it contains declarations needed to access the pure COM interface. If you are using Microsoft C/C++, The MFC Class Wizard can produce C++ wrapper classes for the full interface. Browsing the interface To see what is in the interface, the Object Browser window is indispensable. In the View menu, select Object Browser or press CTRL + F2. In the drop-down box in the upper left corner, select the IGSSonline library where you can view all objects in the IGSS library, their methods, properties and events together with a short description and parameter declarations. - 15 - IGSS V8, User Guide Accessing the interface The only object in the interface that can be directly instantiated is IGSSDB. All other objects are retrieved from collections in IGSSDB or other objects. So you will always have to have at least one instance of IGSSDB to do anything at all. You can accomplish this in one of two ways: 1. implicitly when declaring the object variable: Dim igss As New IGSSDBor 2. explicitly in the code module: Dim igss As IGSSDB Set igss = CreateObject("DC.IGSSDB") Now the methods and properties of IGSSDB are available. One property is especially important, since it indicates if a configuration is loaded and active. This is "IsConfigLoaded". If this is not the case, most of the interface cannot be used and will return errors. This is because if there is no configuration running, then there is no online database to access. The following code will check this: If igss.IsConfigLoaded Then 'Do your database access Else - 16 - IGSS V8, User Guide 'you may try to start the configuration igss.StartConfig EndIf Accessing an IGSS object Having an instance of the IGSSDB object, you can now get access to the IGSS objects through the collection Objects. Let us now access the analog object q1 by: Dim flowObject as IGSSOBJECT Set flowObject = igss.Objects("q1") Now the static properties of an IGSS object can be accessed. These are properties like description, engineering unit, and number of decimals. The code should look like this: Dim desc As String Dim unit As String Dim dec As Integer desc = flowObject.Description unit = flowObject.Unit dec = flowObject.Decimals All dynamic properties of the object are in the IGSSATOM objects. We can get these from the collection "Atoms" on the IGSSOBJECT by: Dim processValue As IGSSATOM Set processValue = flowObject.atoms("Value") Now we can get the value, I/O-mode, etc. of the process value by writing: Dim value as Double Dim iomode as Integer value = processValue.Value iomode = processValue.IOmode You could also avoid "flowObject" and "processValue" variables and get the value directly by writing: - 17 - IGSS V8, User Guide Value = igss.Objects("q1").Atoms("Value") If you only need the process value of atoms, there are a few shortcuts that can be used. Directly on the IGSSOBJECT, two primary atoms have been predefined in ProcessIn and ProcessOut. For the analog object these have been defined to "Value" and "Set Point" respectively. So you could also write: value = flowObject.ProcessIn Directly on the IGSSDB, there is also general access to any process value using the methods ReadDB and WriteDB. So you could also write: value = igss.ReadDB("q1!Value") The syntax for object and atom1 names are similar to the syntax in the DDE interface. Using events To illustrate the use of events, we will go through a little exercise. Let's say we have two IGSS objects, "q1" and "q2", which describe two flows somewhere in our process. We need to calculate the average and notify the user each time a change occurs. In VBA, events can only be used in class modules, so we have to make the following class module called EventDemo: Dim igss As IGSSDB Dim WithEvents q1 As IGSSATOM Dim WithEvents q2 As IGSSATOM Sub startSubscription() Set igss = CreateObject("DC.IGSSDB") Set q1 = igss.Objects("q1").Atoms("Value") Set q2 = igss.Objects("q2").Atoms("Value") End Sub Sub endSubscription() Set q1 = Nothing 1 - 18 - IGSS V8, User Guide Set q2 = Nothing Set igss = Nothing End Sub Private Sub calculate() Dim qsum As Double qsum = q1.Value + q2.Value MsgBox "Total flow changed to: " & qsum End Sub Private Sub q1_AfterAtomChange() calculate End Sub Private Sub q2_AfterAtomChange() calculate End Sub l The "WithEvents" extension to the Dim statements is what's doing all the magic. Be careful not to spend too much time in the event procedures. Failing to do so may disturb other tasks in the data collection procedure. Good programming practice is to do small tasks in the event procedures and split up bigger task to be processed in, for example, timer events. Instead of notifying the user, we may choose to update another IGSS object, let's say "q3". All we have to do now is to declare and initialize a new object: Dim q3 As IGSSATOM Set q3 = igss.Objects("q3").Atoms("Value") Then the MsgBox statement can be substituted with: q3.value = qsum - 19 - IGSS V8, User Guide Of course we have to make sure that q3 has either "out", "in/out" or "local" as its I/O mode, otherwise the statement will fail. To start the show, we have to instantiate the class module. We do that from a normal module: Dim evt As New EventDemo Sub startTheShow() evt.startSubscription End Sub Sub stopTheShow() evt.endSubscription End Sub Moving from version 2 to version 3 A few things in the procedure connecting to the interface has changed from version 2 to version 3. These changes will require a few changes in your programs. The changes are made so that version 2 and version 3 of IGSS can coexist on the same PC and so that also programs interfacing the two versions can coexist. If you are using VB/VBA you should: l l l In the References dialog box, detach the interface IGSS Online Database Access and attach IGSS32 v.7.00.00 Online Database Access instead. Explicit instantiation of the IGSSDB object should change from "CreateObject("IGSSDB")" to "CreateObject("DC.IGSSDB")" A few parameters have got new data types. The compiler will warn you about the changes needed. If you are using C/C++ you should l l l Instead of the type library igssaut.tlb, you should use the type library imbedded in dc.exe Instead of including the header file iigssaut.h, you should include the header file dc.h and append the file dc_i.c to your project. A few parameters have got new data types. The compiler will warn you about the changes needed. 2.2 Getting started with the built-in VBA editor Introduction Using the built-in VBA editor in IGSS is like using VB(A) in any other program, so the only prerequisite is basic knowledge of the Visual Basic language and knowledge about the IGSS Automation interface as described in Getting started with the IGSS Automation interface. - 20 - IGSS V8, User Guide In IGSS, VBA has been integrated in the Definition and Supervise modules so that coding VBA programs is a natural part of the design process. Furthermore, it gives an opportunity to extend the programmability from the pure runtime database access to include user interface parts too. To obtain these capabilities an additional Automation interface has been implemented in Definition and Supervise. The following pages will, by a number of examples, introduce the features available. The Definition/Supervise Automation interface The interface will give access to: l Application properties like name, type, version, position on screen, etc. l Configuration properties like name, descriptor selection states, etc. l Area and diagram properties like name, position, size, state, etc. l l Properties on selected descriptors (ActiveX and Windows button) like position, connected object, etc. Events when application starts/stops, diagram/area open/close, function key pressed, pop-up menus, button descriptor click and all events from ActiveX controls. The execution environment In most applications VBA is integrated in the graphical user interface. In IGSS, the VBA editor has naturally been integrated in the Definition and Supervise modules. So the typical scenario is a program developed in Definition and executed in Supervise. However, code running in Supervise will be exposed to the moods of the operator. If Supervise is stopped, the code will stop. Therefore IGSS also offers the opportunity to run all or parts of the code in a protected environment independent of Supervise. We call this the VBA executor. The VBA executor can only be started/stopped by the IGSS Starter and in multiuser systems it runs on the server only. The VBA executor offers the same environment as Supervise, only without the graphic parts. No matter where your code is running, Definition will be where you do the development using the Visual Basic Editor (VBE). Starting the Visual Basic Editor (VBE) Start Definition and in the menu select Tools \ Macro \ Visual Basic Editor and the VBE will appear on your screen. First time you open the VBE, you will find the project explorer containing one project with the same name as the configuration. This project contains one host object (objects created by the host Definition/Supervise) "Configuration". You can add, remove and change code in the host objects, but never delete or rename them. The "Configuration" object contains a number of important details. l The object OnlineDB is an instance of the root object IGSSDB of the IGSS Automation interface to the online database. This gives you direct access to the online database without writing any code. l A number of events useful for scheduling your code: l OnDcCodeStart and OnDcCodeStop will give you the opportunity to initialize and clean up your - 21 - IGSS V8, User Guide workspace when running in the context of the VBA Executor. l OnSuperviseCodeStart and OnSuperviseCodeStop will give you the opportunity to initialize and clean up your workspace when running in the context of Supervise. l OnTimer schedules your code in intervals given by the property TimerTick. l OnGlobalFKeyPressed comes when a VBA-enabled global function key is pressed. l A number of utility functions that may help you to get information about the configuration. - 22 - IGSS V8, User Guide l The "IGSSATOMN" interface is provided for backward compatibility and should not be used in new development. These features will be most of what you need to make simple programs. We can now make our first lines of code. We will make a simple program that writes values to the analog object "q1" in the Demo configuration. The values are the results of a trigonometric function evaluated on each timer tick. - 23 - IGSS V8, User Guide Dim atm As IGSSATOM Dim count As Double Private Sub Configuration_OnSuperviseCodeStart() TimerTick = 1000 ‘ set timer to come every second (1000 milli sec) count = 0 Set atm = OnlineDB.Objects("q1").Atoms("value") End Sub Private Sub Configuration_OnSuperviseCodeStop() TimerTick = 0 ‘ Stop the timer Set atm = Nothing End Sub Private Sub Configuration_OnTimer() atm.Value = 50 + 50 * Sin(count / 10) count = count + 1 End Sub If you start the configuration, you will see "q1" start to change the moment Supervise is started and changes stops the moment Supervise is closed. If you want the updates to take place at the startup of the data collection (DC) module, you can change the event as follows: Configuration_OnSuperviseCodeStart() to Configuration_OnDCCodeStart() Configuration_OnSuperviseCodeStop() to Configuration_OnDCCodeStop() Now the code will run in the VBA executor independently of Supervise. Debugging the code Code that does not depend on user actions can be tested in Definition just by having the configuration running in the background while Definition is also running. Be careful when debugging programs with events and especially fast timer events. If they come while you are editing the code somewhere else in the program, the scope of the editor will change and pretty fast you are in a state that is difficult to get out of. A good practice is to disable the timer and other events, while - 24 - IGSS V8, User Guide you are editing or set it to a slow rate. This can be done by setting the TimerTick = 0 in the Properties window for the Configuration object. l l If you hold "Shift" down while Supervise is starting the "Configuration_OnSuperviseCodeStart" event will not come and your code will not be started. In the System Configuration program on the Startup tab, select the check box Disable VBA. Then the VBA executor will not start i.e. "Configuration_OnDCCodeStart" will not be called. VBA enabling the graphics Next step is to make our code access the graphically oriented parts of Supervise. Lets take the IGSS diagram first. In the Diagram menu and the diagram pop-up menu, you get a menu item called View VBA code. When it is selected, the VBE is activated and brought to front and a new host object is created. If it already exists, it is just brought to front. Its name starts with "D_" indicating that it is related to a diagram followed by the name of the diagram another "_" and the name of the area holding the diagram. Each diagram that you VBA-enable, will have its own host object. This host object gives you information about the specific diagram: l Information about the diagram such as name, size and position on screen, visibility, etc. l Commands to open or close the diagram under program control. l Events when the diagram is opened, closed, activated and deactivated. l Events when one of the function keys of the diagram is pressed. l Events when the diagram pop-up menu is presented or selected. Examples: We want the function key F11 to increase the value of "q3" by one and function key F12 to decrease it by one. The code is placed in the host object of the diagram. First we establish a reference to "q3", when the diagram is opened and we remove the reference when the diagram is closed. Private atm As IGSSATOM Private Sub IGSSDiagram_OnOpen() Set atm = Configuration.OnlineDB.Objects("q3").Atoms("value") End Sub Private Sub IGSSDiagram_OnClose() - 25 - IGSS V8, User Guide Set atm = Nothing End Sub The IGSSDiagram_OnOpen event will come in both Supervise and Definition. If you want it in Supervise, you may want to change the event handling code to: Private Sub IGSSDiagram_OnOpen() If (Application.Mode = APPMODE_RUN) Then Set atm = Configuration.OnlineDB.Objects("q3").Atoms("value") End If End Sub Then we have to VBA-enable the two function keys by selecting the Run VBA code check box for each of the function keys in the Function Key Assignment dialog box. And the following code should be added : - 26 - IGSS V8, User Guide Private Sub IGSSDiagram_OnFkeyPressed(ByVal lKeyNo As Long) Select Case lKeyNo Case 11 'Fkey 11 atm.Value = atm.Value + 1 Case 12 'Fkey 12 atm.Value = atm.Value - 1 End Select End Sub As another example, we could choose to do the same from the pop-up menu. First we add two new menu items: "q3 add 1" and "q3 subtract 1". When the pop-up menu is a activated by the right mouse click, we get event OnPropertyMenupop-up with a menu id telling which menu item we are going to add. As long as you return not empty strings from this procedure, they are added to the menu. We add our two menu items by the following code Private Function IGSSDiagram_OnPropertyMenupop-up(ByVal menuID As Long, ByVal ObjectID As Long, ByVal DescrID As Long) As String Select Case menuID Case 0 IGSSDiagram_OnPropertyMenupop-up = "q3 add 1" Case 1 IGSSDiagram_OnPropertyMenupop-up = "q3 subtract 1" Case Else IGSSDiagram_OnPropertyMenupop-up = "" 'empty string to make it stop End Select End Function (If you instead of clicking the diagram background, click on descriptors you will know what you clicked by objectID and descrId.) Now when we have added the two menu items, we will be notified through the event "OnPropertyMenuSelect", if one of them is clicked. So we can make our calculation. Private Sub IGSSDiagram_OnPropertyMenuSelect(ByVal menuID As Long) - 27 - IGSS V8, User Guide Select Case menuID Case 0 atm.Value = atm.Value + 1 Case 1 atm.Value = atm.Value - 1 End Select End Sub VBA controls and IGSS descriptors Some IGSS descriptors can be VBA-enabled. For now, this is limited to button descriptors and ActiveX descriptors. The method to VBA-enable these descriptors is similar to VBA-enabling diagrams and areas. Right-click the descriptor and choose View VBA code in the pop-up menu. Descriptors are included into the host object representing the diagram as a VBA control. To be able to address them, each control must have a name. Unless you explicitly give the descriptor a name, the name DIX_xxx will be assigned, where xxx is the descriptor index in the IGSS database. Since these names are pretty difficult to relate to a specific descriptor, you should assign meaningful names to the descriptors. Descriptor name is simply a property in the properties dialog box of the relevant descriptor. VBA-enabled descriptors will give you features like: - Events when clicked Button descriptor - User defined items in descriptor right-click pop-up menu. ActiveX descriptor Both descriptors - All events from ActiveX control - Access to ActiveX properties - Descriptor properties like position, size, etc. By extending our example we can illustrate the use. We add two button descriptors on our diagram and name them "Add" and "Subtract" and enable VBA for both. - 28 - IGSS V8, User Guide In the host object for our diagram, two new controls with the same names "Add" and "Subtract", are automatically added. With a few lines of code, we can now add and subtract with the button descriptors. Private Sub Add_OnButtonClicked() atm.Value = atm.Value + 1 End Sub Private Sub Subtract_OnButtonClicked() atm.Value = atm.Value - 1 End Sub Moving external code to the built-in VBA - 29 - IGSS V8, User Guide If you already have some code written for your IGSS32, version 2 configurations, you can still use it after your configuration has been moved to version 3, if you just make the few changes listed in the paragraph "Moving from version 2 to version 3" in the Getting started with the IGSS Automation interface topic. You can also choose to move it into the built-in VBA editor to benefit from having it as part of the configuration and avoid thinking about bringing external programs up. You can move your class modules into VBA custom class modules, your general module into VBA custom general modues an so forth. You do not have to use the OnlineDB object or any other of the new objects if you do not need to you can simply instantiate your IGSDB as you have always done. Your initialization routines should, however, be called from Configuration_OnDCCodeStart() or Configuration_OnSuperviseCodeStart(). 2.3 Atom names in Automation When you need to address an atom1 of an IGSS object from IGSS Automation code, use the atom names below. List of atom names in Automation Analog Table Digital Counter "High alarm" "Index 0" "Command" "Counter" "High limit" "Index 1" "State" "Counter limit" "Value" "Index 2" "Ana value" "Preset" "Setpoint" "Index 3" "Low limit" "Index 4" "Low alarm" "Index 5" "Command" "Index 6" "Index 7" "Index 8" "Index 9" 1 - 30 - String "String" IGSS V8, User Guide Chapter 3: Configuration Databases 3.1 What is Jet ? The Microsoft Jet database engine JET is the database engine used by MS Access. In IGSS, this engine allows you to access the native, relational databases (*.mdb) that are associated with each configuration you create. You can even access these files without having MS Access installed. It just requires an ODBC1 driver for the database product you are using. DAO (Data Access Objects) Database developers may want to make custom applications using the Jet interface. This is done using the DAO programming interface. This allows you to access the data from, for example, Visual Basic or Visual C++. 3.2 Database Descriptions [MyConfig].mdb Summary This database is located in the configuration root folder and contains the information outlined below. l The alarm texts and object texts are language-dependent. This allows you to translate these texts directly in this database and show them in Definition and Supervise. Click See Also for details. Alarm texts In the ATX and ATXtext tables, you can edit all the alarm text properties as shown in the Alarm Description dialog box in Definition. l These properties are not available via the ODBC2 interface. The two tables are joined by the ATXNo field as shown below. Click each table for further information. 1 Open DataBase Connectivity 2 Open DataBase Connectivity - 31 - IGSS V8, User Guide Object texts In the Texts and TextType tables, you can edit the texts that are associated with each object in the configuration: object name, description, unit, etc. Do not translate object names. If you change the name of any of the predefined system objects, such as Graph, System, etc., this will inactivate standard functionality in IGSS. Click here for details about the system objects. The two tables are joined by the TxtNo field as shown below. Click each table for further information. User administration The following tables contain the properties which are set up in User Administration. The relationships between the tables are shown below. For further details refer to the Help file for User Administration. If you have a good, working knowledge of this application, you may want to edit the properties in this database. But in most cases, it will be easier and faster from the graphical interface. User rights - 32 - IGSS V8, User Guide Exclusive control ATX table The ATX table contains the following fields. These properties are defined in the Edit Alarm Description dialog box in Definition: l Use the query ListAllATXgivenLanguage and type the appropriate language code to show all alarm text properties. Field name Data type Description ATXno Number Alarm text number as chosen in Definition. This field is joined with the corresponding field in the ATXtext table. Priority Number The alarm priority from 1 to 255. The highest number is the highest priority. Colour Number A number identifying the alarm color. The number must be given in RGB hexadecimal nota- - 33 - IGSS V8, User Guide tion. Blink Yes/No Enable/disable blinking of alarm color WavFile Text Name and path to a *.wav file associated with the alarm ToWinPager Yes/No Enable/disable sending of this alarm to WinPager ToPLC Yes/No Enable/disable sending of alarm change telegram to the PLC ToPrint Yes/No Enable/disable automatic alarm printing AutoAck Yes/No Enable/disable automatic acknowledgement of alarm Beep Yes/No Enable/disable beep on alarm RepeatBeep Yes/No Enable/disable repetition of the beep or sound file attached to the alarm BlinkAck Yes/No Enable/disable blinking of the acknowledgement color ColourAck Number A number identifying the acknowledgement color. The number must be given in RGB hexadecimal notation. ATXtext table See Also The ATXtext table contains the alarm texts and operator instructions. These properties are defined in the Edit Alarm Description dialog box in Definition: l IMPORTANT: The texts are language-dependent. You must type the appropriate language code before entering the text. l Use the query ListAllATXgivenLanguage and type the appropriate language code to show all alarm text properties for that language. Field name Data type Description ATXno Number Alarm text number as chosen in Definition. This field is joined with the corresponding field in the ATX table. Language Text The language code corresponding to the language you are currently using. Click here for codes. ShortTxt Text The short alarm text as shown in the alarm list. LongTxt Memo The operator instructions. - 34 - IGSS V8, User Guide Texts table See Also The Texts table contains all the texts that are associated with an IGSS object. These properties are defined in the properties dialog box for the object in Definition: l l IMPORTANT: The texts are language-dependent. You must type the appropriate language code before entering the text. For details about translating texts, click See Also. Use the query ListAllTextsGivenLanguage and type the appropriate language code to show all the text properties from the Texts and TextType tables. Field name Data type Description TxtNo Number A unique number identifying the text. This field is joined with the corresponding field in the TextType table . Language Text The language code corresponding to the language you are currently using. Click here for codes. Text Text The object name, description, unit, etc. Use the above query to find out what type of text you need to enter. TextType table The TextType table contains a type number for each text identifying whether it is an object name, description, unit, etc. l Use the query ListAllTextsGivenLanguage and type the appropriate language code to show all the text properties from the Texts and TextType tables. Field name Data type Description TxtNo Number A unique number identifying the text. This field is joined with the corresponding field in the Texts table . TxtType Number A number identifying the text type: 1 = Text used in descriptor, independent text, button - 35 - IGSS V8, User Guide text, etc. 2 = Filename (for example, for images) 3 = State name for digital object 4 = Command name for digital object 5 = Object name The object name must not be translated into other languages. 6 = Object description 7 = Table item's descriptive text 8 = Unit text 9 = Texts used by specific drivers on the Edit Mapping tab. 10 = Descriptor name (property for button and ActiveX descriptors) 11 = Texts used in the object's popup menu (defined on the Data Management Definitions tab) Genhdm.mdb Summary This database is located in the report folder and contains the following information: l hourly, daily and monthly reduced data (data basis for periodical reports) l date and time of the latest generation of these values Note: The VersionInfo table is for internal use and must not be changed. Hourly, daily and monthly values These values are saved in the HourValues, DayValues and MonthValues tables. The associated information from the configuration: object name, reduction method, etc. are saved in the Reduction table. Each value table is joined with the Reduction table via the ReportIx field. Click each table for details. - 36 - IGSS V8, User Guide Collection status The Collection Status table contains the date and time of the latest generation of the hourly, daily and monthly reduced data. Click the table for details. MntDb.mdb Summary This database is located in the report folder and contains all data related to the Maintenance program. It is not recommended to change information manually in this database. Database design The figure below shows the relationships between the tables in the database. - 37 - IGSS V8, User Guide 3.3 Translating Texts in the Configuration Translate alarm texts or object texts In this example, we translate alarm texts from English to Danish. You can do the same with the object texts located in the Texts table. IMPORTANT: Area names must be identical in the different languages. We recommend that you use the “Western Europe” character set in order to avoid problems with non-western characters. When you create alarm texts from Definition, the Primary language selected in System Configuration determines which language code is inserted in the database. 1. Open the [MyConfig].mdb database in the configuration root folder. 2. Open the ATXtext table. 3. Click at the bottom of the window to insert a new record. 4. In the ATXno field, type the number of the alarm text you want to translate. 5. In the Language field, type the appropriate language code. 6. Repeat steps 4 and 5 for each alarm text. You may want to create a query to automate this task. You simply need to replace the language code for all records. - 38 - IGSS V8, User Guide 7. Select the ATXNo column and sort the records in ascending order. 8. Translate the texts one by one. 9. Close the database. The translated alarm texts will appear when you change the Primary language code in System Configuration. 3.4 Tips & Tricks Can I access the *.mdb databases without having MS Access installed ? Yes. Here is what you do. 1. Install the Microsoft ODBC1 driver for .mdb files. Note: The driver is included on the Microsoft Office CD or you can download it from the Microsoft . Web site 1 Open DataBase Connectivity - 39 - IGSS V8, User Guide Chapter 4: DDE 4.1 Introduction Basic DDE concepts What is DDE ? Dynamic Data Exchange is a standardised concept of inter-process communication available to applications running in Windows. Applications can use DDE for one-time data transfers and for on-going exchanges in which one application sends updates to another as new data becomes available (advice loops). Client and server Dynamic data exchange always takes place between a client and a server application. The client initiates the exchange by establishing a conversation with the server so that it can request data or services from the server. A server can serve many clients at the same time, and a client can request data from several servers. Also, an application can be both a client and a server. The client terminates the conversation when it no longer needs the data or services from the server. The DDE server A DDE server uses a three-level hierarchy to uniquely identify data: Level Description 1 = Service name can be regarded as the name of the server. The service name is unique among all servers in the system. 2 = Topic name identifies a logical data context in the server. Levels 1 and 2 are used by the client to establish a conversation with a server. 3 = Item name is used to name the data items available to a conversation. As an example we use a spreadsheet program. The service name is the name of the spreadsheet program, the topic name is the name of a spreadsheet loaded into the program and the item name will be the address of one or more cells in the spreadsheet. DDE services A DDE server can offer one or more of the following services. Service Request Description Allows the client to read data items in the server. - 40 - IGSS V8, User Guide Service Poke Advice loop Execute Description Allows the client to change data items in the server. Allows the client to subscribe to data items in the server. As long as the subscription is active, the client will be notified each time the data item changes in the server. An advice could be a message saying that the data has been changed (warm link) or a message containing the new data (hot link). Allows the client to make the server execute commands. 4.2 The DDE Server The interface files The interface consists of the file IGSS_DDE.EXE This is the DDE server. If the default startup files are used to start the supervision system, there is no need to think about these files. The Windows server process has to be started manually (for example as a user program) or automatically by the client. Most high-level DDE clients, like Microsoft Excel, will try to start the server, when needed. To make things work, data collection must be running and a configuration must be loaded. Network DDE Share the DDE program In order to use network DDE with IGSS, the PC must be set up to share the DDE program, IGSS_DDE. - 41 - IGSS V8, User Guide This can be done as follows: · Use the DDE share program (select Start ® Run and then type DDESHARE). To address IGSS_DDE on another PC, extend the addressing of IGSS_DDE to \\PC_NAME\IGSS_DDE, where PC_NAME is the name of the PC with IGSS_DDE running. Network DDE and case-sensitivity · The Network DDE converts all names to uppercase which means that it is only possible to address IGSS objects that have uppercase names. · You can, however, disable the case-sensitivity by changing the setting for CaseSensitive from 1 to 0 in the Registry. The branch is named HKEY_CURRENT_USER\7-Technologies\IGSS32\V8.00.00\DDE_HKLM. Restrictions The following restrictions apply to the DDE interface: Request / Poke Approx. 500 per second. Advices Approx. 300 per second. Total connections Unlimited (only restricted by workstation capacity) The performance number depends on the overall load of the system. Overloaded systems will not be able to handle the above-mentioned number of transactions. What Is Inside The Server ? Service name The service name is IGSS_DDE. It can be written in both upper and lower case. Topics Special services A few topics are reserved to a number of special services: Topic Description System Windows-defined topic name used to get information about the server. $Sys_info Used to get information about the supervision system which is not directly related to objects. - 42 - IGSS V8, User Guide All other topic names are assumed to be object names. If you use object names that match the three special topics you will still be able to access them, but you will have to specify the area to which they belong as well as the object name. Topic names and case-sensitivity The topic names are in principle case-sensitive. However, the DDE protocol is not able to fully distinguish between topic names consisting of the same combination of letters in different cases (e.g., Flow_1 and FLOW_1). In some cases, there is a workaround for this restriction, as shown in the following example. With a conversation to "Flow_1", any transaction intended for any combinations of different cases like FLOW_1, FLow_ 1 etc. will go to the topic Flow_1. When the conversation is closed, its history is forgotten and a new conversation to FLOW_1 or some other topic can be started. The problem is circumvented by accessing these topics one at a time. However, an advice loop is also a conversation and it is of no advantage to break an advice loop. · If you are using NETDDE, all topic names are converted to upper case. This means that the objects you want to access must have uppercase names, and the above-mentioned workaround will not work. You can, however, disable the case-sensitivity by changing the setting for CaseSensitive from 1 to 0 in the Registry. The branch is named HKEY_CURRENT_USER\7-Technologies\IGSS32\V7.00.00\DDE_HKLM. Item names in DDE For the object topics, the item names are the atom1 names or attribute names as listed in the following tables for the different kinds of objects. In many cases, an extra parameter is allowed after the atom or attribute name to specify further details of the request. The atom name or attribute name and the parameter are delimited by the character "#". When atoms are updated, a time stamp can also be given so that updates back in time can be made. List of item names in DDE Analog Table Digital Counter "High alarm" "Index 0" "Command" "Counter" "High limit" "Index 1" "State" "Counter limit" "Value" "Index 2" "Ana value" "Preset" "Setpoint" "Index 3" "Low limit" "Index 4" "Low alarm" "Index 5" "Command" 1 - 43 - String "String" IGSS V8, User Guide Analog Table Digital Counter String "Index 6" "Index 7" "Index 8" "Index 9" Parameters All atoms can be specified with the following parameters: Parameter Description IOMODE Returns the I/O mode (in, out, in/out or local). FULLATOM Returns the value, time and quality (OPC). DIGINAMES Returns the digital state name instead of the state number. FULLATOMDIGI Returns the state name, time and quality (OPC) Attributes The following attributes are available: l All alarm-related attribute names can be specified with an alarm number as parameter. Use this feature to get information on a specific alarm, if several alarms are active concurrently on the object. This attribute … Returns the following … High range Maximum value defined for an object Low range Minimum value defined for an object Type Object type (analog, digital, etc.) Scan class Scan class for the object Scan ivl Scan interval in msec. Base class Base class for the object Red ivl Base interval in min. - 44 - IGSS V8, User Guide Decimals Number of decimals Table len Table length if object is a table Description Descriptive text for object Unit Measurement unit Change time Time for latest change of object Alarm state State of alarm, if any, on object Alarm value Current value for object in alarm Alarm number Number of alarm, if any, on object Alarm start s Start time of alarm, if any, on object (in seconds) Alarm start ms msec. part of Alarm start time Alarm ack s Acknowledge time of alarm, if any, on object (in seconds) Alarm ack ms msec. part of alarm ack time. Alarm end s End time of alarm, if any, on object (in seconds) Alarm end ms msec. part of alarm end time Alarm prio Priority of alarm, if any, on object Alarm List of all previously mentioned alarm attributes for an alarm, if any, on object. Alarm list List of all alarms, if any on object Alarm clear End an alarm on an object. Alarm number required Alarm set Set an object in alarm. Alarm number required. Alarm ack Acknowledge alarm on object. Alarm number required. All atoms Value, time and quality of all atoms. l On table objects, a "valid" flag will indicate whether each table item is used or not. $Sys_info items Click here for a list of the $Sys_info items. - 45 - IGSS V8, User Guide See Also Items for the Object topic Items for the System Information topic Supported data formats The client can exchange data with the server in one of the following formats. Format Description CF_TEXT The Windows standard for plain text. XlTable A special Microsoft Excel binary format for data exchange. For further details, refer to the book "Microsoft Excel Developer’s Kit" from Microsoft Press. Some of the special services offer only the CF_TEXT format. In standard software like Microsoft Excel, the application automatically handles data formats and you do not have to worry about the above. 4.3 Reference Guide to the Services Objects Objects You must specify the following to access the value of any atom1 in any of the following object types: analog, digital, table, counter and string. Topic name = <Object name> or <Object name>@<Area name> Item name = <Atom name> The I/O mode of a given atom can be accessed be adding the parameter IOMODE Item name = <Atom name>#IOMODE Object attributes can be accessed by specifying 1 - 46 - IGSS V8, User Guide Item name = <Attribute name> Some attributes can be complemented with an extra parameter Item name = <Attribute name>#<parameter> Notes l l l l This topic handles both data formats, CF_TEXT and XlTable. If the object name given is not in the configuration or in the specified area, the connection will be rejected. If the specified atom or attribute name is not available for the specified object, the transaction will fail but the connection to the object will be kept. If the atom or attribute is not defined or have not got a value yet the transaction will fail but the connection to the object will be kept. REQUEST and POKE Atom values can be read (REQUEST) or written explicitly (POKE), while the I/O mode and attributes can only be read since they are fixed at configuration time. VBA example Assume you want to read the process value of the object, q1, and then change its set point to 22.0. You would then write the following code: Sub DDE() Dim chan As Long Dim val As String chan = DDEInitiate("IGSS_DDE", "q1") val = DDERequest(chan, "value") Debug.Print val DDEPoke chan, "setpoint", "22.0" val = DDERequest(chan, "setpoint") Debug.Print val DDETerminate chan - 47 - IGSS V8, User Guide End Sub l This example was written in an MS Access module. Notice the "Debug.Print" lines which allow you to show the result of the DDE transaction in the Debug Window. DDEInitiate establishes a conversation to the server "IGSS_DDE" and the topic "q1". When the conversation is established, the item "VALUE" can be requested and the set point can be changed (DDEPoke line). After all is done the conversation is closed (DDETerminate). You can make as many transactions on an object as needed as long as the conversation is open. l It will take some time to read or write a value during which time the server will not accept requests from any client. Also, no notifications from advice loops will appear. The notifications queue up until the transaction is finished. l If you are going to make more than one transaction on an object within a short time, you can keep the connection open, i.e. not execute the terminate command before all operations on the object are completed. There will be some performance degradation with an increasing number of connections. Advice Loops Subscribe to atom1 changes The user can subscribe to changes of any atom in any object of the earlier listed types. You cannot subscribe to I/O mode or object attributes, since they are part of the configuration and will never change. Example: Showing the current process value In Microsoft Excel this is done from a cell in a worksheet. Assume you want to subscribe to the process value of object q1. You write: =IGSS_DDE | q1!Value This will make Microsoft Excel subscribe to the atom "Value" (the actual process value) for the object "Flow_1" in the server "IGSS_DDE" (our server). The Microsoft Excel value #N/A is shown immediately while the conversation is being established. When the conversation is established, a request is sent to get the current value which will be shown in the cell. In future, the contents of the cell will change each time the value in the database changes and always show the current value. If the subscription fails, maybe because the object does not exist, Microsoft Excel will show the error value #REF! Notes l If a client is too busy to handle notifications so that it has not handled the previous notification when a new one arrives, the previous notification is lost. However, the newest value will always be available. This usually occurs in overloaded systems. 1 - 48 - IGSS V8, User Guide l All advice loops involving system objects are stopped, if the active configuration is stopped. l Both request, poke and advice loops will be rejected, if data collection is not running. Items available for the Object topic The following table lists the items available for the object topic in alphabetical order. Item Value Parameter Alarm Returns the collection of values from the requests "Alarm state", "Alarm value", "Alarm start s", "Alarm start ms", "Alarm ack s", "Alarm ack ms", "Alarm end s", "Alarm end ms", "Alarm prio" in the named order for the first alarm found in the alarm list for the specified object. If no alarm is found, the transaction fails. In the CF_TEXT format data are a text string containing all the value delimited by commas. In the XlTable format, a 9-entry Microsoft Excel array is returned. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm ack Alarm number: acknowledges the first alarm in the alarm list that belongs to the object and have the specified alarm number. Only available for POKE operations. None Alarm ack ms Alarm number: This Millisecond extension to "Alarm will make it posack s". The value must be sible to request the divided by 1000 and added to state on a specific "Alarm ack s" to give the time in alarm on the millisecond resolution. Only avail- object. If no alarm able for REQUEST operations. is matching, the transaction fails. Alarm ack s The acknowledge time for the first alarm found in the alarm list on the specified object. If no alarm is found for the specified object the transaction fails. If the alarm is not yet acknowledged, zero is returned. The Alarm number: This will make it possible to request the state on a specific - 49 - IGSS V8, User Guide Item Value Parameter time is returned as the number of days since December 30, 1899. Only available for REQUEST operations. alarm on the object. If no alarm is matching, the transaction fails. Alarm clear Alarm number: ends the first alarm in the alarm list that belongs to the object and have the specified alarm number. Only available for POKE operations. None Alarm end ms Millisecond extension to "Alarm end s". The value must be divided by 1000 and added to "Alarm end s" to give the time in millisecond resolution. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. The end time for the first alarm found in the alarm list on the specified object. If no alarm is found for the specified object, the transaction fails. If the alarm is not yet ended, zero is returned. The time is returned as the number of days since December 30, 1899. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm end s - 50 - IGSS V8, User Guide Item Value Parameter Alarm list Like "Alarm" but all alarms for the object are returned. In the CF_TEXT format, the individual lines in the alarm list are delimited by semicolons. In the XlTable format, results are returned in a two-dimensional Microsoft Excel array. In case there are more than 640 alarms on an object, the XlTable result will only include the 640 first entries in the list. You could then use Topic=$Sys_info Item="Alarm list" as a way to get the complete list. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm number The alarm number of the first alarm found in the alarm list for the specified object. If no alarm is found on the object the transaction fails. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm prio The priority for the first alarm in the alarm list on the specified object. If no alarm is found for the object the transaction fails. The value returned is a number between 1 and 255 (where 255 is the highest priority). Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm set Alarm number: starts an alarm on the object. The alarm will get the number specified as parameter. Only available for POKE operations. None Alarm start ms Millisecond extension to "Alarm start s". The value must be divided by 1000 and added to "Alarm start s" to give the time in millisecond resolution. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. - 51 - IGSS V8, User Guide Item Value Parameter Alarm start s The start time for the first alarm found in the alarm list on the specified object. If no alarm is found for the specified object, the transaction fails. The time is returned as the number of days since December 30, 1899. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Alarm state The state of the first alarm in the alarm list found on the object. If no alarm is found, the transaction fails. The possible return values are: 1: System acknowledged 2: Operator acknowledged 3: Not yet acknowledged. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. The value for the object in alarm. The value is returned as an integer that will have to have the decimal pointed placed according to the number of decimals for the object. Only available for REQUEST operations. Alarm number: This will make it possible to request the state on a specific alarm on the object. If no alarm is matching, the transaction fails. Value, time and quality (OPC) of all atoms. On table objects, a "valid" flag will indicate whether each table item is used or not. Only available for REQUEST operations. None Alarm value All atoms - 52 - IGSS V8, User Guide Item Value Parameter Any atom1 name The current value of the atom. If the atom has not got a value yet or is not enabled for the specified object, the transaction is rejected. Time stamping: When updating atoms, the update can be time stamped, so it is possible to change values back in time. This will work the same way as the event protocol for data coming from the PLC and will be under the same restrictions. That is the update must come contiguous in time and the accepted time interval is restricted by the Delta and Direct settings in System Configuration. When using the CF_TEXT format (plain text string), type the following: <value>,<time>,<quality> Note: Use period (.) as decimal separator. You can specify either the first element, the two first elements or all three. Click here for examples. the time must be given as a decimal number where the whole number is the number of days since 1900 and the decimals express the time of the day. For example, 33365.125 where the three decimals mean 3:00. When using the XlTable format (Excel cells), the value, time stamp and quality are specified in three separate cells which are sent together as one array. The cell closest to the top left of the sheet will be taken as the value, the next one as the time stamp and the third one as quality. You can specify the value only, value and time stamp or all three elements. In both cases the time stamp is given as number of days since December 30, 1899. IOMODE: returns the I/O mode of the atom instead of the value. Possible values are: 0 : Local 1: In 2: Out 3: In/Out This parameter can only be used when reading atom values. 1 - 53 - IGSS V8, User Guide Item Value Parameter Base class Base class for the object as a number from 1 to 5, where 1 means no reduction. Only available for REQUEST operations. NONE Change time The time of the latest change of any atom on the object. The time is returned as number of days since December 30, 1899. Only available for REQUEST operations. NONE Decimals Number of decimals on object values. For float tables, -1 is returned. Only available for REQUEST operations. NONE Description The textual description for the object. Only available for REQUEST operations. NONE High range Highest acceptable value for an object. Only available for REQUEST operations. NONE Low range Lowest acceptable value for an object Only available for REQUEST operations. NONE Red ivl Reduction interval for the object, according to the base class. Zero is returned if no reduction is specNONE ified. Value is in seconds. Only available for REQUEST operations. Scan class Scan class for the object as a number from 1 to 5, where 1 means no scan. Only available for REQUEST operations. NONE Scan ivl Scan interval in milliseconds. If 0 is returned, no scan is selected. Only available for REQUEST operations. NONE Table len Number of entries in table object. This attribute is only applicable to table objects. For other objects, 0 is returned. Only available for REQUEST operations. NONE - 54 - IGSS V8, User Guide Item Value Parameter Type Object type. Possible values are: 256: Digital 512: Analog 1024: Counter 2048: Table 4096: String Only available for REQUEST operations. NONE Unit Measurement unit for object. This attribute is only applicable to some object types. For all other object types an empty string is returned. Only available for REQUEST operations. NONE System Information System information You can get information about the system or the configuration by specifying: Topic name = $Sys_info Item name = One of the valid item names This topic handles both data formats, CF_TEXT and XlTable. Items in this topic can be requested except for one that can only be poked and a single item can be subscribed to in an advice loop. Items available for the System Information topic The following table lists the items available for the System Information topic in alphabetical order. Item Value Parameter Alarm changes The time of the latest change of the number of active alarms. N ONE Alarm count The total number of alarms in the alarm list. N ONE Alarm ecount The number of objects currently in alarm. N ONE Alarm title Given an alarm number the alarm text is returned. Alarm number. Mandatory. Only available for REQUEST transactions. - 55 - IGSS V8, User Guide Item Value Parameter All alarms Information on all alarms in the alarm list. For each alarm index for an object in alarm, alarm number and alarm priority are returned. If the REQUEST format is CF_TEXT, the three numbers describing the alarm are comma-separated and the individual alarms are semicolon-separated. If the REQUEST format is XlTable, the list is returned in a two-dimensional Microsoft Excel array where each row describes an alarm. Only available for REQUEST transactions. [=ppp] lists all alarms with this priority [>ppp] lists all alarms with a priority higher than the specified one [<ppp] lists all alarms with a priority lower than the specified one [ACK] lists all acknowledged alarms [NACK] lists all unacknowledged alarms [DIAL] lists all alarms marked for dialup through WinPager [NDIAL] lists all alarms which are not marked for dialup through WinPager All parameters take the & operator, for example, "all alarms#[>4&NACK&DIAL]" will list all alarms with a priority higher than 4, which are not acknowledged and marked for dialup through WinPager. - 56 - IGSS V8, User Guide Item Value Parameter If no alarms match the specified filter, the transaction fails. Area Area name. N ONE Cfg time The time of the latest change made to the configuration. The configuration is time stamped when saved from Definition. The time is in number of second since December 30, 1899. N ONE Only available for REQUEST transactions. CfgName The name of the configuration. N ONE CfgPath The path to the active configuration. N ONE Config Tells if the configuration is loaded or not. N ONE 0: Configuration not loaded 1: Configuration loaded. This item can be requested and subscribed to and is available at any time. This can be of great importance since all subscription to objects is invalidated the moment the configuration is stopped. The status item will then change to 0 and you know that all subscribed values are invalid. When the status item changes to 1 again, a new configuration is available and subscriptions can be re-established. Full name Area and object name. N ONE Get systime The current system time returned as number of days since December 30, 1899. N ONE Only available for REQUEST transactions. Install time Shows the time of the latest installation of the configuration. N ONE Language The language code of the primary language. N ONE Name Given an object index, like returned by "All Object index. Mandatory. - 57 - IGSS V8, User Guide Item Value Parameter alarms" the object name will be returned. If the index does not exist, the transaction will fail. Only available for REQUEST transactions. ODBCname The name of the IGSS ODBC1 data source as shown in the ODBC Data Source Administrator in the Control Panel. RepPath The path to the report folder as defined in the System Configuration program. N ONE Set systime Sets the current system time. The new system time must be specified as number of days since December 30, 1899. The time is changed on all other server and operator stations in the system. N ONE N ONE Only POKE transactions are available. Size The total number of objects used in the configuration. N ONE Only available for REQUEST transactions. SysPath The path to the primary system folder (default: <Installation path>\Gss). TZbias The offset compared to UTC2 time (correlated for summer/winter time). TZname The name of the time zone as shown in the Control Panel. "ASCII" will return the name in plain text. If the parameter is not included, Unicode will be used allowing you to show special characters in the name. UTCname The text "UTC" will be returned. N ONE Version The version number and build number of IGSS. N ONE N ONE N ONE 1 Open DataBase Connectivity 2 Universal Time Coordinated (formerly Greenwich Mean Time), used as the basis for calculating time in most parts of the world. IGSS uses this time format internally in the database. You can switch between UTC and local time by enabling or disabling the "UTC" field in various dialog boxes in the system. - 58 - IGSS V8, User Guide Server Information Server information Recommendation In the DDE protocol, it is recommended that every server supports a topic where clients can get information about the server. The system server supports this topic under the recommended topic name "System". This topic only handles the data format CF_TEXT. Items available The following items exist in the topic. Item name Description SysItem Returns the names of all supported item names under this topic. Topic Returns the names of all topics in the server. In this case, "IGSS_ ELEM" is listed as one symbolic topic name representing all objects in the configuration. This is because it will take too much time to list all object names. ReturnMessage This server will always return the string: "No further information". In some servers, it will return detailed information about the server state. Status Returns the server state. This can be "Ready" or "Busy". Formats Returns the list of supported data formats. In this server, it is CF_ TEXT and XlTable. Help Returns a short help text explaining how to access the server. TopicItemList Not supported l All items returning lists will return a string with all the list entries delimited by tabs. This will work whether data collection is active or not. - 59 - IGSS V8, User Guide Chapter 5: IGSS Internet Portal 5.1 Introduction What is the IGSS Portal ? The IGSS Portal provides an HTML interface for accessing the IGSS installation. Based on the Microsoft asp.net technology, Portal functionality enables monitoring and control of the process on devices that can run HTML 3.2, WAP 1.1 and CHTML 1.0 such as wireless PDAs, cellular phones, communicators, etc. The Portal presents the operator with an interface for accessing process data and customizing the Portal for quick access to specific data. 5.2 Security Considerations Risk on the Internet Using the IGSS Portal functionality involves risk if the process is to be accessed via the Internet from outside the LAN. With the Portal in place, the IGSS server becomes a web server on the Internet just like any other web server. And then it, too, will be subject to attempts at unauthorized access and to virus infection. Therefore, before implementing a Portal solution, we recommend that security considerations and strategy be clearly defined. - 60 - IGSS V8, User Guide There are several strategies for protecting the IGSS installation when using Portal functionality, which again depend on specific needs and requirements. See the scenarios that follow for an overview of security elements to be deployed. Scenario 1: Simple protection Scenario 2: Wireless access security Scenario 3: Extended security Scenario 1: Simple protection on the LAN In this scenario, plant operators connect to the IGSS server from an operator station PC on which an Internet browser is present. Here we are dealing with a closed LAN environment without connection to WANs or the Internet. Security is achieved by setting up the User Administration module in the IGSS package. Then, user login name and password are required to access the IGSS server via the browser. The Portal user must activate the Internet browser on his PC, and in the Address field in the browser he must enter either the name of the PC on which the IGSS server resides or its IP address followed by /igssportal . l <Full computer name>/igssportal, or l <IP address>/igssportal The IGSS Portal interface now appears in the browser. - 61 - IGSS V8, User Guide Scenario 2: Wireless access security in the plant Access to the IGSS server is accomplished via a PDA device from within the plant. The IGSS Portal software and the IIS server software can be set up on the same PC where the IGSS server is set up. Security in this scenario is achieved by using encryption software in the 802.11 access point. - 62 - IGSS V8, User Guide Scenario 3: Extended security for access via the Internet If the process is to be accessed via the Internet, then security measures should include firewalls and possibly a VPN (Virtual Private Network) solution. In this scenario where we have both Thin Clients and ordinary browser users, we’ve included two firewall access points in addition to a VPN implementation on the first firewall. In the event that unauthorized access is successful in passing through the first firewall, there is a second firewall, which must be breached before reaching the IGSS server. As can be seen in the illustration, both the IIS and IGSS Portal software are installed on an operator station immediately after the first firewall and the Terminal server is installed on the next operator station. The presence of the second firewall is to restrict the number of available ports by which to access the IGSS server. On the second firewall, only the IGSS Portal port and the file transport port are allowed to communicate with the IGSS server. - 63 - IGSS V8, User Guide 5.3 Setting Up the IGSS Portal Installing software components Note: If you use the IGSS Portal on an Windows Vista PC, then you must first install the Microsoft .NET Framework 1.1 software, which is the version the Portal requires. This version of .NET is not the version present on Vista. During its installation, there will frequently appear error messages, which can be ignored. The Framework 1.1 software is found on the IGSS CD in the folder called Frameworks. Click on the file dotnetfx1.1exe to begin the installation and follow the on screen instructions. To be able to use IGSS Portal functionality, the following three conditions must be met: 1. The Microsoft IIS (Internet Information Server) software must be installed on the IGSS server PC. 2. The Microsoft .NET Framework software must be installed on the IGSS server PC. 3. The IGSS Portal software must be installed on the IGSS server PC. Commentary to: - 64 - IGSS V8, User Guide 1. The IIS software package must be installed by entering the Control Panel’s Add or Remove Programs and then clicking on the icon on the left called Add/Remove Windows Components. You will need the Windows CD to complete IIS installation. 2. Under first time install of the IGSS software, the two Microsoft .NET Framework elements called Microsoft .NET Framework v1.1 and Microsoft ODBC1 .NET Data Provider are installed by default by the IGSS install program. These can be seen in the Control Panel’s Add or Remove Programs list. Should they somehow be missing, they must be reinstalled and this can be accomplished by running two executable programs from the IGSS installation CD. They must be run in the following order: 1) dotnetfx.exe and then 2) odbc_net.msi . l Clicking the Add or Remove Programs icon in the Control Panel and looking for the two names in the list of installed programs can confirm successful installation of these two .NET components. 3 Install the IGSS Portal software, which is found on the IGSS installation CD in the folder IGSS Portal . l l If the above conditions are fulfilled in the same order as listed, then the IGSS Portal should be functional. To perform a quick test to verify trouble-free installation, do the following: 1) Start the IGSS server on the server PC 2) Open the server PC’s Internet browser and in the browser’s address window key in localhost/igssportal or 127.0.0.1/igssportal 3) If the software has been correctly installed, the IGSS Portal is displayed. Clicking the Add or Remove Programs icon in the Control Panel and looking for the IGSS Portal program entry also confirms successful installation of this software. After installing the above, the Windows tree view displaying folders should contain the IIS Inetpub folder with the entry IGSS Portal under the sub-folder wwwroot as in the following illustration. 1 Open DataBase Connectivity - 65 - IGSS V8, User Guide Please be aware that in most cases the IGSS installation will be undertaken first. This means that the Microsoft .NET Framework elements are installed before the IIS server software, and this will result in the Portal not functioning properly if it is to be used at a later time. To rectify this problem, you must run the following, exactly as shown below, in the IGSS server PC’s command prompt: %windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe” -i It should also be noted that the IGSS Portal is an install option appearing in the course of the installation of the IGSS package. You may either choose to install it at this time or wait until later. If you plan to install later, then you must use the IGSS installation CD and find the folder called IGSS Portal where the Portal install program resides. Setting up Portal usage in IGSS modules In order to be able to use the Portal, settings in some IGSS modules must be selected. An overview of modules and their settings follows here. It is assumed that the Microsoft .NET and IIS server and IGSS Portal software are all in place. If not, go back to the topic Installing software components and follow the instructions here. This module … is used to … and is configured like this… - 66 - IGSS V8, User Guide activate the Portal software on the IGSS server - 67 - IGSS V8, User Guide secure entry through the Portal with password protection - 68 - IGSS V8, User Guide make process diagrams selectable in the Portal - 69 - IGSS V8, User Guide make Group Objects selectable in the Portal 5.4 Using the Portal to Monitor and Control Coming onto the Portal If the User Administration module is deployed, then the user trying to access the IGSS server via an Internet browser must authenticate himself with valid user name and password to log on. If the User Administration module is not deployed, then anyone on the intranet with an Internet browser installed will be able to access the IGSS server via the Portal. To access the Portal from another device, the user must key in the name of the Portal PC followed by the name of the Portal. In the illustration below, the name of the Portal PC, mto_xp, is keyed in first followed by \igssportal . - 70 - IGSS V8, User Guide Using Online Values Using this feature of the Portal permits the user to view online data. After logging on - the user having logged on here is Simon - the main Portal menu is presented as shown below. - 71 - IGSS V8, User Guide As can be seen in the illustration above, there are six main buttons for navigating the Portal. These are: Online Values …for viewing current process data for components. Active Alarms …for viewing active alarms in the process. History …for viewing historical data. Reports …for generating the various types of IGSS standard reports. MRE …for modifying existing process values or for adding process values from components not included in the SCADA1 system 1 Supervisory Control & Data Acquisition - 72 - IGSS V8, User Guide Configure …for creating so-called Quick Buttons which can be used to call forth specific data or often used routines with a single button click. Clicking now on the Online Values button brings the user into the submenu for Online Values where viewing online data can be selected in several ways. The process components for which the user is interested in viewing data can be viewed via the buttons Name, Group, Diagram or List. The button Report is used for collecting data in the Actual Value Report format, i.e. for populating the standard IGSS report called Snapshot Report with data. In the above illustration, the user is asking for online values from the area in the configuration called Plants for all IGSS objects (process components) which begin with the letter v because the wild card character * (asterisk) is used after the letter. Clicking the button Get data results in the collection of the values for all the ”v” objects as illustrated in the graphic below. - 73 - IGSS V8, User Guide As can be seen above, the objects presented here are digital objects and the information presented shows alarms, commands and states. By using the scroll bar to the right, the user is able to see the remainder of the list. If the data cannot be presented on one page in the browser, then clicking on the Next link at the bottom can access the next page. Sending commands or changes The Portal is not only a tool for monitoring but is also used for controlling process components. The first example with using the Online Values function in relation to viewing all of the valve process components in the configuration can be used to illustrate how to send commands. In the illustration below, we’ve called up a list of all our valve process components by using the Online Values button in the Portal’s main menu and then filtering for all objects whose name begins with “v”. - 74 - IGSS V8, User Guide Now we want to send the command OPEN to the first object in the list, v1. The name is underlined which indicates a link to another page. We click on the link and are brought onto the page for controlling the object as shown below. - 75 - IGSS V8, User Guide Now click on the Edit button to open the command change page where we choose the command to be sent to v1 from the drop down list as seen below. Finish by clicking OK. - 76 - IGSS V8, User Guide After clicking the OK button above, the previous page is displayed, and now the Close button is clicked. Finally, the original page for online values for all the “v” objects is displayed once again. Observing the state of v1, we now see that its state has changed to OPEN. - 77 - IGSS V8, User Guide The procedure described above is basically the same for controlling analogue process components where set point, alarm limits, etc. need to be changed. Creating a Quick Button To facilitate a faster and more reliable view of important process components, users can create one-click links to the process information they use most frequently. Creating a Quick Button accomplishes this. We continue with our example of fetching online values for all of the process components whose name begins with “v”. We recall the list of online values from which we sent a command to the object v1. See the illustration below. - 78 - IGSS V8, User Guide We wish to keep this list as we’ve defined it and therefore we would like to be able to display it again at a later time. Clicking the button at the top called Make Quick Button does this. We are then taken to the Enter quick button text page as shown below. Then we key in a descriptive name for the new button, for example All V-Objects. - 79 - IGSS V8, User Guide Upon clicking the OK button, we are brought out to the main Portal menu where we now can see that our Quick Button has been created as shown below. - 80 - IGSS V8, User Guide 5.5 Portal Registry Strings Restricting functionality in the Portal The IGSS Portal has entries in the Windows registry that can be re-configured to remove certain functions from being used. The default string settings are set to 1 (except the first string), which enables the function. By changing the setting to 0, the function is disabled. These Portal string settings are found in the key called HKEY_CURRENT_USER\Software\7-Technologies\IGSS32\V8.00.00\IgssPortal_HKLM as shown in the illustration below. - 81 - IGSS V8, User Guide This string… Enables and disables… AlwaysUseServerLanguage …the Primary language chosen on the IGSS server to be used as the language in the Portal. l In order for this to take affect, the Portal software must also be found in the language version chosen as Primary on the IGSS server. EnableAlarms …display of alarms from the plant. EnableBrowseandConfigure …sole display of Quick Buttons. EnableHistorian …display and use of Object Histrian EnableMRE …display and use of Manual Report Editor EnableReport …generation and display of standard reports. EnableTags …display and alteration of object atoms. l The individual string settings work completely independent of each other. - 82 - IGSS V8, User Guide Links to the Internet or an intranet The IGSS Portal has Windows registry settings that allow user configuration of links to Internet home pages or to locations on one's own intranet. This would be useful in cases where updated supplier information could be obtained from the Internet or where a handbook for internal procedures concerning monitoring and control could be made available. The strings to be added to achieve this functionality are found in the key HKEY_LOCAL_MACHINE as seen in the illustration below. To configure a new link correctly, two new strings must be created by keeping to the naming convention illustrated above, i.e. Link_(number) with the url to link to and Text_(number) with the text to be displayed for the link. In the illustration below, our first link is to a website on the Internet and our second link is to the local intranet where a company handbook describing work procedures can be viewed. - 83 - IGSS V8, User Guide - 84 - IGSS V8, User Guide Chapter 6: IGSS OPC Server 6.1 What is the IGSS OPC Server ? What is OPC (OLE for Process Control) ? OPC is an interface standard developed and maintained by the OPC Foundation. The charter for the OPC Foundation was: "To develop an open and interoperable interface standard, based upon the functional requirements of OLE/COM and DCOM technology, that fosters greater interoperability between automation/control applications, field systems/devices, and business/office applications." Click on the logo to go to the OPC Foundation website. Using OPC with IGSS The OPC interface quickly became popular within the automation industry so the demand for both an IGSS OPC Server and OPC client-side driver arose. The two interfaces were released as follows: l The IGSS OPC client-side driver was released in IGSS32 version 3 in January 2001 and l The IGSS OPC Server in IGSS32 version 4 in March 2002 The IGSS OPC Server The IGSS OPC Server allows any OPC client to connect to IGSS for the purpose of reading or writing values to the IGSS configuration. Some typical scenarios of use would be: l Exchanging data between SCADA1 systems (see the "SCADA to SCADA with OPC" example) l Using IGSS process values as input for administrative calculations The IGSS OPC client-side driver 1 Supervisory Control & Data Acquisition - 85 - IGSS V8, User Guide The IGSS OPC client-side driver is used to connect to an OPC server. This is widely used as the communication channel between IGSS and the data collection devices (PLCs) in the process. The client-side driver is not covered in this help file. Refer to the "Driver-Specific Help" file which can be activated from the Help menu in the System Configuration program. 6.2 Architecture of the IGSS OPC Server By design, we chose to keep the IGSS OPC Server as a separate application connected through a TCP/IP socket interface as shown below. This allows you to locate your IGSS OPC Server more freely (see "Possible locations for the IGSS OPC Server). 6.3 Possible locations for the IGSS OPC Server Due to the flexible system architecture of the IGSS OPC Server , it can be located at many different locations as shown below. If you choose to run the IGSS OPC Server on a dedicated PC, you need not purchase an operator station license for that PC. However, if you run the IGSS OPC Server on more than one dedicated PC, you will need an operator station license for each additional PC. - 86 - IGSS V8, User Guide 6.4 Install and set up the IGSS OPC Server Install the IGSS OPC Server When you install IGSS, the IGSS OPC Server is automatically installed and registered in Windows. If you choose to run the IGSS OPC Server from a dedicated PC (i.e. not an IGSS station), we recommend that you make a full IGSS installation to ensure proper installation and registration. If the IGSS OPC Server does not work properly, it may be caused by a faulty registration in Windows. In that case, go to the OPC Server Configuration dialog box shown below, click the Unregister button and then Register . Specify location of the IGSS Server 1. Click the Start button in Windows and find the IGSS 7.0 program menu, double-click the OPC Server Configuration icon. 2. In the Configuration area, specify the address of the IGSS Server(s) as follows: (see Possible locations for the IGSS OPC Server). l If the IGSS Server runs on the same machine as the IGSS OPC Server , select Local . l If the IGSS Server runs on a different machine than the IGSS OPC Server , select Remote. - 87 - IGSS V8, User Guide 3. If you chose Remote, enter the IP address of the primary IGSS Server in the Primary address field. If you're using a dualized server, enter the IP address of the secondary server in the Secondary address field. 4. If you're using a dualized server or A/B switch solution, do the following: l l To connect the IGSS OPC Server to the online A/B server or back to the primary dual server when the primary server is back online, select the Connect to online A/B server / Reconnect to primary dual server check box. To make the above switch automatically, select the Automatic check box. Show OPC Server Configuration dialog box Control OPC Item visibility You can control which OPC Items should be available to the OPC Client. 1. Do one of the following: l l To allow the OPC Client to view all OPC Items, select All OPC Items visible to OPC Clients To determine the visibility for each individual IGSS object, select Control OPC Item visibility from Definition Choosing the latter alternative allows you to make the selected IGSS object visible to the OPC Client. This is done by selecting the Atoms in OPC Server check box on the Display tab of the object properties dialog box. Show the Display tab Starting and stopping the IGSS OPC Server The IGSS OPC Server is started as soon as the first OPC Client connects to it. It is stopped when the last OPC Client disconnects. However, if you need to manually start and stop the IGSS OPC Server , you can do this by clicking the Start Server and Stop Server buttons. 6.5 OPC Client and Server on Different PCs - Using DCOM Overview: DCOM security What is DCOM ? DCOM (Distributed COM) is an integral security mechanism in the Windows operating system. DCOM is defined as follows in the Windows Help file: "Distributed component object model (DCOM) is a network extension of the component object model (COM) technology that enables interprocess communication across the network. DCOM supports communication between objects on a network by handling low-level details of network protocols. This enables the use of distributed programs consisting of multiple processes working together to accomplish a single task." In other words, DCOM can make distributed applications secure without any security-specific coding or design in either the client or the component (in this case, the IGSS OPC Server ). The IGSS OPC Server uses DCOM - 88 - IGSS V8, User Guide When the 3rd party OPC Client connects to the IGSS OPC Server , DCOM is used as the security layer to grant the client access to the server. The figure below shows how this works. The DCOM Configuration Tool The DCOM security settings are defined in the DCOM Configuration Properties utility in Windows. Start the utility by choosing Start ® Run and then typing Dcomcnfg. The examples in this help file shows the dialog boxs from Windows 2000, but the user interface has changed in Windows XP. There are two sets of DCOM security settings: l The default security settings for all DCOM applications on the computer l The specific security settings for the individual DCOM application on the computer In our recommended procedure, we use the latter method to set up the IGSS OPC Server specifically. Of course, if you want all DCOM applications to share the same security settings, simply alter the default security settings for all applications. - 89 - IGSS V8, User Guide The Distributed DCOM Configuration Properties dialog box in Windows 2000 Further reading about DCOM The OPC Foundation has issued a number of white papers related to DCOM security. Click the links below to view the documents in .pdf format: l OPC DCOM White Paper l DCOM, OPC and Performance Issues Test for OPC Server presence and registration If you have any problems connecting an OPC Client to the IGSS OPC Server , you can use the test utility, Enumtest.exe, provided by the OPC Foundation. The utility tests the presence and proper registration of either local or remote OPC Servers. If the utility is already installed on your machine, it resides in the Windows system folder \%SystemRoot%\system32. This folder is included in the Windows Path, so you do not need to specify the full path to run the utility. To download Enumtest.exe, go to the OPC Foundation Web site. To test the OPC Servers on a local or remote host - 90 - IGSS V8, User Guide 1. Open the Windows Command Prompt. 2. Type enumtest. The utility shows the list of local OPC Servers. Show picture 3. To test that the local OPC Servers are properly registered, type l and press ENTER. Show picture 1. To test that the OPC Servers on a remote host are properly registered, type r and press ENTER. 2. Type the computer name of the OPC Server host and press ENTER. Show picture Result: If the name SevenTechnologies.IGSSOPCServerDA.2 appears during the test, the IGSS OPC Server is present and properly registered on the host. 3. If the name does not appear during the test, the IGSS OPC Server is not properly installed. In that case, open the OPC Server Configuration program in the IGSS 7.0 Start menu and click the Register button. Note If error code (80070005) appears, it means that access is denied to the OPC Server. In that case, check that the DCOM security settings are defined as recommended in the Install and set up the IGSS OPC Server. If you get an error code in the Enumtest.exe program, you can look up them up in the IGSS utility, ErrCode.exe. The error codes are normally written in hexadecimal numbers, so make sure that Hex is selected under Windows Error Codes. Finally, click the Look Up button. Browse the IGSS OPC Server from the OPC Client After having set up the DCOM security to allow the relevant OPC Clients access to the IGSS OPC Server , the next step is to find the relevant IGSS objects in the configuration. In the following procedure, we're using a well-established OPC Client called Softing OPC Toolbox. A demo version of the product is available from Softing's Web site. The procedure is divided into the following main steps: STEP 1: Connect to the IGSS OPC Server STEP 2: Browse the IGSS objects in the OPC Client STEP 3: Show the IGSS object values in the OPC Client - 91 - IGSS V8, User Guide Example: SCADA to SCADA with OPC Project summary To illustrate what you can use the IGSS OPC Server for, we will describe the following real-life project: l The customer wants to exchange data between two SCADA1 systems, "NoName" and IGSS l The primary data flow goes from IGSS to the "NoName" system l The chosen solution is the IGSS OPC Server and the "NoName" OPC Client l The project gave practical experience with DCOM security setup Division of tasks between IGSS and NoName The illustration below shows how the individual tasks are divided between the two SCADA systems: Schematic overview To solve the above task, the customer chose the following solution: 1 Supervisory Control & Data Acquisition - 92 - IGSS V8, User Guide - 93 - IGSS V8, User Guide Chapter 7: IGSS Real Time Data in Microsoft Excel 7.1 IGSS Real Time Data in Microsoft Excel Introduction The IGSS software package offers an interface for real time data presentation in Microsoft Excel. The interface installs automatically during the normal IGSS installation procedure and is ready to run. This topic describes how to use the real time data (RTD) interface from Microsoft Excel. The RTD interface was introduced with Microsoft Excel 2002 and thus cannot be used with earlier versions of Excel. Syntax and examples The IGSS real time data module is invoked from Microsoft Excel by using the built-in RTD() function. The general syntax for using this function with IGSS real time data is: RTD("IGSS.RTD";<ServerName>;<ObjectName>;<AtomName>) The first argument “IGSS.RTD” specifies the progID of the IGSS RTD module. This is a fixed string that should always be set to “IGSS.RTD”. The second argument is optional. It is the name of the server containing the IGSS RTD module. Normally the IGSS RTD module will be running locally and in this case the second argument can be omitted. If the IGSS RTD module is installed on another PC, then the computer name of this PC should be specified. If the IGSS RTD module is running on another PC, the IGSS RTD client connects to the IGSS RTD server using the integral security mechanism in Windows called DCOM (Distributed COM). Please refer to the Microsoft Web Site or the OPC Foundation Web Site for further details. The third argument <ObjectName> is the name of the IGSS object to be connected for real time data updates. The fourth argument <AtomName> is the name of the atom1 to get real time data from. All arguments can be specified as cell references. Examples of this can be viewed in the sample "IGSS Real Time Data Microsoft Excel" file associated with the IGSS Demo configuration. Examples: Get actual value from IGSS analog object q1: RTD("IGSS.RTD";;"q1";"value") Get state value from IGSS digital object m1: 1 - 94 - IGSS V8, User Guide RTD("IGSS.RTD";;"m1";"state") Get table index 7 from IGSS table object tab1: RTD("IGSS.RTD";;"tab1";"Index 7") Requirements and limitations The real time data function is supported by Microsoft Excel XP or higher. The IGSS RTD Server requires .NET platform version 1.1 to be installed. This component is automatically installed by IGSS. The server tries to update subscribing objects every 2 seconds. The RTD server uses a push/pull mechanism which ensures that the RTD server only writes data updates to Excel when Excel is ready to receive. List of atom names The table below shows atom names for all IGSS object types: Analog Digital Counter Table High alarm State Counter Index 0 High limit Command Counter limit Index 1 Value Ana value Preset Index 2 Command Index 3 Setpoint Low limit Index 4 Low alarm Index 5 High scale Index 6 Low scale Index 7 String String Index 8 Index 9 7.2 Example: Subscribing to real time data in MS Excel Introduction To give you a practical example of what you can use the Real Time Data (RTD) interface for, we have included a sample MS Excel file associated with the IGSS Demo configuration. Contents of the example The example shows how to subscribe to real time process values for the following object types: - 95 - IGSS V8, User Guide l Analog l Digital l String l Table The Excel sheet containing IGSS real time data looks like this. Activating the example To view the example do the following: 1. Activate the System Configuration program and open the IGSS Demo configuration. 2. In the View menu, select View Report Folder . The contents of the report folder now appears in Windows Explorer. 3. 4. Activate the IGSS Starter program and start the configuration. Switch to the Windows Explorer window and open the Microsoft Excel file called: - 96 - IGSS V8, User Guide - Office 2002/2003: IGSS RTD Example.xls - Office 2007: IGSS RTD Example2007.xlsx 5. The process values should now be updated every 2 seconds. Analyzing the items Lets take a closer look at one of the items, m1 under Digital Objects. The syntax for the State is: =RTD("IGSS.RTD";;A11;"State") The syntax for the Command is: =RTD("IGSS.RTD";;A11;"Command") Note that A11 is a cell reference which points to the object name m1. The alternative is to write the object name directly in the syntax. Adding new items Lets try to add an item to the example: 1. Under Analog Objects, right-click the row marker beside the object q2 and select Copy in the menu. 2. In the Insert menu, select Rows to insert a row above q2. 3. Right-click the new row and select Paste in the menu. 4. Format the new row as the one below and replace q2 with q1. Result: Excel will now show the values from q1, because the fields are defined as cell references. - 97 - IGSS V8, User Guide Chapter 8: ODBC 8.1 The IGSS ODBC Interface The IGSS ODBC1 Driver The IGSS ODBC Driver is embedded in the DLL, odbcixv8.dll or odbcixv8cl.dll, located in the \Gsssubfolder of your installation path. The driver allows any SQL-enabled database to access the configuration data and process data (*.alm, *.log, *.bcl) from the active configuration. Note that you can only access offline data using ODBC. To access online data, you must use the Automation interface. The system designer can thus edit the configuration data directly from the database. Advanced database programmers can even make their own dedicated applications eliminating some of the repetitive work involved in creating a configuration. Automatically installed When you install IGSS, the driver is automatically installed in the ODBC Data Source Administrator as seen in the Control Panel. 8.2 What is ODBC ? Definition 1 Open DataBase Connectivity - 98 - IGSS V8, User Guide ODBC1 (Open Data Base Connectivity) is a Microsoft standard for communicating with different database products. The standard defines an interface with a complete description of how to handle the connection with the database and of the actual database language to use - the well-known SQL (Standard Query Language). This means that when a database designer has created a database in a non-standard format, he can give other programmers or standard database applications access to his database simply by writing an ODBC driver. Use IGSS provides database access for the application developer, a facility that will significantly reduce development time for special applications not directly included in the system package. The application programmer may, for example, make an ODBC call from Visual Basic or Access - or any other Windows application that supports ODBC - and gain direct access to the system’s data. The ODBC driver is loaded as a DLL and is administered by Windows which makes it easy to install and easy to use. 8.3 ODBC: Key features and benefits The list below summarises the advantages of using the IGSS ODBC2 interface: You can … By … create a new IGSS object inserting a record in the CONF table or the SUPERCONF table. These are the central tables containing common object properties. edit multiple objects simultaneously making database queries. You may, for example, want to use another template for a number of objects. You will then extract the relevant fields and make an update query that changes the name of the template used. filter and sort information using the filter and sort functions embedded in the database. This allows you to view information in ways which are not possible in Definition. extract process data for further processing filtering process data from the ALM, BCL, and LOG tables and then manipulate them in another application, for example, MS Excel. create custom applications using the built-in functions in the database, such as macros and queries. Dependent on your ability level, you can automate much of the repetitive work normally done in Definition. access configuration data with an external programming tool using, for example, Visual Basic to access the configuration data. This opens up new opportunities with all the additional functionality available in a programming tool. 1 Open DataBase Connectivity 2 Open DataBase Connectivity - 99 - IGSS V8, User Guide You can … create custom reports By … extracting the relevant process data and build a report in the database. This allows you to create reports different from the built-in reports in IGSS. You can thus meet almost any customer demand related to reports. 8.4 ODBC Tables Notation in ODBC tables The following columns and notations are used in the ODBC1 table descriptions: Field name Shows the name of the table field. Names in bold are primary keys. SQL type Shows the SQL data type. Numbers in parentheses show the length of the field. Description Shows a detailed description of the field. GUI name Shows the name of the property as shown in the IGSS user interface. 1 Open DataBase Connectivity - 100 - IGSS V8, User Guide Alphabetical table overview ALM DSC_ALMLIST EHEADER ALM_ONLINE DSC_ALMLISTCOLS FKEY ANALOG DSC_ALMLISTFILTERCOND GRAPH ANA_TEMPLATE DSC_ALMLISTFILTERS GRAPHELEM AREA DSC_ANIMATION GROUPOBJ ATOM DSC_ANIMSYM INVALIDCMD ATOM_ONLINE DSC_ANIMSYMPROPERTIES LOG BCL DSC_BAR MEMBERS BINDDATA DSC_BUTTON OBJ_TYPES BINDING DSC_COMMAND ODBCOPTIONS BIND_TYPES DSC_DIAGRAM PICTURE CNT_TEMPLATE DSC_DIAGRAMS SCALINGPOINTS CONF DSC_EDIT STANDARD CONF_ONLINE DSC_ELLIPSE STATUS COUNTER DSC_FONTS STRING DEFAULTCMD DSC_GRAPH SUPERCONF DIGITAL DSC_GRAPHELEM TABLEOBJ DIG_ALARMS DSC_GRID TABLEVALUES DIG_CMD DSC_GRIDCELL TAB_TEMPLATE DIG_STATE DSC_HEADER UNITTXT DIG_TEMPLATE DSC_ICON VERTEX DSC_ICONS DSC_INDEX DSC_LINE DSC_MAIN DSC_MEMBERS DSC_OCXOLE DSC_PICTURE DSC_PIE DSC_POLYGON DSC_POLYLINE DSC_PROGRESS DSC_RECT DSC_SLIDER DSC_SUB DSC_TEMPDSC DSC_TEMPLATE DSC_TEXT DSC_TYPES - 101 - IGSS V8, User Guide Descriptor Tables BIND_TYPES table Notation Summary This table contains binddata type names. Field name SQL type Description BINDTYPE INTEGER Unique number of the descriptor. DESCTYPE INTEGER Descriptor type, for which this bind type is relevant. TEXT CHAR (32) A short (english) name of the bind type. BINDDATA table Notation Summary This table contains properties for bindings on descriptors. Typically, each state of the object has its own properties on the descriptor. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. BINDTYPE INTEGER This is a number specifying the type of binding. The descriptor type each is associated with, and the type of binding it represents can be found in the BIND_TYPES table. IDX INTEGER This is the index of the state for which these binding properties are valid. COLOR INTEGER The color, if the property is a color property, NULL otherwise. TEXT CHAR (254) COMMAND INTEGER For command properties: If this IDX is the command to execute, when the descriptor is clicked, this value is 1, if not, it is 0. NULL otherwise. STATE INTEGER For animation descriptors, this value is 1 if IDX represents a state for which the animation should play, 0 if it should not play. NULL for other properties. IMAGE CHAR (254) The text, if this is a text property, NULL otherwise. The file name of an image, if this property is an image property, NULL otherwise. - 102 - IGSS V8, User Guide BINDING table Notation Summary This table contains properties for bindings on descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. BINDTYPE INTEGER This is a number specifying the type of binding. The descriptor type each is associated with, and the type of binding it represents can be found in the BIND_TYPES table. DSC_ALMLIST table Notation Summary This table contains properties for alarm list descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. BGCOLOR INTEGER Back ground color. SHOWHEADER INTEGER 1 if the header should be shown, 0 if not. HEADERSORT INTEGER 1 if the sort order can be changed online by clicking a header, 0 if not. HEADERSIZE INTEGER 1 if the column size can be changed online, 0 if not. SHOWGRID INTEGER 1 if the grid should be shown, 0 if not. SHOWFILTER INTEGER 1 if the filter selection drop down list is shown, 0 if not. ONLINESIZE INTEGER 1 if the size can be changed online, 0 if not. FILTERS INTEGER The number of filters defined for this descriptor. DSC_ALMLISTCOLS table Notation - 103 - IGSS V8, User Guide Summary This table contains properties for the columns in the alarm list descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. IDX INTEGER Index of this column (0-based). Defines also the column order shown in the alarm list. COLTYPE INTEGER The type of this column. Each column type from 1 to 19 appears exactly once for each alarm list. 1 = Begin date 2 = Begin time 3 = Ack time 4 = End time 5 = Object name 6 = Worst value 7 = Alarm text 8 = Area name 9 = Object description 10 = Value 11 = Priority 12 = Alarm number 13 = Ack date 14 = End date 15 = Alarm state 16 = Driver 17 = Node number 18 = Serial number 19 = User SORTSEQUENCE INTEGER A value between 1 and 19 specifying the columns number in the sort sequence. Records are first sorted by column “1”, then by column “2”, and so on. A positive value specifies ascending sort order, a negative value specifies descending sort order for that column. WIDTH INTEGER The width in pixels of the column. TEXT CHAR (256) ACTIVE INTEGER 1 if the column is shown, 0 if not. The title of the column. DSC_ALMLISTFILTERCOND table Notation Summary - 104 - IGSS V8, User Guide This table contains properties for filter conditions on alarm list descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. FILTER The number of this filter (0-based). INTEGER CONDITION INTEGER The number of this condition (0-based). A maximum of 10 conditions can be defined on each filter. ANDOR INTEGER 1 if the relation is a boolean AND with the other relations, 2 if the relation is a boolean OR. Note that AND has higher precedence than OR. VARIABLE INTEGER A number specifying the variable to filter on: 0 = Ack date and time 1 = Begin date and time 2 = End date and time 3 = Worst value 4 = Priority 5 = Alarm number 6 = Value 7 = Driver 8 = Node number 9 = Object name 10 = Object description 11 = Area name 12 = Alarm text 13 = Alarm state 14 = User TYPE INTEGER The type of the variable: 1 = String (VARIABLE = 9-14) 3 = Date (VARIABLE = 0-2) 4 = Value (VARIABLE = 3-8) RELATION INTEGER The type of relation used: For string (TYPE = 1) 0 = begins with 1 = is exactly For dates (TYPE = 3): 0 = on 1 = between 2 = yesterday 3 = today 4 = in the last For values (TYPE = 4) 0 = greater than 1 = less than 2 = equal to - 105 - IGSS V8, User Guide Field name SQL type Description 3 = not equal to 4 = is between STRING CHAR (128) The string to compare with. Only used when TYPE = 1, NULL otherwise. TIME TIMESTAMP The date to compare with. Only used when TYPE = 3 and RELATION is 0 or 1, NULL otherwise. ENDTIME TIMESTAMP The end date for a date interval, only used when TYPE = 3 and RELATION = 1, NULL otherwise. VALUE INTEGER Value to compare with. Only used when TYPE = 4, or TYPE = 3 and RELATION = 4 (to specify a number of days), NULL otherwise. ENDVALUE INTEGER The end value for an interval, only used when TYPE = 4 and RELATION = 4, NULL otherwise. DSC_ALMLISTFILTERS table Notation Summary This table contains properties for filters on alarm list descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. FILTER INTEGER The number of this filter (0-based). NAME CHAR (100) The name of this filter. CONDITIONS INTEGER The number of conditions defining this filter. (See the DSC_ALMLISTFILTERCOND table.) GLOBALNOT INTEGER 1 if the filter is a “negative” filter including all alarms NOT fulfilling the filter conditions. DEFAULT INTEGER 1 if this filter is the default filter for this descriptor, 0 if not. DSC_ANIMATION table Notation Summary This table contains properties for animation descriptors. - 106 - IGSS V8, User Guide Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TYPE INTEGER 0 for GIF files, 1 for AVI files. FILENAME CHAR (256) ALARMPLAY INTEGER 1 if the animation should play on alarm, 0 if it should play irrespective of alarm state. TIMES INTEGER Number of times, the animation should play, NULL means indefinitely. File name of animation file to play. DSC_ANIMSYM table Notation Summary This table contains properties for animated symbol descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. SYMHANDLE INTEGER Unique number of the symbol. FLIP INTEGER The “flipping” of the symbol: 0= 1= 2= 3= ROTATION No flip Flip horizontally Flip vertically Flip both ways INTEGER The angle to rotate the symbol (counter clockwise): 0= 1= 2= 3= 0° 90° 180° 270° STRETCH INTEGER 1 if the symbol should be stretched independently in both directions to fill the chosen rectangle, 0 if proportions should always be maintained. COUNT INTEGER The number of states with independent properties. DSC_ANIMSYMPROPERTIES table Notation - 107 - IGSS V8, User Guide Summary This table contains properties for the various states/properties of animated symbol descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. IDX INTEGER Index of the property in question. NUMBER INTEGER A number giving a more “understandable” interpretation of the index. Each record represents a property set on the descriptor, and the state of the object that the property set represents varies for each object type. For unbound descriptors, this column is always NULL. For the property set representing the alarm state, this column is –1 for all object types. For digital objects, this column is the digital state of the object, when there is no alarm on the object. For all other object types, NULL represents the object not in alarm. Furthermore, for analog objects all other objects corresponds to an atom1: 0 = the object is not in alarm, but the high alarm limit is exceeded (can happen, if no alarm is attached to that limit). 1 = No alarm, but high warning level is exceeded. 4 = No alarm, low warning exceeded. 5 = No alarm, low limit exceeded. FILLCOLORMODE INTEGER The mode used for filling the icon: 0 = Original 1 = Shaded 2 = Solid 4 = Hollow ALARMCOLORFILL INTEGER 1 if the alarm color should be used for filling the icon, 0 if not, NULL when FILLCOLORMODE is not Shaded or Solid, or if the property set does not represent the alarm state. FILLCOLOR INTEGER The color used for filling the icon, NULL if FILLCOLORMODE is not Shaded or Solid, or if ALARMCOLORFILL is 1. BGCOLOR INTEGER The color used for the background, NULL if transparent. BLINKMODE INTEGER The blink mode used, the alternate display of the icon is: 0 = No blink 1 = Invisible 2 = Original 3 = Shaded 1 - 108 - IGSS V8, User Guide Field name SQL type Description 4 = Solid 5 = Hollow ALARMCOLORBLINK INTEGER 1 if the alarm color should be used for blinking the icon, 0 if not, NULL when BLINKMODE is not Shaded or Solid, or if the property set does not represent the alarm state. BLINKCOLOR INTEGER The color used for blinking, NULL if BLINKMODE is not Shaded or Solid, or if ALARMCOLORBLINK is 1. FASTBLINK INTEGER 1 if fast blink should be applied, 0 if not. DSC_BAR table Notation Summary This table contains properties for bar descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. SHOW3DVIEW INTEGER 1 if 3D view, 0 if not. EXTENDSCALE INTEGER 1 if scale lines should be extended through the bar, 0 if not (only used when SHOWSCALE is 1). HIDESETPOINT INTEGER 1 if the setpoint should be hidden, 0 if should be shown. EXPONENTIAL INTEGER 1 if exponential notation should be used for scale values, 0 if not (only used when SHOWSCALEVALUES is 1). SHOWUNIT INTEGER 1 if the unit should be shown on the scale, 0 if not (only used when SHOWSCALEVALUES is 1). SHOWSCALE INTEGER 1 if the scale should be shown, 0 if not. SHOWVALUES INTEGER 1 if the scale values should be shown, 0 if not. BASETYPE INTEGER The 0= 1= 2= type of base point to be used: 0 setpoint fixed LIMITTYPE INTEGER The 0= 1= 2= manner in which limits are shown: no limit lines areas ALIGNMENT INTEGER Where the bar is grown from: 0 = left 1 = right 2 = top - 109 - IGSS V8, User Guide SQL type Field name Description 3 = bottom SCALEPOSITION INTEGER Position of the scale: 0 = top/left 1 = right/bottom FONTINDEX INTEGER Index of the font used for the scale. LIMITAREACOLOR INTEGER A number identifying the color used for the limit area. The number must be given in RGB hexadecimal notation. SCALECOLOR INTEGER A number identifying the color used for the scale. The number must be given in RGB hexadecimal notation. SETPOINTCOLOR INTEGER A number identifying the color used for the setpoint. The number must be given in RGB hexadecimal notation. BGCOLOR INTEGER A number identifying the color used for the background. The number must be given in RGB hexadecimal notation. BASEAREACOLOR INTEGER A number identifying the color used for the base area. The number must be given in RGB hexadecimal notation. LIMITLINECOLOR INTEGER A number identifying the color used for the limit line. The number must be given in RGB hexadecimal notation. FIXEDBASE DOUBLE Fixed base point (only used when BASETYPE is 2). SCALEDIVISIONS INTEGER The number of divisions on the scale. SCALETYPE INTEGER The type of the scale lines. SCALETHICKNESS INTEGER The thickness of the scale lines. PATTERN INTEGER The pattern used for the bar. DSC_BUTTON table Notation Summary This table contains properties for button descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TEXT CHAR (100) Text displayed by the descriptor- FONTINDEX INTEGER Index of the font used for the text. - 110 - IGSS V8, User Guide Field name COLOR SQL type Description INTEGER Color for the button. The number must be given in RGB hexadecimal notation. DSC_COMMAND table Notation Summary This table contains properties for command descriptors. Field name DESCINDEX SQL type INTEGER Description Unique number of the descriptor. SHOWCOMMAND INTEGER 1 if the command name should be shown, 0 if not. SHOWSTATE INTEGER 1 if the selected command should be shown selected, 0 if not. SHADOW INTEGER 1 if a shadow should be shown, 0 if not. Only visible, whith SPACE. SPACE INTEGER 1 if space should be shown between the commands. DIRECTION INTEGER 0 = horizontal rows of commands. 1 = vertical rows of commands. ROWS INTEGER Number of rows to split the commands into. COMMANDS INTEGER The number of commands to exclude. PATTERN INTEGER Pattern number for selected command’s background. DSC_DIAGRAM table Notation Summary This table contains properties for diagram descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. FRACTION DOUBLE The fraction of the descriptor used for buttons. DIRECTION INTEGER Position of the buttons within the descriptor: 0 = Left side 1 = Right side 2 = Top - 111 - IGSS V8, User Guide Field name SQL type Description 3 = Bottom ROWS INTEGER Number of rows to arrange the buttons in. TEXTCOLOR INTEGER The color of the text on the buttons TABCOLOR INTEGER The color of the buttons. FONTINDEX INTEGER Index of the font used for the text on the buttons. DIAGRAMS INTEGER The number of sub diagrams defined. DEFAULT INTEGER The number of the default selected sub diagram. DSC_DIAGRAMS table Notation Summary This table contains properties for sub diagrams on diagram descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. IDX INTEGER The number of this sub diagram (0-based). TEXT CHAR (31) The text to show on the button. FILENAME CHAR (256) File name of the background image, NULL if a simple background color should be used instead. BGCOLOR INTEGER Color of the background, if no filename is specified, NULL if a background image filename is specified. FIRSTINDEX INTEGER Index of the first descriptor to show. DSC_EDIT table Notation Summary This table contains properties for edit descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. FONTINDEX INTEGER Index of the font used by the descriptor. - 112 - IGSS V8, User Guide Field name COLOR SQL type INTEGER Description Color for the descriptor. The number must be given in RGB hexadecimal notation. ATOM INTEGER The atom1 to be edited through this descriptor. DSC_ELLIPSE table Notation Summary This table contains properties for ellipse descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. COLOR INTEGER Line color. The number must be given in RGB hexadecimal notation. STYLE INTEGER Windows logpen styles. See the Microsoft documentation for bit values. THICKNESS INTEGER Line thickness. FLASHBORDER INTEGER 1 if the ellipse border should flash on alarm, 0 if not. BORDERCOLORON INTEGER “On” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BORDERCOLOROFF INTEGER “Off” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOR INTEGER Background color inside ellipse. The number must be given in RGB hexadecimal notation. BGPATTERN INTEGER Pattern style used for background filling. FLASHBG INTEGER 1 if the ellipse background should flash on alarm, 0 if not. BGCOLORON INTEGER “On” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOROFF INTEGER “Off” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. FILL INTEGER 1, if the inside of the ellipse should be filled according to 1 - 113 - IGSS V8, User Guide SQL type Field name Description selected atom1, 0 if not. FILLCOLOR INTEGER Fill color inside ellipse. The number must be given in RGB hexadecimal notation. FILLCRITERIA INTEGER Atom chosen to decide fill level inside ellipse. FILLDIRECTION INTEGER Direction in which filling should be done. 1 = to the left 2 = to the right 3 = upwards 4 = downwards FILLPATTERN INTEGER Pattern style used for filling. DSC_FONTS table Notation Summary This table contains properties for fonts used by descriptors. Field name SQL type Description FONTINDEX INTEGER Unique number of the descriptor. COLOR INTEGER A number identifying the color used for this font. The number must be given in RGB hexadecimal notation. TEXTOPAQUE INTEGER 1 if the font should be opaque, 0 if not. HEIGHT INTEGER The height (size) of the font. WIDTH INTEGER The width of the font. ESCAPEMENT INTEGER The escapement of the font in tenths of degrees. Escapement is the rotation of the baseline of the text. ORIENTATION INTEGER The orientation of the characters in tenths of degrees. WEIGHT INTEGER The weight of the font. Range is 0-1000: 0 = default size. 400 = normal 700 = bold ITALIC INTEGER 1 if the font is italic, 0 if not. UNDERLINE INTEGER 1 if the font is underlined, 0 if not. STRIKEOUT INTEGER 1 if the font is striken out, 0 if not. 1 - 114 - IGSS V8, User Guide SQL type Field name Description CHARSET INTEGER The character set used: 0 = ANSI charset. OUTPRECISION INTEGER The output precision of the font (how to choose an actual font based on the font specification, if necessary). 0 = default behaviour. 1 = this is a raster font. 3 = this is truetype/vector font. CLIPPRECISION INTEGER The clipping precision (how to clip the font, if it falls outside the clipping region): 0 = default behaviour. 2 = this is a raster/truetype/vector font. QUALITY INTEGER The 0= 1= 2= PITCHANDFAMILY INTEGER The 0= 1= 2= output quality: appearance doesn’t matter. appearance less important. appearance more important than exact attribute match. pitch and family of the font: default pitch. fixed pitch. variable pitch. 0 = don’t care. 16 = proportional with serifs. 32 = proportional without serifs. 48 = monospace. 64 = handwriting. 80 = novelty fonts. Add one pitch value and one family value to get the final value. FACENAME CHAR (32) The face name of the font. DSC_GRAPH table Notation Summary This table contains properties for graph descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TYPE INTEGER Type of the graph: - 115 - IGSS V8, User Guide Field name SQL type Description 1 Time on x-axis 2 XY graph SOURCE INTEGER Source data: 1 Log values 2 BCL values SCROLLBAR INTEGER 1 if a scroll bar should be included, 0 if not. TOOLBAR INTEGER 1 if a tool bar should be included, 0 if not. STATUSBAR INTEGER 1 if a status bar should be included, 0 if not. ZOOM INTEGER 1 if zoom is allowed, 0 if not. TOOLTIPS INTEGER 1 if tool tips are enabled, 0 if not. SMOOTH INTEGER 1 if the graph should be smoothed, 0 if not. AUTOSTART INTEGER 1 if the graph should start automatically, 0 if not. LEGENDANCHOR INTEGER Position of the legend: 1 East 2 West 16 North 32 South Corners are represented by a sum of two values. Example: North east = 16+1 = 17 DATAPERIOD INTEGER Total graph period in hours. WINDOWPERIOD INTEGER Window period in minutes. XGRID INTEGER Show vertical grid lines XAUTODIV INTEGER 1 if automatic divisions are used on the x axes, 0 if not. XDIVS INTEGER Specified number of division on the x axis, if XAUTODIV is 0, NULL if XAUTODIV is 1. XCOLOR INTEGER Color of the vertical grid. YGRID INTEGER Show horizontal grid lines YAUTODIV INTEGER 1 if automatic divisions are used on the y axes, 0 if not. YDIVS INTEGER Specified number of division on the y axis, if YAUTODIV is 0, NULL if YAUTODIV is 1. YCOLOR INTEGER Color of the horizontal grid. XLIMITTYPE INTEGER How to choose the limits on the x axis: 1 Automatic limits 2 The object(s)’ value range sets the limits 3 User defined limits XMIN DOUBLE Minimum x value if XLIMITTYPE is 3, NULL otherwise. XMAX DOUBLE Maximum x value if XLIMITTYPE is 3, NULL otherwise. YLIMITTYPE INTEGER How to choose the limits on the y axis: - 116 - IGSS V8, User Guide SQL type Field name Description 1 Automatic limits 2 The object(s)’ value range sets the limits 3 User defined limits YMIN DOUBLE Minimum y value if YLIMITTYPE is 3, NULL otherwise. YMAX DOUBLE Maximum y value if YLIMITTYPE is 3, NULL otherwise. AXESFONTINDEX INTEGER Index of the font used for axes. TITLE CHAR (256) Graph title. TITLEFONTINDEX INTEGER Index of the font used for the title. LEGENDFONTINDEX INTEGER Index of the font used for the legend. XFORMAT CHAR (256) Annotation string used for formating values on the x axis. YFORMAT CHAR (256) Annotation string used for formating values on the y axis. TEXTCOLOR INTEGER Color used for the title. WINCOLOR INTEGER Color used for the window behind the graph area. AXESCOLOR INTEGER Color used for the axes. BGCOLOR INTEGER Color used for the background of the graph area. DATACOLOR INTEGER Color used for the graph area it self. MARKERCOLOR INTEGER Color of the marker. DSC_GRAPHELEM table Notation Summary This table contains properties for elements selected on graph descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. IDX INTEGER Index of this object in the list of objects for the graph descriptor (0-based). OAN INTEGER Object auto number of this object. AREA CHAR (31) Area name of this object. ENAME CHAR (31) Name of this object. ATOM INTEGER Atom selected if data is log values, NULL otherwise. TABLEINDEX INTEGER Index of table entry if the object is a table, NULL otherwise. REDUCTION INTEGER Reduction method selcted, if data is BCL values, NULL otherwise. - 117 - IGSS V8, User Guide Field name LEGENDTYPE SQL type INTEGER Description Type of legend entry: 0 Do not include this object in the legend 1 Display the object name in the legend 2 Display the object description 3 User defined legend text LEGENDTEXT CHAR (256) Text to show in the legend for this object, if LEGENDTYPE is 3, NULL otherwise. FACTOR DOUBLE Factor to multiply this object’s values with. OFFSET DOUBLE Offset to add to this object’s values. LINEPATTERN INTEGER Pattern used for the line: 1 None 2 Solid 3 Long dash 4 Dotted 5 Short dash 6 Alternating long and short dash 7 Alternating dash and dot FILLPATTERN INTEGER Pattern used to fill beneath the line: 1 None 2 Solid 3 25% saturated 4 50% saturated 5 75% saturated 6 Horizontal stripes 7 Vertical stripes 8 45° stripes 9 135° stripes WIDTH INTEGER Width of the line. POINT INTEGER Type of point shown: 1 None 2 Dot 3 Box 4 Triangle 5 Diamond 6 Star 7 Vertical line 8 Horizontal line 9 Cross 10 Circle 11 Square 12 Inverted triangle 13 Diagonal cross 14 Open triangle - 118 - IGSS V8, User Guide Field name SQL type Description 15 Open diamond 16 Open inverted triangle POINTSIZE INTEGER Size of the point. LINECOLOR INTEGER Color of the line. POINTCOLOR INTEGER Color of the point. DSC_GRID table Notation Summary This table contains properties for grid descriptors. SQL type Field name Description DESCINDEX INTEGER Unique number of the descriptor. ROWS INTEGER Number of rows (including fixed row). COLUMNS INTEGER Number of columns (including fixed column). FIXCOLUMNCOLOR INTEGER Color of fixed cells. BGCOLOR INTEGER Color of the background. GRIDCOLOR INTEGER Color of the grid. RESIZEWIN INTEGER 1 if the descriptor should be automatically resized to fit the cells, 0 if not. NOFIXEDTOP INTEGER 1 if the fixed cells at the top should be hidden, 0 if not. NOFIXESLEFT INTEGER 1 if the fixed cells at the left should be hidden, 0 if not. DSC_GRIDCELL table Notation Summary This table contains properties for cells in grid descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. ROW INTEGER Row number for this cell. COLUMN INTEGER Column number for this cell TYPE INTEGER The type of this cell: - 119 - IGSS V8, User Guide Field name SQL type Description 0 = The cell contains a text string 1 = The cell contains the value of an atom FONTINDEX INTEGER Index of the font used to display the text or atom value. FORMAT INTEGER Formatting of the cell: 36 = Left aligned 37 = Centered 38 = Right aligned BGCOLOR INTEGER Background color of the cell. EDITABLE INTEGER 1 if the content of the cell can be edited online, 0 if not. SHOWALARM INTEGER 1 if the cell should show alarm status for the object bound to the cell, 0 if not, NULL if the cell is not bound to an object. SHOWUNITS INTEGER 1 if the unit should be displayed together with the value for the atom bound to the cell, 0 if not, NULL if the cell is not bound to an object. TEXT CHAR (31) The text to show in the cell, NULL if the cell is a text cell. OAN INTEGER OAN of the object bound to the cell, NULL if no object is bound. ATOM INTEGER Atom number chosen for the object bound to the cell, NULL if no object is chosen. DSC_HEADER table Notation Summary This table contains some global properties of the configuration related to the graphical presentation. Field name SQL type Description MAJOR INTEGER Major version number of creating program (read only). MINOR INTEGER Minor version number of creating program (read only). REVISION INTEGER Revision number of creating program (read only). DEFSERIAL CHAR (20) NDESC INTEGER Number of descriptors in the configuration (including empty slots in the sequence). NFONTS INTEGER Number of fonts in the configuration (including empty slots in the sequence) (read only, but updatable through addition and deletion of fonts) (read only). NBINDINGS INTEGER Number of bindings in the configuration (including empty slots in the sequence) (read only, but updatable through addition and deletion of bindings) (read only). Serial number from options.txt for the last Definition program used (read only). - 120 - IGSS V8, User Guide SQL type Field name Description WIDTH INTEGER Width in pixels of the screen, from where the configuration was last saved by the definition module (read only). HEIGHT INTEGER Height in pixels of the screen, from where the configuration was last saved by the definition module (read only). CLIENTWIDTH INTEGER Width in pixels of the client area of the definition module, from where the configuration was last saved (read only). CLIENTHEIGHT INTEGER Height in pixels of the client area of the definition module, from where the configuration was last saved (read only). LIBTOOLWIDTH INTEGER Width in pixels of the symbols shown in the library tool bar (read only). LIBTOOLHEIGHT INTEGER Width in pixels of the symbols shown in the library tool bar (read only). DSC_ICON table Notation Summary This table contains properties of icon descriptors on diagrams. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TEMPLATE INTEGER 1 if this descriptor uses the icon definitions from the object’s template (Copy from Template), 0 if it has it’s own icon definitions. If you write 1 in this field, ODBC1 will automatically find the appropriate descriptor index (DESCINDEX). MIRRORIMAGE INTEGER 1 if the icon is mirrored, 0 if not. SINGLEBITDISP INTEGER 1 if single bit display is used, 0 if not. SCALABLE INTEGER 1 if the icon is scalable, 0 if not. FASTBLINK INTEGER 1 if the icon should blink fast, 0 if it should blink slowly. ICONTABLE INTEGER Number of the table containing the icon used for this descriptor, 110. If both ICONTABLE and ICONINDEX are 0, no icon is selected. ICONINDEX INTEGER Number of the icon within the icon table, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. ANGLE INTEGER The rotation angle of the icon. Possible values are 0, 90, 180 and 270. 1 Open DataBase Connectivity - 121 - IGSS V8, User Guide SQL type Field name Description BLINKATTR INTEGER Blink attributes of the descriptor: 0: Blink color/Alternate color 1: Blink color/Background 2: No Blink BLINKCOLOR INTEGER A number identifying the alternate color used for blinking the icon when BLINKATTR is 0. The number must be given in RGB hexadecimal notation. BACKATTR INTEGER Blink attributes of the descriptor background: 0: Background color 1: Transparent BACKCOLOR INTEGER A number identifying the color used for the background when BACKATTR is 0. The number must be given in RGB hexadecimal notation. DSC_ICONS table Notation Summary This table contains properties of icon sub descriptors on diagrams. The table is read-only. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. PARENTINDEX INTEGER Index of the descriptor representing state 0 for this object. STATE INTEGER The number of the state this sub descriptor is representing. SUBINDEX INTEGER Number of the next sub descriptor (DSC_SUB) representing the next state for a digital object. NULL for the last descriptor. TEMPLATE INTEGER The number of the template descriptor used, 0 if the template is not used, NULL, if the descriptor is a template descriptor itself. DESCTYPE INTEGER Type of the descriptor (see the DSC_TYPES table). DESCNAME CHAR (31) Name of the descriptor. - 122 - IGSS V8, User Guide Field name SQL type Description OAN INTEGER Autonumber of the object this descriptor is connected to if any. AREA CHAR (31) Area of the object this descriptor is connected to if any. ENAME CHAR (31) Name of the object this descriptor is connected to if any. PICTUREOAN INTEGER Autonumber of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar, or the descriptor is a template descriptor. PICTUREAREA CHAR (31) Area of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar, or the descriptor is a template descriptor. PICTURENAME CHAR (31) Name of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar, or the descriptor is a template descriptor. DIAGRAMDSC INTEGER Number of the diagram descriptor that this descriptor belongs to. SUBDIAGRAM INTEGER Index of the subdiagram the descriptor belongs to. GROUPS INTEGER The number of groups this descriptor is a member of. CLICKSENSITIVE INTEGER 1 if sensitive to mouse clicks, 0 if not. MIRRORIMAGE INTEGER 1 if the icon is mirrored, 0 if not. SINGLEBITDISP INTEGER 1 if single bit display is used, 0 if not. SCALABLE INTEGER 1 if the icon is scalable, 0 if not. FASTBLINK INTEGER 1 if the icon should blink fast, 0 if it should blink slowly. MOVSYMBOL INTEGER Width in pixels of the symbols shown in the library tool bar. ALARMONSYMBOL INTEGER 1 if alarms are shown on the symbol, 0 if not. ALARMONID INTEGER 1 if alarms are shown on the displayed name, 0 if not. ALARMONVALUE INTEGER 1 if alarms are shown on the displayed value, 0 if not. SHOWNAME INTEGER Show the name of the object. SHOWDESC INTEGER Show the description of the object. SHOWVALUE INTEGER Show the value of the object. SHOWTABLEDESC INTEGER Show the table entry names if the object is a table. SHOWUNIT INTEGER Show the unit of the object. NUMBER_FORMAT INTEGER Number of the format to be used to display the value: 1 = digital state/command: “ON” 2 = decimal: 123.45 3 = exponent: 1.2345e+002 - 123 - IGSS V8, User Guide Field name SQL type Description 4= 5= 6= 7= binary: 110 (value truncated) octal: 364 (value truncated) integer: 123 (value truncated) hexadecimal: C7B (value truncated) PREFIXZERO INTEGER 1 if value is to be prefixed with zeroes, 0 if not. PREFIXFMT INTEGER 1 if the value is to be prefixed with the format type (i.e. &H for hexadecimal, &O fir octal), 0 if not. FONTINDEX INTEGER Index of the font used for the descriptor. ICONTABLE INTEGER Number of the table containing the icon used for this descriptor, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. ICONINDEX INTEGER Number of the icon within the icon table, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. HOTX INTEGER Horizontal position (left side, center for icons) of the clicksensitive area of the descriptor in IGSS units1. HOTY INTEGER Vertical position (top edge, center for icons) of the clicksensitive area of the descriptor in IGSS units. HOTW INTEGER Width of the clicksensitive area in IGSS units. HOTH INTEGER Height of the clicksensitive area in IGSS units. TEXTLEFT INTEGER Left edge of the area used to show the name of the object in IGSS units. TEXTTOP INTEGER Top edge of the area used to show the name of the object in IGSS units. TEXTWIDTH INTEGER Width of the area used to show the name of the object in IGSS units. TEXTHEIGHT INTEGER Height of the area used to show the name of the object in IGSS units. TETXTRIGHTALIGN INTEGER 1 if the text is to be rightaligned, 0 if not. VALUELEFT INTEGER Left edge of the area used to show the value of the object in IGSS units. VALUETOP INTEGER Top edge of the area used to show the value of the object in IGSS units. VALUEWIDTH INTEGER Width of the area used to show the value of the object in IGSS units. VALUEHEIGHT INTEGER Height of the area used to show the value of the object in IGSS units. VALUERIGHTALIGN INTEGER 1 if the value is to be rightaligned, 0 if not. DISPATOM INTEGER The number of atom2 whose value is displayed (-1 for table 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. 2 - 124 - IGSS V8, User Guide SQL type Field name Description objects means all values). VALUEFIELDWIDTH INTEGER The character width of the displayed value. ANGLE INTEGER The rotation angle of the icon. Possible values are 0, 90, 180 and 270. COLOR INTEGER A number identifying the color used for drawing the descriptor. The number must be given in RGB hexadecimal notation. BLINKATTR INTEGER Blink attributes of the descriptor: 0: Blink color/Alternate color 1: Blink color/Background 2: No Blink BLINKCOLOR INTEGER A number identifying the alternate color used for blinking the icon when BLINKATTR is 0. The number must be given in RGB hexadecimal notation. BACKATTR INTEGER Blink attributes of the descriptor background: 0: Background color 1: Transparent BACKCOLOR INTEGER A number identifying the color used for the background when BACKATTR is 0. The number must be given in RGB hexadecimal notation. DSC_INDEX table Notation Summary This table contains linking properties for all descriptors. Note that extreme care should be taken when changing any of these columns, as no checking is done to verify the validity of the changed value! Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. NEXTINDEX INTEGER Number of the next descriptor in the chain of descriptors for the diagram in questions. NULL for the last descriptor. Sub descriptors are not linked into this chain, only the 1st (state 0) descriptor. SUBINDEX INTEGER Number of the next sub descriptor (DSC_SUB) representing the next state for a digital object. NULL for the last descriptor. PARENTINDEX INTEGER For sub descriptors, this is the number of the parent descriptor, representing the 1st state (0) for a digital object. SUBTYPEINDEX INTEGER For icon descriptors using the descriptor definitions of the tem- - 125 - IGSS V8, User Guide SQL type Field name Description plate for the digital object, this is the number of the 1st descriptor in the template’s descriptor chain. Icon descriptors using the template’st descriptor chain has no sub descriptor chain of their own (SUBINDEX is NULL). FONTINDEX INTEGER Number of the font attached to this descriptor (see the DSC_ FONTS table). AUXFONT INTEGER Number of additional type specific font attached to this descriptor (see the DSC_FONTS table). DSC_LINE table Notation Summary This table contains properties for LINE descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. X1 INTEGER X-coordinate of the first end point. (Coordinates are in the range [0 ; 30000[ Y1 INTEGER Y-coordinate of the first end point. X2 INTEGER X-coordinate of the second end point. Y2 INTEGER Y-coordinate of the second end point. COLOR INTEGER Line color. The number must be given in RGB hexadecimal notation. STYLE INTEGER Windows logpen styles. See the Microsoft documentation for bit values. THICKNESS INTEGER Line thickness. FLASH INTEGER 1 if the line should flash on alarm, 0 if not. COLORON INTEGER “On” color when blinking on alarm. The number must be given in RGB hexadecimal notation. COLOROFF INTEGER “Off” color when blinking on alarm. The number must be given in RGB hexadecimal notation. - 126 - IGSS V8, User Guide DSC_MAIN table Notation Summary This table contains common properties to all descriptors located on diagrams. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. DESCTYPE INTEGER Type of the descriptor (see the DSC_TYPES table). DESCNAME CHAR (31) Name of the descriptor. OAN INTEGER AREA CHAR (31) Area of the object this descriptor is connected to if any. ENAME CHAR (31) Name of the object this descriptor is connected to if any. PICTUREOAN INTEGER PICTUREAREA CHAR (31) Area of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar. PICTURENAME CHAR (31) Name of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar. DIAGRAMDSC INTEGER Number of the diagram descriptor that this descriptor belongs to. SUBDIAGRAM INTEGER Index of the subdiagram the descriptor belongs to. GROUPS INTEGER The number of groups this descriptor is a member of. CLICKSENSITIVE INTEGER 1 if sensitive to mouse clicks, 0 if not. MOVSYMBOL INTEGER Width in pixels of the symbols shown in the library tool bar (read only). ALARMONSYMBOL INTEGER 1 if alarms are shown on the symbol, 0 if not. ALARMONID INTEGER 1 if alarms are shown on the displayed name, 0 if not. ALARMONVALUE INTEGER 1 if alarms are shown on the displayed value, 0 if not. SHOWNAME INTEGER Show the name of the object. SHOWDESC INTEGER Show the description of the object. SHOWVALUE INTEGER Show the value of the object. SHOWTABLEDESC INTEGER Show the table entry names if the object is a table. SHOWUNIT INTEGER Show the unit of the object. NUMBER_FORMAT INTEGER Number of the format to be used to display the value: Autonumber of the object this descriptor is connected to if any. Autonumber of the diagram, this descriptor is located on. NULL, if the descriptor belongs to the library tool bar. - 127 - IGSS V8, User Guide Field name SQL type Description 1= 2= 3= 4= 5= 6= 7= digital state/command: “ON” decimal: 123.45 exponent: 1.2345e+002 binary: 110 (value truncated) octal: 364 (value truncated) integer: 123 (value truncated) hexadecimal: C7B (value truncated) PREFIXZERO INTEGER 1 if value is to be prefixed with zeroes, 0 if not. PREFIXFMT INTEGER 1 if the value is to be prefixed with the format type (i.e. &H for hexadecimal, &O fir octal), 0 if not. DRAWFRAME INTEGER 1 if the frame is to be drawn, 0 if not. THICKNESS INTEGER Thickness in pixels of the frame. STYLE INTEGER Style of the frame. See Microsoft’s documentation of the edge parameter for the DrawEdge() function. FRAMECOLOR INTEGER A number identifying the frame color used. The number must be given in RGB hexadecimal notation. BORDER INTEGER 1 if the border is to be drawn, 0 if not. BORDERLEFT INTEGER Width of the left border. BORDERTOP INTEGER Width of the top border. BORDERRIGHT INTEGER Width of the right border. BORDERBOTTOM INTEGER Width of the bottom border. BORDERCOLOR INTEGER A number identifying the frame color used. The number must be given in RGB hexadecimal notation. FONTINDEX INTEGER Index of the font used for the descriptor. HOTX INTEGER Horizontal position (left side, center for icons) of the clicksensitive area of the descriptor in IGSS units1. HOTY INTEGER Vertical position (top edge, center for icons) of the clicksensitive area of the descriptor in IGSS units. HOTWIDTH INTEGER Width of the clicksensitive area in IGSS units. HOTHEIGHT INTEGER Height of the clicksensitive area in IGSS units. TEXTLEFT INTEGER Left edge of the area used to show the name of the object in IGSS units. TEXTTOP INTEGER Top edge of the area used to show the name of the object in IGSS units. TEXTWIDTH INTEGER Width of the area used to show the name of the object in IGSS units. 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. - 128 - IGSS V8, User Guide SQL type Field name TEXTHEIGHT INTEGER Description Height of the area used to show the name of the object in IGSS units. TETXTRIGHTALIGN INTEGER 1 if the text is to be rightaligned, 0 if not. VALUELEFT INTEGER Left edge of the area used to show the value of the object in IGSS units. VALUETOP INTEGER Top edge of the area used to show the value of the object in IGSS units. VALUEWIDTH INTEGER Width of the area used to show the value of the object in IGSS units. VALUEHEIGHT INTEGER Height of the area used to show the value of the object in IGSS units. VALUERIGHTALIGN INTEGER 1 if the value is to be rightaligned, 0 if not. DISPATOM The number of atom1 whose value is displayed (-1 for table objects means all values). INTEGER VALUEFIELDWIDTH INTEGER The character width of the displayed value. COLOR A number identifying the color used for drawing the descriptor. INTEGER The number must be given in RGB hexadecimal notation. DISPLAYLAYER INTEGER The number of the descriptor layer from 0 - 15. The layer can be named in the Definition module. VALUELAYER INTEGER The number of the object value layer from 0 - 7. The layer can be named in the Definition module. NAMELAYER INTEGER The number of the object name/description layer from 0 7. The layer can be named in the Definition module. DSC_MEMBERS table Notation Summary This table contains the list of groups each descriptor is a member of. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. GROUP_OAN INTEGER Autonumber of the group(s), the object is a member of. 1 - 129 - IGSS V8, User Guide DSC_OCXOLE table Notation Summary This table contains properties for ActiveX and OLE descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TYPE INTEGER 0 if an ActiveX descriptor, 1 if an OLE descriptor. SERVERNAME CHAR (256) The name of the server file. DSC_PICTURE table Notation Summary This table contains properties for picture descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. FILENAME CHAR (256) Name of the picture file to show. STYLE INTEGER 0 if the original bitmap should be shown as it is, 1 if the bitmap should scale with the diagram in both directions independently, 2 if the bitmap should scale with the diagram, but maintain its ratio. FLASH INTEGER 0 if flashing is disabled, 1 if flashing on alarm is using the specified colors, 2 if flashing on alarm is using the alarm color. COLORON INTEGER “On” color, when flashing on alarm, NULL means transparent. Only used, when FLASH is 1. COLOROFF INTEGER “Off” color, when flashing on alarm, NULL means transparent. Only used, when FLASH is 1. DSC_PIE table Notation Summary This table contains properties for pie descriptors. - 130 - IGSS V8, User Guide SQL type Field name Description DESCINDEX INTEGER Unique number of the descriptor. SHOWSCALE INTEGER 1 if the scale should be shown, 0 if not. SHOWVALUES INTEGER 1 if the scale values should be shown, 0 if not. NEEDLE INTEGER 1 if the value should be shown as a needle, 0 if shown as a pie slice. ARROW INTEGER 1 if an arrow should be shown on the needle, 0 if not (only used when NEEDLE is 1). SETPOINTBASE INTEGER 1 if the base of the pie slice should be the setpoint, 0 if the base is 0 (only used when NEEDLE is 0). LIMITTYPE INTEGER The 0= 1= 2= FONTINDEX INTEGER Index of the font used for the scale. BGCOLOR INTEGER A number identifying the color used for the background. manner in which limits are shown: no limit lines areas The number must be given in RGB hexadecimal notation. AREACOLOR INTEGER A number identifying the color used for the pie area. The number must be given in RGB hexadecimal notation. LIMITCOLOR INTEGER A number identifying the color used for the limits. The number must be given in RGB hexadecimal notation. SCALECOLOR INTEGER A number identifying the color used for the scale. The number must be given in RGB hexadecimal notation. SCALEDIVISIONS INTEGER The number of divisions on the scale. SCALETHICKNESS INTEGER The thickness of the scale lines. NEEDLETHICKNESS INTEGER The thickness of the needle (only used when NEEDLE is 1). STARTANGLE INTEGER The angle where the scale starts. ENDANGLE INTEGER The angle where the scale ends. PATTERN INTEGER The pattern used for the bar. DSC_POLYGON table Notation Summary This table contains properties for polygon descriptors. - 131 - IGSS V8, User Guide Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. VERTICES INTEGER Number of vertices in the polygon. See the VERTEX table for coordinates. COLOR INTEGER Line color. The number must be given in RGB hexadecimal notation. STYLE INTEGER Windows logpen styles. See the Microsoft documentation for bit values. THICKNESS INTEGER Line thickness. FLASHBORDER INTEGER 1 if the polygon border should flash on alarm, 0 if not. BORDERCOLORON INTEGER “On” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BORDERCOLOROFF INTEGER “Off” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOR INTEGER Background color inside polygon. The number must be given in RGB hexadecimal notation. BGPATTERN INTEGER Pattern style used for background filling. FLASHBG INTEGER 1 if the polygon background should flash on alarm, 0 if not. BGCOLORON INTEGER “On” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOROFF INTEGER “Off” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. FILL INTEGER 1, if the inside of the polygon should be filled according to selected atom1, 0 if not. FILLCOLOR INTEGER Fill color inside polygon. The number must be given in RGB hexadecimal notation. FILLCRITERIA INTEGER Atom chosen to decide fill level inside polygon. FILLDIRECTION INTEGER Direction in which filling should be done. 1 = to the left 2 = to the right 3 = upwards 4 = downwards FILLPATTERN INTEGER Pattern style used for filling. 1 - 132 - IGSS V8, User Guide DSC_POLYLINE table Notation Summary This table contains properties for polyline descriptors. SQL type Field name Description DESCINDEX INTEGER Unique number of the descriptor. VERTICES INTEGER Number of vertices in the polyline. See the VERTEX table for coordinates. COLOR INTEGER Line color. The number must be given in RGB hexadecimal notation. STYLE INTEGER Windows logpen styles. See the Microsoft documentation for bit values. THICKNESS INTEGER Line thickness. FLASH INTEGER 1 if the polyline should flash on alarm, 0 if not. COLORON INTEGER “On” color when blinking on alarm. The number must be given in RGB hexadecimal notation. COLOROFF INTEGER “Off” color when blinking on alarm. The number must be given in RGB hexadecimal notation. DSC_PROGRESS table Notation Summary This table contains properties for progress bar descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. ATOM INTEGER The atom1 to be used to decide progress. ORIENTATION INTEGER Orientation of the progress bar: 1 = Horizontal 2 = Vertical 1 - 133 - IGSS V8, User Guide DSC_RECT table Notation Summary This table contains properties for rectangle descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. COLOR INTEGER Line color. The number must be given in RGB hexadecimal notation. STYLE INTEGER Windows logpen styles. See the Microsoft documentation for bit values. THICKNESS INTEGER Line thickness. FLASHBORDER INTEGER 1 if the rectangle border should flash on alarm, 0 if not. BORDERCOLORON INTEGER “On” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BORDERCOLOROFF INTEGER “Off” color when border is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOR INTEGER Background color inside rectangle. The number must be given in RGB hexadecimal notation. BGPATTERN INTEGER Pattern style used for background filling. FLASHBG INTEGER 1 if the rectangle background should flash on alarm, 0 if not. BGCOLORON INTEGER “On” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOROFF INTEGER “Off” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. FILL INTEGER 1, if the inside of the rectangle should be filled according to selected atom1, 0 if not. FILLCOLOR INTEGER Fill color inside rectangle. The number must be given in RGB hexadecimal notation. FILLCRITERIA INTEGER Atom chosen to decide fill level inside rectangle. FILLDIRECTION INTEGER Direction in which filling should be done. 1 = to the left 2 = to the right 3 = upwards 1 - 134 - IGSS V8, User Guide SQL type Field name Description 4 = downwards FILLPATTERN INTEGER Pattern style used for filling. DSC_SLIDER table Notation Summary This table contains properties for slider descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. ATOM INTEGER The atom1 to be used to decide slider position. ORIENTATION INTEGER Orientation of the slide bar: 1 = Horizontal 2 = Vertical DSC_SUB table Notation Summary This table contains properties for icon descriptors on diagrams, representing various digital states (sub descriptors). The properties of the 1st state (0) is found in the DSC_ICON (or DSC_TEMPLATE) table. All the icons in the DSC_SUB table link back to their parent (state 0) descriptor through the PARENTINDEX column. Field name DESCINDEX SQL type Description INTEGER Unique number of the descriptor. PARENTINDEX INTEGER Index of the descriptor representing state 0 for this object. STATE INTEGER The number of the state this sub descriptor is representing. MIRRORIMAGE INTEGER 1 if the icon is mirrored, 0 if not. SCALABLE INTEGER 1 if the icon is scalable, 0 if not. 1 - 135 - IGSS V8, User Guide Field name SQL type Description FASTBLINK INTEGER 1 if the icon should blink fast, 0 if it should blink slowly. ICONTABLE INTEGER Number of the table containing the icon used for this descriptor, 110. If both ICONTABLE and ICONINDEX are 0, no icon is selected. ICONINDEX INTEGER Number of the icon within the icon table, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. HOTX INTEGER Horizontal position (center) of the icon in IGSS units1. HOTY INTEGER Vertical position (center) of the icon in IGSS units. HOTWIDTH INTEGER Width of the icon in IGSS units. HOTHEIGHT INTEGER Height of the icon in IGSS units. ANGLE INTEGER The rotation angle of the icon. Possible values are 0, 90, 180 and 270. COLOR INTEGER A number identifying the color used for drawing the icon. The number must be given in RGB hexadecimal notation. BLINKATTR INTEGER Blink attributes of the descriptor: 0: Blink color/Alternate color 1: Blink color/Background 2: No Blink BLINKCOLOR INTEGER A number identifying the alternate color used for blinking the icon when BLINKATTR is 0. The number must be given in RGB hexadecimal notation. BACKATTR INTEGER Blink attributes of the descriptor background: 0: Background color 1: Transparent BACKCOLOR INTEGER A number identifying the color used for the background when BACKATTR is 0. The number must be given in RGB hexadecimal notation. DSC_TEMPDSC table Notation Summary 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. - 136 - IGSS V8, User Guide This table contains a list of descriptor indices on descriptors chosen to act as templates for new descriptors. Field name SQL type Description DESCTYPE INTEGER Type of the descriptor template (read only). DESCINDEX INTEGER Index of the descriptor chosen as template, NULL if none is chosen DSC_TEMPLATE table Notation Summary This table contains properties of template descriptors (icons). Field name SQL type Description OAN INTEGER Autonumber of the template this descriptor is connected to. AREA CHAR (31) Area of the template this descriptor is connected to. ENAME CHAR (31) Name of the template this descriptor is connected to. DESCINDEX INTEGER Unique number of the descriptor. FASTBLINK INTEGER 1 for fast blink, 0 for slow blink. ICONTABLE INTEGER Number of the table containing the icon used for this descriptor, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. ICONINDEX INTEGER Number of the icon within the icon table, 1-10. If both ICONTABLE and ICONINDEX are 0, no icon is selected. COLOR INTEGER A number identifying the color used for drawing the icon. The number must be given in RGB hexadecimal notation. BLINKATTR INTEGER Blink attributes of the descriptor: 0: Blink color/Alternate color 1: Blink color/Background 2: No Blink BLINKCOLOR INTEGER A number identifying the alternate color used for blinking the icon when BLINKATTR is 0. The number must be given in RGB hexadecimal notation. BACKATTR INTEGER Blink attributes of the descriptor background: 0: Background color - 137 - IGSS V8, User Guide Field name SQL type Description 1: Transparent BACKCOLOR INTEGER A number identifying the color used for the background when BACKATTR is 0. The number must be given in RGB hexadecimal notation. DSC_TEXT table Notation Summary This table contains properties for text descriptors. Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. TEXT CHAR (100) FONTINDEX INTEGER Index of the font used for the text. XALIGN INTEGER Horizontal alignment of the text: 0 = Left aligned 1 = Centered 2 = Right aligned YALIGN INTEGER Vertical alignment of the text: 0 = Top 4 = Centered 8 = Bottom FLASH INTEGER 1 if the text should flash on alarm, 0 if not. COLORON INTEGER “On” color when text is blinking on alarm. Text displayed by the descriptor- The number must be given in RGB hexadecimal notation. COLOROFF INTEGER “Off” color when text is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOR INTEGER Background color. The number must be given in RGB hexadecimal notation. FLASHBG INTEGER 1 if the background should flash on alarm, 0 if not. BGCOLORON INTEGER “On” color when background is blinking on alarm. The number must be given in RGB hexadecimal notation. BGCOLOROFF INTEGER “Off” color when background is blinking on alarm. - 138 - IGSS V8, User Guide Field name SQL type Description The number must be given in RGB hexadecimal notation. USEFLASHPATTERN INTEGER 1, if the alarm pattern should be used for background flashing, 0 if not. FITRECTTOTEXT INTEGER 1 if the descriptor size should be resized, if the text does not fill out the size, 0 if no shrinking should be done. BORDERSTYLE INTEGER Define the border of the text box as follow: 0= 1= 2= 3= 4= 5= 6= 7= 8= None Sunken Raised Flat border, Flat border, Flat border, Flat border, Flat border, Flat border, 1 pixel 1 pixel, raised 1 pixel, sunken 2 pixels 2 pixels, raised 2 pixels, sunken DSC_TYPES table Notation Summary This table contains descriptor type names. Field name SQL type Description DESCTYPE INTEGER Descriptor type number TYPENAME CHAR (32) A short (english) name of the descriptor type. VERTEX table Notation Summary This table contains coordinates for vertices on polyline and polygon descriptors. - 139 - IGSS V8, User Guide Field name SQL type Description DESCINDEX INTEGER Unique number of the descriptor. IDX INTEGER Index of the vertex. X INTEGER The horizontal offset in IGSS units1 from the left side of the application window. Y INTEGER The vertical offset in IGSS units from the top of the application window. General Tables ATOM table Notation Summary This table contains all the atom2-specific properties for all objects in the configuration, including the exact PLC address (data group, word offset, bit offset), external data type, I/O mode, etc. Important! To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties. Data group, word offset and bit offset are the standard terms used by Siemens and internally in IGSS. Note that these terms may change in Definition dependent on the driver you use. However, if you want to show the default terminology, hold down CTRL while you select the driver. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. 2 - 140 - IGSS V8, User Guide Field name ATOM SQL type Description GUI name INTEGER A number identifying the atom Atom on the Edit Mapping tab. Click here Atom IDs for the list of atom IDs. ALMNO INTEGER The alarm number used for this atom. Alarm Details group on the Edit MapDigital objects (Alarm-In atom): This field ping tab is only used when the CONSEQALM field in the DIG_SUBTYPE table is set to 1 (consecutive alarm numbers). If CONSEQALM is set to 0 (individual alarm numbers), the alarm numbers are shown in the DIGITAL table. IMPORTANT: If you use consecutive alarm numbers, you must type the first alarm number minus one. If you want 2 as the first number, then type 1. EXTTYPE INTEGER A number identifying the external type chosen for this atom. Click here for a list of the numbers used. BITOFFSET INTEGER The bit offset specified as part of the PLC address. External Type on the Edit Mapping tab. Bit offset on the Edit Mapping tab. WORDOFFSET INTEGER The word offset specified as part of the PLC address. Word offset on the Edit Mapping tab. DATAGROUP INTEGER The data group specified as part of the PLC address. Data group on the Edit Mapping tab. AIN INTEGER 0 = The atom is not an input value I/O mode on the Edit Mapping tab. 1 = The atom is an input value Note: If the atom is “in/out”, the value 1 is shown in both IN and OUT. If the atom is “local”, the value 0 is shown in both fields. AOUT INTEGER 0 = The atom is not an output value 1 = The atom is an output value I/O mode on the Edit Mapping tab. Note: If the atom is “in/out”, the value 1 is shown in both IN and OUT. If the atom is “local”, the value 0 is shown in both fields. CHALARM INTEGER Only relevant for the limit atom on counter - 141 - - IGSS V8, User Guide Field name SQL type Description GUI name objects. 0 = atom not used to check for alarms. 1 = atom used to check for alarms. CONF table Notation Summary This table contains all the objects in the configuration, it contains only properties that are general for almost all objects, such as name, type and description. This is the core table in the ODBC1 interface. Most of the other tables link to the OAN or the AREA and ENAME fields in this table. This is indicated with a in the child table. New objects can only be created from this table and from the SUPERCONF table. Whereas the SUPERCONF table is meant to be self-contained, this table is meant to be joined with the other type specific tables and perhaps the STANDARD table to complete the view of a given object. In addition, this concept will present as little irrelevant information as possible. Important l l To create a new object in the active configuration, you must insert a new record in this table or the SUPERCONF table. As a minimum, you must fill in the AREA, ENAME and ETYPE fields. This will automatically insert a new record into the relevant type-specific table(s) and perhaps STANDARD. For example, if you create a new analog object (ETYPE=512), a new record is inserted into the ANALOG table and the STANDARD table. The field OAN shows a unique identifier for each object. This field cannot be changed, and whatever value you supply when inserting a record will be ignored. When joining with other tables, it is always most efficient to do so using the OAN field, but it is still possible to do using the AREA and ENAME fields. Also, when supplying or changing links to other objects, this can be done using either OAN or AREA and ENAME (or all of them, if they do not conflict). For instance, to specify an object’s template, either SUB_OAN or SUB_AREA and SUB_ENAME are specified. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused. AREA CHAR (31) Area name. ENAME CHAR (31) Object name. All names within each area must be Name in Defunique. Name in Area Properties dialog box 1 Open DataBase Connectivity - 142 - IGSS V8, User Guide Field name SQL type Description GUI name inition of Object dialog box ETYPE INTEGER The object type identified by a unique number. Click here to find out which numbers to use. DESCRIPTION CHAR (255) Optional description. Typically used to describe the object in more detail. Type in Definition of Object dialog box or Create Template dialog box Description in Definition of Object dialog box SUB_OAN INTEGER The autonumber of the template. SUB_AREA CHAR (31) The area name in which the template resides that Area in Create you want to base this object on Template dialog box SUB_ENAME CHAR (31) The name of the template. The object will automatically inherit all the properties of the specified template. PROTECT_ OAN INTEGER The autonumber of the protect object. - PROTECT_ AREA CHAR (31) The name of the area where the protect object resides. - PROTECT_ ENAME CHAR (31) The name of the Protect object you want to use for protecting this object. When protected, the current user must have the necessary privileges to manipulate the object. This is defined in User Administration. Protection on Data Management Definitions tab GROUPS INTEGER The number of groups this object is a member of. - ODBCFIELD INTEGER The ODBCFIELD will only be updated by the ODBC driver, never by IGSS. You can use this field for your own purposes. EHEADER table Notation Summary This table contains some global properties of the configuration. - 143 - - Name in Create Template or Edit Template dialog box IGSS V8, User Guide Field name SQL type Description GUI name MAJOR INTEGER Major version number of creating program (read only). - MINOR INTEGER Minor version number of creating program (read only). - REVISION INTEGER Revision number of creating program (read only). - NOBJECTS INTEGER Number of objects in the configuration (includ- ing empty slots in the sequence) (read only, but updatable through addition and deletion of objects) (read only). NDESC INTEGER Number of descriptors in the configuration (including empty slots in the sequence) (read only, but updatable through addition and deletion of descriptors). - ACTAREA CHAR (31) Name of the actual (default) area. The current area when selecting Set Initial Display DEFSERIAL CHAR (20) Serial number from options.txt for the last Def- inition program used (read only). CHELMSERIAL CHAR (20) Serial number from options.txt for the last installation of the configuration (read only). DEFTIME TIMESTAMP Time of last configuration change (read only, but updated automatically when changes are done through the ODBC1 driver) (read only). - CHELMTIME TIMESTAMP Time of last Installation (read only, but is zeroed when changes are done to the configuration) (read only). - NFONTS INTEGER Number of fonts in the configuration (including empty slots in the sequence) (read only, but updatable through addition and deletion of fonts) (read only). NBINDINGS INTEGER Number of bindings in the configuration (includ- ing empty slots in the sequence) (read only, but updatable through addition and deletion of bindings) (read only). - PASSIVECOLOR INTEGER Color used for passive objects. NEXTOAN The next object auto number to be allocated for a new object (read only). INTEGER 1 Open DataBase Connectivity - 144 - Passive in Set Colors dialog box IGSS V8, User Guide Field name SQL type Description GUI name GLOBALAREA CHAR (31) The name of the global area (read only). - ONLINE INTEGER 1 if the configuation is running, 0 if not. (Can only be 1, if CURRENTCONF in ODBCOPTIONS is 1) (read only). - ODBCOPTIONS table Notation Summary This table contains some parameters affecting the workings of the ODBC1 driver. Field name SQL type Description ODBCMAJOR INTEGER Major version number of the ODBC driver / server (read only). ODBCMINOR INTEGER Minor version (read only). ODBCREVISION INTEGER Revision number (read only). ODBCBUILD INTEGER Build number (read only). CONFNAME CHAR (260) The name of the configuration including full path (read only). REPORTDIR CHAR (260) The report directory of the configuration (read only). CURRENTCONF INTEGER 1 if the loaded configuation is also the active configuration, 0 otherwise (read only). CONNECTIONS INTEGER The number of current connections to the ODBC server (0 for stand alone driver) (read only). LOCK INTEGER While 0, the ODBC server accepts connections, if set to 1, no more connections are allowed until set 0 again. FORCETERM INTEGER If 1, the ODBC server will shut down if requested, killing active connections. If set 0, the ODBC server refuses to shut down while connections are open. This value is saved across runs. TERMONEXIT INTEGER (Stand-alone driver only) If this value is 1, the driver will terminate the DAO engine when unloaded. This is a problem for applications that either themselves use DAO (like MSAccess) or load and unload the ODBC driver several times (like Definition using the new graph ActiveX). In general, it is recommended to use the stand-alone driver ONLY for your own simple applications that are NOT MSAccess applications. This value is saved across runs. 1 Open DataBase Connectivity - 145 - IGSS V8, User Guide SQL type Field name Description FREEONCLOSE INTEGER If this value is set to 1, the configuration is closed each time the LAST table using the configuration is closed for each connection. This will free some memory and allow for other applications to change the configuration so that the driver will see these changes the next time it opens a table without having to be restarted (IF all tables are closed while the other application makes its changes, of course). However, it will slow down the driver as it will have to load the configuration again, when tables are again opened. If the value is 0, the configuration is kept loaded in the driver (from the moment the first table is opened) until the driver is unloaded (or actually until the connection is closed), and changes made by Definition will be overwritten if the driver needs to write more changes. This value is saved across runs. OPEN INTEGER 1 if a table related to the configuration file or descriptor file is open, 0 if not (read only). NOSAVE INTEGER If 0 (default), the relevant configuration files are saved each time an update is performed. If set to 1, the configuration files are not saved until this field is reset to 0 or the ODBC connection is shut down (the application closes). This feature may enhance performance, but may also make the ODBC driver more vulnerable to power failures and system crashes. When 1, it will overrule FREEONCLOSE and behave as if FREEONCLOSE is 0. SAVED INTEGER 1 if everything has been saved, 0 if some files still needs to be saved (set NOSAVE to 0 to save everything) (read only). OBJ_TYPES table Notation Summary This table contains object type names. Field name SQL type Description ETYPE INTEGER Object type number. TYPENAME CHAR (32) A short (english) name of the object type. - 146 - IGSS V8, User Guide STANDARD table Notation Summary This table contains all the general information for the analog, digital, table and counter objects. It contains all the common properties for these objects, such as scan interval, base class interval, data reduction method, driver ID and node number. This is one of the core tables in the ODBC1 interface and is meant to be joined with the CONF table, when an object of the above mentioned types is being dealt with. CONF and most of the other tables link to the OAN or the AREA and ENAME fields in this table. This is indicated with a in the child table. No insertion can be done in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). AREA CHAR (31) Area name. Name in Area Properties dialog box ENAME CHAR (31) Object name. All names within each area must be unique. Name in Definition of Object dialog box BCLASS INTEGER 1 = None 2 = 1st base interval (lowest) Base interval on Data Management Definitions tab 3 = 2nd base interval 4 = 3rd base interval 5 = 4th base interval (highest) The base intervals are set in System Configuration. SCAN_CLASS INTEGER 1 = None 2 = 1st scan interval (lowest) 3 = 2nd scan interval 4 = 3rd scan interval 5 = 4th scan interval (highest) The scan intervals are defined in System Configuration. 1 Open DataBase Connectivity - 147 - Scan interval on Data Management Definitions tab IGSS V8, User Guide Field name LOG_PRINT SQL type Description INTEGER 0 = Do not print logged values. 1 = Print logged values. DRM_AVG INTEGER 0 = No data reduction and Transfer to History disabled. GUI name Log to Printer on Data Management Definitions tab Average and Transfer to History on Data Management Definitions tab 1 = Average (data reduction) and Reduced Value (Transfer to History) 2 = Average (data reduction) and Actual Total Value (Transfer to History) 3 = Average (data reduction) and Idealized Total Value (Transfer to History) 4 = Average (data reduction) and None (Transfer to History) DRM_MIN INTEGER 0 = No data reduction and Transfer to History disabled. Minimum and Transfer to History on Data Management Definitions tab 1 = Minimum (data reduction) and Reduced Value (Transfer to History) 2 = Minimum (data reduction) and Actual Total Value (Transfer to History) 3 = Minimum (data reduction) and Idealized Total Value (Transfer to History) 4 = Minimum (data reduction) and None (Transfer to History) DRM_MAX INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Maximum (data reduction) and Reduced Value (Transfer to History) 2 = Maximum (data reduction) and Actual Total Value (Transfer to History) - 148 - Maximum and Transfer to History on Data Management Definitions tab IGSS V8, User Guide Field name SQL type Description GUI name 3 = Maximum (data reduction) and Idealized Total Value (Transfer to History) 4 = Maximum (data reduction) and None (Transfer to History) DRM_SUM INTEGER 0 = No data reduction and Transfer to History disabled. Sum and Transfer to History on Data Management Definitions tab 1 = Sum (data reduction) and Reduced Value (Transfer to History) 2 = Sum (data reduction) and Actual Total Value (Transfer to History) 3 = Sum (data reduction) and Idealized Total Value (Transfer to History) 4 = Sum (data reduction) and None (Transfer to History) DRM_ACT INTEGER 0 = No data reduction and Transfer to History disabled. Actual and Transfer to History on Data Management Definitions tab 1 = Actual (data reduction) and Reduced Value (Transfer to History) 2 = Actual (data reduction) and Actual Total Value (Transfer to History) 3 = Actual (data reduction) and Idealized Total Value (Transfer to History) 4 = Actual (data reduction) and None (Transfer to History) DRM_CHG INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Change (data reduction) and Reduced Value (Transfer to History) 2 = Change (data reduction) and - 149 - Change on Data Management Definitions tab IGSS V8, User Guide Field name SQL type Description GUI name Actual Total Value (Transfer to History) 3 = Change (data reduction) and Idealized Total Value (Transfer to History) 4 = Change (data reduction) and None (Transfer to History) DRM_DIF INTEGER 0 = No data reduction and Transfer to History disabled. Difference and Transfer to History on Data Management Definitions tab 1 = Difference (data reduction) and Reduced Value (Transfer to History) 2 = Difference (data reduction) and Actual Total Value (Transfer to History) 3 = Difference (data reduction) and Idealized Total Value (Transfer to History) 4 = Difference (data reduction) and None (Transfer to History) LOGGING INTEGER 0 = None Logging on Data Management Definitions tab 1 = 1st logging percentage (lowest) 2 = 2nd logging percentage 3 = 3rd logging percentage 4 = 4th logging percentage 5 = 5th logging percentage (highest) The logging percentages are defined in System Configuration. OUTLOGGING INTEGER 0 = Logging out disabled Out on Data Management Definitions tab 1 = Logging out enabled ALARMDELAY INTEGER 0 = Alarm delay disabled 1 = Alarm delay enabled - 150 - Alarm delay on Data Management Definitions tab IGSS V8, User Guide Field name SQL type Description GUI name The actual delay is defined in System Configuration. DRIVERID INTEGER The ID identifying the communication driver used for this object. Click here driver IDs. Driver box on the Edit Mapping tab. to view the list of DRIVERSTATION INTEGER The ID identifying the station com- Driver on Edit Mapping municated with by the driver. tab (definition) and Station ID on Station tab in System Configuration NODE_NUMBER INTEGER The node number identifying the exact PLC to which this object is connected. OPCVISIBLE INTEGER 1 if the object is visible in the OPC Atoms in OPC Server on server, 0 if not. the Display tab. SCALING_OAN INTEGER The autonumber of the scaling object. - SCALING_AREA CHAR (31) The name of the area where the scaling object resides. - SCALING_ENAME CHAR (31) The name of the scaling object with which you want to scale this analog or table object. Scale As on Data Management Definitions tab MENUCMD Optional command line for pop-up Documentation pop-up menu. command line on Data Management Definitions tab. CHAR (260) Node box on the Edit Mapping tab. ALARMDELAYTIME INTEGER Set the alarm delay for this object Alarm delay on the Data in milliseconds. Management Definitions tab. LOGTOSQL INTEGER If you want to send a copy of new Log to SQL Database on log values for this object to an the Data Management SQL Server, use this option. Definitions tab. 0 = No logging 1 = Log to SQL STATUS table Notation - 151 - IGSS V8, User Guide Summary This table contains all the values at the start time of each hour. These values are written in the *.log files in the report folder on creation of each log file. Important: This table is read-only. You can control the amount of data saved in this table on the Files tab in System Configuration. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber. - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box ATOM INTEGER A number identifying the logged atom Atom on the Edit Mapping tab Click here DATE for the list of atom1 IDs. TIMESTAMP The date and time of the value (always full hour), for example, - 22-04-02 10:00:00 ETYPE INTEGER The object type. - DVAL DOUBLE Numerical value, for example, the current value for an analog object Process value SVAL CHAR (254) String value, for example, an operator com- Command name or text mand or a text from a string object string SUPERCONF table Notation Summary This table contains all the analog, digital, table, counter and string objects. It contains all the properties for all these objects, such as scan interval, base class interval, data reduction method, driver ID and node number. This is one of the core tables in the ODBC2 interface and is thought of as a “stand alone” table, that will provide you with most of the information pertaining to each object without the need of joining with many other tables, though that is still possible. Most of the other tables link to the OAN or the AREA and ENAME fields in this table. This is indicated with a from this table and the CONF table. in the child table. New objects can only be created Important 1 2 Open DataBase Connectivity - 152 - IGSS V8, User Guide l l To create a new object in the active configuration, you must insert a new record in this table or the CONF table. As a minimum, you must fill in the AREA, ENAME and ETYPE fields. This will automatically insert a new record into the relevant type-specific table(s) and perhaps STANDARD. For example, if you create a new analog object (ETYPE=512), a new record is inserted into the ANALOG table and the STANDARD table. The field OAN shows a unique identifier for each object. This field cannot be changed, and whatever value you supply when inserting a record will be ignored. When joining with other tables, it is always most efficient to do so using the OAN field, but it is still possible to do using the AREA and ENAME fields. Also, when supplying or changing links to other objects, this can be done using either OAN or AREA and ENAME (or all of them, if they do not conflict). For instance, to specify an object’s template, either SUB_OAN or SUB_AREA and SUB_ENAME are specified. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused. - AREA CHAR (31) Area name. Name in Area Properties dialog box ENAME CHAR (31) Object name. All names within each area must be unique. Name in Definition of Object dialog box ETYPE INTEGER The object type identified by a unique number (read only for existing objects). Click here to find out which numbers to use. Type in Definition of Object dialog box or Create Template dialog box DESCRIPTION CHAR (255) Optional description. Typically used to describe the Description in Defobject in more detail. inition of Object dialog box SUB_OAN INTEGER The autonumber of the template. - SUB_AREA CHAR (31) The area name in which the template resides that you want to base this object on Area in Create Template dialog box SUB_ENAME CHAR (31) The name of the template. The object will automatically inherit all the properties of the specified template. Name in Create Template or Edit Template dialog box PROTECT_OAN INTEGER The autonumber of the protect object. - PROTECT_AREA CHAR (31) The name of the area where the protect object resides. - PROTECT_ENAME CHAR (31) The name of the Protect object you want to use for protecting this object. When protected, the current user must have the necessary privileges to manipulate the object. This is defined in User Administration. Protection on Data Management Definitions tab GROUPS INTEGER The number of groups this object is a member of. - ODBCFIELD INTEGER The ODBCFIELD will only be updated by the ODBC driver, never by IGSS. You can use this field for - - 153 - IGSS V8, User Guide Field name SQL type Description GUI name your own purposes. BCLASS INTEGER 1 = None 2 = 1st base interval (lowest) Base interval on Data Management Definitions tab 3 = 2nd base interval 4 = 3rd base interval 5 = 4th base interval (highest) The base intervals are set in System Configuration. SCAN_CLASS INTEGER 1 = None 2 = 1st scan interval (lowest) Scan interval on Data Management Definitions tab 3 = 2nd scan interval 4 = 3rd scan interval 5 = 4th scan interval (highest) The scan intervals are defined in System Configuration. LOG_PRINT INTEGER 0 = Do not print logged values. 1 = Print logged values. DRM_AVG INTEGER Log to Printer on Data Management Definitions tab 0 = No data reduction and Transfer to History disabled. Average and Transfer to History on Data Man1 = Average (data reduction) and Reduced Value agement Definitions tab (Transfer to History) 2 = Average (data reduction) and Actual Total Value (Transfer to History) 3 = Average (data reduction) and Idealized Total Value (Transfer to History) 4 = Average (data reduction) and None (Transfer to History) DRM_MIN INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Minimum (data reduction) and Reduced Value (Transfer to History) - 154 - Minimum and Transfer to History on Data Management Definitions tab IGSS V8, User Guide Field name SQL type Description GUI name 2 = Minimum (data reduction) and Actual Total Value (Transfer to History) 3 = Minimum (data reduction) and Idealized Total Value (Transfer to History) 4 = Minimum (data reduction) and None (Transfer to History) DRM_MAX INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Maximum (data reduction) and Reduced Value (Transfer to History) Maximum and Transfer to History on Data Management Definitions tab 2 = Maximum (data reduction) and Actual Total Value (Transfer to History) 3 = Maximum (data reduction) and Idealized Total Value (Transfer to History) 4 = Maximum (data reduction) and None (Transfer to History) DRM_SUM INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Sum (data reduction) and Reduced Value (Transfer to History) Sum and Transfer to History on Data Management Definitions tab 2 = Sum (data reduction) and Actual Total Value (Transfer to History) 3 = Sum (data reduction) and Idealized Total Value (Transfer to History) 4 = Sum (data reduction) and None (Transfer to History) DRM_ACT INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Actual (data reduction) and Reduced Value (Transfer to History) 2 = Actual (data reduction) and Actual Total Value (Transfer to History) 3 = Actual (data reduction) and Idealized Total Value (Transfer to History) 4 = Actual (data reduction) and None (Transfer to - 155 - Actual and Transfer to History on Data Management Definitions tab IGSS V8, User Guide Field name SQL type Description GUI name History) DRM_CHG INTEGER 0 = No data reduction and Transfer to History disabled. Change on Data Management Definitions tab 1 = Change (data reduction) and Reduced Value (Transfer to History) 2 = Change (data reduction) and Actual Total Value (Transfer to History) 3 = Change (data reduction) and Idealized Total Value (Transfer to History) 4 = Change (data reduction) and None (Transfer to History) DRM_DIF INTEGER 0 = No data reduction and Transfer to History disabled. 1 = Difference (data reduction) and Reduced Value (Transfer to History) Difference and Transfer to History on Data Management Definitions tab 2 = Difference (data reduction) and Actual Total Value (Transfer to History) 3 = Difference (data reduction) and Idealized Total Value (Transfer to History) 4 = Difference (data reduction) and None (Transfer to History) LOGGING INTEGER 0 = None 1 = 1st logging percentage (lowest) Logging on Data Management Definitions tab 2 = 2nd logging percentage 3 = 3rd logging percentage 4 = 4th logging percentage 5 = 5th logging percentage (highest) The logging percentages are defined in System Configuration. OUTLOGGING INTEGER 0 = Logging out disabled 1 = Logging out enabled - 156 - Out on Data Management Definitions tab IGSS V8, User Guide Field name ALARMDELAY SQL type INTEGER Description 0 = Alarm delay disabled 1 = Alarm delay enabled GUI name Alarm delay on Data Management Definitions tab The actual delay is defined in System Configuration. DRIVERID INTEGER The ID identifying the communication driver used for this object. Click here Driver box on the Edit Mapping tab. to view the list of driver IDs. DRIVERSTATION INTEGER The ID identifying the station communicated with by the driver. NODE_NUMBER INTEGER The node number identifying the exact PLC to which Node box on the this object is connected. Edit Mapping tab. OPCVISIBLE INTEGER 1 if the object is visible in the OPC server, 0 if not. Atoms in OPC Server on the Display tab. CONNECT_OAN INTEGER The autonumber of the connected to object. - CONNECT_AREA CHAR (31) The name of the area where the connected to object resides. - The name of the object you want to connect this object to. Connect To on Data Management Definitions tab. CONNECT_ENAME CHAR (31) For further information about connecting different object types, click here . Driver on Edit Mapping tab (definition) and Station ID on Station tab in System Configuration SCALING_OAN INTEGER The autonumber of the scaling object. - SCALING_AREA CHAR (31) The name of the area where the scaling object resides. - SCALING_ENAME CHAR (31) The name of the scaling object with which you want Scale As on Data to scale this analog or table object. Management Definitions tab UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. The measuring unit is used for analog, counter and table objects. DECIMALS INTEGER The number of decimals with which you want to dis- Decimal Point on play object values for this object. Analog, Counter and Table tabs. MENUCMD CHAR (260) Optional command line for pop-up menu. - 157 - Unit box on Analog, Counter and Table tabs. Documentation pop-up command line on Data Management Definitions tab. IGSS V8, User Guide Field name SQL type Description GUI name MIN_VAL DOUBLE The minimum value of the measuring range for this Minimum value object. on Analog, Counter and Table tabs. MAX_VAL DOUBLE The maximum value of the measuring range for this object. LENGTH INTEGER For string objects this is the maximum length of the Maximum Length string, for table objects, this is the current number on String Object of entries in use. tab and number of filled rows on the Table tab. SYMBOL INTEGER 0 = Single bit display disabled Maximum value on Analog, Counter and Table tabs. Displays in Single Bits group on Bit 1 = Single bit display enabled (state bits are shown Map I/O tab independently) Digital objects only. CONSEQALM INTEGER 0 = Individual alarm numbers are used. The alarm Alarm numbers numbers are found in the DIG_ALARMS table. group on the Alarm In/Ack bit tab 1 = Consecutive alarm numbers are used. The first alarm number is found in the ATOM table. Digital objects only. SINGLEBITALM INTEGER 0 = Single bits disabled 1 = Single bits used Single Bits on the Alarm In/Ack bit tab NOTE: There can only be several, unfinished alarms on the same object in the alarm list if Single bits are used. Digital and analog objects only. SINGLEBITSTATE INTEGER 0 = Single bit states disabled Single Bits on the Bit Map I/O tab. 1 = Single bit states used Digital objects only. SINGLEBITCMD INTEGER 0 = Single bit commands disabled 1 = Single bit commands used Digital objects only. - 158 - Single Bits on the Bit Map I/O tab. IGSS V8, User Guide Field name MINACK SQL type INTEGER Description GUI name Bit mask for acknowledge bit to PC represented as To PC bit map on integer (PLC acknowledge of reception of acknowl- Alarm In/Ack bit edge bit from PC). tab. Digital and analog objects only. MOUTACK INTEGER Bit mask for acknowledge bit from PC represented as integer (operator acknowledgement). From PC bit map on Alarm In/Ack bit tab. Digital and analog objects only. MINALM INTEGER Bit mask for alarm indication bits to PC represented To PC bit map on as integer. the Alarm In/Ack bit tab. Digital and analog objects only. MSTATE INTEGER Bit mask for states represented as integer. To PC on Bit Map I/O tab Digital objects only. MCOMMAND INTEGER Bit map for commands represented as integer From PC on Bit Map I/O tab Digital objects only. STATE INTEGER Initial state Selected state in States list on Change State tab. 0 = 1st state 1 = 2nd state l 2 = 3rd state NOTE: This is the initial state as selected in Definition. … Digital objects only. STRING CHAR (254) For digital objects, this is the “name” or the “String String on String representation” of the initial state, for string Object tab and objects this is the initial text string. States list on Change State tab. VALUE DOUBLE For analog objects, this is the initial process value, for digital objects, this is the “free” analog value, and for counter objects, this is the initial counter value. Actual Value on Analog tab, Free Value on the Change State tab and Current Count on Counter tab. COMMAND INTEGER For digital and counter objects, this is the Initially selected command: Selected command in Commands list on Change State tab and radiobuttons on Counter tab. 0 = 1st command 1 = 2nd command 2 = 3rd command - 159 - IGSS V8, User Guide Field name SQL type Description GUI name … For counter objects, these commands are Start=0, Stop=1, Reset=2, Preset=3 HIGHALARM DOUBLE High alarm value. For counter objects this is the limit. Analog and counter objects only. HIGHWARNING DOUBLE High limit value. High Alarm on Analog tab and Limit on Counter tab. High Limit on Analog tab Analog objects only. SETPOINT DOUBLE Set point value. For counter objects this is the pre- Set Point on set value. Analog tab and Preset value on Counter tab. Analog and counter objects only LOWWARNING DOUBLE Low limit value. Low Limit on Analog tab Analog objects only. LOWALARM DOUBLE Low alarm value. Low Alarm on Analog tab Analog objects only. ALARMDELAYTIME INTEGER Set the alarm delay for this object in milliseconds. Alarm delay on the Data Management Definitions tab. LOGTOSQL If you want to send a copy of new log values for this object to an SQL Server, use this option. Log to SQL Database on the Data Management Definitions tab. INTEGER 0 = No logging 1 = Log to SQL UNITTXT table Notation Summary This table contains information about the unit texts available in the configuration. Important: It is not possible to insert in this table. Units must still be created using the Definition module. Using this table, you can figure out the specific unit undex to use for your objects (a UNIT column is available in several tables), and you can change the text of a unit. - 160 - IGSS V8, User Guide Field name SQL type Description GUI name UNIT INTEGER The units index number (read only). - TXT CHAR (16) Base unit column in the Meassurement Units menu. Unit text. Type-Specific Tables Analog Tables ANALOG table Notation Summary This table contains all the analog-specific properties, incl. alarm limits and setpoint. Properties specific to analog templates are saved in the ANA_TEMPLATE table. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique iden- tifier assigned to each objects, which cannot be altered or reused (read only). AREA CHAR (31) The name of the area where the analog Area in Definition object or template resides of Object or Create Template dialog box ENAME CHAR (31) The name of the analog object or template Name in Definition of Object or Create Template dialog box CONNECT_OAN INTEGER The autonumber of the connected to object. - CONNECT_ AREA CHAR (31) The name of the area where the connected to object resides. - CONNECT_ ENAME CHAR (31) The name of the object you want to con- Connect To on Data nect this object to. Management Definitions tab For further information about connecting different object types, click here . UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. - 161 - Unit box on Analog tab. IGSS V8, User Guide Field name SQL type Description GUI name DECIMALS INTEGER The number of decimals with which you Decimal Point on want to display object values for this Analog tab object. MIN_VAL DOUBLE The minimum value of the measuring range for this object. Minimum value on Analog tab. MAX_VAL DOUBLE The maximum value of the measuring range for this object. Maximum value on Analog tab. HIGHALARM DOUBLE High alarm value. For counter objects this is the limit. High Alarm on Analog tab. HIGHWARNING DOUBLE High limit value. High Limit on Analog tab VALUE DOUBLE Initial process value. Actual Value on Analog tab. SETPOINT DOUBLE Set point value. For counter objects this Set Point on Analog is the preset value. tab. LOWWARNING DOUBLE Low limit value. Low Limit on Analog tab LOWALARM Low Alarm on Analog tab DOUBLE Low alarm value. ANA_TEMPLATE table Notation Summary This table contains the properties which are specific to analog templates, that is, the alarm indication and alarm acknowledgement bits. Note that the properties defined here for a given template will be automatically inherited by all analog objects based on that template. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). AREA CHAR (31) The name of the area in which the analog template resides Area in Create Template dialog box ENAME CHAR (31) The name of the template Name in Create Template dialog box - 162 - IGSS V8, User Guide Field name SQL type Description GUI name UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. DECIMALS INTEGER The number of decimals with which you want Decimal Point to display object values for this object. on Analog tabs SINGLEBITALM INTEGER 0 = Single Bits disabled 1 = Single Bits used Unit box on Analog tab. Single Bits on Alarm In/Ack bit tab MIN_VAL DOUBLE The minimum value of the measuring range for this object. Minimum value on Analog tab. MAX_VAL DOUBLE The maximum value of the measuring range Maximum for this object. value on Analog tab. HIGHALARM DOUBLE High alarm value. For counter objects this is High Alarm on the limit. Analog tab. HIGHWARNING DOUBLE High limit value. High Limit on Analog tab VALUE DOUBLE Initial process value. Actual Value on Analog tab. SETPOINT DOUBLE Set point value. For counter objects this is the preset value. Set Point on Analog tab. LOWWARNING DOUBLE Low limit value. Low Limit on Analog tab LOWALARM DOUBLE Low alarm value. Low Alarm on Analog tab MINACK INTEGER Bit map for acknowledge bit to PC represented as integer (PLC acknowledge of reception of acknowledge bit from PC). To PC bit map on Alarm In/Ack bit tab MOUTACK INTEGER Bit map for acknowledge bit from PC represented as integer (operator acknowledgement). From PC bit map on Alarm In/Ack bit tab MINALM INTEGER Bit map for alarm indication bits to PC represented as integer To PC bit map on the Alarm In/Ack bit tab Area Tables AREA table Notation Summary This table contains the properties of all areas which is not all that many yet. - 163 - IGSS V8, User Guide Important: It is not possible to insert a new record in this table. Create a new record in the CONF table table which will supply the OAN and AREA fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The area’s autonumber (read only). - AREA CHAR (31) Name in Area Properties dialog box. TOMENU INTEGER 0 = Not in menu. The name of the area. Area menu in Definiti.on and Supervise 1 = In menu. Counter Tables CNT_TEMPLATE table Notation Summary This table contains all the counter-specific properties, incl. counter limit and preset value for counter templates. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) The name of the area in which the counter object or template resides Area in Definition of Object and Create Template dialog boxs ENAME CHAR (31) The name of the counter object or tem- Name in Definition plate of Object or Create Template dialog boxs UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. Unit box on Counter tab. MAX_VAL DOUBLE The maximum value of the measuring range for this object. Maximum value on Analog tab. CURRENTCOUNT DOUBLE Initial counter value Current count on Counter tab - 164 - IGSS V8, User Guide Field name SQL type Description GUI name HIGHALARM DOUBLE Counter limit. When the current count Limit on Counter exceeds this limit, an alarm will occur. tab PRESETVALUE DOUBLE The preset value that the operator can Preset on Counter insert by issuing the Preset command tab COUNTER table Notation Summary This table contains all the counter-specific properties, incl. counter limit and preset value for counter objects. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) The name of the area in which the counter object or template resides Area in Definition of Object and Create Template dialog boxs ENAME CHAR (31) The name of the counter object or tem- Name in Definition plate of Object or Create Template dialog boxs UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. Unit box on Counter tab. MAX_VAL DOUBLE The maximum value of the measuring range for this object. Maximum value on Analog tab. CURRENTCOUNT DOUBLE Initial counter value Current count on Counter tab HIGHALARM DOUBLE Counter limit. When the current count Limit on Counter tab exceeds this limit, an alarm will occur. PRESETVALUE DOUBLE The preset value that the operator can Preset on Counter insert by issuing the Preset command tab - 165 - IGSS V8, User Guide Diagram Tables PICTURE table Notation Summary This table contains the properties defined for the diagram windows in the configuration. The properties include diagram background (picture or color), which buttons you want on the window, etc. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the diagram resides Name in Area Properties dialog box ENAME CHAR (31) The name of the diagram Name in Diagram Properties dialog box TYPE INTEGER Type of diagram: 1 = IGSS diagram 2 = OLE diagram X INTEGER The horizontal offset in IGSS units1 from the left side of the application window. Y INTEGER The vertical offset in IGSS units from the top of Top in Diathe application window. gram Properties dialog box WIDTH INTEGER The width of the diagram window in IGSS units. Width in Diagram Properties dialog box HEIGHT INTEGER The height of the diagram window in IGSS units. Height in Diagram Properties dialog box Left in Diagram Properties dialog box 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. - 166 - IGSS V8, User Guide Field name SQL type Description GUI name FIRSTINDEX INTEGER Index of first descriptor on the diagram. - FILENAME CHAR (254) Picture in Diagram Properties dialog box The filename of the background picture. It is recommended to save your pictures in a subfolder to the configuration root folder, for example, Pictures. This allows you to use a relative path, for example, Pictures\Bckground.bmp. You can then move the configuration to another folder or machine without losing the picture references. STYLE INTEGER Windows style extension. See the Microsoft documentation for bit values. STATUSBAR INTEGER 0 = Status bar is not visible 1 = Status bar is visible TITLEBAR INTEGER 0 = Title bar is not visible 1 = Title bar is visible Status bar in Diagram Properties dialog box Title bar in Diagram Properties dialog box PINABLE INTEGER 1, if the diagram can be put “on top”, 0 if not. ONPORTAL INTEGER 1 if the diagram is visible on the portal, 0 if not. To Portal on the Diagram Properties dialog box. OLE_SOURCE INTEGER Not yet used, must be set to 0. KEEPWINDOW INTEGER 0 = Window can be closed. 1 = Window cannot be closed while the area is active. Pinable in the Diagram Properties dialog box Keep Window option in Diagram Properties dialog box FUNCTIONKEYS INTEGER 0 = No function keys. Function keys in Diagram 1 = The picture have a set of function keys, see Properties dialog box the FKEY table. BGCOLOR DOUBLE A number identifying the background color used. The number must be given in RGB hexadecimal notation. Color in Diagram Properties dialog box CONNECT_OAN INTEGER The autonumber of the connected to object. - CONNECT_ AREA - CHAR (31) The name of the area where the connected to object resides. - 167 - IGSS V8, User Guide SQL type Field name Description GUI name CONNECT_ ENAME CHAR (31) The name of the object you want to connect this Connect To on object to. Data Management Definitions tab For further information about connecting different object types, click here . INITIAL INTEGER 0 = The diagram is not opened when the area is Affected by Set selected. Initial Display in the Format menu of 1 = The diagram is initially opened when the Definition. area is selected. TOMENU INTEGER 0 = Not present in the Diagram menu. Name to Menu on the Definition of Diagram tab. 1 = Present in the Diagram menu. CTRLGRP_OAN INTEGER Autonumber of the control group for this diagram, if it is a template diagram. Reusable diagram and Control group on the Definition of Diagram tab. CTRLGRP_ ENAME CHAR (31) As above Name of the control group. Digital Tables DEFAULTCMD table Notation Summary This table contains a mapping of all digital states and their default commands. The states are defined in the DIG_STATE table. Important: To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the digital template resides Area in Create Template dialog box ENAME CHAR (31) The name of the digital tem- Name in Create Template plate dialog box - 168 - IGSS V8, User Guide Field name SQL type STATE INTEGER COMMAND INTEGER Description GUI name State number. Initially, all Selected state in States list states are numbered from 0 on Command/State Conand upwards. 0 is the first fig tab state, 1 is the second state, etc. Default command. Initially, all commands are numbered from 0 and upwards. 0 is the first command, 1 is the second command, etc. Selected command in Default Command box on Command/State Config tab NOTE: The default command will be marked as bold in the command menu in Supervise. DIG_ALARMS table Notation Summary This table contains the list of individual alarms on digital objects, when individual alarms are chosen instead of consecutive alarms. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table, which will supply the OAN, AREA and ENAME fields. Then you can insert the alarms in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the digital template resides Area in Create Template dialog box ENAME CHAR (31) The name of the digital template Name in Create Template dialog box IDX INTEGER Index of alarm in the list of Left part of list box Digalarms.The list is one-based and ital Alarms on the cannot exceed the number of Edit Mapping tab. alarms allowed by the alarm indication logic set on the Alarm In/Ack Bit tab. ALMNO INTEGER The alarm number bound to the alarm state given by index. - 169 - Right part of list box Digital Alarms on the IGSS V8, User Guide Field name SQL type Description GUI name Edit Mapping tab. DIG_CMD table Notation Summary This table contains a mapping of command numbers to the user-defined command names. The command bits are defined in the DIG_TEMPLATE table. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the digital template resides Area in Create Template dialog box ENAME CHAR (31) The name of the digital template Name in Create Template dialog box COMMAND INTEGER Command number. Initially, all commands are numbered from 0 and upwards. Initial value in Commands drop-down list on States and Commands tab. 0 = 1st command 1 = 2nd command 2 = 3rd command … NAME CHAR (31) The command name corresponding to the above command number DIG_STATE table Notation Summary - 170 - The user-defined command name defined on the States and Commands tab. IGSS V8, User Guide This table contains a mapping of state numbers to the user-defined state names. The state bits are defined in the DIG_TEMPLATE table. Ïmportant: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). AREA CHAR (31) The name of the area in which the digital template resides Area in Create Template dialog box ENAME CHAR (31) The name of the digital template Name in Create Template dialog box STATE INTEGER State number. Initially, all states are numbered from 0 and upwards. Initial value in States drop-down list on States and Commands tab. 0 = 1st state 1 = 2nd state 2 = 3rd state …. NAME CHAR (31) The state name corThe user-defined state name responding to the above defined on the States and Comstate number mands tab. DIG_TEMPLATE table Notation Summary This table contains properties specific to digital templates. They include bit maps for states and commands and alarm bits, single bits (enabled/disabled), consecutive alarms (enabled/disabled), etc. The state and command names are found in the DIG_STATE table and DIG_CMD table. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name OAN SQL type Description INTEGER The object’s autonumber; a unique identifier assigned to each objects, which can- - 171 - GUI name - IGSS V8, User Guide Field name SQL type Description GUI name not be altered or reused (read only). AREA CHAR (31) The name of the area in which the digital template resides Area in Create Template dialog box ENAME CHAR (31) The name of the digital template Name in Create Template dialog box CONNECT_OAN INTEGER The autonumber of the connected to object. CONNECT_AREA CHAR (31) The name of the area where the connected to object resides. CONNECT_ ENAME CHAR (31) The name of the object you want to connect this object to. For further information about connecting different object types, click here . SYMBOL INTEGER 0 = Single bit display disabled 1 = Single bit display enabled (state bits are shown independently) CONSEQALM INTEGER 0 = Individual alarm numbers are used. The alarm numbers are found in the DIGITAL table. - Connect To on Data Management Definitions tab Displays in Single Bits group on Bit Map I/O tab Alarm numbers group on the Alarm In/Ack bit tab 1 = Consecutive alarm numbers are used. The first alarm number is found in the ATOM table. SINGLEBITALM INTEGER 0 = Single bits disabled 1 = Single bits used Single Bits on the Alarm In/Ack bit tab NOTE: There can only be several, unfinished alarms on the same object in the alarm list if Single bits are used. SINGLEBITSTATE INTEGER 0 = Single bit states disabled Single Bits on the Bit Map I/O tab. 1 = Single bit states used SINGLEBITCMD INTEGER 0 = Single bit commands disabled Single Bits on the Bit Map I/O tab. 1 = Single bit commands used MINACK INTEGER Bit mask for acknowledge bit to PC represented as integer (PLC acknowledge of reception of acknowledge bit from PC). MOUTACK INTEGER Bit mask for acknowledge bit from PC rep- From PC bit map resented as integer (operator acknowlon Alarm In/Ack - 172 - To PC bit map on Alarm In/Ack bit tab. IGSS V8, User Guide SQL type Field name Description GUI name edgement). bit tab. MINALM INTEGER Bit mask for alarm indication bits to PC rep- To PC bit map on resented as integer the Alarm In/Ack bit tab. MSTATE INTEGER Bit mask for states represented as integer. To PC on Bit Map I/O tab MCOMMAND INTEGER Bit mask for commands represented as integer From PC on Bit Map I/O tab DIGITAL table Notation Summary This table contains the initial states for the digital objects and the alarm text numbers used (only if you use individual alarm numbers). If you use consecutive alarm numbers, the first alarm number is shown in the ATOM table. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). AREA CHAR (31) The name of the area in which the digital object resides Area in Definition of Object dialog box ENAME CHAR (31) The name of the digital object Name in Definition of Object dialog box CONNECT_ INTEGER The autonumber of the connected to object. OAN - CONNECT_ CHAR AREA (31) The name of the area where the connected to object resides. - CONNECT_ CHAR ENAME (31) The name of the object you want to connect this object to. Connect To on Data Management Definitions tab For further information about connecting different object types, click here . STATE INTEGER Initial state Selected state in States list on Change State tab. 0 = 1st state - 173 - IGSS V8, User Guide Field name SQL type Description GUI name 1 = 2nd state 2 = 3rd state NOTE: This is the initial state as selected in Definition. … COMMAND INTEGER Initially selected command Selected command in Commands list on Change State tab. 0 = 1st command 1 = 2nd command 2 = 3rd command … VALUE DOUBLE Initial free analog value Free Value on Change State tab. NOTE: This is the initial value as entered in Definition. INVALIDCMD table Notation Summary This table contains a list of commands which are invalid for a given state. The commands which are not listed here are thus valid. Important: To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can insert records matching that into this table. Records in this table cannot be changed, only inserted and deleted. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the dig-Area in Create Template ital template resides dialog box ENAME CHAR (31) The name of the digital template STATE INTEGER A value identifying the state for Selected state in States list which the command below is invalid: on Command/State Config tab st 0 = 1 state - 174 - Name in Create Template dialog box IGSS V8, User Guide Field name SQL type Description GUI name 1 = 2nd state 2 = 3rd state ….. COMMAND INTEGER A value identifying the command which is invalid when the digital object is in the above state: Disabled command in Commands list on Command/State Config tab 0 = 1st command 1 = 2nd command 2 = 3rd command … Graph Tables GRAPH table Notation Summary This table contains all the global graph properties, such as the default graph period, data source (*.bcl or *.log), window properties, etc. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) The name of the area in which the graph resides Name in Area Properties dialog box ENAME CHAR (31) The name of the graph Name in New Graph Properties dialog box - 175 - IGSS V8, User Guide Field name TYPE SQL type Description INTEGER A number identifying the data source: GUI name Source in Define Graph Parameters dialog box 2 = Log data 3 = Base class data STYLE INTEGER Windows style extension. See the Microsoft documentation for bit values. STATUSBAR INTEGER 0 = Status bar not visible Status bar in Graph Properties dialog box 1 = Status bar visible TITLEBAR INTEGER 0 = Title bar not visible Title bar in Graph Properties dialog box 1 = Title bar visible GRID INTEGER 0 = Grid is not visible behind the graph Grid in Graph Properties dialog box 1 = Grid is visible AUTOSTART INTEGER 0 = The graph is not started automatically. The operator has the opportunity to change the graph period Autostart in Define Graph Parameters dialog box 1 = The graph is automatically started. The operator has no chance of changing the graph period. PINABLE INTEGER 1, if the diagram can be put “on top”, 0 if not. Pinable in the Graph Properties dialog box STARTOFFSET INTEGER Start offset in seconds Start offset in Define Graph Parameters dialog box GRAPHPERIOD INTEGER Graph period in seconds. This is the Window period in default period suggested to the oper- Define Graph Paramator when he opens the graph. eters dialog box XDIVISIONS INTEGER The number of divisions on the X axis (time). The divisions are only visible when the grid is enabled. X-divisions in Define Graph Parameters dialog box STARTPRECISION INTEGER The precision of the start time of the Start Precision in graph (i.e. the first time stamp on Define Graph Paramthe X-axis) eters dialog box - 176 - IGSS V8, User Guide Field name SQL type Description GUI name 0 = Seconds 1 = Minutes 2 = Hour 3 = Day STARTBIAS INTEGER X INTEGER X coordinate for the graph window (IGSS units1) Position of the finished graph window. Y INTEGER Y coordinate for the graph window (IGSS units) Position of the finished graph window. WIDTH INTEGER The width of the graph window (IGSS units) Width of the finished graph window. HEIGHT INTEGER The height of the graph window (IGSS units) Height of the finished graph window. BGCOLOR INTEGER A number identifying the background color behind the graph. Graph drop-down list in Define Graph Parameters dialog box The number must be given in RGB hexadecimal notation. WINDOWCOLOR INTEGER A number identifying the background color of the graph window. The number must be given in RGB hexadecimal notation. XAXISCOLOR Window drop-down list in Define Graph Parameters dialog box INTEGER A number identifying the x-axis color in the graph window. The number must be given in RGB hexadecimal notation. GRIDCOLOR INTEGER A number identifying the grid color in the graph window. The number must be given in RGB hexadecimal notation. RULERCOLOR INTEGER A number identifying the color of the ruler in the graph window. The number must be given in RGB hexadecimal notation. 1 An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. - 177 - IGSS V8, User Guide Field name SQL type Description FONTINDEX INTEGER Index into the DSC_FONT table of the font used. TOMENU INTEGER 0 = Not present in the Graph menu. GUI name Name to Menu in the Graph Properties dialog box. 1 = Present in the Graph menu. GRAPHELEM table Notation Summary This table contains information about the individual objects in a graph. The name of each graph object, the colour used to identify it, its value scale, etc. Important: To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then you can insert records matching that into this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Graph Properties dialog box IDX INTEGER The sequence of the objects in the Sequence of objects in graph (determines the order of the the Object name colY-axes) umn 0 = 1st object to be shown in the graph 1 = 2nd object 2 = 3rd object 3 = 4th object 4 = 5th object SHOWOAN INTEGER The autonumber of the object shown in the graph. SHOWAREA CHAR (31) The area name in which the object shown in the graph resides - 178 - - IGSS V8, User Guide Field name SQL type Description GUI name SHOWENAME CHAR (31) The name of the object shown in Object name dropthe graph. You can have up to five down list in Define objects in a graph Graph Parameters dialog box ATOM A number identifying the exact value you want to show in the graph. INTEGER Log files: Click here the numbers used. Index in Define Graph Parameters dialog box to view Base class files: Click here view the numbers used. to DRM INTEGER YMIN DOUBLE The min. value of the Y axis Y-min in Define Graph Parameters dialog box YMAX DOUBLE The max. value of the Y axis Y-max in Define Graph Parameters dialog box COLOR INTEGER A number identifying the color Color in Define used to represent this object. This Graph Parameters color is used for the object name dialog box and description and the Y axis belonging to the object. STEPS INTEGER The number of tick marks you want on the Y axis. Y-div in Define Graph Parameters dialog box 0 = The Y axis is visible for this object Y-axis in Define Graph Parameters dialog box DROP_YAXIS INTEGER - 1 = The Y axis is not visible THICK INTEGER 0 = Graph line has normal line thickness Wide in Define Graph Parameters dialog box 1 = Graph line is thicker than normal FILL INTEGER 0 = Pattern disabled (blank pattern Pattern in Define selected) Graph Parameters dialog box 1 = Shaded pattern or solid pattern selected (set in the FULL field above) LASTVALUE INTEGER 0 = Smooth option enabled (graph shows average value instead of the last value) - 179 - Smooth in Define Graph Parameters dialog box IGSS V8, User Guide Field name SQL type Description GUI name 1 = Smooth option disabled (graph shows last value) NODETAILS INTEGER 0 = Show details for this object Show Details in (description and measuring range) Define Graph Parameters dialog box 1 = Show only object name and value PATTERN INTEGER FILL must be set to 1, before this field is used. Pattern in Define Graph Parameters dialog box 0 = Shaded pattern 1 = Solid pattern Group Object Tables GROUPOBJ table Notation Summary This table contains the properties of all group objects. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table table which will supply the OAN and ENAME fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The group’s autonumber (read only). - ENAME CHAR (31) The name of the group. Name combobox in the Group Manager. PICTUREOAN INTEGER Autonumber of the Owning diagram comowning diagram of bobox. the group. PICTUREAREA CHAR (31) Area of the owning Owning diagram comdiagram of the bobox. group. PICTURENAME CHAR (31) Name of the own- Owning diagram coming diagram of the bobox. group. MODIFYNAME INTEGER 1 if name substitution is enabled, 0 if not. - 180 - Modify Name / Enable on the Paste Options tab in the Group Manager. IGSS V8, User Guide Field name SQL type Description GUI name NAMINGCONV CHAR (31) The naming convention string. Naming convention edit box on the Paste Options tab. SUBST1 CHAR (31) First substitution string used during paste of this group. Substitutes editboxes on the Paste Options tab. SUBST2 CHAR (31) Second substitution string. As above. SUBST3 CHAR (31) Third substitution string. As above. MODIFYDRIVER INTEGER 1 if modification of Modify address mapdriver is enabled, ping / Driver on the 0 if not. Paste Options tab MODIFYNODE INTEGER 1 if modification of Modify address mapnode number is ping / Node on the enabled, 0 if not. Paste Options tab MODIFYDGROUP INTEGER 1 if modification of Modify address mapdata group is ena- ping / Data group on bled, 0 if not. the Paste Options tab MODIFYWOFFSET INTEGER 1 if modification of Modify address mapword offset is ena- ping / Word offset on bled, 0 if not. the Paste Options tab MODIFYBOFFSET INTEGER 1 if modification of Modify address mapbit offset is enaping / Bit offset on the bled, 0 if not. Paste Options tab ONPORTAL INTEGER 1 if the group is vis- To Portal on the ible on the portal, Members tab in the 0 if not. Group Manager. PASTEOBJONLY INTEGER 1 if only objects and not descriptors should be pasted, 0 if everything should be pasted. EXCLTEMPLATES INTEGER 1 if templates Exclude templates should be exluded from substitution on from the name sub- the Paste Options tab. stitution, 0 if they should be included. EXCLGROUP INTEGER 1 if the group itself Do not paste the group should not be itself on the Paste pasted, 0 if it Options tab. should be pasted. - 181 - Paste/Reimport Objects only (no descriptors) on the Paste Options tab. IGSS V8, User Guide MEMBERS table Notation Summary This table contains the list of groups each object is a member of. Field name SQL type Description MEMBER_OAN INTEGER Autonumber of the object in question. GROUP_OAN Autonumber of a group, the object is a member of. INTEGER Scaling Tables SCALINGPOINTS table Notation Summary This table contains information about the points on defined for a scaling object. Important: To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can insert records matching that into this table.Note that the ODBC1 driver will itself sort the entries by incresing IO value order. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Graph Properties dialog box IO DOUBLE I/O value I / O value on the Scaling specification tab. REAL DOUBLE The real value to which the IO Real value on the Scaling value will be scaled. specification tab. String Tables STRING table Notation 1 Open DataBase Connectivity - 182 - IGSS V8, User Guide Summary This table contains all the string-specific properties, including the initial text string to show and its max. length. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) The name of the area in which the string object resides Area name in Area Properties dialog box ENAME CHAR (31) The name of the string object Name in Definition of Object dialog box or in object properties dialog box SCAN_CLASS INTEGER 1 = None 2 = 1st scan interval (lowest) Scan interval on Data Management Definitions tab 3 = 2nd scan interval 4 = 3rd scan interval 5 = 4th scan interval (highest) The scan intervals are defined in System Configuration. LOG_PRINT INTEGER 0 = Do not print logged values. 1 = Print logged values. LOGGING INTEGER 0 = None Log to Printer on Data Management Definitions tab Logging on Data Management Definitions tab 1 = 1st logging percentage (lowest) 2 = 2nd logging percentage 3 = 3rd logging percentage 4 = 4th logging percentage 5 = 5th logging percentage (highest) - 183 - IGSS V8, User Guide Field name SQL type Description GUI name The logging percentages are defined in System Configuration. OUTLOGGING INTEGER 0 = Logging out disabled Out on Data Management Definitions tab 1 = Logging out enabled DRIVERID INTEGER The ID identifying the communication driver used for this object. Click here driver IDs. Driver box on the Edit Mapping tab. to view the list of DRIVERSTATION INTEGER The ID identifying the station communicated with by the driver. Driver on Edit Mapping tab (definition) and Station ID on Station tab in System Configuration NODE_NUMBER INTEGER The node number identifying the Node box on the Edit Mapexact PLC to which this object is ping tab. connected. OPCVISIBLE INTEGER 1 if the object is visible in the OPC server, 0 if not. Atoms in OPC Server on the Display tab. MAXLEN INTEGER The maximum string length (up to 254 characters). Maximum length on String Object tab STRING CHAR (254) Initial text string. String on String Object tab MENUCMD CHAR (260) Optional command line for popup menu. Documentation pop-up command line on Data Management Definitions tab. LOGTOSQL INTEGER If you want to send a copy of new log values for this object to an SQL Server, use this option. 0 = No logging 1 = Log to SQL Table Tables TABLEOBJ table Notation Summary - 184 - Log to SQL Database on the Data Management Definitions tab. IGSS V8, User Guide This table contains all the table-specific properties for table objects. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) Name of the area in which the table resides Area in Definition of Object dialog box ENAME CHAR (31) Name of the table object Name in Definition of Object dialog box CONNECT_ INTEGER OAN The autonumber of the connected to object. - CONNECT_ CHAR (31) AREA The name of the area where the connected to object resides. - CONNECT_ CHAR (31) ENAME The name of the object you want to connect this object to. Connect To on Data Management Definitions tab For further information about connecting different object types, click here . UNIT INTEGER Index into the BaseUnits table located in the configuration’s .mdb-file. Unit box on Table tab. DECIMALS INTEGER The number of decimals with which you want to display object values for this object. Decimal Point on Table tab LENGTH INTEGER For string objects this is the Number of filled rows on maximum length of the string, the Table tab. for table objects, this is the current number of entries in use. MIN_VAL DOUBLE The minimum value of the measuring range for this object. Minimum value on Analog tab. MAX_VAL DOUBLE The maximum value of the measuring range for this object. Maximum value on Analog tab. TAB_TEMPLATE table Notation - 185 - IGSS V8, User Guide Summary This table contains all the table-specific properties for table templates. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties in this table. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) Name of the area in which the table resides Area in Definition of Object dialog box ENAME CHAR (31) Name of the table object Name in Definition of Object dialog box CONNECT_ INTEGER OAN The autonumber of the connected to object. - CONNECT_ CHAR (31) AREA The name of the area where the connected to object resides. CONNECT_ CHAR (31) ENAME The name of the object you want Connect To on Data to connect this object to. Management Definitions tab For further information about connecting different object types, click here . UNIT Index into the BaseUnits table located in the configuration’s .mdb-file. INTEGER Unit box on Table tab. DECIMALS INTEGER The number of decimals with Decimal Point on Table which you want to display object tab values for this object. LENGTH INTEGER For string objects this is the Number of filled rows on maximum length of the string, the Table tab. for table objects, this is the current number of entries in use. MIN_VAL DOUBLE The minimum value of the meas- Minimum value on uring range for this object. Analog tab. MAX_VAL DOUBLE The maximum value of the Maximum value on measuring range for this object. Analog tab. TABLEVALUES table Notation - 186 - IGSS V8, User Guide Summary This table contains all the table-specific properties. Important: To insert a new record in this table, the object specified must exist. To do this, create a new record in the CONF table which will supply the OAN, AREA and ENAME fields. Then you can enter the remaining properties. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). AREA CHAR (31) Name of the area in which the table resides Area in Definition of Object dialog box ENAME CHAR (31) Name of the table object Name in Definition of Object dialog box IDX INTEGER The individual rows on the Table tab. A value identifying the exact table item. - 0 = 1st table item 1 = 2nd table item … 9 = 10th table item NAME CHAR (31) The name entered in the Name column Name on the Table tab. VALUE DOUBLE Value on the Table tab. The value entered in the Value column. Function Key Tables FKEY table Notation Summary This table contains all the function keys defined in the configuration. This includes both diagram-specific and global function keys. Important: It is not possible to insert a new record in this table. Create a new record in the CONF table or SUPERCONF table which will supply the OAN, AREA and ENAME fields. Then open the PICTURE table, and set FUNCTIONKEYS to 1. Now you can enter the remaining properties in this table. - 187 - IGSS V8, User Guide Field name SQL type Description GUI name OAN INTEGER The object’s autonumber (read only). AREA CHAR (31) The name of the area in which the diagram specified below resides. Name in Area Properties dialog box ENAME CHAR (31) The name of the diagram for which the function key is defined or Global if you are defining a global function key. Name in Diagram Properties dialog box A number identifying the function key: Function keys dropdown list on Function Key Assignment tab FKEYINDEX INTEGER 1 = F1 (used to access Help by default) 2 = F2 3 = F3 ….. TARGETOAN INTEGER The target object’s autonumber. - TARGETAREA CHAR (31) The name of the area in which the target object resides. - TARGETNAME CHAR (31) The name of the object you want to activate with the function key Object name dropdown list on Function Key Assignment tab ATOM A number identifying the exact Index on Function atom1 you want to activate. Key Assignment tab INTEGER Click here to view the list of atom IDs used. VBAEVENT INTEGER 0 = Do not run VBA code. 1 = Run VBA code when pressed. OUTVALUE DOUBLE The command you want to issue (digital) or the value you want to insert (other object types) when the operator presses this function key. NOTE: For diagrams, always specify “0”. 1 - 188 - Run VBA code on Function Key Assignment tab Command/Value on Function Key Assignment tab IGSS V8, User Guide Field name SQL type Description GUI name For digital objects, specify the command number corresponding to the command you want to issue. The numbers can be found in the DIG_CMD table Process Data Tables ALM table Notation Summary This table contains all the alarm log data which are also saved in the *.alm files located in the report folder. The active [MyConfig].alm file is located in the configuration root folder. Important: This table is read-only. You can control the amount of data saved in this table on the Files tab in System Configuration. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber. - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box ALMNO INTEGER Alarm number as defined on the Edit Mapping tab Alarm Number in the alarm list BEG_TIME TIMESTAMP The start date and time of the alarm (in Start Date and seconds), for example, Start Time in the 22-04-03 10:57:25 alarm list BEG_MSEC DOUBLE ACK_TIME TIMESTAMP The date and time of the acknowledgement of the alarm (in seconds), for example, 22-04-03 11:17:30 The time in milliseconds, for example, 530. This gives the exact time together with the above field. - 189 - Start Time in the alarm list Acknowledge Date and Acknowledge Time in the alarm list IGSS V8, User Guide Field name SQL type Description The time in milliseconds, for example, 530. This gives the exact time together with the above field. GUI name ACK_MSEC DOUBLE END_TIME TIMESTAMP The end date and time of the alarm (in seconds), for example, 22-04-03 12:46:35 End Date and End Time in the alarm list END_MSEC DOUBLE End Time in the alarm list The time in milliseconds, for example, 530. This gives the exact time together with the above field. Acknowledge Time in the alarm list LASTCHANGE_ TIMESTAMP The date and time (in seconds) of the TIME last change for the alarm, that is the latest of the BEG_, ACK_ and END_ times above., for example, 22-04-03 12:46:35 - LASTCHANGE_ DOUBLE MSEC The time in milliseconds, for example, 530. This gives the exact time together with the above field. - ALMSTATE Shows the alarm state: Alarm State in the alarm list INTEGER 0 = No alarm 1 = Acknowledged by IGSS (sys in Alarm List) 2 = Acknowledged by operator 3 = Unacknowledged (*** in Alarm List) MNT INTEGER 1 if the alarm is a maintenance alarm, 0 if not. WORSTVAL DOUBLE Worst value measured for the process component while it was in alarm. Worst Value in the alarm list DRIVERID INTEGER Driver number if the alarm is a driver alarm, NULL if it is not. Driver ID in the alarm list. NODE_ NUMBER INTEGER Node number if the alarm is a driver alarm, NULL if it is not. Node ID in the alarm list. CODE INTEGER Error code if the alarm is a driver alarm, NULL if it is not. - SUBCODE INTEGER Error sub code if the alarm is a driver alarm, NULL if it is not. - IGSSUSER INTEGER The ID of the user who acknowledged the alarm. User in the alarm list - 190 - IGSS V8, User Guide Field name SQL type Description GUI name List of user IDs BEG_USER INTEGER The ID of the PLC or IGSS module which User in the alarm triggered the alarm. list List of user IDs END_USER INTEGER The ID of the PLC or IGSS module which User in the alarm triggered the alarm. list List of user IDs BCL table Notation Summary This table contains all the base class values which are also saved in the *.bcl files. This table is read-only. You can control the amount of data saved in this table on the Files tab in System Configuration. Field name SQL type Description GUI name AREA CHAR (31) The name of the area in which the object specified below resides Area name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box or in object properties dialog box IDX INTEGER Index into the table for table objects, 0 otherwise. REDUCTION INTEGER A number identifying the data reduc- Data reduction on tion method: Data Management Definitions tab 1 = Average 2 = Minimum 3 = Maximum 4 = Sum - 191 - IGSS V8, User Guide Field name SQL type Description GUI name 5 = Actual 6 = Change 7 = Difference DATE TIMESTAMP The time of the base class value - VALUE DOUBLE The reduced value (which is saved in the *.bcl file) - LIMIT INTEGER For future use OPC - STATUS INTEGER For future use OPC - QUALITY INTEGER For future use OPC - OUT INTEGER For future use OPC - BCLASS INTEGER The base class this value belongs to. If you wish, you may specify this for performance when querying for values in a single base class. LOG table Notation Summary This table contains all the log values which are also saved in the *.log files in the report folder . Important: This table is read-only. You can control the amount of data saved in this table on the Files tab in System Configuration. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber. - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box ATOM INTEGER A number identifying the logged atom Atom on the Edit Mapping tab Click here DATE for the list of atom1 IDs. TIMESTAMP The date and time of the logged value (in seconds), for example, 1 - 192 - - IGSS V8, User Guide Field name SQL type Description GUI name 22-04-99 10:57:25 MSEC INTEGER The time of the logged value (in milliseconds), for example, 530 - ETYPE INTEGER The object type. - DVAL DOUBLE Numerical value, for example, the current Process value value for an analog object SVAL CHAR (254) String value, for example, an operator command or a text from a string object Command name or text string LIMIT INTEGER For future use OPC - STATUS INTEGER For future use OPC - QUALITY INTEGER For future use OPC OUT INTEGER For future use OPC IGSSUSER INTEGER ID of who made the change Online Data Tables ATOM_ONLINE table Notation Summary This table contains all the atom1-specific value for all digital, analog, counter, tabel and string objects in the configuration, that are editable directly in the running configuration. Note that changes made in this table will be made directly in the running configuration! This table is empty when if another configuration than the active configuration is chosen, or if the configuration is not running. It is not possible to insert records into this table. Field name SQL type GUI name Description OAN INTEGER The object’s autonumber (read only). - AREA CHAR (31) Area name Name in Area Properties dialog box ENAME CHAR (31) Object name Name in Definition of Object dialog box 1 - 193 - IGSS V8, User Guide Field name ATOM SQL type INTEGER GUI name Description A number identifying the atom. Atom on the Edit Mapping tab. Click here Atom IDs for the list of atom IDs. VALUE DOUBLE STRING CHAR (254) The actual string value for a string object. CHANGE WITH CARE! DATE TIMESTAMP When read, this is the time for the last change on the atom. When updated together with VALUE or STRING, this is the time that will be stamped on the change of the atom. If not changed, when VALUE or STRING is changed, current time is used. MSEC INTEGER Milliseconds in the timestamp described above. LIMIT INTEGER For future use OPC STATUS INTEGER For future use OPC QUALITY INTEGER For future use OPC OUT INTEGER For future use OPC IGSSUSER INTEGER The actual process value on the atom. CHANGE WITH CARE! not used for string objects. ID of who made the last change to the atom. Read only, but changed to reflect that a change was made through the ODBC1 driver, when a record is changed in this table. CONF_ONLINE table Notation Summary This table contains all the properties for an object, that can be changed online. Field name SQL type Description GUI name OAN INTEGER The object’s autonumber; a unique identifier assigned to each objects, which cannot be altered or reused (read only). - AREA CHAR (31) Area name (read only). Name in Area Properties dialog box ENAME CHAR (31) Object name. All names within Name in Definition of Object dialog box 1 Open DataBase Connectivity - 194 - IGSS V8, User Guide Field name SQL type Description GUI name each area must be unique (read only). PASSIVE INTEGER 0 = Scanning is active. 1 = Scanning is stopped. LOGGING INTEGER 0 = No logging of input. Start and Stop on Data Collecting & Logging tab (supervise). Logging In on Data Collecting & Logging tab (supervise). 1 = Input logged. OUTLOGGING INTEGER 0 = No logging of output. Logging Out on Data Collecting & Logging tab (supervise). 1 = Output logged. LOG_PRINT INTEGER 0 = Logging not sent to printer. Print on Data Collecting & Logging tab (supervise). and Log to Printer on Data Management 1 = Logging sent to printer. Definitions tab (definition). INHIBITALARM INTEGER 0 = No alarms inhibited. 1 = one or more or all alarms inhibited. Inhibit Alarms in right click menu (supervise) and Inhibit Alarm and Inhibit All in right click menu in Alarm. (Read only). 8.5 How To ... (MS Access 2000) Opening the ODBC tables Example: MS Access The IGSS ODBC1 interface can be used with any SQL-enabled database. We have chosen MS Access for the examples in this Help file, because it is the most widely used database among our customers. To learn about the procedure used in other database products, refer to the system’s documentation. STEP 1: Create a new database Important: Before you open the ODBC tables, make sure that you have selected the appropriate active configuration in System Configuration. Note that you cannot create a new configuration from the ODBC interface, this must be done from Definition. In order to access the ODBC tables, you must create a new database and name it. 1 Open DataBase Connectivity - 195 - IGSS V8, User Guide 1. Open MS Access and create a new database by double-clicking the Blank Database icon. The File New Database dialog box appears. 2. Name the database and click Create. Tip: You may want to save the database in the configuration root folder, for example, as ODBC.mdb. STEP 2: Link the ODBC tables to the database The next step is to link the ODBC data source to the database as follows. 1. Right-click the database window and select Link Tables. 2. In the Files of type box, select ODBC Databases (). 3. On the Machine Data Source tab, select the IGSS32v8 ODBC Network DS data source and click OK. - 196 - IGSS V8, User Guide STEP 3: Select the tables you want to edit 1. On the Tables tab, select the specific tables you want to view or edit and click OK. Click Select All to show all the ODBC tables. STEP 4: Edit the tables The tables are now ready for editing. For further details about editing, click here. Editing the ODBC tables Before you begin - 197 - IGSS V8, User Guide It is recommended to read the following Help topics before editing the ODBC1 tables: l Read the table overview to understand how the tables are linked together l Read the table descriptions to understand the specific rules that apply to each table General editing rules Observe the following editing rules: l l l To avoid any conflict between the Definition program and the ODBC tables, close the Definition program before editing the tables. If you make changes in the Definition program while the ODBC tables are open, you must close the database and reopen it to view the new changes. If you make changes in the ODBC tables while the Definition program is open, you will be warned about these changes when you switch back to the Definition program. The dialog box below will appear. Note that you will lose any unsaved changes in the Definition program, if you do this. Editing a single table You can edit each table individually by simply double-clicking it in the database window and then changing the properties, as required. However, in many cases you want to edit properties from multiple tables. See the description below. Using queries to extract data Let us take an example where we extract data from two tables. We want to edit the object properties contained in the SUPERCONF and ATOM tables for all objects in the configuration. 1. In the database window, click the Queries tab and click New. 2. Double-click Design View to design the query. The Show Table dialog box appears. 1 Open DataBase Connectivity - 198 - IGSS V8, User Guide 3. Select the SUPERCONF and ATOM tables and click Add. The tables are shown above the design grid. 4. Close the Show Table dialog box. 5. Link the primary key fields by dragging a line from AREA in the SUPERCONF table to AREA in the ATOM table and do the same with the ENAME field. 6. Drag the fields from the SUPERCONF and ATOM tables that we want to view or edit to the design grid. In this example: SUPERCONF table = AREA, ENAME, DRIVERID and NODE_NUMBER ATOM table = ATOMID, DATAGROUP, WORD OFFSET and BIT OFFSET - 199 - IGSS V8, User Guide 7. Run the query by clicking . The extracted fields appear. 8. Edit the properties, as required. l You may, for example, make an update query if you want to change the node number for a number of objects. Open and Edit the ODBC Tables About the examples Illustrate the functionality The “How To” examples show you typical examples of how you can use the ODBC1 interface. They are by no means exhaustive, but represent some of the functionality that we know may be useful for our customers. Experiment with a test configuration It is recommended to use a test configuration when you start using the ODBC interface. Some of the actions you can do are irreversible and may damage the configuration. The examples used in this Help file are all based on the Demo configuration that comes with your IGSS system. You may want to go through these examples, before using the interface on a real configuration. MS Access 2000 examples We have chosen to show the examples in MS Access 2000, because MS Access is the most widely used database product among our customers. 1 Open DataBase Connectivity - 200 - IGSS V8, User Guide Open the ODBC tables l Before you open the ODBC1 tables, make sure that you have selected the appropriate active configuration in System Configuration. Note that you cannot create a new configuration from the ODBC interface, this must be done from Definition. 1. Open MS Access and create a new database by double-clicking the Blank Database icon. The File New Database dialog box appears. 2. Name the database and click Create. l You may want to save the database in the configuration root folder, for example, as ODBC.mdb. 3. Right-click the database window and select Link Tables. 4. In the Files of type box, select ODBC Databases (). 5. On the File Data Source tab, double-click IGSS ODBC Data Source (not sharable).dsn. 6. In the Link Tables dialog box, select the specific tables you want to view or edit and click OK. l Click Select All to show all the ODBC tables. Edit the tables. 7. How? Editing the ODBC tables Before you begin It is recommended to read the following Help topics before editing the ODBC2 tables: l Read the table overview to understand how the tables are linked together l Read the table descriptions to understand the specific rules that apply to each table General editing rules Observe the following editing rules: l l To avoid any conflict between the Definition program and the ODBC tables, close the Definition program before editing the tables. If you make changes in the Definition program while the ODBC tables are open, you must close the database and reopen it to view the new changes. 1 Open DataBase Connectivity 2 Open DataBase Connectivity - 201 - IGSS V8, User Guide l If you make changes in the ODBC tables while the Definition program is open, you will be warned about these changes when you switch back to the Definition program. The dialog box below will appear. Note that you will lose any unsaved changes in the Definition program, if you do this. Editing a single table You can edit each table individually by simply double-clicking it in the database window and then changing the properties, as required. However, in many cases you want to edit properties from multiple tables. See the description below. Using queries to extract data Let us take an example where we extract data from two tables. We want to edit the object properties contained in the SUPERCONF and ATOM tables for all objects in the configuration. 1. In the database window, click the Queries tab and click New. 2. Double-click Design View to design the query. The Show Table dialog box appears. 3. Select the SUPERCONF and ATOM tables and click Add. The tables are shown above the design grid. 4. Close the Show Table dialog box. 5. Link the primary key fields by dragging a line from AREA in the SUPERCONF table to AREA in the ATOM table and do the same with the ENAME field. - 202 - IGSS V8, User Guide 6. Drag the fields from the SUPERCONF and ATOM tables that we want to view or edit to the design grid. In this example: SUPERCONF table = AREA, ENAME, DRIVERID and NODE_NUMBER ATOM table = ATOMID, DATAGROUP, WORD OFFSET and BIT OFFSET 7. Run the query by clicking . The extracted fields appear. 8. Edit the properties, as required. l You may, for example, make an update query if you want to change the node number for a number of objects. - 203 - IGSS V8, User Guide Create Templates and Objects Create an analog template In this example, we create a template, FLOWS, for a number of flow gauges. We will later create a new object based on that template. 1. Open the CONF table and insert a new record by clicking at the bottom of the screen. 2. Insert the following properties: n AREA = Global n ENAME = FLOWS n ETYPE = 33280 3. Fill in the remaining properties using the CONF table description. Table description 4. Open the ATOM table and fill in the atom1-specific properties, such as PLC address (data group, word offset and bit offset), I/O mode, etc. Table description Table description 5. If necessary, open the ANA_TEMPLATE table and define the alarm indication and acknowledgement bits. Table description Result: The analog template is now complete. You can now create a new analog object and base it on the template. Click the button below for details. Create an analog object In this example, we create a new analog object based on the FLOWS template that we have just created. If you have not created the template yet, do it now. How? 1 - 204 - IGSS V8, User Guide 1. Open the CONF table and insert a new record by clicking 2. Insert the following properties: l AREA = Global l ENAME = q10 l ETYPE = 512 l SUB_AREA =Global l SUB_ENAME = FLOWS at the bottom of the screen. Table description 3. Open the ATOM table and fill in the atom1-specific properties, such as PLC address (data group, word offset and bit offset), I/O mode, etc. Table description Result: The analog object is now complete. All the properties from the FLOWS template are inherited by the object. You can view and edit these properties by opening the ANALOG and ANA_SUBTYPE tables. Create a digital template In this example, we create a template for a number of pumps. We will later create a new pump based on that template. 1. Open the CONF table and insert a new record by clicking 2. Insert the following properties: l AREA = Global l ENAME = PUMPS l ETYPE = 33024 Table description 1 - 205 - at the bottom of the screen. IGSS V8, User Guide Open the ATOM table and fill in the atom1-specific properties, such as PLC address (data group, word offset and bit offset), I/O mode, etc. 3. Table description Open the DIG_TEMPLATE table and insert the properties that are specific to digital templates: bit maps for states and commands, alarm bits, single bits and consecutive alarms. 4. Table description Open the DIG_CMD table and map each command number to the appropriate command name. 5. Table description Open the DIG_STATE table and map each state number to the appropriate state name. 6. Table description Open the DEFAULTCMD table and map each digital state to its default command. 7. Table description Open the INVALIDCMD table and create a list of commands which are invalid for a given state. The commands which are not listed here are thus valid. 8. Table description Open the DIGITAL table and fill in the initial state for the pump and define the alarm numbers (only if you use individual alarm numbers). If you use consecutive alarm numbers, the first number is shown in the ATOM table. 9. Table description Result: The pump template is now complete. We will then create the first pump based on the template. Click the button below for details. Create a digital object In this example, we create a new digital object (a pump) based on the PUMPS template that we have just created. If you have not created the template, do it now. How? 1 - 206 - IGSS V8, User Guide 1. Open the CONF table and insert a new record by clicking 2. Insert the following properties: l AREA = Global l ENAME = p100 l ETYPE = 256 l SUB_AREA =Global l SUB_ENAME = PUMPS at the bottom of the screen. Table description the ATOM table and fill in the atom1-specific properties, such as PLC address (data group, word offset and bit offset), I/O mode, etc. 3. Open Table description Result: The digital object is now complete. All the properties from the PUMPS template are inherited by the object. You can view and edit these properties by opening the digital-specific tables. Click here to list these tables. Edit Multiple Objects Simultaneously Replace a template Let us assume that we want to replace the template for a number of flow gauges. Instead of the FLOW template used in the Demo configuration, we now want to use the FLOWS template that we created earlier on. If you have not created this template, do it now. Click here 1. Open the CONF table. 2. Click the Filter by Form button Apply Filter button for details. and type FLOW in the SUB_ENAME field, then press the . Result: All objects based on the FLOW template appear. 3. Replace FLOW with FLOWS. You can use the Replace function or make an update query. Result: The objects are now connected to the new template and inherit all its properties 1 - 207 - IGSS V8, User Guide Change the driver ID A popular feature is the ability to change the PLC address information for multiple objects simultaneously. Let us assume that you have just replaced one of your PLCs to obtain more functionality. The old one is a Siemens serial 3964R/512K interface driver (ID no. 2) and the new one is a Siemens S7 protocol driver (ID no. 8). To change all the IDs from 2 to 8, you must first extract the relevant fields and then make an update query. 1. Extract the relevant fields from the STANDARD and ATOM tables. How? 2. In the query design mode, right-click in the upper pane of the window and select Query Type ® Update Query. 3. In the DRIVERID column, type 8 in the Update To field and 2 in the Criteria field. 4. Click the Run Query button, irreversible operation. 5. Click Yes. A second confirmation message appears telling you how many records you are about to update. 6. Click Yes. . A confirmation message appears informing you that this is an Result: All driver IDs have now been changed from 2 to 8. Extract Historical Data Create an MS Excel chart showing historical values In this example, we extract some BCL values for the flow gauge, q1, and then show them in an Excel chart. 1. Open the BCL table. 2. Filter the table so that it only shows BCL values for q1. How? 3. Select Tools ® Office Links ® Analyze It with MS Excel to bring the values into Excel. 4. In Excel, mark the relevant columns to show in the chart: l ENAME l DATE l VALUE (reduced value) - 208 - IGSS V8, User Guide 5. Click the Chart Wizard button 6. Click Finish to show the chart. and go through the wizard. You can also show the hourly, daily and monthly values saved by IGSS by opening the database, Genhdm.mdb, located in the report folder and then extracting the relevant information as described above. Filter Information Filter an ODBC table In many cases, you will only work on a limited number of records in a table. To filter the contents of a table, use the built-in Filter by Form function. 1. Open the table you want to filter. 2. Click the Filter by Form button, 3. Type the criterion for the filter, for example, q* in the ENAME field will extract all object names starting with q. 4. Click the Apply Filter button, . . Result: The records matching the filter appear. - 209 - IGSS V8, User Guide Chapter 9: SQL Database for IGSS Data 9.1 Introduction What is SQL? SQL stands for Structured Query Language and is a language used for querying and processing data in relational databases in client/server environments. SQL has become a de facto standard in relational databases and has developed into an independent database programming language. SQL Express, aka Microsoft SQL Server 2005, is a Microsoft runtime SQL database included with the IGSS software package and is free of charge. The functionality found here is limited compared to a full SQL database product. When to use an SQL database with IGSS? The Microsoft Access database as a runtime version is included free of charge with the IGSS product. It’s this database that stores process data for use in generating reports on the state of the plant and it stores data on preventive maintenance routines created in the IGSS Maintenance module. Access database technology is not reliable in cases where the quantity of process data approaches 1 GB, which is the limit for the JET database engine. One clear indication of this limit being reached is seen when sluggish report generation occurs. If no action is taken, loss of data and possible corruption of the whole genhdm.mdb database may result. One solution would be to install an SQL database, which works together with the JET or Access database already in place. The Hour, Day and Month (HDM) data tables located in the IGSS genhdm.mdb database can be linked to the SQL database. The maintenance routines stored in the mntdb.mdb and IGSS log files can also be linked to an SQL database. This raises the threshold of the amount of data that can be managed without danger of corruption or loss. Located on the IGSS CD is Microsoft's runtime SQL Express, which is an SQL database that may be used free of charge. When using it to store data, the threshold for handling process data is raised to approximately 4 GB. If this limit also is reached, then a full version of an SQL database must be installed. To see how to install and set up the software, click here SQL Express. 9.2 Installation and Setup of SQL Express The SQL Express server installation Before you can begin to use the SQL functionality in IGSS, an SQL server must first be installed. Either a full SQL server or the Microsoft runtime SQL Express server may be used. The steps below describe the installation and configuration process for the SQL Express software. You are free to install this SQL server on any PC in the network or on the IGSS server PC. If you haven’t already installed the SQL Express software when initially installing the IGSS software, you must do so now. Place the IGSS CD in the drive and find the sub-folder called [CD drive:]\IGSS Demo\SQLexpress and click the SQLEXPR.EXE program found here and follow the on screen - 210 - IGSS V8, User Guide instructions. After this installation has been successful, you must then install the server management software package. (See below.) SQL Express The following illustrations are in chronological order and show the most important steps in installing the SQL Express software. SQL Express: installation of Prerequisites - 211 - IGSS V8, User Guide SQL Express Wizard - 212 - IGSS V8, User Guide The 13 items tested before actual installation of SQL Express - 213 - IGSS V8, User Guide The user registration information dialog box - 214 - IGSS V8, User Guide Selecting features to install - 215 - IGSS V8, User Guide Settings to select for Service Account - 216 - IGSS V8, User Guide The authentication mode choices - 217 - IGSS V8, User Guide The actual installation is initiated from here - 218 - IGSS V8, User Guide The installation process is nearly completed After a few more screens, the SQL Express installation is complete. Go to the next topic to see how to install the SQL server management software tools. Server management software installation The management software installation you select to install depends on the size of the PC's processor. If you're installing on a 64-bit system, then you must run the SQLServer2005_SSMSEE_x64.msi software. If you're installing on a 32-bit system, then you must run the SQLServer2005_SSMSEE.msi software. The illustration below is the first screen that appears with the 32-bit installation. Click Next and follow the on screen instructions. The introduction screen for installing the SQL management software When finished, you must then select settings as described in the next topic. Settings in the SQL Server After successfully installing both pieces of software, the programs are accessed from Start - All Programs - Microsoft SQL Server 2005 - Configuration Tools and Start - All Programs - SQL Server Management Studio Express. Follow the steps below to configure the SQL server. - 219 - IGSS V8, User Guide 1. Go Start - All Programs - Microsoft SQL Server 2005 - Configuration Tools - SQL Server Configuration Manager 2. In the tree view select SQL Server 2005 Services and then double click the first icon on the right, SQL Server (SQLEXPRESS).to bring up the SQL Server (SQLEXPRESS) Properties dialog box. 3. Select the tab Service and make sure the Start Mode is set to Automatic by clicking on the drop down box to the right. 4. Click OK to save and exit, and then right click the SQL Server (SQLEXPRESS) icon to make sure it's running. 5. Next, click the SQL Server 2005 Network Configuration in the tree view followed by a click on the Protocols for SQLEXPRESS. 6. On the right, click on Shared Memory to enable it (icon changes to yellow) and TCP/IP to enable it (icon changes to yellow). 7. Click the red close X-button to save and exit. Follow the steps below to configure the SQL Server Management Studio Express. For Windows XP you must be logged on as a user with administrative rights and on Windows Vista you select Run as administrator. 1. Go Start - All Programs - SQL Server Management Studio Express and the Connect to Server dialog box appears. 2. In the Authentication: drop down box select the authentication scheme to use and click Connect. 3. The Microsoft SQL Server Management Studio Express dialog box opens and in the tree view, select Security. 4. Right click and select New - Login...and in the Login name: field select the NT user (group) that is to have administrative rights to the database server; and remember to select Windows authentication. 5. In the tree view select Server Roles and make sure to select all choices displayed in the window at the right. 6. Exit the program. The IGSS databases must now be prepared to work with SQL Express. To continue by creating an SQL database for HDM1 data, click here. To continue by creating an SQL database for Maintenance data, click here. To continue by creating an SQL database for log data, click here. 1 HDM is the abbreviation for Hour-Day-Month. - 220 - IGSS V8, User Guide 9.3 The HDM database for SQL Creating the HDM database on the SQL server Before following the steps below, you should have installed the SQL Express software and its management module as described in the topic SQL Express server installation. 1. Go Start - All Programs - Microsoft SQL Server 2005 - SQL Server Management Studio Express and click Connect. 2. In the tree view select right click on the folder Databases - New databases... and the New Database dialog box appears. 3. In Database name: key in HDM and click OK. 4. The database is created and the name HDM appears in the Databases list in the right window. 5. Go File - Open - File...and the folder SQL in the IGSS installation should open as default. If not, then browse to it in the path [IGSS installation]\7T\IGSS32\V7.0\SQL. Select the file called hdmdb.sql and click Open. 6. The SQL Server 2005 now opens; click Connect and the content of the hdmdb.sql file is displayed. 7. Activate Ctrl-A to select the entire content and then press the F5 key to run the sql script. 8. Under the Messages tab that appears after script execution a message should appear: Command(s) completed successfully as well as a message at the bottom of the dialog box Query executed successfully. 9. Exit the program. To continue to the next procedure click here. Creating an ODBC Data Source for HDM The next task is to create an ODBC data source on the PC where the SQL Express database is installed. Because Windows Vista is a 64 bit system, a 32 bit ODBC driver must be installed to run with the 32 bit IGSS software. This is done by running the ODBC 32 bit data source application in Vista. This is found in the path Windows\Syswow64\ODBCad32.exe. Follow the on screen wizard to complete the creation of a 32 bit ODBC data source. The steps to follow are the same as described below for creating an ODBC data source in Windows XP. In Windows XP, go Start - All Programs - Control Panel - Administrative Tools - Data Sources (ODBC) and continue as follows: 1. In the ODBC Data Source Administrator dialog box select the tab System DSN. 2. Click the button ADD and the Create New Data Source wizard appears. In the list displayed, find the entry SQL Server, highlight it, and click the button Finish. 3. The Create a New Data Source to SQL Server dialog box appears. In the field Name: be sure to type in HDM and in the field Server: use the drop down box to find the name of the PC being used as the SQL Express server. Select the PC name and then add \SQLExpress directly after the PC name; cClick Next. - 221 - IGSS V8, User Guide 4. In the dialog box now appearing, choose the authentication method you wish to use, either NT or SQL. Click Next. 5. In the dialog box now appearing, select the check box Change the default database to: and in the drop down box select HDM. Click Next. 6. In this dialog box simply click Finish to continue. 7. In this last dialog box, ODBC Microsoft SQL Server Setup, click on the button Test Data Source…. If the setup has been successful, a message will appear confirming this. Click OK to finish and exit. To continue to the final procedure, click here. System Configuration setup for HDM Our next task is to enter the System Configuration module to set system parameters for the HDM1 SQL database. 1. Click on the System Configuration icon and make sure the station to be used as IGSS server is selected (green computer screen icon). 2. Go to the tab called Files and in the External database group, click the button SQL Settings….and the SQL Server Settings dialog box appears. 3. Select Enable external DB for HDM database. 4. In the field DSN, enter the name chosen in the ODBC2 DSN setup, in our scenario here HDM. 5. In the field Computer name of server type in the name of the server where the SQL Express server is installed. In the field Database name type in the name of the SQL database, in our case HDM. 6. Choose which type of authentication you’re using, either NT or the SQL database’s own. Fill in User name and Password as appropriate, if you have chosen SQL authentication. 7. Click OK to complete. This completes the final task for creating the HDM database on the SQL Express server. 9.4 The MNTDB database for SQL Creating the MNT database on the SQL server Before following the steps below, you should have installed the SQL Express software and its management module as described in the topic SQL Express server installation. 1. Go Start - All Programs - Microsoft SQL Server 2005 - SQL Server Management Studio Express and click Connect. 2. In the tree view select right click on the folder Databases - New databases... and the New Database dialog box appears. 3. In Database name: key in MNTDB and click OK. 1 HDM is the abbreviation for Hour-Day-Month. 2 Open DataBase Connectivity - 222 - IGSS V8, User Guide 4. The database is created and the name MNTDB appears in the Databases list in the right window. 5. Go File - Open - File...and the folder SQL in the IGSS installation should open as default. If not, then browse to it in the path [IGSS installation]\7T\IGSS32\V7.0\SQL Select the file called mntdb.sql and click Open. 6. The SQL Server 2005 now opens; click Connect and the content of the mntdb.sql file is displayed. 7. Activate Ctrl-A to select the entire content and then press the F5 key to run sql the script. 8. Under the Messages tab that appears after script execution a message should appear: Command(s) completed successfully as well as a message at the bottom of the dialog box Query executed successfully. 9. Exit the program. To continue to the next procedure, click here. Creating an ODBC Data Source for Maintenance The next task is to create an ODBC data source on the PC where the SQL Express database is installed. Because Windows Vista is a 64 bit system, a 32 bit ODBC driver must be installed to run with the 32 bit IGSS software. This is done by running the ODBC 32 bit data source application in Vista. This is found in the path Windows\Syswow64\ODBCad32.exe. Follow the on screen wizard to complete the creation of a 32 bit ODBC data source. The steps to follow are the same as described below for creating an ODBC data source in Windows XP. In Windows XP, go Start - All Programs - Control Panel - Administrative Tools - Data Sources (ODBC) and continue as follows: 1. In the ODBC Data Source Administrator dialog box select the tab System DSN. 2. Click the button Add and the Create New Data Source wizard appears. In the list displayed, find the entry SQL Server, highlight it, and click the button Finish. 3. The Create a New Data Source to SQL Server dialog box appears. In the field Name: be sure to type in MNT and in the field Server: use the drop down box to find the name of the PC being used as the SQL Express server. Select the PC name and then add \SQLExpress directly after the PC name; click Next. 4. In the dialog box now appearing, choose the authentication method you wish to use, either NT or SQL. Click Next. 5. In the dialog box now appearing, select the check box Change the default database to: and in the drop down box select MNTDB; click Next. 6. In this dialog box simply click Finish to continue. 7. In this last dialog box, ODBC Microsoft SQL Server Setup, click on the button Test Data Source…. If the setup has been successful, a message will appear confirming this. Click OK to finish and exit. To continue to the final procedure, click here. - 223 - IGSS V8, User Guide System Configuration setup for MNT 1. Open System Configuration and go to the Files tab. 2. Under Maintenance data (MntDb.mdb) click on the button SQL Settings… and the SQL Server Settings dialog box appears. 3. Select Enable external DB for MNT database and the inactive fields become active. 4. Fill in the fields as follows: DSN = the name given to the creation of the Maintenance DSN in ODBC1 Data Sources, in our case MNT. Computer name of server = the name of the PC where the SQL Express database is installed followed by \SQLExpress. 5. Under Authentication, select the method chosen for the SQL Express server. 6. Click OK. This completes the final task for creating the MNT database on the SQL Express server. 9.5 The LOG database for SQL Creating the LOG database on the SQL server Before following the steps below, you should have installed the SQL Express database as described in the topic SQL Express server installation. 1. Go Start - All Programs - Microsoft SQL Server 2005 - SQL Server Management Studio Express and click Connect. 2. In the tree view select right click on the folder Databases - New databases... and the New Database dialog box appears. 3. In Database name: key in LOG and click OK. 4. The database is created and the name LOG appears in the Databases list in the right window. 5. Go File - Open - File...and the folder SQL in the IGSS installation should open as default. If not, then browse to it in the path [IGSS installation]\7T\IGSS32\V7.0\SQL Select the file called logdb.sql and click Open. 6. The SQL Server 2005 now opens; click Connect and the content of the logdb.sql file is displayed. 7. Activate Ctrl-A to select the entire content and then press the F5 key to run the sql script. 8. Under the Messages tab that appears after script execution a message should appear: Command(s) completed successfully as well as a message at the bottom of the dialog box Query executed successfully. 9. Exit the program. To continue with the next procedure, click here. 1 Open DataBase Connectivity - 224 - IGSS V8, User Guide Creating an ODBC data source for LOG The next task is to create an ODBC1 data source on the PC where the MSDE is installed. This is done by opening the Data Sources (ODBC) icon in the Windows Control Panel and following the steps below. The next task is to create an ODBC data source on the PC where the SQL Express database is installed. Because Windows Vista is a 64 bit system, a 32 bit ODBC driver must be installed to run with the 32 bit IGSS software. This is done by running the ODBC 32 bit data source application in Vista. This is found in the path Windows\Syswow64\ODBCad32.exe. Follow the on screen wizard to complete the creation of a 32 bit ODBC data source. The steps to follow are the same as described below for creating an ODBC data source in Windows XP. In Windows XP, go Start - All Programs - Control Panel - Administrative Tools - Data Sources (ODBC) and continue as follows: 1. In the ODBC Data Source Administrator dialog box select the tab System DSN. 2. Click the button Add and the Create New Data Source wizard appears. In the list displayed, find the entry SQL Server, highlight it, and click the button Finish. 3. The Create a New Data Source to SQL Server dialog box appears. In the field Name: be sure to type in LOG and in the field Server: use the drop down box to find the name of the PC being used as the SQL Express server. Select the PC name and then add \SQLExpress directly after the PC name; click Next. 4. In the dialog box now appearing, choose the authentication method you wish to use, either NT or SQL. Click Next. 5. In the dialog box now appearing, select the check box Change the default database to: and in the drop down box select LOG; click Next. 6. In this dialog box simply click Finish to continue. 7. In this last dialog box, ODBC Microsoft SQL Server Setup, click on the button Test Data Source…. If the setup has been successful, a message will appear confirming this. Click OK to finish and exit. To continue to the final procedure, click here. System Configuration setup for LOG 1. Open System Configuration and go to the Files tab. 2. Under LOG data (*.LOG) click on the button SQL Settings… and the SQL Server Settings dialog box appears. 3. Select Write LOG value to SQL Server.and then click on the button Database Setup… 4. Select Microsoft OLE DB Provider for ODBC2 Drivers and click Next. 5. Under Use data source name (radio button), select LOG. 1 Open DataBase Connectivity 2 Open DataBase Connectivity - 225 - IGSS V8, User Guide 6. Fill out the fields under 2. Enter information to log on to the server according to the security scheme chosen. 7. Under 3. Enter the initial catalog to use select LOG. 8. Click OK to finish. Note:Remember to select the option Log to SQL Database on the Data Management Definitions tab for the object(s) whose log data is to be placed in the SQL database; this is done in the Definition module. This completes the final task for creating the LOG database on the SQL Express server. - 226 - IGSS V8, User Guide Chapter 10: Web Access 10.1 Web Browser Solution Using ActiveX The web browser has become an indispensable part of our lives. This also applies to SCADA1/HMI systems, where users want to be able to monitor and control using their favorite browser. However, the security and performance aspects have been major obstacles in obtaining secure and fast supervision. But with the current internet bandwidth and connection speeds, supervision in IGSS with a web browser is feasible, secure and fast. Requirements l A Terminal Server with the appropriate number of client licenses l IGSS must be installed on the Terminal Server l The client must have a browser supporting ActiveX How it works 1. The client enters the terminal server URL in his browser. 2. The client logs on with his user name and password. 3. The client now has full access to all IGSS features, as if he was working on a normal operator station. Security considerations Industrial processes are very secure by their nature. Often, internet access is not available from the industrial network. To make IGSS accessible from the outside, the following very secure setup can be made: l Place the IGSS Server on the protected industrial network l Place the Terminal Server on the public network l Link the Terminal Server to the IGSS Server (see IGSS Help) l Create users and credentials in the IGSS User Administration module l Optionally, create a VPN connection to the Terminal Server If you want your users to be able to connect anywhere, anytime - then the VPN solution is not optimal. The user must set up a VPN connection on the client PC, before he can connect. Placing the Terminal Server on the public network does carry the risk of intruders. However, by isolating the IGSS Server on the industrial network, the IGSS project and all data files can never be compromised. Examples This example shows a web client connected to the Terminal Server. Notice that IGSS is running inside the web browser. 1 Supervisory Control & Data Acquisition - 227 - IGSS V8, User Guide - 228 - IGSS V8, User Guide 10.2 Remote Access Solution If you want a cost-effective web access solution that still fulfills your security demands, use the Remote Access Solution in IGSS. Installing the remote access software server-side and client-side is a breeze. Setting up the security is also very fast and intuitive. All the client needs is a browser and an ID/Password to get access to the plant's operator station. Requirements A remote access solution with IGSS has the following requirements: l Plant operator station must have the server version of the remote access software installed l Examples are TeamViewer, LogMeIn, GoToMyPC l The client must have a web browser installed How it works 1. The client enters the URL for remote access to the operator station. 2. The client logs on to the server. 3. The client now takes over control of remote screen, mouse and keyboard. 4. The client has full access to all IGSS features, as if he was working on a normal operator station. Security considerations It is recommended to take the following security measures: l Restrict the client's permissions in the remote access software, as required l Set up a firewall between the web client and the plant operator station l Set up User Administration in IGSS With this in place, you have a very secure web access solution. To automate the logon process for the user further: On the client, configure that the remote access will Auto-start with Windows. Predefine the remote access ID and password. Examples The example below shows a client connected to an IGSS operator station using TeamViewer. - 229 - IGSS V8, User Guide 10.3 Live IGSS Data on Web Pages Introduction If you want to show live IGSS values on web pages, do not despair. You can very easily connect to the IGSS Server and fetch live IGSS data. Here's a couple of real-life examples for inspiration. Case 1: Cassini web server and Adobe Flash solution The challenge - 230 - IGSS V8, User Guide Danish system integrator, YIT A/S, are experts in the district heating business. Solar heat is becoming more and more popular in Denmark with the number of private and utilities plants now exceeding 30,000. Solar heat is used effectively in district heating plants. This is where YIT came into the picture. They were asked to provide a web page showing current and historical solar heat data from different plants. The solution YIT chose to customize the default page of the Cassini Web Server to make it understand IGSS syntax. This allows them to extract live data from the IGSS ODBC1 Server using JavaScript. The data can then be presented, as required. YIT chose an Adobe Flash country map of Denmark to provide an overview. Clicking a red dots leads to a historical data page in HTML format. The principle of the solution is shown here. The result Business professionals and private people interested in solar heat can now inspect current and historical values on http://www.solvarmedata.dk/ 1 Open DataBase Connectivity - 231 - IGSS V8, User Guide The first page shows a map of Denmark with the solar heat plants plotted in. Hovering the cursor over the red dot provides these values in a tooltip: l Current solar heat production l Current solar heat production in square meters l Current solar radiation Clicking the dot leads to a sub-page showing the historical values.On this page the user can even: l Download historical values in CSV format l Show graphs of historical data (see below) - 232 - IGSS V8, User Guide Customized web server solution If you want to try out the Cassini web server solution, you can do it right now. 7T has modified the default start page of the web server to understand IGSS syntax. With a very simple syntax, you can thus extract live data from the IGSS ODBC Server. The data can be presented as you like on the web. Start by reading the instructions in the file, How to set it up.htm. Download Code and Help Case 2: SQL Server and ASP solution The challenge Icelandic system integrator, Raftakn, was faced with the challenge of providing round-the-clock web-based supervision of a hot water distribution plant in Iceland. The solution Raftakn chose to extract live data from the IGSS ODBC Server into an SQL Server. Using ASP code they could now extract the data from the SQL Server and present it live on a web page. The drawing shows the chosen solution. - 233 - IGSS V8, User Guide The result Operators, plant managers and other staff can now view the key values from the hot water distribution plant in a standard web browser on this URL: http://www.hef.is/default.asp?sida=igssdata.asp The values shown are primarily flows, water temperatures, wind velocity and direction. The picture shows the river running between the two small towns of Fellabær and Egilsstadir. The red line is the hot water pipe from Urridavatn where the 75 degrees Celsius water is extracted from approx. 1,000 meters depth. - 234 - IGSS V8, User Guide - 235 - IGSS V8, User Guide Chapter 11: WAP 11.1 Overview - WAP service in IGSS Introduction Now it's possible to exploit WAP (Wireless Application Protocol) technology with the IGSS system to carry out surveillance and control duties via WAP enabled cellular telephones. The feature facilitates greater flexibility in planning duty personnel coverage because physical presence at the plant is no longer an absolute requirement in order to perform supervisory tasks. IGSS WAP service (IWS) With IWS installed, the WAP enabled cellular phone is able to communicate with the IGSS server in the plant. Information gathering to the cellular phone display as well as sending control commands to process components are performed by activating various keys on the phone. This is accomplished by using a CGI (Common Gateway Interface) script, which dynamically creates WML (Wireless Markup Language) pages. These are based on data collected at the IGSS server and made available through the IGSS Automation interface. Main features in IWS The IWS software offers three main features to WAP cellular phone users as described in the following. l Remote Alarm List This feature provides a list of active alarms from the plant's IGSS system. Detailed information on object name, area location and alarm text can be obtained from the list. It is also possible to acknowledge an alarm. Although the IWS service can be used alone on a WAP phone, the optimal solution would be to use IWS with the IGSS WinPager program. WinPager sends single SMS messages to the cellular phone for each alarm occurrence. Upon receiving the SMS alarm message, the user would then open the IWS Remote Alarm List for a detailed description and, if necessary, use the Remote Object Browsing feature to send a change to the object in question. l Remote Object Browsing - 236 - IGSS V8, User Guide This feature allows the user to receive information on objects (pumps, valves, motors, etc.) in the configuration and to actively change their states, set points or alarm properties. For security purposes, permission to carry out these tasks are defined in the IGSS User Administration module. Due to present limitations in size of cellular phone displays, limiting the number of objects available for IWS supervision when setting up the IGSS configuration is recommended. l Remote Report Editor This feature allows for manually keying in data from process components not connected to the IGSS surveillance system. For this purpose, Remote Report Editor uses the same type of report scheme and format as the standard IGSS module called the Manual Report Editor (MRE). The use of this feature is ideally suited for reading and manual recording of data by personnel on visual inspection rounds of the plant. System requirements IWS must be installed on a PC functioning simultaneously as an IGSS server and WWW server. Web server requirements are basically the same as for hosting a web site consisting of standard HTML pages. The Internet Information Server/Services (IIS) from Microsoft is one such Web server. Some additional settings and definitions are, however, required when configuring an IWS installation. Communication requirements Communication between the combined web and IGSS v3 server on the one hand and and the cellular phone on the other hand involves a third party gateway service typically provided by the telephone company to which one subscribes. The gateway acts as a translator between the two sets of protocols used, one for the cellular net and one for the Internet, and provides the Web server with information on the cellular phone being used. (See diagram above.) As WAP technology is perfected, more detailed information on the type and functionality of the cellular phone employed will be available to the Web server. A case in point is that it is now possible to move the gateway directly on to the Web server. This greatly improves security in that access can now be controlled through, for instance, a modem instead of allowing broad access via the Internet. 11.2 Implementation scenarios for an IGSS WAP Services (IWS) solution At present, there are two different ways in which an IWS solution can be implemented. These can be briefly described as an “off-site gateway” solution and an “on-site gateway” solution. With the “off-site gateway” solution, the gateway software required for communication between the WAP enabled cellular phone and the combined IGSS server/Web server is located on a server owned and maintained by a commercial service provider offering communication services between WAP devices and the Internet. Access to the combined IGSS server/Web server is thus gained via the equipment owned and maintained by the service provider. The “on-site gateway” solution bypasses the need for an external service provider because the software required for communication between the WAP enabled cellular phone and the combined IGSS server/Web server is installed on the latter. Access to the combined IGSS server/Web server is gained directly via a modem attached to the combined IGSS server/Web server. The following table gives an overview of the differences between the two scenarios with respect to the software and hardware necessary for implementation. - 237 - IGSS V8, User Guide Off-site Gateway On-site Gateway 1. IGSS server connected to Internet for WAP phone access via Internet protocols. (Modem not required.) 1. IGSS server not connected to Internet because WAP phone access occurs through a modem. (Modem installation required.) 2. Internet Information Server/Services (IIS), or other 3rd party www server s/w must be installed on IGSS server to give it Internet server functionality. 2. Internet Information Server/Services (IIS), or other 3rd party www server s/w must be installed on IGSS server to give it Internet server functionality. 3. Gateway s/w between WAP and Internet protocols located on service provider’s server. 3. Gateway s/w between WAP and Internet protocols installed directly on IGSS server, which is obtained from 3rd party. 4. Fixed IP address for IGSS server obtained from service provider. WAP phone access via Internet. 4. IP address randomly chosen because IGSS server not connected to Internet. WAP phone access to IGSS server via modem. 5. Configuration of Win NT4/ Windows 2000 network parameters. 5. Configuration of Win NT4/ Windows 2000 network parameters. 6. RAS server(NT) or incoming connection (Win2000) irrelevant here because WAP phone access to IGSS server via Internet. 6. RAS server (NT) or incoming connection (Win2000) must be installed with defined users because WAP phone access to IGSS server via modem. 11.3 Before you begin with WAP The IGSS WAP service (IWS) is an optional program for IGSS and therefore must be purchased separately. It will be included on the license diskette (options.txt) either at the time of initial purchase of the IGSS software or subsequently delivered on a new license diskette, if the IWS program is purchased at a later date. If purchased later, then the options.txt file with the IWS license must be copied to the \GSS subfolder on the server where IGSS is installed. In addition, the IWS user must have a WAP enabled cellular telephone and a subscription to a WAP service provider. Also, an IP address for the combined IGSS/Web server must be purchased through an Internet service provider. - 238 - IGSS V8, User Guide 11.4 Installing World Wide Web server software Any 3rd party software package for configuring a world wide web server may be used. However, in the following we use Microsoft’s Internet Information Services (IIS) software because of its easy availability and compatibility with the Windows platform. If you use Windows NT as the combined IGSS/Web server platform, the IIS software is not included in the product and must be obtained via a so-called NT Options Pack. However, if you use Windows 2000 as the IGSS/Web server platform, the IIS software is included with the product. Normally, the IIS software will not have been installed on the Windows 2000 system, and therefore this task must be completed before continuing. Configure IIS parameters for Windows 2000 Configure IIS parameters for Windows NT 4 11.5 Configure IIS parameters for Windows 2000 After the IIS software has been installed, certain parameters in the IIS program must now be configured. Because it is assumed that the IGSS server will only be used for Internet access from WAP enabled cellular telephones, only the parameters mentioned in the steps below should be set up. Leave the other parameters as is. 1. Select Control Panel ® Administrative Tools ® Internet Services Manager and the Internet Information Services dialog box appears. In the dialog box’s tree view under the heading Internet Information Services, the <server name> defined for the PC earlier has automatically been created. 2. Double click on the <server name> and a tree unfolds with three branches. 3. Choose the branch Default Web Site and right click to bring up a menu from which you choose Properties. The Default Web Site Properties dialog box appears. 4. Select the tab Web Site and under Web Site Identification, define the following settings: l Description: (Type in a descriptive name, for instance IGSS Web Site.) l IP Address: (Use the drop down box arrow on the right to find the IP address of the server and select it. The IP address to be used is the one obtained from the Internet Service Provider to which the user has subscribed.) 2. Click the Apply button, then the OK button. The Internet Information Services dialog box appears with IGSS Web Site highlighted. 3. Right click on IGSS Web Site to bring up a menu from which you choose New ® Virtual Directory. The Virtual Directory Creation Wizard now appears. 4. Click Next> and the Virtual Directory Alias dialog box appears. In the field Alias: type in this name for the directory: WAP. - 239 - IGSS V8, User Guide l The name of this virtual directory must be WAP. 5. In the field Directory, type the path to the IGSS folder created during IGSS installation called IGSSIRS. (It will typically be located in the [Install path] in the sub-folder called \GSS.) 6. Click Next> and the Access Permissions dialog box appears. 7. Under Allow the following, make sure Read is selected and unselect Run scripts (such as ASP). Click Next> and the final Wizard dialog box appears. 8. Click Finish and the tree view under Internet Information Services reappears. 9. Choose the WAP directory, then right click on it to bring up a menu from which you choose Properties. The WAP Properties dialog box appears. 10. Make sure you’re on the tab Virtual Directory. At the bottom of the dialog box find the area Application Settings. To the right, click on the button Create (and the button changes name to Remove.) Do nothing more here. Go on to the next step. 11. Choose the tab HTTP Headers. Under MIME Map, click File Types… and the File Types dialog box appears. 12. Click New Type… and the File Type dialog box appears. 13. In the field Associated extension, type in wbmp. 14. In the field Content type (MIME), type in Image/vnd.wap.wbmp. Click OK, and the File Types dialog box again appears with the settings you’ve just entered under the field Registered file types. 15. Repeat steps 14. to 17. for each new set to be created as listed below: Associated extension: Content type (MIME): wml text/vnd.wap.wml wmlc application/vnd.wap.wmlscriptc wmlsc application/vnd.wap.wmlscript ws text/vnd.wap.wmlscript wsc text/vnd.wap.wmlscriptc wmlscript text/vnd.wap.wmlscriptc - 240 - IGSS V8, User Guide 16. When finished keying in all the above, click OK and the WAP Properties dialog box appears. Click OK and the Internet Information Services tree view reappears. Make sure the icon next to the WAP directory name resembles an open package. If not, repeat steps 12. and 13. above. 17. Right-click on the WAP directory to bring up a menu from which you chose New ® Virtual Directory and the Virtual Directory Creation Wizard now appears. 18. Click Next>and the Virtual Directory Alias dialog box appears. 19. In the field Alias, type in the name CGI. Click Next>. 20. The Web Site Content Directory dialog box appears. Under Directory, type in the path to the IGSSIRS sub-directory called CGI. Click Next>. 21. The Access Permissions dialog box appears. Under Allow the following, select Read, Run scripts (such as ASP) and Execute (such as ISAPI applications or CGI). Click Next>. 22. The final Wizard dialog box appears. Click Finish and the tree view under Internet Information Services appears. 23. Look at the icon next to the CGI sub-directory just created. It should resemble an open package, which indicates that applications located here can be run. If the icon is not an open package but a yellow folder with a blue globe, then right click on the CGI name and the CGI Properties dialog box appears. Make sure you’re on the tab Virtual Directory. At the bottom of the dialog box find the area Application Settings. To the right, click on the button Create (and the button changes name to Remove.) Click OK. 24. Repeat steps 19. to 25. to create a new virtual directory with the following settings: Alias: QUE Directory: \…\GSS\IGSSIRS\QUE Allow the following: þRead þWrite 25. Now activate Windows Explorer and find the path to the que sub-directory, which was created during the original IGSS installation. (This que sub-folder exists two levels under the [Installation path] GSS sub-folder on the hard disk, i.e. \…\GSS\IGSSIRS\que.) Open it. 26. Right-click on the name que to bring up a menu from which you select Properties and the que Properties dialog box appears. 27. Select the tab Security, and click on Add… and the Select Users, Computers or Groups dialog box appears. In the Look in drop down box, the name of the Internet server should be selected (<server name>). 28. In the Name box, find the entry IUSR_<server name> and select it. Click Add, then click OK. 29. The que Properties dialog box appears and the setting <server name> now appears in the Name box as Internet Guest Account (<server name>). Select it, then find the Permissions box underneath and in the column Allow, select þRead þWrite. Click OK. l The IIS configuration for Windows 2000 is now completed. - 241 - IGSS V8, User Guide 11.6 Configure IIS parameters for Windows NT 4 After the IIS software has been installed, certain parameters in the IIS program must now be configured. Because it is assumed that the IGSS server will only be used for Internet access from WAP enabled cellular telephones, only the parameters mentioned in the steps below should be set up. Leave the other parameters as is. 1. To find the Internet Services Server (IIS) software on the Win NT machine, click on START ® Programs ® Windows NT 4.0 Option Pack ® Microsoft Personal Web Server ® Internet Service Manager. The Microsoft Management Console Version 1.0 screen appears. After a few seconds, the user is brought into the Microsoft Management Console [iis Console Root] dialog box box. In the left pane of the dialog box box under the folder Console Root, a sub-folder called Internet Information Server is visible. 2. Double-click on the name Internet Information Server and sub-folders appear. The first is <server name>, the name of the PC earlier defined during original NT installation, which now appears automatically. Now, double click on <server name> to show sub-folders. 3. Choose the sub-folder Default Web Site and right-click to bring up a menu from which you choose Properties. The Default Web Site Properties dialog box appears. 4. Select the tab Web Site and under Web Site Identification define the following settings: l Description: (Type in a descriptive name, for instance IGSS Web Site.) l IP Address: (Use the drop down box aarow on the right to find the IP address of the server and select it. The IP address to be used is the one obtained from the Internet Service Provider to which the user has subscribed.) 2. Click the Apply button, then the OK button. The Microsoft Management Console dialog box appears with IGSS Web Site highlighted. 3. Right-click on IGSS Web Site to bring up a menu from which you choose New ® Virtual Directory. The New Virtual Directory Wizard now appears. 4. In the field Alias to be used…, type in this name: WAP. Click Next>. l The name of this virtual directory must be WAP. 1. The next dialog box box in the Wizard appears. In the field Enter the physical path…, type in the path to the IGSS folder created during the initial IGSS installation called IGSSIRS. (It will typically be located in the [Install path] in the sub-folder called \GSS.) Click Next>. 2. The next dialog box box in the Wizard appears. Select only the check box for Allow Read Access. Click Finish and the tree view in the Microsoft Management Console reappears. 3. Select the WAP directory, then right-click on it to bring up a menu from which you choose Properties. The WAP Properties dialog box appears. 4. Make sure you’re on the tab Virtual Directory. At the bottom of the dialog box find the area - 242 - IGSS V8, User Guide Application Settings. To the right, click on the button Create (and the button changes name to Remove). Go to the next step. 5. Choose the tab HTTP Headers and find the section called MIME Map. Here, click File Types and the File Types dialog box appears. 6. Click New Type and the File Type dialog box appears. 7. In the field Associated extension, type in wbmp. 8. In the field Content type (MIME), type in Image/vnd.wap.wbmp. Click OK, and the File Types dialog box again appears with the settings you’ve just entered under the field Registered file types. 9. Repeat steps 12. to 15. for each new set to be created as listed below: Associated extension: Content type (MIME): Wml text/vnd.wap.wml Wmlc application/vnd.wap.wmlscriptc Wmlsc application/vnd.wmlscript Ws text/vnd.wap.wmlscript Wsc text/vnd.wap.wmlscriptc Wmlscript text/vnd.wap.wmlscriptc 10. When finished keying in all the above, click OK. The WAP Properties dialog box appears. Click OK and the Internet Information Services tree view reappears. Make sure the icon next to the WAP directory name resembles an open package. If not, repeat steps 10. and 11. above. 11. Right-click on the WAP directory to bring up a menu from which you chose New ® Virtual Directory. 12. The New Virtual Directory Wizard now appears. In the field Alias to be used…, type in this name: CGI. Click Next>. 13. The next Wizard dialog box box appears. In the field Enter the physical path, type in the path to the IGSSIRS sub-folder called CGI. Click Next>. 14. The next Wizard dialog box box appears with 5 check boxes. Select only the Allow Execute Access (includes Script Access) box. 15. Click Finish and make sure the icon next to the CGI directory name resembles an open package - 243 - IGSS V8, User Guide instead of a yellow folder with a blue globe. If not, right click on CGI and choose Properties from the menu. 16. On the tab Virtual Directory go to the bottom under Application Settings and click on the button Create (and the button changes name to Remove). Click OK. 17. Repeat steps 18. to 23. to create a new virtual directory with the following settings: Alias to be used… QUE Enter the physical path… \…\GSS\IGSSIRS\QUE What access permissions…. þ Allow Execute Access (includes Script Access) l The IIS configuration for Windows 2000 is now completed. 11.7 Configure Network Setup on Windows 2000 To ensure correct communication between the combined IGSS/Web server and IGSS WAP Services, certain parameters must be set up on the Windows 2000 PC. 1. Access the Windows 2000 Control Panel and then click on the Network and Dial-up Connections icon. The Network and Dial-up Connections dialog box box appears. 2. Double click on the Local Area Connection icon and the Local Area Connection Status dialog box box appears. 3. Click on the Properties button and the Local Area Connection Properties dialog box appears. Select Internet Protocol (TCP/IP) and then click the Properties button and the Internet Protocol (TCP/IP) dialog box appears. 4. Select Use the following IP address. In the field IP address, type in the IP address obtained from your Internet Service Provider. In the field Subnet mask, type in 255.255.255.0 and in the field Default gateway, type in the IP address of your router, which connects your LAN with the Internet. l Network configuration for Windows 2000 is now completed. 11.8 Configure Network Setup on Windows NT 4 To ensure correct communication between the combined IGSS/Web server and IGSS WAP Services, certain parameters must be set up on the Windows NT PC. - 244 - IGSS V8, User Guide 1. Access the Windows NT Control Panel and then click on the Network icon. The Network dialog box box appears. 2. Choose the Protocols tab and select TCP/IP Protocol. 3. Click the Properties… button and the Microsoft TCP/IP Properties dialog box appears. 4. Select Specify an IP address. 5. In the field IP Address, type in the IP address obtained from your Internet Service Provider. 6. In the field Subnet Mask, type in 255.255.255.0 and in the field Default Gateway, type in the IP address of your router, which connects your LAN with the Internet. Click OK. l Network configuration for Windows NT 4 is now completed. 11.9 Configure access via modem This procedure is only relevant for users who have chosen to access the combined IGSS/Web server via a modem connection, i.e. an Internet Service Provider is not used. The advantage of this solution lies in the security it provides by preventing access to the IGSS/Web server through the Internet. Briefly described, third party gateway software for WAP services is installed directly on the IGSS/Web server instead of being located on an Internet Service Provider’s own WAP services gateway server. This means that attempts to access the IGSS/Web server by unauthorized users become more difficult because the IGSS/Web server with modem access is not directly visible on the Internet. Configure access via modem in Windows 2000 Configure access via modem on Windows NT 4 - 245 - IGSS V8, User Guide Chapter 12: Reference and Lookup 12.1 Conventions in this Manual The following typographical conventions are used: Convention Description Example User interface element When referring to labels and names in the user interface. User input When the user has to type specific data in IGSS. The Data Management tab. Type the following description: Incoming flow in Tank 2 Module name When referring to a module in IGSS Note A note emphasizes or supplements important points of the main text. A note provides information that may apply only in special cases. By default, the timestamp is in universal time format, UTC1. This can be changed in the Driver Log Filters dialog box. Tip A tip suggests alternative methods that may not be obvious in the user interface. A tip also helps the user in working more effectively with IGSS. A tip is not essential to the basic understanding of the text. Alternative to this simple find function, you can also filter on text in the messages in Driver Log Filters dialog box. Warning A warning is an important note that is essential for the completion of a task. In some cases, disregarding a warning may result in undesirable functionality or loss of data. If you disregard the System alarm, you may risk loss of data in the LOG and BCL files. Open the Definition module. 12.2 Getting Help in IGSS IGSS comes with a comprehensive help system designed to help both system designers and operators to get started with IGSS as quickly as possible. Documentation overview 1 Universal Time Coordinated (formerly Greenwich Mean Time), used as the basis for calculating time in most parts of the world. IGSS uses this time format internally in the database. You can switch between UTC and local time by enabling or disabling the "UTC" field in various dialog boxes in the system. - 246 - IGSS V8, User Guide The IGSS documentation includes the following items: Documentation item Description Getting Started An introduction to IGSS and its most fundamental terms and features. Getting Started is intended to get you up and running as fast as possible. The manual provides a system and architecture overview followed by a number of real-life use cases you can go through before building your first real IGSS project. The manual is available in Adobe Acrobat format (.pdf). For each module there is a help file with the same name as the module itself, for example, Igss.chm for the Master module, Igss.exe. Module help The help file is invoked by clicking the in the upper right corner of the module. The Table of Contents will then allow you to browse through the topics. For each dialog box there is a help topic with the following standard information: l Overview l Preconditions l Where do I find it? l Field help Dialog box help Dialog box help is invoked by clicking the help button right hand corner of the dialog box. in the upper IGSS also provides thematic help. When there is a special theme that requires special attention from the user, a dedicated help file is provided. Examples include "Driver-Specific Help" and "Database Administration Help". Thematic help Where are the help files located? The IGSS help files are located in the appropriate language folder under the [IGSS InstallPath]. The help files are available in English at release time. The paths to the help files are: Language Path English [IGSS InstallPath]\ENG Danish [IGSS InstallPath]\DAN German [IGSS InstallPath]\DEU Translated help files - 247 - IGSS V8, User Guide Selected help files have been translated into Danish and German. If you require help files in your language, please contact 7T. Help updates The IGSS help files are continuously updated and improved. Check regularly with the IGSS Update module in the IGSS Start menu. 12.3 Version Information (IGSS Help System) © 7-Technologies A/S, IGSS Version 8.0 The IGSS help files are based on software build number 9212 (initial release) English help files To update the help files, you must activate the IGSS Update module in the IGSS Start menu. There must be a connection from the PC to the Internet. Every time IGSS Update is run, IGSS help files as well as IGSS system files will automatically be updated on the PC from the 7-Technologies web server. You select the languages you want to update in the Tools menu of the IGSS Update module. If you are not able to update the IGSS system directly via the Internet, the alternative is to download the updates from the 7-Technologies website as zip files. These can then be transferred onto a CD or USB memory stick, which is then the medium used to update on site. After running IGSS Update, the build numbers in various IGSS modules may change to a higher number. This signifies that the module in question has been updated with newer files. Build numbers consist of four digits, where the first digit represents the year and the last three represent the day number in the year in question. The build number can be seen in the About dialog box which can be activated from the Help menu. An example: Build number = 9212 9 = the year 2009 210 = The 210th day of the year - 248 - IGSS V8, User Guide Chapter 13: Glossary A Application button The Application button, nicknamed "doughnut", is located in the upper left corner of the module's window. Click the button to access the application menu. The menu contains items that were typically found in the File menu in previous versions of IGSS. In most modules, an "Options" item allows the user to define global module settings. The Application button is a new term introduced with the .NET platform and used in, for example, the Microsoft Office 2007 package. atom H HDM HDM is the abbreviation for Hour-Day-Month. I IGSS units An IGSS unit is a relative unit used to describe the size and position of diagrams, graphs and descriptors. The unit entered in ODBC is automatically converted to pixels when you view sizes and positions in the Definition module. O ODBC Open DataBase Connectivity Q Quick Access Bar You can customize the Quick Access Bar to include the functions you use most frequently. Simply drag the relevant function from the ribbon to the Quick Access Bar. R Ribbon The Ribbon is a new term/element in the Microsoft universe. The Ribbon replaces the well-known toolbars in applications. The Ribbon provides quick access to the most commonly used functions in the application. The Ribbon is divided into logical groups (the tabs) and each tab is divided into sections (the blocks in the tab). The Ribbon is context-sensitive which means that only relevant functions are accessible dependent on the current user action. - 249 - IGSS V8, User Guide S SCADA Supervisory Control & Data Acquisition U UTC Universal Time Coordinated (formerly Greenwich Mean Time), used as the basis for calculating time in most parts of the world. IGSS uses this time format internally in the database. You can switch between UTC and local time by enabling or disabling the "UTC" field in various dialog boxes in the system. - 250 -