data/functions.yaml
S00F00:
description: Hsms communication
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S01F00:
description: abort transaction stream 1
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S01F01:
description: are you online - request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
S01F02:
description: on line data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: [MDLN]
sample_data:
- data: '["secsgem", "0.0.6"]'
info: E->H
- data: ''
info: H->E
extra_help: |-
.. caution::
This Stream/function has different structures depending on the source.
If it is sent from the eqipment side it has the structure below, if it
is sent from the host it is an empty list.
Be sure to fill the array accordingly.
**Structure E->H**::
{
MDLN: A[20]
SOFTREV: A[20]
}
S01F03:
description: Selected equipment status - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [SVID]
sample_data: '[1, "1337", 12]'
S01F04:
description: selected equipment status - data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [SV]
sample_data: '[secsgem.secs.variables.U1(1), "text", secsgem.secs.variables.U4(1337)]'
S01F11:
description: status variable namelist - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [SVID]
sample_data: '[1, 1337]'
extra_help: An empty list will return all available status variables.
S01F12:
description: status variable namelist - reply
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [[SVID, SVNAME, UNITS]]
sample_data: |-
[{"SVID": 1, "SVNAME": "SV1", "UNITS": "mm"},
{"SVID": 1337, "SVNAME": "SV2", "UNITS": ""}]
S01F13:
description: establish communication - request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [MDLN]
sample_data:
- data: '["secsgem", "0.0.6"]'
info: E->H
- data: ''
info: H->E
extra_help: |-
.. caution::
This Stream/function has different structures depending on the source.
If it is sent from the eqipment side it has the structure below, if it
is sent from the host it is an empty list.
Be sure to fill the array accordingly.
**Structure E->H**::
{
MDLN: A[20]
SOFTREV: A[20]
}
S01F14:
description: establish communication - acknowledge
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: [COMMACK, [MDLN]]
sample_data: |-
{"COMMACK": secsgem.secs.data_items.COMMACK.ACCEPTED,
"MDLN": ["secsgem", "0.0.6"]}
extra_help: |-
.. caution::
This Stream/function has different structures depending on the source.
See structure definition below for details.
Be sure to fill the array accordingly.
**Structure E->H**::
{
COMMACK: B[1]
DATA: {
MDLN: A[20]
SOFTREV: A[20]
}
}
**Structure H->E**::
{
COMMACK: B[1]
DATA: []
}
S01F15:
description: request offline
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
S01F16:
description: offline acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: OFLACK
sample_data: 'secsgem.secs.data_items.OFLACK.ACK'
S01F17:
description: request online
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
S01F18:
description: online acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: ONLACK
sample_data: 'secsgem.secs.data_items.ONLACK.ALREADY_ON'
S01F21:
description: Data variable namelist request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [VID]
sample_data: '[1, "VARIABLEID"]'
S01F22:
description: Data variable namelist
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [[VID, DVVALNAME, UNITS]]
sample_data: '[{"VID": 1, "DVVALNAME": "EC1", "UNITS": "mm"}]'
S01F23:
description: Collection event namelist request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [CEID]
sample_data: '[1, "COLLEVTID"]'
S01F24:
description: Collection event namelist
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [[CEID, CENAME, [VID]]]
sample_data: '[{"CEID": 1, "CENAME": "CE1", "VID": [1, "VARIABLEID"]}]'
S02F00:
description: abort transaction stream 2
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S02F13:
description: equipment constant - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [ECID]
sample_data: '[1, 1337]'
extra_help: An empty list will return all available equipment constants.
S02F14:
description: equipment constant - data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [ECV]
sample_data: '[secsgem.secs.variables.U1(1), "text"]'
S02F15:
description: new equipment constant - send
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [[ECID, ECV]]
sample_data: |-
[
{"ECID": 1, "ECV": secsgem.secs.variables.U4(10)},
{"ECID": "1337", "ECV": "text"}]
S02F16:
description: new equipment constant - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: EAC
sample_data: 'secsgem.secs.data_items.EAC.BUSY'
S02F17:
description: date and time - request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
S02F18:
description: date and time - data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: TIME
sample_data: '"160816205942"'
S02F21:
description: Remote command send
to_host: False
to_equipment: True
reply: True
reply_required: False
multi_block: False
structure: RCMD
sample_data: '"COMMMAND1"'
S02F22:
description: Remote command - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: CMDA
sample_data: 'secsgem.secs.data_items.CMDA.DONE'
S02F23:
description: Trace initialize
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: True
structure: [TRID, DSPER, TOTSMP, REPGSZ, [SVID]]
sample_data: |-
{
"TRID":1,
"DSPER":'000010',
"TOTSMP":secsgem.secs.variables.U4(10),
"REPGSZ":secsgem.secs.variables.U4(1),
"SVID":[1002004,400210]}
S02F24:
description: Trace initialize - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: TIAACK
sample_data: 'secsgem.secs.data_items.TIAACK.SVID_EXCEEDED'
S02F25:
description: Loopback diagnostic request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: ABS
sample_data: '"Text"'
S02F26:
description: Loopback diagnostic data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ABS
sample_data: '"Text"'
S02F29:
description: equipment constant namelist - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [ECID]
sample_data: '[1, 1337]'
extra_help: An empty list will return all available equipment constants.
S02F30:
description: equipment constant namelist
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [[ECID, ECNAME, ECMIN, ECMAX, ECDEF, UNITS]]
sample_data: |-
[
{"ECID": 1,
"ECNAME": "EC1",
"ECMIN": secsgem.secs.variables.U1(0),
"ECMAX": secsgem.secs.variables.U1(100),
"ECDEF": secsgem.secs.variables.U1(50),
"UNITS": "mm"},
{"ECID": 1337,
"ECNAME": "EC2",
"ECMIN": "",
"ECMAX": "",
"ECDEF": "",
"UNITS": ""}]
S02F33:
description: define report
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: True
structure: [DATAID, [[RPTID, [VID]]]]
sample_data: |-
{"DATAID": 1, "DATA": [{"RPTID": 1000, "VID": [12, 1337]},
{"RPTID": 1001, "VID": [1, 2355]}]}
S02F34:
description: define report - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: DRACK
sample_data: 'secsgem.secs.data_items.DRACK.INVALID_FORMAT'
S02F35:
description: link event report
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: True
structure: [DATAID, [[CEID, [RPTID]]]]
sample_data: '{"DATAID": 1, "DATA": [{"CEID": 1337, "RPTID": [1000, 1001]}]}'
S02F36:
description: link event report - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: LRACK
sample_data: 'secsgem.secs.data_items.LRACK.CEID_UNKNOWN'
S02F37:
description: en-/disable event report
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [CEED, [CEID]]
sample_data: '{"CEED": True, "CEID": [1337]}'
S02F38:
description: en-/disable event report - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: ERACK
sample_data: 'secsgem.secs.data_items.ERACK.CEID_UNKNOWN'
S02F41:
description: host command - send
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [RCMD, [["PARAMS", CPNAME, CPVAL]]]
sample_data: |-
{"RCMD": "COMMAND", "PARAMS": [{"CPNAME": "PARAM1", "CPVAL": "VAL1"},
{"CPNAME": "PARAM2", "CPVAL": "VAL2"}]}
S02F42:
description: host command - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [HCACK, [["PARAMS", CPNAME, CPACK]]]
sample_data: |-
{
"HCACK": secsgem.secs.data_items.HCACK.INVALID_COMMAND,
"PARAMS": [
{"CPNAME": "PARAM1", "CPACK": secsgem.secs.data_items.CPACK.CPVAL_ILLEGAL_VALUE},
{"CPNAME": "PARAM2", "CPACK": secsgem.secs.data_items.CPACK.CPVAL_ILLEGAL_FORMAT}]}
S02F43:
description: reset spooling streams and functions - send
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [[STRID, [FCNID]]]
sample_data: '[{"STRID": 1, "FCNID": [10, 20]}, {"STRID": 2, "FCNID": [30, 40]}]'
S02F44:
description: reset spooling - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [RSPACK, [[STRID, STRACK, [FCNID]]]]
sample_data: |-
{
"RSPACK": secsgem.secs.data_items.RSPACK.REJECTED,
"DATA": [
{"STRID": 1, "STRACK": secsgem.secs.data_items.STRACK.NOT_ALLOWED, "FCNID": [10]},
{"STRID": 2, "STRACK": secsgem.secs.data_items.STRACK.FUNCTION_UNKNOWN, "FCNID": [20]}]}
S02F45:
description: Define variable limit attributes
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: True
structure: [DATAID, [[VID, [[LIMITID, [UPPERDB, LOWERDB]]]]]]
sample_data: |-
{
"DATAID": 1,
"DATA": [{
"VID": 2,
"DATA": [{
"LIMITID": 3,
"DATA": [30, 20]
}]
}]}
S02F46:
description: Define variable limit attributes - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [VLAACK, [[VID, LVACK, [LIMITID, LIMITACK]]]]
sample_data: |-
{
"VLAACK": secsgem.secs.data_items.VLAACK.LIMIT_DEF_ERROR,
"DATA": [{
"VID": 2,
"LVACK": secsgem.secs.data_items.LVACK.VARIABLE_UNKNOWN,
"DATA": {
"LIMITID": 3,
"LIMITACK": secsgem.secs.data_items.LIMITACK.ASCII_ILLEGAL
}
}]}
S02F47:
description: Variable limit attribute request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [VID]
sample_data: '[1, "VARIABLEID"]'
S02F48:
description: Define variable limit attributes - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [[VID, [UNITS, LIMITMIN, LIMITMAX, [[LIMITID, UPPERDB, LOWERDB ]]]]]
sample_data: |-
[{
"VID": 1,
"DATA": {
"UNITS": "meters",
"LIMITMIN": 10,
"LIMITMAX": 20,
"DATA": [{
"LIMITID": 3,
"UPPERDB": 50,
"LOWERDB": 5
}]
}}]
S02F49:
description: Enhanced remote command
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [DATAID, OBJSPEC, RCMD, [["PARAMS", CPNAME, CEPVAL]]]
sample_data: |-
{
"DATAID": 1,
"OBJSPEC": 'test',
"RCMD": "COMMAND1",
"PARAMS": [{
"CPNAME": "CPARAM",
"CEPVAL": "VALUE"
}]}
S02F50:
description: Enhanced remote command - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [HCACK, [["PARAMS", CPNAME, CPACK]]]
sample_data: |-
{
"HCACK": secsgem.secs.data_items.HCACK.INVALID_COMMAND,
"PARAMS": [
{"CPNAME": "PARAM1", "CPACK": secsgem.secs.data_items.CPACK.CPVAL_ILLEGAL_VALUE},
{"CPNAME": "PARAM2", "CPACK": secsgem.secs.data_items.CPACK.CPVAL_ILLEGAL_FORMAT}]}
S05F00:
description: abort transaction stream 5
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S05F01:
description: alarm report - send
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: False
structure: [ALCD, ALID, ALTX]
sample_data: |-
{
"ALCD": secsgem.secs.data_items.ALCD.PERSONAL_SAFETY |
secsgem.secs.data_items.ALCD.ALARM_SET,
"ALID": 100,
"ALTX": "text"}
S05F02:
description: alarm report - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ACKC5
sample_data: 'secsgem.secs.data_items.ACKC5.ACCEPTED'
S05F03:
description: en-/disable alarm - send
to_host: False
to_equipment: True
reply: True
reply_required: False
multi_block: False
structure: [ALED, ALID]
sample_data: '{"ALED": secsgem.secs.data_items.ALED.ENABLE, "ALID": 100}'
S05F04:
description: en-/disable alarm - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: ACKC5
sample_data: 'secsgem.secs.data_items.ACKC5.ACCEPTED'
S05F05:
description: list alarms - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [ALID]
sample_data: '[100, 200]'
S05F06:
description: list alarms - data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [[ALCD, ALID, ALTX]]
sample_data: |-
[
{"ALCD": secsgem.secs.data_items.ALCD.PERSONAL_SAFETY |
secsgem.secs.data_items.ALCD.ALARM_SET,
"ALID": 100,
"ALTX": "text"}]
S05F07:
description: list enabled alarms - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
S05F08:
description: list enabled alarms - data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [[ALCD, ALID, ALTX]]
sample_data: |-
[
{"ALCD": secsgem.secs.data_items.ALCD.PERSONAL_SAFETY |
secsgem.secs.data_items.ALCD.ALARM_SET,
"ALID": 100,
"ALTX": "text"}]
S05F09:
description: exception post - notify
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: False
structure: [TIMESTAMP, EXID, EXTYPE, EXMESSAGE, [EXRECVRA]]
sample_data: |-
{
"TIMESTAMP": "161006221500",
"EXID": "EX123",
"EXTYPE": "ALARM",
"EXMESSAGE": "Exception",
"EXRECVRA": ["EXRECVRA1", "EXRECVRA2"] }
S05F10:
description: exception post - confirm
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
S05F11:
description: exception clear - notify
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: False
structure: [TIMESTAMP, EXID, EXTYPE, EXMESSAGE]
sample_data: |-
{
"TIMESTAMP": "161006221500",
"EXID": "EX123",
"EXTYPE": "ALARM",
"EXMESSAGE": "Exception"}
S05F12:
description: exception clear - confirm
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
S05F13:
description: exception recover - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [EXID, EXRECVRA]
sample_data: '{"EXID": "EX123", "EXRECVRA": "EXRECVRA2"}'
S05F14:
description: exception recover - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [EXID, [ACKA, [ERRCODE, ERRTEXT]]]
sample_data: |-
{
"EXID": "EX123",
"DATA": {"ACKA": False,
"DATA": {"ERRCODE": 10,
"ERRTEXT": "Error"}}}
S05F15:
description: exception recover complete - notify
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: False
structure: [TIMESTAMP, EXID, [ACKA, [ERRCODE, ERRTEXT]]]
sample_data: |-
{
"TIMESTAMP": "161006221500",
"EXID": "EX123",
"DATA": {
"ACKA": False,
"DATA": {
"ERRCODE": 10,
"ERRTEXT": "Error"
}}}
S05F16:
description: exception recover complete - confirm
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
S05F17:
description: exception recover abort - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: EXID
sample_data: '"EX123"'
S05F18:
description: exception recover abort - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [EXID, [ACKA, [ERRCODE, ERRTEXT]]]
sample_data: |-
{
"EXID": "EX123",
"DATA": {
"ACKA": False,
"DATA": {
"ERRCODE": 10,
"ERRTEXT": "Error"}}}
S06F00:
description: abort transaction stream 6
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S06F01:
description: Trace data send
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: True
structure: [TRID, SMPLN, STIME, [SV]]
sample_data: |-
{
"TRID": 1,
"SMPLN": 3,
"STIME": "TIME",
"SV": [1, 4]}
S06F02:
description: Trace data - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ACKC6
sample_data: 'secsgem.secs.data_items.ACKC6.ACCEPTED'
S06F05:
description: multi block data inquiry
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [DATAID, DATALENGTH]
sample_data: '{"DATAID": 1, "DATALENGTH": 1337}'
S06F06:
description: multi block data grant
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: GRANT6
sample_data: 'secsgem.secs.data_items.GRANT6.BUSY'
S06F07:
description: data transfer request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: DATAID
sample_data: '1'
S06F08:
description: data transfer data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [DATAID, CEID, [["DS", DSID, [["DV", DVNAME, DVVAL]]]]]
sample_data: |-
{
"DATAID": 1,
"CEID": 1337,
"DS": [{
"DSID": 1000,
"DV": [
{"DVNAME": "VAR1", "DVVAL": "VAR"},
{"DVNAME": "VAR2", "DVVAL": secsgem.secs.variables.U4(100)}]}]}
S06F11:
description: event report
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: True
structure: [DATAID, CEID, [["RPT", RPTID, [V]]]]
sample_data: |-
{
"DATAID": 1,
"CEID": 1337,
"RPT": [{
"RPTID": 1000,
"V": ["VAR", secsgem.secs.variables.U4(100)]}]}
S06F12:
description: event report - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ACKC6
sample_data: 'secsgem.secs.data_items.ACKC6.ACCEPTED'
S06F15:
description: event report request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: CEID
sample_data: '1337'
S06F16:
description: event report data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [DATAID, CEID, [["RPT", RPTID, [V]]]]
sample_data: |-
{
"DATAID": 1,
"CEID": 1337,
"RPT": [{
"RPTID": 1000,
"V": ["VAR", secsgem.secs.variables.U4(100)]}]}
S06F19:
description: individual report request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: RPTID
sample_data: 'secsgem.secs.variables.U4(1337)'
S06F20:
description: individual report data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [V]
sample_data: '["ASD", 1337]'
S06F21:
description: annotated individual report request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: RPTID
sample_data: 'secsgem.secs.variables.U4(1337)'
S06F22:
description: annotated individual report data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [[VID, V]]
sample_data: '[{"VID": "VID1", "V": "ASD"}, {"VID": 2, "V": 1337}]'
S06F23:
description: Request spooled data
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: RSDC
sample_data: 'secsgem.secs.data_items.RSDC.PURGE'
S06F24:
description: Request spooled data acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: RSDA
sample_data: 'secsgem.secs.data_items.RSDA.ACK'
S07F00:
description: abort transaction stream 7
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S07F01:
description: process program load - inquire
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [PPID, LENGTH]
sample_data: '{"PPID": "program", "LENGTH": 4}'
S07F02:
description: process program load - grant
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: PPGNT
sample_data: 'secsgem.secs.data_items.PPGNT.OK'
S07F03:
description: process program - send
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: True
structure: [PPID, PPBODY]
sample_data: '{"PPID": "program", "PPBODY": secsgem.secs.variables.Binary("data")}'
S07F04:
description: process program - acknowledge
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ACKC7
sample_data: 'secsgem.secs.data_items.ACKC7.MATRIX_OVERFLOW'
S07F05:
description: process program - request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: PPID
sample_data: '"program"'
S07F06:
description: process program - data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [PPID, PPBODY]
sample_data: '{"PPID": "program", "PPBODY": secsgem.secs.variables.Binary("data")}'
S07F17:
description: delete process program - send
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [PPID]
sample_data: '["program1", "program2"]'
S07F18:
description: delete process program - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: ACKC7
sample_data: 'secsgem.secs.data_items.ACKC7.MODE_UNSUPPORTED'
S07F19:
description: current equipment process program - request
to_host: False
to_equipment: True
reply: True
reply_required: True
multi_block: False
S07F20:
description: current equipment process program - data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: True
structure: [PPID]
sample_data: '["program1", "program2"]'
S09F00:
description: abort transaction stream 9
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S09F01:
description: unrecognized device id
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: MHEAD
sample_data: '"HEADERDATA"'
S09F03:
description: unrecognized stream type
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: MHEAD
sample_data: '"HEADERDATA"'
S09F05:
description: unrecognized function type
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: MHEAD
sample_data: '"HEADERDATA"'
S09F07:
description: illegal data
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: MHEAD
sample_data: '"HEADERDATA"'
S09F09:
description: transaction timer timeout
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: SHEAD
sample_data: '"HEADERDATA"'
S09F11:
description: data too long
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: MHEAD
sample_data: '"HEADERDATA"'
S09F13:
description: conversation timeout
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: [MEXP, EDID]
sample_data: '{"MEXP": "S01E01", "EDID": "data"}'
S10F00:
description: abort transaction stream 10
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S10F01:
description: terminal - request
to_host: True
to_equipment: False
reply: True
reply_required: False
multi_block: False
structure: [TID, TEXT]
sample_data: '{"TID": 0, "TEXT": "hello?"}'
S10F02:
description: terminal - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: ACKC10
sample_data: 'secsgem.secs.data_items.ACKC10.ACCEPTED'
S10F03:
description: terminal single - display
to_host: False
to_equipment: True
reply: True
reply_required: False
multi_block: False
structure: [TID, TEXT]
sample_data: '{"TID": 0, "TEXT": "hello!"}'
S10F04:
description: terminal single - acknowledge
to_host: True
to_equipment: False
reply: False
reply_required: False
multi_block: False
structure: ACKC10
sample_data: 'secsgem.secs.data_items.ACKC10.TERMINAL_NOT_AVAILABLE'
S12F00:
description: abort transaction stream 12
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S12F01:
description: map setup data - send
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP, FNLOC, FFROT, ORLOC, RPSEL, [REFP], DUTMS, XDIES, YDIES, ROWCT, COLCT, NULBC, PRDCT, PRAXI]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"FNLOC": 0,
"FFROT": 0,
"ORLOC": secsgem.secs.data_items.ORLOC.UPPER_LEFT,
"RPSEL": 0,
"REFP": [[1,2], [2,3]],
"DUTMS": "unit",
"XDIES": 100,
"YDIES": 100,
"ROWCT": 10,
"COLCT": 10,
"NULBC": "{x}",
"PRDCT": 100,
"PRAXI": secsgem.secs.data_items.PRAXI.ROWS_TOP_INCR}
S12F02:
description: map setup data - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: SDACK
sample_data: 'secsgem.secs.data_items.SDACK.ACK'
S12F03:
description: map setup data - request
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP, MAPFT, FNLOC, FFROT, ORLOC, PRAXI, BCEQU, NULBC]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER_CASSETTE,
"MAPFT": secsgem.secs.data_items.MAPFT.ROW,
"FNLOC": 0,
"FFROT": 0,
"ORLOC": secsgem.secs.data_items.ORLOC.LOWER_LEFT,
"PRAXI": secsgem.secs.data_items.PRAXI.COLS_LEFT_INCR,
"BCEQU": [1, 3, 5, 7],
"NULBC": "{x}"}
S12F04:
description: map setup data
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: [MID, IDTYP, FNLOC, ORLOC, RPSEL, [REFP], DUTMS, XDIES, YDIES, ROWCT, COLCT, PRDCT, BCEQU, NULBC, MLCL]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.FILM_FRAME,
"FNLOC": 0,
"ORLOC": secsgem.secs.data_items.ORLOC.CENTER_DIE,
"RPSEL": 0,
"REFP": [[1,2], [2,3]],
"DUTMS": "unit",
"XDIES": 100,
"YDIES": 100,
"ROWCT": 10,
"COLCT": 10,
"PRDCT": 100,
"BCEQU": [1, 3, 5, 7],
"NULBC": "{x}",
"MLCL": 0}
S12F05:
description: map transmit inquire
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP, MAPFT, MLCL]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"MAPFT": secsgem.secs.data_items.MAPFT.ARRAY,
"MLCL": 0}
S12F06:
description: map transmit - grant
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: GRNT1
sample_data: 'secsgem.secs.data_items.GRNT1.MATERIALID_UNKNOWN'
S12F07:
description: map data type 1 - send
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: True
structure: [MID, IDTYP, [[RSINF, BINLT]]]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"DATA": [
{"RSINF": [1, 2, 3], "BINLT": [1, 2, 3, 4]},
{"RSINF": [4, 5, 6], "BINLT": [5, 6, 7, 8]}]}
S12F08:
description: map data type 1 - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: MDACK
sample_data: 'secsgem.secs.data_items.MDACK.ABORT_MAP'
S12F09:
description: map data type 2 - send
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: True
structure: [MID, IDTYP, STRP, BINLT]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"STRP": [0, 1],
"BINLT": [1, 2, 3, 4, 5, 6]}
S12F10:
description: map data type 2 - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: MDACK
sample_data: 'secsgem.secs.data_items.MDACK.ACK'
S12F11:
description: map data type 3 - send
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: True
structure: [MID, IDTYP, [[XYPOS, BINLT]]]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"DATA": [
{"XYPOS": [1, 2], "BINLT": [1, 2, 3, 4]},
{"XYPOS": [3, 4], "BINLT": [5, 6, 7, 8]}]}
S12F12:
description: map data type 3 - acknowledge
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: MDACK
sample_data: 'secsgem.secs.data_items.MDACK.FORMAT_ERROR'
S12F13:
description: map data type 1 - request
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP]
sample_data: '{"MID": "materialID", "IDTYP": secsgem.secs.data_items.IDTYP.WAFER}'
S12F14:
description: map data type 1
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [MID, IDTYP, [[RSINF, BINLT]]]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"DATA": [
{"RSINF": [1, 2, 3], "BINLT": [1, 2, 3, 4]},
{"RSINF": [4, 5, 6], "BINLT": [5, 6, 7, 8]}]}
S12F15:
description: map data type 2 - request
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP]
sample_data: '{"MID": "materialID", "IDTYP": secsgem.secs.data_items.IDTYP.WAFER}'
S12F16:
description: map data type 2
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [MID, IDTYP, STRP, BINLT]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"STRP": [0, 1],
"BINLT": [1, 2, 3, 4, 5, 6]}
S12F17:
description: map data type 3 - request
to_host: True
to_equipment: False
reply: True
reply_required: True
multi_block: False
structure: [MID, IDTYP, SDBIN]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"SDBIN": secsgem.secs.data_items.SDBIN.DONT_SEND}
S12F18:
description: map data type 3
to_host: False
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [MID, IDTYP, [[XYPOS, BINLT]]]
sample_data: |-
{
"MID": "materialID",
"IDTYP": secsgem.secs.data_items.IDTYP.WAFER,
"DATA": [
{"XYPOS": [1, 2], "BINLT": [1, 2, 3, 4]},
{"XYPOS": [3, 4], "BINLT": [5, 6, 7, 8]}]}
S12F19:
description: map error report - send
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
structure: [MAPER, DATLC]
sample_data: '{"MAPER": secsgem.secs.data_items.MAPER.INVALID_DATA, "DATLC": 0}'
S14F00:
description: abort transaction stream 14
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: False
S14F01:
description: GetAttr request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [OBJSPEC, OBJTYPE, [OBJID], [["FILTER", ATTRID, ATTRDATA, ATTRRELN]], [ATTRID]]
sample_data: |-
{
"OBJSPEC": '',
"OBJTYPE": 'StripMap',
"OBJID": ['MAP001'],
"FILTER": [],
"ATTRID": ['OriginLocation', 'Rows', 'Columns', 'CellStatus', 'LotID']}
S14F02:
description: GetAttr data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [[[OBJID, [["ATTRIBS", ATTRID, ATTRDATA]]]], ["ERRORS", OBJACK, [["ERROR", ERRCODE, ERRTEXT]]]]
sample_data: |-
{
"DATA": [{
"OBJID": "MAP001",
"ATTRIBS": [
{"ATTRID": "OriginLocation", "ATTRDATA": "0"},
{"ATTRID": "Rows", "ATTRDATA": 4},
{"ATTRID": "Columns", "ATTRDATA": 4},
{"ATTRID": "CellStatus", "ATTRDATA": 6},
{"ATTRID": "LotID", "ATTRDATA":"LOT001"}]}],
"ERRORS": {"OBJACK": 0}}
S14F03:
description: SetAttr request
to_host: True
to_equipment: True
reply: True
reply_required: True
multi_block: False
structure: [OBJSPEC, OBJTYPE, [OBJID], [["ATTRIBS", ATTRID, ATTRDATA]]]
sample_data: |-
{
"OBJSPEC": '',
"OBJTYPE": 'StripMap',
"OBJID": ['MAP001'],
"ATTRIBS": [{
"ATTRID": "CellStatus",
"ATTRDATA": "3"}]}
S14F04:
description: SetAttr data
to_host: True
to_equipment: True
reply: False
reply_required: False
multi_block: True
structure: [[[OBJID, [["ATTRIBS", ATTRID, ATTRDATA]]]], ["ERRORS", OBJACK, [["ERROR", ERRCODE, ERRTEXT]]]]
sample_data: |-
{
"DATA": [{
"OBJID": "MAP001",
"ATTRIBS": [
{"ATTRID": "OriginLocation", "ATTRDATA": "0"},
{"ATTRID": "Rows", "ATTRDATA": 4},
{"ATTRID": "Columns", "ATTRDATA": 4},
{"ATTRID": "CellStatus", "ATTRDATA": 6},
{"ATTRID": "LotID", "ATTRDATA":"LOT001"}]}],
"ERRORS": {"OBJACK": 0}}