The GEM Variables Database

The GEM Variables database stores equipment constants (ECs), status variables (SVs), data values (DVVALs), and state variables used in the GEM environment. There are predefined variables that the user sets, predefined variables that the host and the equipment can change, predefined variables that can be changed only by the equipment, and user-defined variables.

Status variables are used to communicate the status of the workcell (e.g., number of widgets completed, number of component parts remaining, etc.). These are values that are set by the equipment but are read-only to the host (see Read/Write Privileges for Equipment and Host). To comply with the SEMI standards, you must guarantee that these values are always kept current.

For example, you could have a sensor at the end of your circuit board assembly line that is tripped each time a completed assembly passes by. This action causes the total count to be increased one unit. This value (the total count) is stored in a status variable that is updated each time the sensor is tripped. It must be kept current so that anyone reading this value will know the exact number of assemblies that have been completed.

Status variables may be input and output signals, numeric and string variables, ai.ctl[ ] values, V+ variables, or numeric and string functions.1

There are several predefined GEM status variables that are defined as numeric and string functions, and thus cannot be modified.

In addition, the user and the operator can define new status variables.

Equipment constants store values for equipment parameters. These values control aspects of equipment behavior (i.e., how many widgets to build, what parts to use for a widget assembly, etc.). Remember that these values cannot be changed by the equipment when it is in the on-line state (see Read/Write Privileges for Equipment and Host).

There are many cases where you will be defining your own equipment constants. For example, you may want to customize the equipment start-up configuration for a particular process or part.

There are also many predefined equipment constant records that can be modified but not deleted. Some of these can be changed by both the host and the equipment operator and some can be changed only by the equipment operator.

Data values are values that are guaranteed to be accurate only after a specific Collection Event has been generated. This method eliminates the need for constant polling of the equipment, and reduces the overhead on the system. For example, these values could be used to store yield data from a Statistical Process Control (SPC) application.

These values can be modified by the equipment but are read-only to the host (see Read/Write Privileges for Equipment and Host). DVVALs can be read by the host at any time. However, the DVVALs are guaranteed to be valid only after a related Collection Event occurs. For the predefined DVVALS, the related CEID is noted in Predefined SVs, ECs, and DVVALs.

Data values can include user-defined variables in the GEM Variables database. If a data alue is defined as a numeric or string function, the user also needs to modify the routine gm.user.packval( ) to provide the value of the function.

There are also predefined internal GEM data values that cannot be modified.

This fourth class of variable that can be defined in the GEM Variables database is a special type of status variable that is used to administer state models. See State Models for more information on state models and state variables.

 

The table below provides a summary of the Read/Write privileges for the Equipment and Host:

Table 7-1. Read/Write Privileges for Equipment and Host
Variable Type
On-line & Process Related
Equipment
Host
Status Variables
N/A
Read/Write
Read only
Equipment Constants
Yes
Read only
Read/Write
No
Read/Write
Read/Write
Data Value
N/A
Read/Write
Read only

 

An Example of SVs, ECs, and DVVALs

The use of status variables (SVs), equipment constants (ECs), and data values (DVVALs) is illustrated in the following scenario:

Variable IDs (VIDs)

Variable IDs (VIDs) are used to identify equipment constants (ECs), status variables (SVs), data values (DVVALs), and state variables. VIDs are used extensively by the AdeptGEM system. These IDs are integer values in the range 1 to 32,767, with the range from 9000 to 9999 reserved for AdeptGEM defined VIDs. VIDs are assigned to records in the GEM Variables database. Each record has a unique Variable ID number.

 

SEMI Item Formats

The following table lists all the SEMI data item formats, and indicates which formats can be specified in the SEMI Data Type field in the GEM Variables database. The SEMI Data Type field defines the item format that is used to represent the value of a variable when it is transmitted to the host.

SEMI Data Types also shows the ranges of values that can be represented in the various data formats. If the value of a variable exceeds the range of its specified SEMI Data Type, a different SEMI data format is used when the value is sent to the host. That ensures that the host sees the actual value of the variable, but it means that the host could receive a data format that is different from that expected. In such a case, the GEM Variables menu page (see GEM Variables Menu Page) shows small warning-sign icons displayed next to the value and the SEMI Data Type.
Table 7-2. SEMI Data Types
Octal
Value
Meaning
Accepted for SEMI Data Type
(Y/N)
Representable Values
Minimum
Maximum
00
LIST (length in elements)
N
0

10
Binary
Y
0

11
Boolean
Y
-3.4E+38
3.4E+38
20
ASCII1
Y
-
-
21
JIS-8
N
-
-
30
8-byte integer (signed)2
N
-
-
31
1-byte integer (signed)
Y
-128
127
32
2-byte integer (signed)2
Y
-32768
32767
34
4-byte integer (signed)2, 4
Y
-8388608
8388607
40
8-byte floating point3
N
-
-
44
4-byte floating point3
Y
-3.4E+38
3.4E+38
50
8-byte integer (unsigned)2
N
-
-
51
1-byte integer (unsigned)
Y
0
255
52
2-byte integer (unsigned)2
Y
0
65535
54
4-byte integer (unsigned)2, 4
Y
0
8388607
Notes:
(1) Nonprinting characters are equipment specific. The AdeptGEM system transmits all byte values without modification.
(2) Most significant byte sent first.
(3) IEEE 754. The byte containing the sign bit is sent first.
(4) The range of values supported by the AdeptGEM system is smaller than the theoretical range.

 

The GEM Variables Menu Page

The GEM Variables menu page is used to create and modify database records for equipment constants (ECs), status variables (SVs), data values (DVVALs), and state variables. The records are stored in the GEM Variables database.

To create a GEM Variables database record:

Edit -> GEM Items -> Edit -> New Record

A new record is displayed. GEM Variables Menu Page shows an example of a completed record. As shown in the following sections, some aspects of the menu page change for different variable types.

Figure 7-1. GEM Variables Menu Page
  1. The record name.

  2. The Variable ID number.

  3. Displays the date and time that the record was created or modified.

  4. Optional description of the record.

  5. Contains the value of the variable. (This item may be read-only depending on the selections in items 7 and 9).

  6. A units identifier that will be sent to the host when the Variable ID is reported. (This item does not appear for some selection in items 7 and 9).

  7. This group is used to set the GEM Variables class for the record. Each class is explained in the following sections.

  8. This group is used to define the parameters for the variable. (The items in this group may vary depending on the selections in items 7 and 9.)

SEMI Data Type

Specifies the SEMI data type used to represent the value of this variable when it is transmitted to the host.

Access Control

Specifies the user access level required to modify this record. For equipment constants, this field also determines whether or not the host can modify the variable.

Process Related

For equipment constants, this field is used to declare the variable to be process related. See Equipment Constants for details.

Minimum Value

These optional fields specify the expected range of values for Maximum Value this variable. If either of the fields is empty, the value used is the corresponding extreme value that can be represented with the SEMI Data Type that is currently specified.


These values are used to determine the acceptability of limit-monitoring limits from the host, and Automatic Alarm Detection limits entered by the operator. These values are also used to display warning-sign icons on the menu page if the value of the variable is outside these bounds.

Typical Value

This optional field specifies the expected value for this variable. This can be used to indicate to the operator the expected value for the variable.

This value is used by the AdeptGEM system only for equipment constants (in S2F30 messages to the host). If the field is empty, the average of the Minimum Value and Maximum Value is used.

Limit Mon Event

For variables that can have limits monitoring activated by the host, this optional field specifies the collection event that will be triggered by a limit-zone transition while limits monitoring is active. See Limits Monitoring for details.

The operator can double-click on this field to request a pick list of all the existing collection event records. Then the operator can select the line for the desired record and choose the Retrieve button (or simply double-click on the line) to have that ID inserted in the menu-page field.

 

  1. This group is used to set the variable type for the record .

  2. This button, which is active only for Status Variables that have a numeric value, activates automatic alarm detection. See Alarm Management for details.

 

Warning-Sign Icons

The Value, SEMI Data Type, Minimum, Typical, and Maximum fields are continuously checked to make sure their settings satisfy the criteria specified in Range Criteria for Data Fields. If a problem is detected, the related fields are marked with small yellow warning-sign icons. That is, a warning-sign icon indicates that one or more of the criteria listed below are not satisfied.
Table 7-3. Range Criteria for Data Fields
Criterion That Should Be Satisfied
Warning Signs Displayed if the
Criterion is not Satisfied
Value
SEMI Data Type
Min.
Typical
Max.
Value Within range of data type
Value Minimum
Value a3 Maximum
*
*
*
*

*



*
Minimum within range of data type
Maximum within range of data type
Minimum a3 Maximum

*
*
*

*


*
*
Typical within range of data type
Typical Minimum
Typical a3 Maximum

*

*
*
*
*


*
Notes:
- The expression "within range of data type" refers to the range of values that can be represented with the specified SEMI Data Type (see SEMI Data Types).
- If the Minimum, Maximum, or Typical field is empty, the criteria related to that field are not checked.

If the Value field is not flagged, the other data on the menu page is not specified correctly and should be changed to correct the problem.

If the Value field is flagged, either the value of the variable is incorrect or the other data on the menu page is not correctly specified. In this case, you should consider whether or not the value of the variable is correct before you change the other data on the menu page.

 

Equipment Constant

GEM Variables Database, Equipment Constant shows a numeric equipment constant in the GEM Variables database. (The menu page looks different when a string-valued equipment constant is shown.)

Figure 7-2. GEM Variables Database, Equipment Constant

 

To add a new equipment constant:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (ECID item 2). See Variable IDs (VIDs) for more details.

  4. Enter an optional description for this record (item 3).

  5. Select Equipment Const. as the GEM Variable Class (item 6).

  6. Select Numeric Variable or String Variable as the Variable Type (item 8).

  7. Specify a Value for the variable (item 4).

  8. If a numeric variable is being defined, optionally enter a units identifier (item 5) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 7 for the following steps:

  1. Specify a SEMI Data Type. See SEMI Data Types for the list of data types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record. Insert a 1 in front of the access digit to prohibit host modification of the equipment constant.

  3. Select Process Related to prevent this ECID from being modified when a process is running.

  4. Optionally enter the Minimum, Maximum, and Typical values as appropriate. (For string variables, the minimum and maximum values are always assumed to be empty strings.)

 

Status Variable Using a Numeric Variable

GEM Variables Database, Status Variable Using a Numeric Variable shows a status variable in the GEM Variables database that uses a numeric variable in its definition.

Figure 7-3. GEM Variables Database, Status Variable Using a Numeric Variable

 

To define a new status variable that uses a numeric variable:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variables class (item 6).

  6. Select Numeric Variable as the Variable Type (item 8).

  7. Specify a Value for the variable (item 4).

  8. Enter an optional units identifier (item 5) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 7 for steps 9 through 12:

  1. Specify a SEMI Data Type. See SEMI Data Types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

  4. If the host will enable limits monitoring of this variable, the Limit Mon Event field can be used to specify the collection event that is triggered by a limit-zone transition while limit monitoring is active for the variable. See Limits Monitoring for information on limits monitoring.

  5. If this variable will be monitored for automatic alarm detection, choose Auto Alarm Detection (item 9). The options described in Automatic Alarm Detection will be displayed.

 

Status Variable Using a Digital I/O Signal

GEM Variables Database, Status Variable ID Using Digital I/O shows a status variable (SV) in the GEM Variables database that references a digital I/O signal.

Figure 7-4. GEM Variables Database, Status Variable ID Using Digital I/O

 

To define a new status variable that uses a digital I/O signal as its value:

  1. Create a new GEM Variables record.

  2. Enter a name for the record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variable Class (item 4).

  6. Select Input Signal or Output Signal as the Variable Type (item 7).

  7. Specify the Signal number (item 4).

Refer to item 6 for steps 8 through 11:

  1. Specify a SEMI Data Type. See SEMI Data Types. The most appropriate data type is Boolean, type 11 (octal).

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Select True or False as the Typical Value for the signal.

  4. If the host will enable limits monitoring of this variable, the Limit Mon Event field can be used to specify the collection event that is triggered by a limit-zone transition while limit monitoring is active for the variable. See Limits Monitoring for information on limits monitoring.

  5. If this variable will be monitored for automatic alarm detection, choose Auto Alarm Detection (item 8). The options described in Automatic Alarm Detection will be displayed.

Note that this record specifies the digital signal to get a value from, not the actual state of the signal. The state of the signal is returned as the value of the record. The setting of an output signal cannot be changed from the menu page.

 

Status Variable Using a String Variable

GEM Variables Database, Status Variable Using a String Variable shows a status variable in the GEM Variables database that uses a string variable in its definition.

Figure 7-5. GEM Variables Database, Status Variable Using a String Variable

 

To define a new status variable that uses a string variable:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variable Class (item 5).

  6. Select String Variable as the Variable Type (item 7).

  7. Specify a Value for the variable (item 4). You also can specify an optional Typical Value.

Refer to item 6 for the following steps:

  1. Specify a SEMI Data Type. See SEMI Data Types. The most appropriate data type is ASCII (type 20 octal) or binary (type 10 octal).

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

 

Status Variable Using a V+Variable

GEM Variables Database, Status Variable Using a V+ Variable shows a status variable in the GEM Variables database that uses a V+ variable in its definition.

Figure 7-6. GEM Variables Database, Status Variable Using a V+ Variable

 

To define a new status variable that uses a V+ variable:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variables class (item 6).

  6. Select V+ Variable as the Variable Type (item 8).

  7. Specify the name of the V+ variable (item 4).

  8. Enter an optional units identifier (item 5) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 7 for steps 9 through 12:

  1. Specify a SEMI Data Type. See SEMI Data Types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

  4. If the host will enable limits monitoring of this variable, the Limit Mon Event field can be used to specify the collection event that is triggered by a limit-zone transition while limit monitoring is active for the variable. See Limits Monitoring for information on limits monitoring.

  5. 13. If this variable will be monitored for automatic alarm detection, choose Auto Alarm Detection (item 9). The options described in Automatic Alarm Detection will be displayed.

 

Status Variable Using an ai.ctl[ ] Value

GEM Variables Database, Status Variable Using an ai.clt[ ] Value shows a status variable in the GEM Variables database that uses an ai.ctl[ ] value in its definition.

Figure 7-7. GEM Variables Database, Status Variable Using an ai.clt[ ] Value

 

To define a new status variable that uses an ai.clt[ ] value:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variables class (item 6).

  6. Select ai.ctl[ ] Value as the Variable Type (item 8).

  7. Specify an Index for the desired element in the ai.ctl[ ] array (item 4).

  8. Enter an optional units identifier (item 5) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 7 for steps 9 through 12:

  1. Specify a SEMI Data Type. See SEMI Data Types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

  4. If the host will enable limits monitoring of this variable, the Limit Mon Event field can be used to specify the collection event that is triggered by a limit-zone transition while limit monitoring is active for the variable. See Limits Monitoring for information on limits monitoring.

  5. If this variable will be monitored for automatic alarm detection, choose Auto Alarm Detection (item 9). The options described in Automatic Alarm Detection will be displayed.

Note that this record specifies the ai.ctl[ ] element to get a value from, not the actual value of the ai.ctl[ ] array element. The value of the ai.ctl[ ] element is returned as the value of the record.

 

Status Variable Using a Numeric or String Function

GEM Variables Database, Status Variable Using a Numeric Function shows a status variable in the GEM Variables database that uses a numeric function to define the value. (The menu page looks slightly different when a string function is used.)

Figure 7-8. GEM Variables Database, Status Variable Using a Numeric Function

 

To define a new status variable that uses a numeric or string function:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (SVID item 2). See Variable IDs (VIDs) for more details.

  4. Enter an optional description of this record (item 3).

  5. Select Status Variable as the GEM Variable Class (item 5).

  6. Select Numeric Function or String Function as the Variable Type (item 7).

  7. If a numeric variable is being defined, optionally enter a units identifier (item 4) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 6 for steps 8 through 12:

  1. Specify a SEMI Data Type. See SEMI Data Types for the list of acceptable data types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

  4. If the host will enable limits monitoring of this variable, the Limit Mon Event field can be used to specify the collection event that is triggered by a limit-zone transition while limit monitoring is active for the variable. See Limits Monitoring for information on limits monitoring.

  5.  If this variable will be monitored for automatic alarm detection, choose Auto Alarm Detection (item 8). The options described in Automatic Alarm Detection will be displayed.

In addition to creating the database record for the new status variable, you must also modify the V+routine gm.user.packval( ) as required to return the value of the status variable in a "dummy" SECS-II message. See the description of gm.user.packval (vid, $stream[], byte, bypass, status) for more information.

 

Data Value

GEM Variables Database, Data Value shows a data value (DVVAL) in the GEM Variables database.

Figure 7-9. GEM Variables Database, Data Value

 

There are a number of predefined data values (DVVALs) in the AdeptGEM Variables database that cannot be changed. The functions of the predefined DVVALs are described in Predefined SVs, ECs, and DVVALs.

The user can also define new DVVALs. These are defined in the same way that Status Variables are defined (for details, click here).

To define a new DVVAL:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (item 2). See Variable IDs (VIDs) for more details.

  4. Enter an optional description of this record (item 3).

  5. Select Data Value as the GEM Variable Class (item 5).

  6. Select the Variable Type (item 7).

  7. If a numeric variable is being defined, optionally enter a units identifier (item 4) that will be sent to the host when this Variable ID is reported. The units identifier should correspond to the identifiers described in Section 9, "Units of Measure", in SEMI E5.

Refer to item 6 for the following steps:

  1. Specify a SEMI Data Type. See SEMI Data Types for the list of data types.

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

If the Variable type is Numeric or String, you must also modify the V+ routine gm.user.packval( ) as required to pack the value of the DVVAL in a "dummy" SECS-II message. See the description of gm.user.packval (vid, $stream[], byte, bypass, status)( ).

 

State Variable

GEM Variables Database, State Variable shows an example definition for a State Variable:

Figure 7-10. GEM Variables Database, State Variable

 

A State Variable is a special kind of Status Variable. This record type works with State records in the GEM Items database to hold the current state of user-defined state models.

Each state variable is associated with a state model. Each state model is defined by a number of State records (in the GEM Items database), all of which must reference the same state variable as their Associated State Variable.

The value of a state variable is the ID of the State record that represents the current state in a state model. If the Current State ID field is empty, no state has been set for the state model. See page 161 for details on the State record type, and State Models for information on state models.

To define a new State Variable:

  1. Create a new GEM Variables record.

  2. Enter a name for the new record (item 1).

  3. Assign a Variable ID (item 2). See Variable IDs (VIDs).

  4. Enter an optional description of this record (item 3).

  5. Select State Variable as the GEM Variable Class (item 5).

  6. The Variable Type (item 7) Numeric Variable is automatically selected.

  7. Optionally enter the ID for the current state in the State Model associated with this state variable (item 4). This number corresponds to the ID of a State record in the GEM Items data-base. (Note: The Current State ID is normally changed by SET_STATE statements in AIM sequences.)

When the Current State ID is set, the name of the corresponding State record is displayed in the Current State Name field. That field can contain the following error messages:

*Not defined* There is no State record with the ID that is in the Current State ID field.

*Wrong model* There is a State record with the ID in the Current State ID field, but that State record does not reference this state variable as its Associated State Variable. That is, the Current State ID field refers to a state that is part of a different state model.

Refer to item 6 for the following steps:

  1. Specify a SEMI Data Type. See SEMI Data Types. The most appropriate data type is 2-byte unsigned integer (52 octal).

  2. Specify the Access Control. Enter a single digit (0 - 4) in this field to specify the user access level required to change the record.

  3. Optionally enter the Minimum, Maximum, and Typical values as appropriate.

Predefined Status Variables, Equipment Constants, and Data Values

The GEM Variables database contains a number of predefined records that support many of the features and requirements of the GEM specification. Predefined SVs, ECs, and DVVALs describes these predefined records. The "Reference Name" is the name used in the SEMI standards. The "Description" gives a brief description of the variable; see the database records for additional details.

For these predefined variables, the user cannot modify the following fields on the GEM Variables menu page:

Unless noted otherwise in the table, the SEMI Data Type can be changed by the operator (if the current user access level satisfies the setting in the Access Control field). 
Table 7-4. Predefined SVs, ECs, and DVVALs
ID
Reference Name
Class
SEMI Data Type
(octal format code)1
Description
9000
alarmsenabled
SV
List of unsigned 2byte integers (52)
List of ALIDs with the enabled option set.
9001
alarmsset
SV
List of unsigned 2byte integers (52)
List of ALIDs that are set (regardless of the setting of the enabled option).
9002
clock
SV
ASCII (20)2
yyyymmddhhmmsscc system time
9003
controlstate
SV
Unsigned 1byte integer (51)
Coded value representing the current Control state model:
0 = Communication disabled
1 = Equipment offline
2 = Attempt on-line
3 = Host offline
4 = On-line/local
5 = On-line/remote
9004
eventsenabled
SV
List of unsigned 2byte integers (52)
List of CEIDs with the
event-enabled option set.
9005
ppexecname
SV
ASCII or list of ASCII (20)2
String that represents the currently selected AIM sequence (process program).
9006
prevprocstate (task 0)
SV
Unsigned 1byte integer (51)
Coded value representing the previous equipment process state (see Equipment Processing State Model).
9007
processstate
(task 0)
SV
Unsigned 1byte integer (51)
Coded value representing the current equipment process state (see Equipment Processing State Model).
9008
commstat
SV
Unsigned 2byte integers (52)
An array of statistics for SECS-I/HSMS-SS. The array is empty if communication is not enabled. See uc.stat[,].
9009
remote
SV
Boolean (11)
True = Control state is remote
False = Equipment is in local mode (or off-line)
9010
recent.debuglog
SV
List of ASCII (20)2
Holds the last 32 entries in the debug log. (ECID 9105 must have bit 4 set.) See gm.temp.log2siz.
9011
adeptgemvrsn
SV
ASCII (20)1
Version ID of the AdeptGEM system
9012    mdln    SV    ASCII (20)2   Equipment model type that is reported by S1F2.
9013    softrev    SV    ASCII (20)2   Equipment software revision that is reported by S1F2.
9021 to 9074
ppstask1
pcstask1
...
ppstask27
pcstask27
SV
Unsigned 1byte integer (51)
Coded value representing the previous equipment process states for tasks 1 to 27 (see Equipment Processing State Model).
9100
estcommtimeout
EC
Unsigned 2byte integer (52)
Time interval between S1F13 attempts
9101
startcomen
EC
Boolean (11)
True = Communication is enabled on startup
9102
usersoftrev
EC
Boolean (11)
SOFTREV type:
TRUE = User defined (see ECID 9301)
FALSE = V+ version
9103
controlstartst
EC
Unsigned 1byte integer
Control: Start-up state:
1 = Equip Off-Line
2 = Attempt On-Line
3 = Host Off-Line
4 = On-Line (see ECID 9155)
9104
onlinefailstate
EC
Unsigned 1byte integer (51)
If Attempt On-Line state fails:
1 = Set Equipment Off-Line state
3 = Set Host Off-Line state
9105
gemdebugmode
EC
Binary (10)
Bits enable individual AdeptGEM debug features. See gm.debug
9106
t1
EC
4-byte floating point (44)
Receive timeout
9107
t2
EC
4-byte floating point (44)
Protocol timeout (SECS-I)
Not-communicating timeout
(HSMS)
9108
t3
EC
4-byte floating point (44)
Reply timeout (SECS-I and HSMS)
9109
t4
EC
4-byte floating point (44)
Interblock timeout (SECS-I)
9110
t5
EC
4-byte floating point (44)
Connect separation timeout (HSMS)
9111
t6
EC
4-byte floating point (44)
Control transaction timeout (HSMS)
9112
t7
EC
4-byte floating point (44)
Connection idle timeout (HSMS)
9113
t8
EC
4-byte floating point (44)
Network intercharacter timeout (HSMS)
9114
connecttime
EC
Unsigned 2-byte integer (52)
Length of time the TCP/IP server connection is maintained (HSMS)
9115
retrylimit
EC
Unsigned 1-byte integer (51)
Number of retries for failed block transmission (SECS-I)
9116
duplblockdetect
EC
Boolean (11)
TRUE = enable duplicate block detection (SECS-I)
9117
convtimeout
EC
Unsigned 2-byte integer (52)
Conversation timeout value
(detects inquire/grant failures)
(SECS-II)
9118
remconfig9118
EC
Boolean (11)
TRUE = allow operator to change process-related equipment constants in Remote state
9119
remconfig9119
EC
Boolean (11)
TRUE = allow operator to change non-process-related equipment constants in Remote state
9120
remconfig9120
EC
Boolean (11)
TRUE = allow operator to initiate process program download in Remote state
9121
remconfig9121
EC
Boolean (11)
TRUE = allow operator to select process program in Remote state
9122
remconfig9122
EC
Boolean (11)
TRUE = allow operator to start process program in Remote state
9123
remconfig9123
EC
Boolean (11)
TRUE = allow operator to pause/proceed process program in Remote state
9124
remconfig9124
EC
Boolean (11)
TRUE = allow operator assist in Remote state
9125
remconfig9125
EC
Boolean (11)
TRUE = allow operator to initiate material movement in Remote state (reserved for future use)
9126
remconfig9126
EC
Boolean (11)
TRUE = allow operator to access menu items attached to a conditional section equivalent to the corresponding example on the GEM Control Panel menu page:
ID 9126 = Conditional #50
ID 9127 = Conditional #51
ID 9128 = Conditional #52
ID 9129 = Conditional #53
ID 9130 = Conditional #54
ID 9131 = Conditional #55
9127
remconfig9127
EC
Boolean (11)
9128
remconfig9128
EC
Boolean (11)
9129
remconfig9129
EC
Boolean (11)
9130
remconfig9130
EC
Boolean (11)
9131
remconfig9131
EC
Boolean (11)
9132
montaskperiod
EC
4-byte floating point (44)
Cycle time for the limit monitoring task
9133
annotatedrpts
EC
Boolean (11)
TRUE = send annotated reports (S6F13) when collection events occur
(FALSE is assumed if the EC is not defined)
9134
eppdlistsfiles
EC
Boolean (11)
TRUE = S7F20 sends list of all the files found
FALSE = S7F20 sends a list of the AIM modules found (FALSE is assumed if the EC is not defined.)
9135
timeformat
EC
Unsigned 1-byte integer (51)
0 = send 12-byte date/time integer (51)
1 = send 16-byte date/time (0 is assumed if the EC is not defined)
9136
polldelay
EC
4-byte floating point (44)
Time to delay after latest message before sending a "heartbeat" message
(0 = send no heartbeats; 0 is assumed if the EC is not defined)
9137
pollalarm
EC
unsigned 2-byte integer (52)
ALID of the alarm to set if an S1F1 "heartbeat" message fails (0 = set no alarm; 0 is assumed if the EC is not defined)
9151
equipid3
EC
Unsigned 2-byte integer (52)
Equipment ID (SECS-I)
Session ID (HSMS)
9152
baud3
EC
Unsigned 2-byte integer (52)
Baud rate for SECS-I communication
9154
commbuffsize3
EC
Unsigned 2-byte integer (52)
Communications channel buffer size in Kb (SECS-I and HSMS)

9155  

 onlinestrtstate3      EC    Boolean Default setting of Local/Remote substates in the Control State Model (also see EC9103):
TRUE (-1) = Remote
FALSE (0) = Local (FALSE is assumed if the EC is not defined.)
9200
alarmid
DV
Unsigned 2-byte integer (52)
The ALID of alarm just set/cleared (user-defined CEID)
9201
eventlimit
DV
Unsigned 2-byte integer or list of integers (52)
ID of limit crossed, or list of limit IDs (user-defined CEID)
9202
limitvariable
DV
Unsigned 2-byte integer (52)
Variable ID of variable that changed zones (user-defined CEID)
9203
ppchangename
DV
ASCII (20)2
Affected PPID (CEID 9300)
9204
ppchangestatus
DV
Unsigned 1-byte integer (51)
Action taken on changed process program:
1 = created, 2 = edited, 3 = deleted (CEID 9300)
9205
transitiontype
DV
Binary (10)
Zone transition type:
0 = low to high, 1 = high to low; (user-defined CEID)
9206
ecchanged
DV
Unsigned 2-byte integer (52)
ID of EC that the operator changed (CEID 9200)
9207
ecnewvalue
DV
Same as type for EC that changed2
New value of EC that operator changed (CEID 9200)
9208
ppvname
DV
ASCII (20)2
PPID verified and validated (CEID 9301)
9209
ppvstatus
DV
ASCII (20)2
Status of verification and validation (CEID 9301)
9210
lasttaskepschg
DV
Unsigned 1-byte integer (51)
Task number of the most recent state change (CEID 9100, 9101, 9102, and/or 9103)
9300
commdevname3
EC
ASCII (20)
The name of the communication device to access.
HSMS-SS: Name (or IP address) of the host and the TCP port number (e.g., "172.16.200.1 1").
SECS-I: Serial port to use (e.g., "SERIAL:1").
9301
userdefsoftrev
EC
ASCII (20)
If ECID 9102 is TRUE, the SOFTREV reported to the host is the value of this ECID.
9302
ppmpath
EC
ASCII (20)
The directory path used by all process program management operations.
  1. The SEMI Data Type indicated in the table corresponds to the setting in the baseline GEM Variables database. Except as noted, the data type can be changed by the user.

  2. The SEMI Data Type listed in the table is always used for this variable, regardless of the data type specified in the database.

  3. The host cannot modify the value of this equipment constant.

Notes:

  • For data values, the collection event associated with the DVVAL is noted in the Description column.

  • Equipment constants 9101, 9103, 9132 and 9155 are read only when the AIM system is started up. Thus, changes to these variables will have no effect until the AIM system is restarted. The following equipment constants are read each time GEM communications are enabled (thus, changes to these variables will have an effect only at that time): 9100, 9105 through 9117, 9137, 9151, 9152, 9154, 9300.

  • All the other equipment constants are read from the database whenever their value is needed.

1

The values of numeric and string functions are defined by the AdeptGEM software, and thus cannot be modified by the operator. The user can create status variables and data values that have the function types.