EquipmentHandler

class secsgem.gem.equipmenthandler.GemEquipmentHandler(address, port, active, session_id, name, custom_connection_handler=None, initial_control_state='ATTEMPT_ONLINE', initial_online_control_state='REMOTE')[source]

Bases: secsgem.gem.handler.GemHandler

Baseclass for creating equipment models. Inherit from this class and override required functions.

control_switch_online()[source]

Operator switches to online control state.

control_switch_offline()[source]

Operator switches to offline control state.

control_switch_online_local()[source]

Operator switches to the local online control state.

control_switch_online_remote()[source]

Operator switches to the local online control state.

data_values

The list of the data values.

Returns:Data value list
Return type:list of secsgem.gem.equipmenthandler.DataValue
on_dv_value_request(dvid, dv)[source]

Get the data value depending on its configuation.

Override in inherited class to provide custom data value request handling.

Parameters:
Returns:

The value encoded in the corresponding type

Return type:

secsgem.secs.variables.SecsVar

status_variables

The list of the status variables.

Returns:Status variable list
Return type:list of secsgem.gem.equipmenthandler.StatusVariables
on_sv_value_request(svid, sv)[source]

Get the status variable value depending on its configuation.

Override in inherited class to provide custom status variable request handling.

Parameters:
Returns:

The value encoded in the corresponding type

Return type:

secsgem.secs.variables.SecsVar

collection_events

The list of the collection events.

Returns:Collection event list
Return type:list of secsgem.gem.equipmenthandler.CollectionEvent
registered_reports

The list of the subscribed reports.

Returns:Collection event report list
Return type:dictionary of subscribed reports
registered_collection_events

The list of the subscribed collection events.

Returns:Collection event list
Return type:dictionary of secsgem.gem.equipmenthandler.CollectionEventLink
trigger_collection_events(ceids)[source]

Triggers the supplied collection events.

Parameters:ceids (list of various) – List of collection events
equipment_constants

The list of the equipments contstants.

Returns:Equipment constant list
Return type:list of secsgem.gem.equipmenthandler.EquipmentConstant
on_ec_value_request(ecid, ec)[source]

Get the equipment constant value depending on its configuation.

Override in inherited class to provide custom equipment constant request handling.

Parameters:
Returns:

The value encoded in the corresponding type

Return type:

secsgem.secs.variables.SecsVar

on_ec_value_update(ecid, ec, value)[source]

Set the equipment constant value depending on its configuation.

Override in inherited class to provide custom equipment constant update handling.

Parameters:
alarms

The list of the alarms.

Returns:Alarms list
Return type:list of secsgem.gem.equipmenthandler.Alarm
set_alarm(alid)[source]

The list of the alarms.

Parameters:alid (str/int) – Alarm id
clear_alarm(alid)[source]

The list of the alarms.

Parameters:alid (str/int) – Alarm id
remote_commands

The list of the remote commands.

Returns:Remote command list
Return type:list of secsgem.gem.equipmenthandler.RemoteCommand
are_you_there()

Check if remote is still replying.

callbacks

Property for callback handling.

disable()

Disables the connection.

disable_ceid_reports()

Disable all Collection Event Reports.

disable_ceids()

Disable all Collection Events.

enable()

Enables the connection.

events

Property for event handling.

get_ceid_name(ceid)

Get the name of a collection event.

Parameters:ceid (integer) – ID of collection event
Returns:Name of the event or empty string if not found
Return type:string
get_dvid_name(dvid)

Get the name of a data value.

Parameters:dvid (integer) – ID of data value
Returns:Name of the event or empty string if not found
Return type:string
get_next_system_counter()

Returns the next System.

Returns:System for the next command
Return type:integer
list_ecs(ecs=None)

Get list of available Equipment Constants.

Returns:available Equipment Constants
Return type:list
list_svs(svs=None)

Get list of available Service Variables.

Returns:available Service Variables
Return type:list
on_commack_requested()

Get the acknowledgement code for the connection request.

override to accept or deny connection request

Returns:0 when connection is accepted, 1 when connection is denied
Return type:integer
on_connection_before_closed(_)

Connection is about to be closed.

on_connection_established(_)

Connection was established.

on_connection_packet_received(_, packet)

Packet received by connection.

Parameters:packet (secsgem.hsms.packets.HsmsPacket) – received data packet
register_stream_function(stream, function, callback)

Register the function callback for stream and function.

Parameters:
  • stream (integer) – stream to register callback for
  • function (integer) – function to register callback for
  • callback (def callback(connection)) – method to call when stream and functions is received
request_ec(ec)

Request contents of one Equipment Constant.

Parameters:ec (int) – id of Equipment Constant
Returns:value of requested Equipment Constant
Return type:various
request_ecs(ecs)

Request contents of supplied Equipment Constants.

Parameters:ecs (list) – Equipment Constants to request
Returns:values of requested Equipment Constants
Return type:list
request_process_program(ppid)

Request a process program.

Parameters:ppid (string) – Transferred process programs ID
request_sv(sv)

Request contents of one Service Variable.

Parameters:sv (int) – id of Service Variable
Returns:value of requested Service Variable
Return type:various
request_svs(svs)

Request contents of supplied Service Variables.

Parameters:svs (list) – Service Variables to request
Returns:values of requested Service Variables
Return type:list
secs_decode(packet)

Get object of decoded stream and function class, or None if no class is available.

Parameters:packet (secsgem.hsms.packets.HsmsPacket) – packet to get object for
Returns:matching stream and function object
Return type:secsSxFx object
send_and_waitfor_response(packet)

Send the packet and wait for the response.

Parameters:packet (secsgem.secs.functionbase.SecsStreamFunction) – packet to be sent
Returns:Packet that was received
Return type:secsgem.hsms.packets.HsmsPacket
send_deselect_req()

Send a Deselect Request to the remote host.

Returns:System of the sent request
Return type:integer
send_deselect_rsp(system_id)

Send a Deselect Response to the remote host.

Parameters:system_id (integer) – System of the request to reply for
send_equipment_terminal(terminal_id, text)

Set text to equipment terminal.

Parameters:
  • terminal_id (int) – ID of terminal
  • text (string) – text to send
send_linktest_req()

Send a Linktest Request to the remote host.

Returns:System of the sent request
Return type:integer
send_linktest_rsp(system_id)

Send a Linktest Response to the remote host.

Parameters:system_id (integer) – System of the request to reply for
send_process_program(ppid, ppbody)

Send a process program.

Parameters:
  • ppid (string) – Transferred process programs ID
  • ppbody (string) – Content of process program
send_reject_rsp(system_id, s_type, reason)

Send a Reject Response to the remote host.

Parameters:
  • system_id (integer) – System of the request to reply for
  • s_type (integer) – s_type of rejected message
  • reason (integer) – reason for rejection
send_response(function, system)

Send response function for system.

Parameters:
send_select_req()

Send a Select Request to the remote host.

Returns:System of the sent request
Return type:integer
send_select_rsp(system_id)

Send a Select Response to the remote host.

Parameters:system_id (integer) – System of the request to reply for
send_separate_req()

Send a Separate Request to the remote host.

send_stream_function(packet)

Send the packet and wait for the response.

Parameters:packet (secsgem.secs.functionbase.SecsStreamFunction) – packet to be sent
set_ec(ec, value)

Set contents of one Equipment Constant.

Parameters:
  • ec (int) – id of Equipment Constant
  • value (various) – new content of Equipment Constant
set_ecs(ecs)

Set contents of supplied Equipment Constants.

Parameters:ecs (list) – list containing list of id / value pairs
stream_function(stream, function)

Get class for stream and function.

Parameters:
  • stream (int) – stream to get function for
  • function (int) – function to get
Returns:

matching stream and function class

Return type:

secsSxFx class

unregister_stream_function(stream, function)

Unregister the function callback for stream and function.

Parameters:
  • stream (integer) – stream to unregister callback for
  • function (integer) – function to register callback for
waitfor_communicating(timeout=None)

Wait until connection gets into communicating state. Returns immediately if state is communicating.

Parameters:timeout (float) – seconds to wait before aborting
Returns:True if state is communicating, False if timed out
Return type:bool
on_connection_closed(connection)[source]

Connection was closed.

class secsgem.gem.equipmenthandler.DataValue(dvid, name, value_type, use_callback=True, **kwargs)[source]

Bases: object

Data value definition.

class secsgem.gem.equipmenthandler.StatusVariable(svid, name, unit, value_type, use_callback=True, **kwargs)[source]

Bases: object

Status variable definition.

class secsgem.gem.equipmenthandler.CollectionEvent(ceid, name, data_values, **kwargs)[source]

Bases: object

Collection event definition.

Bases: object

Representation for registered/linked collection event.

reports

The list of the data values.

Returns:List of linked reports
Return type:list of secsgem.gem.equipmenthandler.CollectionEventReport
class secsgem.gem.equipmenthandler.CollectionEventReport(rptid, variables, **kwargs)[source]

Bases: object

Report definition for registered collection events.

class secsgem.gem.equipmenthandler.EquipmentConstant(ecid, name, min_value, max_value, default_value, unit, value_type, use_callback=True, **kwargs)[source]

Bases: object

Equipment constant definition.