`Exhibit 1007
`
`
`
`
`
`
`
`TOTAL ENGINEERING SERVICES TEAM, INC.
`(TEST Inc.)
`
`SCAOAWARE®
`
`SOFTWARE
`DOCUMENTATION
`UPDATE
`From December 1994
`
`Document No.1 005-30
`
`Revised: Jan 2, 1998
`
`This document is ~ Copyright 1996 by
`Total Engineering Services Team, Incorporated,
`(TEST Inc.), New Orleans, La. USA
`All Rights Reserved
`
`1007.0001
`
`
`
`CONTENTS
`
`Default Graphic File Setting ............................................ 2
`SCADA WARE Windows 3.xx Detection ................................... 2
`Non-Standard COM Port Assignment Fix .................................. 3
`FORM Printouts (Full SCADA WARE Only, not in Lite) ....................... 3
`Text Block Output .................................................... 4
`Text Comment Block .................................................. 5
`Scroll Graph Pause Control ............................................. 5
`Point Status Function .................................................. 6
`Multi-RTU Point ID Offsets ............................... : .............. 7
`File Select Command .................................... : .............. 8
`Improved RTU Select Pick List .......................................... 8
`Command Line Param Count Function .................................... 8
`Main Menu Hit to Display Images ........................................ 9
`Improved Number Tag Parsing .......................................... 9
`DataBase Multi-Task Hot Links ......................................... 10
`Critical Section Processing ............................................ 10
`Ra\V Mode Improved ................................................. 11
`Dumb RTU Ack Enltancement ... '.' .................... " ................ 11
`Multi-Drop Comm Line Key Dwell ............................... . . . . . . . 12
`Function for Max RTU Number ......................................... 12
`Graphic Flash Rate Control ............................................ 13
`Paint Command Dynamic Image Color ................................... 13
`Manual Link Blocking ................................................ 13
`New Editor Defaults ................................................. 14
`RTG ICON and IMAGE Size Scaling .................................... 14
`New PREVIOUS Command - Alternate Gosub Return ........................ 14
`VGA Chip Selection ................................................. 15
`VESA Graphics Control .............................................. 17
`Database Record Alignment ............................................ 17
`Ne}v Database Timestamp Codes ........................................ 17
`RTU Update Completion Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
`Multidrop Messages Received by Sending Unit ............................. 18
`Automatic Multidrop Broadcast Delays ................................... 18
`RTU DataBase Update Flag ............................................ 18
`Default Database Directory ............................................ 19
`FAX Feature Update ................................................. 19
`Text File Send and Receive ............................................ 19
`APPEND Ex1ension to COpy Command .................................. 20
`LOG File Error Fixed ................................................ 20
`LINK GROUP Enhancements .......................................... 20
`LINK Status Display Enhancement ...................................... 21
`LINK Command Can use RTU Name .................................... 21
`LINK RETRY Does Not Affects BLOCKED Links .......................... 21
`STAT Command Improvements ........................................ 21
`TSP Protocol Timing Changes .......................................... 22
`Non-Alarm Channel Display Option ..................................... 22
`LOG Command Page Eject ............................................ 22
`Link Status On Channel Displays ....................................... 22
`DATA @ENDS Added to Save Command Output ... , .............. , ........ 23
`Analog Output Driver Update .......................................... 23
`Generic Analog Input Deadband ........................................ 23
`File Record Locks .....•............................................. 24
`CRT Listing Pause Fix ................................................ 24
`Table Lookups ...................................................... 24
`File Rename Command ............................................... 27
`Password Function Changes ............................................ 27
`Link Fail Logging Option .................................... , ......... 27
`Printer Status Function ............................................... 28
`Database Move Command ............................................. 28
`
`SCADAWARE Software Update as of Jan 2. 1998
`
`Page 1 0/41
`
`1007.0002
`
`
`
`Medium Size SCADAW ARE ........................................... 28
`Automatic Com Port Setup ............................................ 29
`Field Sub-grouping of RTU Names ...................................... 29
`Phone Dialing Prefix and Suffix ........................................ 31
`Optional Link Procedure Name ......................................... 32
`Simplified Multi-RTU Config File Load .................................. 32
`Enhanced "Super" Comm Port Watch .................................... 33
`GSA VE - SF4 - Graphic Screen Capture .................................. 33
`Simplified DB Update (Fll.L) .......................................... 34
`TSP Expressions in Graphic Traces ...................................... 34
`AFD - Analog for Digital GIO Driver .................................... 35
`Driver Config Files in Libnuy .......................................... 35
`Automatic Log Printouts .......................... ~ ................... 35
`Database Export Facility .......................... : ................... 36
`Auto FORM Redra\V •••••••••••••••••••.••••••••••••••••••••••••••••• 38
`Auto Trend Scroll Control ............................................ 38
`Year 2000 (y2K) Considerations ........................................ 39
`Password Level TSP Function .......................................... 40
`Automatic LOGON Procedure ................................. : ........ 40
`Enhanced PasS\Vord Timeout ........................................... 40
`Enhanced @KEY(O) and @RAWKEY(O) Functions ......................... 40
`
`The standard SCADA program has been modified since the last major documentation release in December.
`1994. This document serves as interim notice until the formal manuals are released in the next periodic update. The
`software has been tested on a standard RTU and is believed to be compatible with existing systems. However. all
`system functions should be tested with the new version to insure compatibility with each installed unit.
`
`This document has information on all changes since the documentation was last printed. Refer to this software
`update notice for information on any changes that do not appear in the standard printed documentation.
`
`New features of SCADA W ARE will be applied to the older RTUMON program where possible. However.
`the smaller capacity of RTUMON executing on an 8086 class processor prohibits implementation of many
`SCADAW ARE features. Most existing systems operating RTUMON on 8086-80486 processor can benefit from the
`improvements documented herein.
`
`[Feb 4. 1995]
`
`Default Graphic File Setting
`
`A new SET options allows for a default graphic filetype to be specified. Supported options are PCX and GIF'.
`The SET keyword is GFILE.
`
`SET GFILE PCX
`
`SET GFILE GIF
`
`This setting affects the Backdrop and Paint commands so that a graphic file name without a file type will
`automatically be fixed to included the default file type. If a file type is specified in a TSP command line. then the
`default will not be used.
`
`SCADAWARE Windows 3.xx Detection
`
`The DPMI version of SCADA W ARE is now "Windows aware" in that it detects the presence of Windows as
`the host operating environment. This occurs when the program is run under Windows in a "DOS Box." When
`Windows is detected, SCADA W ARE does slightly different task switching to allow for more efficient operation of
`
`SCADAWARE Software Update as of Jan 2. 1998
`
`Page 20/41
`
`1007.0003
`
`
`
`other concurrent Windows programs.
`
`The special teclmiques used can be disabled or enabled with a new SET Conunand, SET WINDOWS OFFION.
`
`Non-Standard COM Port Assignment Fix
`
`A common problem with non-standard serial port usage was that more than one task could accidentally be
`assigned the same port. This often occurred when the task number and pon number were different (and thereby non(cid:173)
`standard). SCADAWARE nonnallyuses port 1 for task 1, port 2 for task 2, etc. But when port 2 was assigned to task
`1 (as with an internal notebook modem), then it was previously required to set task 2's pon to another port, or to-l
`to disable serial port access.
`l
`
`Now, SCADA W ARE will automatically clear any other tasks which use the port assigned with the SET PORT
`command. When SET PORT is used, the executing task will get the port assignment, and any other task previously
`using the same port will be set to -1. This allows a simple port selection by any task without concern for which other
`tasks may be using the same port.
`
`[Feb 1295]
`
`FORM Printouts, (Full SCADAWARE Only, not in Lite)
`
`The SCADA WARE screen form feature has been enhanced to allow printing of forms to either the system
`printer or to a named disk file. The printing option can be done from the command line (or within a TSP procedure),
`or it can be done from an active form. The two methods are similar, but slightly different as explained below.
`
`A form Can be printed cIirect1y by using an extension to the existing FORM command. The extension describes
`the method of printing as either TO a destination, or APPENded to a destination. The destinations can be any valid
`DOS output file name, including PRN for the system printer. For example:
`
`FORM MYFORM TO OUTPUT.TXT
`
`; write form to file called output.txt
`
`FORM MYFORM APPEND OUT.REP
`
`; add myform screen to existing file
`
`The above formats assume that the lines are entered at the system prompt, and that no output files are already
`open. Sometimes it will be useful to use the FORM printout from a TSP command file. If the only purpose of the output
`file is to contain the single fonn, then the above styles will wolk. However, it may be desirable to put several forms into
`a single file, or to have the form output mixed Witll other output to generate a more complete report. In this case, the
`TSP command file can open an outprit file and send various types of text to the file, including one or more form
`displays, by not specifying any file name after the TO keyword. Consider this example of a procedure named
`Print_report which uses several form outputs:
`
`.'
`
`generate a daily report with seeral forms
`; start sending output to a disk file
`for system to $S
`"generated on "$0
`
`Proc print_report
`file open daily.rep
`writeln "Daily report
`writeln
`blank
`writeln
`i blank line
`form fnamel to
`writeln
`writeln
`form fname2 to
`writeln
`writeln "End of report. Printed at " $T
`file close
`; stop sending text to output file
`
`send form output to daily rep
`
`; send another form to same file
`
`SCADAWARE Software Update as of Jan 2, 1998
`
`Page 3 of 41
`
`1007.0004
`
`
`
`It is also possible to print a fonn while the fonn is currently in the screen. A new fonn description keyword,
`?PRINT, has been added. This works similarly to the ?EXIT and ?P AINT keywords in that they are processed directly
`by the currently active fonns and do not send messages to other tasks, or to the current task. A menu hit must be set
`up to do the fonn printing. The output can go to either the system printer, or to a disk file, but the APPEND option
`cannot be used here. Consider the following fragment from a FRM file.
`
`[100] Volts
`Battery Voltage
`Print report [p]
`Send Feport to file [F1
`ACK
`[A1
`------------------------------------------------------------------
`,
`
`?END
`A Ack
`P ?Print
`F ?Print Myname.txt
`100 Al'###.##
`
`; end the form output to the system printer
`send form output to file named Myame.txt
`
`NOTE: When the foim command sends output to the PRN device, which is the system printer, the rules
`governing printer use for SCADA W ARE are still in effect. This means that a printer must have been defined with the
`SET PRINT command, and the SET PW AIT command controls the delay between printed lines. If the printer fails,
`the system printer is no longer available and must be reenabled with a new SET PRINT command.
`
`[Feb 17 9S]
`
`Text Block Output
`
`A series of text messages can be displayed on the screen (or sent to standard output) with multiple ECHO
`statements. ntis is often done to provide instructions or other multi-line messages. A more convenient method is now
`available which allows text to be typed as a block, without the need to use ECHO commands at the start of each line.
`The column arrangement of the block text is exactly like it will appear on the final printout. For example:
`
`TEXT
`
`This menu action will cause the compressor to shut down. This will
`cause a loss of gas lift power, resulting in a decrease in oil production
`and probably total shutdown of the system.
`
`If you really want to do this, press Y to confirm.
`
`To cancel this action, press N.
`ENDTEXT
`
`All text between TEXT and ENDTEXT will be put on the screen. This includes blank lines, making it easy
`to arrange tex1 in a suitable form.
`
`Note that the text is sent to the console for the current task, or to an output file if one is open. Text which is
`to always appear on the task 0 CRT must be done with a MSG command.
`
`SCADAWARE Software Update as of 1m, 2, 1998
`
`Page4oj41
`
`1007.0005
`
`
`
`Text Comment Block
`
`The semicolon (;) is the comment character used to separate text to be processed from text to be ignored. This
`is used to put descriptive comments on lines by themselves, or at the end of lines containing command text. Large
`blocks of comment text, such as at the top of a TSP file, require that a semicolon be put at the beginning of each line.
`Likewise, normal TSP code which is to be temporarily deactivated (during testing) must have semicolon added to the
`start of each line.
`
`A new COMMENT BLOCK feature allows simplified separation of active text from comment text. The style
`follows that of the Pascal programming language, where the 2 character (* is used to begin the comment, and *) is used
`to mark the end of the comment. The start sequence, (*, must appear at the start of a line. The ending sequence, *),
`can be anywhere on it line. Here's an example:
`
`(* This procedure is used to call an RTU, pulse an output, and get an
`update after a delay.
`Param 1 is the RTU name
`Param 2 is the output
`Param 3 is the time to pulse and wait
`Example gosub pulse_it WC240, OS, 15
`
`sele $1
`dial
`wait 30 conn
`set online on
`Msg RTU is online. Sending output code.
`block calc $1.$2 = $3
`msg Waiting
`sleep $3
`. MSg Getting Download
`block read download
`
`Comments are recognized in nonnal processing, as well as during Librcuy Loads. This means that blocked
`comment text will not be included in the libnuy buffer when a Lm file is loaded into memory.
`
`Scroll Graph Pause Control
`
`The SCROLL (trending) graphs nonnally stop updating when the scroll reaches the right side of the trend
`area. This is suitable for simple displays where the scroll can pause until a keyhit occurs. The scroll then shifts and
`continues for another segment until the left side is reached again. This halting action isn't compatible with the Real
`Time Graphic system which requires that the RTG UPDATE take place in a constant loop. To work around this
`incompatibility, new option is pro\ided which controls the haIting action of the scroll graph.
`
`..
`
`The default setting is for the scroll graph to halt processing until a key hit occurs, just as it always has. A new
`set command, SET SCROLL OFF/ON allows an alternate action to occur when the display limit is reached. If SET
`SCROLL OFF is entered (once at startup is enough), the Trend display update will be suspended until either a keyhit
`occurs, or an RTG mouse hit of ?SCROLL occurs. This allows the main display loop to continue and process RTG's
`without the need to halt on the Scroll graph.
`
`Although the scroll is automatically halted, it is up to the programmer to avoid advancing the database while
`the scroll graph is halted. To detect the halt condition, a new function has been provided which returns the halt status
`of any graph window, including the current one. The new function is @GWSTAT(x), for Graphic Window Status.
`GWST AT takes a parameter which indicates the desired graphic window, or 0 fOl'the current window. If only one
`graphic window is used in a procedure, then @GWSTAT(O) will always work.
`
`SCADAWARE Software Update as if Jan 2, 1998
`
`PageS 0/41
`
`1007.0006
`
`
`
`The function @GWSTAT(x) will return 0 if the window is not halted, or 1 if it is halted. If the function is
`non 0, then the data base advance should not be done. The test for @GWSTAT(O) can be put into the main loop as
`shown in the following fragment:
`
`: loop
`rtg update
`
`if @gwstat (0)
`db next
`endif
`
`; update dots and boxes used as menu hits
`
`= 0
`test for halted scroll
`scroll not halted, so OK to advance DB
`
`if @dberr(O) = 0
`win update
`else
`window close
`return
`endif
`
`if @key(O) = 27
`window Close
`return
`endif
`
`goto loop
`
`i-See if they want to quit witn escape
`
`In this example, the loop will continue until a keypress of ESCAPE exits the program. While the loop
`runs, the DB NEXT will occur only when the current graphic window is not halted. Remember that the halt bypass
`is only in effc:ct if SET SCROLL OFF has been entered at some time after system startup. This setting can be put in
`the recommended GLOBAL.RTU procedure read when the system is first started.
`
`Point Status Function
`
`Several new TSP @ functions have been added which allow access to the number of points with a
`particular alann status. The value returned by these functions is the number of channels, of all types, which meet
`the alarm status condition specified by the function. Separate functions are available for Nonnal, New Alarm, In
`Alarm, and Reset. The count returned applies only to one logical RTU.
`
`A "trick" is required to specify the RTU for which the point count \\ill be taken. The function processor
`does not currently have the ability to receive an RTU name as a parameter. However, it can receive a tag name.
`Therefore, these functions requires that they be passed any channel in the rtu for which the count is desired. The
`processor can determine which logical RTU to process by looking up the RTU name which contains the tag name .
`. '
`
`The new TSP functions are:
`
`@Norm(tagname)
`@New(tagname)
`@Alarm(tagname)
`@Reset(tagname)
`
`Nonnal Alanns
`Unacknowledged Alarms
`In Alarm, or in Deadband
`Waiting for Reset
`
`SCADAWARE Software Update as of Jan 2. 1998
`
`Page 6 of 41
`
`1007.0007
`
`
`
`Example TSP Procedure:
`
`r
`
`CIs
`Msg Test Procedure to show current Alarm Status Count
`Msg Normal Channels is $(@Norm(al»
`Msg New Alarms
`$(@New(al»
`Msg Old Alarms
`$(®Alarm(al»
`Msg Waiting Reset
`$(@Reset(al»
`
`Multi-RTU Point 10 Offsets
`
`Certain I/O situations require that the logical ID of a point be a different value than the default assigned
`by the system. In other words, sometimes analog channel 8 be referenced as something other than A8. This is most
`common in multi-drop situations where multiple physical RIDs are combined to form one logical RTU.
`
`The Host system want's to view all the points at a multi-unit remote as a single group. Points 1-8 may be
`on the first unit, 9-16 on the seconds, etc. When the host gets a download, it will address each unit separately with
`its own address and scan line. The data point references provided on the s.can line by the Host will refer to the
`remote point's position in the overall data table for the logical RTU, not the physical RTU.
`
`An enhancement to SCADA WARE and the Type 2200 SCADA Node provides for an offset which will be
`used by the remote during processing of a SCAN line. The offset, if used, tells the remote what physical point is
`desired, regardless of the Point ID provided in the SCAN line. The Point ID will be the ultimate location in the
`Host's data table, not the position in the remote's physical I/O list.
`
`Perhaps an example will help. Assume a dual TI200 remote RTU, with each Node having 8 status points.
`The Host views the complete logical RTU as having 16 points, 8 on unit I, and another 8 on unit 2. A download
`from a Smart RTU could request SCAN sl:s16. But the Nodes must be addressed and scanned sepamtely, requiring
`
`f' two SCAN lines to get a1116 points.
`
`A SCAN would start with a request from Unit 1 for RTU points 1-8, which correspond to Host points 1-8.
`The next scan, made to the second RTU, would also request remote points 1-8. However, these points must be
`matched with Host points 9-16, not 1-8, as done in the first SCAN. The Node doesn't have status points 9-16 at all.
`Therefore, some means of telling the RTU where to get the points regardless of their ultimate ID at the Host
`location.
`
`This "offset" requirement is handled with a variation of the normal SCAN command in which the remote
`unit is given additional local address information. If no offset is provided, the remote uses the point ID as the local
`address at which to access the values returned in the resulting DATA statement. However, if the offset is used, that
`address value will be used as the physical address at the remote. It gives the user a way to say "Get me data for
`status points which I call 9 through 16, but you call I through 8. "
`
`.'
`
`This offset capability exists on the Type 2200 SCADA Nodes, and the Type 2250 Expandable Node. The
`feature lets the user re-map any physical points on the RTU to any logical points at the Host. The syntax of the
`offset feature is as slight modification of the SCAN mnge as follows:
`
`Example:
`
`SCAN S9:S16@1 E
`
`This example asks for data for Host points S9 through SI6, with the data coming from Status point I on
`the remote. The RTU will scan local points 1-8, but \\ill return them on a DATA line which makes it appear as if
`the points resided at locations 9-16. The resulting DATA line may look like this: ,
`
`SCtDAWARE Software Update as of Jan 2.1998
`
`Page 7 of 41
`
`1007.0008
`
`
`
`DATA S9:S16®1,E, 1,0,1,0,1,1,1,0
`
`The @I is returned from the Remote, but is ignored by the Host computer. This DATA line appears to
`have values from remote points 9-16, when the data actually came from status points starting with SI, not S9. The
`line is processed at the Host as if data did indeed come from Status point 1.
`
`[April II 9S ]
`
`File Select Command
`
`An enhancement to the existing FILE command provides access to SCADAW ARE's built-in file select
`menu. The feature can be used to pop-up a file select menu from which the user will select a file name. The
`selected name can be accessed with a new replacement parameter, SP, which is used to hold the "Pick" selected by
`the user. An optional file select mask can be provided which limits the displayed files. If no mask is provided, the
`default of •.• will be used.
`
`msg Editing one of the libraries.
`file select • .lib ; Put yp file pick list .. Result will be available in SP
`edit SF
`
`Improved RTU Select Pick List
`
`The RTU pick list generated by the SELE command, or hitting FlO, now shows the RTU title as well as
`the RTU name. This makes it easier to detennine which RTU is being selected because the full title of the RTU is
`shown next to the short RTU 10. This feature is only available in the full DPMI version of SCADAW ARE, and not
`in the Lite version.
`
`Command Line Param Count Function
`
`A new TSP function is available which provides the command line parameter count on the line which
`started a TSP procedure file. This value makes it possible to program generic routines which work with a variable
`number of parameters, some of which are optional. The new function, @pARAMS(O), returns the number of
`values on the command line immediately after the TSP procedure name. For example, the line:
`
`READ MYFILE RTUI 123.4 0 RTU2
`
`will return the value of 4, for the four command line parameters which follow the procedure name, which
`is MYFll..E. This value can be used in a TSP procedure as follows:
`
`; RTU name follows the procedure name
`sele $1
`if ®params(O) < 2
`return
`; nothing to do, so return
`end if
`calc myvalue = $2
`if ®params(O) > 3
`sele $4
`endif
`
`SCADAWARE Software Update as of Jan 2. 1998
`
`Page 8 of 41
`
`1007.0009
`
`
`
`Main Menu Hit to Display Images
`
`The main menu has a new option to allow automated display of PCX and GIF files. The menu hit
`launches a procedure called SHOWGFX, which must be in the library or in the current directory. The contents of
`the procedure are up to the user. The purpose of the file is to set up for graphic mode, display the file, and do any
`other user determined functions. The following is an example of SHOWGFX It puts up the file, and also puts
`several menu hits along the bottom of the display for printing, mouse coordinates, and exiting.
`
`: standard menu proc to show PCX or GIF file
`proc showgfx
`;test Display for backdrop with overlay text. If
`[second parm >0 for print J
`backdrop $1
`
`if $2 > 0
`
`# BOX X_COOR Y_COOR X_DIM [Y_DIMJ
`; RTG
`set frame single 1
`rtg +, box, 0.95, 0.90, 10
`rtg *
`left, Print
`rtg *, pick, !Gprint size 4 3 Eject
`rtg *, color, White, red, red, green
`
`Edge, low, med , high
`
`rtg +, box, 0.95, 0.95, 10
`,
`left, Exit
`rtg *
`,
`rtg * pick, ?Exit
`,
`rtg * color, White, red,
`
`red, green
`
`Edge, low, med , high
`
`endif
`
`: loop
`if $2 > 0
`rtg update
`end if
`
`if @key(O} > 0
`win close
`return
`endif
`
`goto loop
`
`It is recommended that this procedure, or a similar one, be put into a common library called GRAPH.Lffi
`"
`which is loaded as a routine part of startup. This library cal also be used to hold the procedure named CHKGRAPH
`which is used in a similar manner to display graphic files generated with the graphic configuration screens,
`
`Improved Number Tag Parsing
`
`The ability of SCADA W ARE to parse tag names and TSP expressions into valid numbers has been
`extended to include almost every place where an integer or floating point number is allowed. This would include
`command line parameters, screen coordinates, set parameters, etc. The following are examples which use the new
`capability:
`
`SC4DAWARE Software Update as of Jan 2. 1998
`
`Page 90/41
`
`1007.0010
`
`
`
`cursor x, Y-10, This is 10 lines up
`set trys any_number+2
`
`Previously, the cursor command would have worked with the variable Y as a coordinate, but now with an
`expression such as Y-IO. Now, Y-IO can be used as-is, without the need to enter the expression as a replacement
`parameter in the form of $(Y -10). The $( ) operation is no longer needed for the parser to return a valid number
`when evaluating the te:\1 Y -10 as a stand-alone text string.
`
`DataBase Multi-Task Hot Links
`
`The realtime Database has been improved to automatically coordinate multi-task d~ta access to the same
`file. Each task maintains its own copy of records from an open data base. It is possible that fivo separate tasks each
`have a copy of the same disk record. When a task changes the record values, they remain local to that task until the
`record is written back to the disk with a DB UPDATE command. The record is then transferred from local task
`memory to the disk file.
`
`Previously, other tasks which happened to have the same record in their own local memory would not be
`aware that a change had been made. They would continue to operate on their own copy, and could possibly write
`that record to disk at a later time. The later wrj.te would wipe out the record written by the first task.
`
`The new system makes these situations easier to handle by automatically updating all similar records in
`all tasks whenever a DB UPDATE takes place. This allows a task to make changes at any time and do an
`immediate update to disk. The update will refresh the disk file, and it will also update the records in other tasks
`which are using the same database file and the same exact record. Other files, and other records in the same file,
`are not affected.
`
`This new feature can be used with the CRITICAL command (see below) to implement a realtime multi(cid:173)
`user data base. The automatic hot-link action defaults to ON, but can be turned off with a SET HOT [OFFION]
`command. The HOT setting can be done by any task, and it affects all tasks and all databases when enabled.
`
`There are still instances where data can be changed by a data base and not be immediately visible to the
`user. This occurs when database information has been put on the screen and frozen while another task updates the
`data. Although the task's local data record is updated, the screen is not automatically refreshed. A user watching
`the CONFIG DB screen would not see the updated information because the config screen uses a snapshot of the
`data at the time the screen is first painted. Subsequent changes to the screen data do not go to the actual database
`record until the user exits the screen.
`
`Therefore, the CONFIG DB screen shouldn't be used to look at data during simultaneous access. Instead, a
`FORM should be used to put up the database infonnation. Forms are continually updated from the source, which
`can easily include a data base record. Because the form is constantly repainted, changes to the data base record will
`appear instantly. As a guide, use FORMs for display, and CONFIG only for making changes to existing database
`records.
`
`" Critical Section Processing
`
`Certain situations, such as multi-user data base access, require that a task have exclusive use of the
`processor for a limited period of time. This is tenned "critical" processing in computer jargon. SCADA WARE
`DPMI now has the ability to "go critical" so that a section of code can be executed without the chance for another
`task to interrupt the sequence.
`
`Critical processing effectively halts nonnaI processing by other tasks, and should be therefore used with
`extreme care. Although the other tasks halt nonnaI processing, their per-tick and per-second actions continue.
`Therefore, the semi-critical portions of the other tasks will operate normally. Time-shared tasks, such as TSP file
`processing, are suspended until the task which went critical gives up the processor.'
`
`SCADAWARE Software Updnte as of Jan 2. 1998
`
`Page 10 of 41
`
`1007.0011
`
`
`
`r
`
`The critical period is expressed in system ticks, which are approximately SO ms (20 per second). A task
`which goes critical for a maximum of 10 ticks would have exclusive foreground processing for about 1/2 second.
`Although the user can enter a maximum critical period, the CRITICAL command limits the number of ticks to a
`set amount, presently 100 ticks. The number of ticks is entered on the command line, and defaults to 9 if none is
`provided.
`
`Critical processing is essentially a temporary variation in a task's priority level. The task is given a larger
`than normal number of time slices for which it can run without interruption. When the task executes the
`corresponding ENDCRITICAL statement, its ticks is set to 0 and other tasks get a chance to run.
`
`Note that CRITICAL can be abbreviated as CRIT, and ENDCRITICAL can be shortened to ENDCRIT.
`These commands are available only in the full DPMI version of SCADA W ARE.
`
`Example:
`
`DB sele MyDbase
`Critical
`5
`; 5 ticks to get it done
`DB locate $T $D
`1 position to current time
`calc sdb_01# =
`123
`; update- some values
`calc sdb_02#
`345
`db update
`EndCritical
`db close
`
`let other tasks run
`
`Raw Mode Improved
`
`The SET RAW function has been enhanced to allow individual settings for each task. Previously, the SET
`RAW OFFION command affected all tasks. Now, each task can have its own setting. The SET RAW function
`controls handling of low level 110 conversions performed by the SCAN and DATA commands. Default is off,
`causing SCADA W ARE to process all SCAN and DATA command with a channel's logical state. When RAW is
`on, the channels are processed at a lower level which reflects the channels internal binary value.
`
`SET RAW affects dumb RTU installations which must process actual switch positions. The TI200
`SCADA Node always