I/O and Parameter Objects#
Discrete/analog I/O Point objects, the Group objects that bind them together, the Parameter/Parameter Group objects, and small single-purpose objects (DeviceNet, Register, Presence Sensing, Selection).
[ODVA CIP Vol 1] Wrappers for small, single-purpose CIP objects:
DeviceNet (class 0x03, §5-4),
Register (class 0x07, §5-8),
Presence Sensing (class 0x0E, §5-13), and
Selection (class 0x2E, §5-34).
- class icspacket.proto.cip.objects.simple.DeviceNetObject(connection: CIP_Connection, instance: int = 1)[source]#
DeviceNet port configuration and status (See CIP Vol 1, §5-4).
Volume 1 only reserves this class code; the attribute set itself is defined in CIP Volume 3, DeviceNet Adaptation of CIP, so no typed attributes are declared here. Use
get()/set()with the attribute IDs from that volume.
- class icspacket.proto.cip.objects.simple.PresenceSensingObject(connection: CIP_Connection, instance: int = 1)[source]#
Senses the presence or absence of a real-world target (See CIP Vol 1, §5-13).
- output: CIPAttribute[int]#
0 = switching element open, 1 = switching element closed (attribute 1).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported (attribute 2).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 3).
- diagnostic: CIPAttribute[int]#
0 = good, 1 = fault (attribute 4).
- on_delay: CIPAttribute[int]#
On delay in milliseconds, 0-65535 (attribute 5).
- off_delay: CIPAttribute[int]#
Off delay in milliseconds, 0-65535 (attribute 6).
- one_shot_delay: CIPAttribute[int]#
One-shot delay in milliseconds, 0-65535 (attribute 7).
- operate_mode: CIPAttribute[int]#
0 = output attribute as specified, 1 = inversion of output attribute (attribute 8).
- sensitivity: CIPAttribute[int]#
Detection amplification, 0 (lowest) - 255 (highest) (attribute 9).
- target_margin: CIPAttribute[int]#
Signal strength above the switching threshold, 1-255 (attribute 10).
- background_margin: CIPAttribute[int]#
Signal strength below the switching threshold, 0-100 (attribute 11).
- min_detect_distance: CIPAttribute[int]#
Minimum detection distance in mm, 0-65535 (attribute 12).
- max_detect_distance: CIPAttribute[int]#
Maximum detection distance in mm; shall be >= min_detect_distance (attribute 13).
- detect_distance: CIPAttribute[int]#
Current detection distance in mm, 0-65535 (attribute 14).
- class icspacket.proto.cip.objects.simple.RegisterObject(connection: CIP_Connection, instance: int = 1)[source]#
Addresses up to 64K bits of input/output register data (See CIP Vol 1, §5-8).
- bad_flag: CIPAttribute[int]#
0 = good, 1 = bad (attribute 1).
- direction: CIPAttribute[int]#
Direction of data transfer: 0 = Input Register, 1 = Output Register (attribute 2).
- size: CIPAttribute[int]#
Size of the register data in bits (attribute 3).
- data: CIPAttribute[bytes]#
Register data, LSB-aligned bit array (attribute 4).
- class icspacket.proto.cip.objects.simple.SelectionObject(connection: CIP_Connection, instance: int = 1)[source]#
Manages the selection and distribution of data between objects (See CIP Vol 1, §5-34).
destination_list,source_list, andobject_source_list(and the algorithm-dependentinput_data_value/output_data_value) are exposed as raw bytes: they are lists of path-length-prefixed EPATHs (or, forinput_data_value/output_data_value, a type that depends on whichever source/destination is currently selected) rather than a fixed schema.- state: CIPAttribute[int]#
Current state of this instance (attribute 1, See §5-34.4.1, Table 5-34.5).
- max_destinations: CIPAttribute[int]#
Maximum number of destination indexes supported, 0 = none (attribute 2).
- number_of_destinations: CIPAttribute[int]#
Number of entries in
destination_list(attribute 3).
- destination_list: CIPAttribute[bytes]#
List of
{USINT path_length, EPATH}destination paths (attribute 4).
- max_sources: CIPAttribute[int]#
Maximum number of source indexes supported, 0 = none (attribute 5).
- number_of_sources: CIPAttribute[int]#
Number of entries in
source_list(attribute 6).
- source_list: CIPAttribute[Collection[int]]#
Consuming I/O Connection Instance IDs, one UINT per source (attribute 7).
- source_used: CIPAttribute[int]#
Index into
source_listof the source currently in use, 1-based (attribute 8).
- source_alarm: CIPAttribute[Collection[int]]#
Per-source availability, one BOOL each: 0 = available, 1 = not available (attribute 9).
- algorithm_type: CIPAttribute[int]#
Selection algorithm type; 0 if unsupported (attribute 10).
- detection_count: CIPAttribute[int]#
Required when the algorithm type is supported, range 2-255 (attribute 11).
- selection_period: CIPAttribute[int]#
Required when the algorithm type is supported, range 1-65535 ms (attribute 12).
- object_source_list: CIPAttribute[bytes]#
List of
{USINT path_length, EPATH}source paths (attribute 13).
- destination_used: CIPAttribute[int]#
Index into
destination_listcurrently in use, 1-based (attribute 14).
- input_data_value: CIPAttribute[bytes]#
Copy of the currently selected source attribute’s data (attribute 15).
- output_data_value: CIPAttribute[bytes]#
Copy of the currently selected destination attribute’s data (attribute 16).
[ODVA CIP Vol 1] Wrappers for the objects that bind groups of other CIP objects together: Group (class 0x12, §5-16), Discrete Input Group (class 0x1D, §5-17), Discrete Output Group (class 0x1E, §5-18), Discrete Group (class 0x1F, §5-19), Analog Input Group (class 0x20, §5-20), Analog Output Group (class 0x21, §5-21), and Analog Group (class 0x22, §5-22).
- class icspacket.proto.cip.objects.group.AnalogGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of analog objects spanning more than one class (See CIP Vol 1, §5-22).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the group (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points in a group (attribute 3).
- binding: CIPAttribute[Collection[GroupBinding]]#
List of
{class_id, instance_id}entries bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = good, 1 = alarm state, for the whole group (attribute 5).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the group’s owner (attribute 6).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the group’s owner (attribute 7).
- value_data_type: CIPAttribute[int]#
Shared wire type propagated to all bound objects’ Value: 0=INT (default), …, 9=LREAL (attribute 8).
- class icspacket.proto.cip.objects.group.AnalogInputGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of Analog Input Point objects (See CIP Vol 1, §5-20).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the group (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points in a group (attribute 3).
- binding: CIPAttribute[Collection[int]]#
Instance IDs of the Analog Input Points bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = good, 1 = alarm state, for the whole group (attribute 5).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the group’s owner (attribute 6).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the group’s owner (attribute 7).
- value_data_type: CIPAttribute[int]#
Shared AIP Value wire type: 0=INT (default), 1=REAL, 2=USINT, …, 9=LREAL (attribute 8).
- temp_mode: CIPAttribute[int]#
Temperature scale for a temperature value: 0 = Celsius, 1 = Fahrenheit (attribute 10).
- class icspacket.proto.cip.objects.group.AnalogOutputGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of Analog Output Point objects (See CIP Vol 1, §5-21).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the group (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of bindings in the group (attribute 3).
- binding: CIPAttribute[Collection[int]]#
Instance IDs of the Analog Output Points bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = good, 1 = alarm state, for the whole group (attribute 5).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the group’s owner (attribute 6).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the group’s owner (attribute 7).
- value_data_type: CIPAttribute[int]#
Shared wire type for any bound Value/fault_value/idle_value: 0=INT (default), …, 9=LREAL (attribute 8).
- command: CIPAttribute[int]#
Changes state of bound AOPs: 0 = idle, 1 = run (attribute 9, required).
- fault_action: CIPAttribute[int]#
Output value to go to on fault: 0=use fault_value, 1=hold last state (default), 2=low limit, 3=high limit (attribute 10).
- fault_value: CIPAttribute[bytes]#
Shared fault value; wire type selected by value_data_type, required if fault_action is implemented (attribute 11).
- idle_action: CIPAttribute[int]#
Output value to go to on idle: 0=use idle_value, 1=hold last state (default), 2=low limit, 3=high limit (attribute 12).
- idle_value: CIPAttribute[bytes]#
Shared idle value; wire type selected by value_data_type, required if idle_action is implemented (attribute 13).
- read_fault_value() object[source]#
Read and decode
fault_valueaccording to the currentvalue_data_type.
- write_fault_value(value: object, *, instance: int | None = None) bytes[source]#
Encode and write
fault_valueaccording to the currentvalue_data_type.
- class icspacket.proto.cip.objects.group.DiscreteGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of discrete objects spanning more than one class (See CIP Vol 1, §5-19).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the group (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points in this group (attribute 3).
- binding: CIPAttribute[Collection[GroupBinding]]#
List of
{class_id, instance_id}entries bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = good, 1 = alarm state, for the whole group (attribute 5).
- class icspacket.proto.cip.objects.group.DiscreteInputGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of Discrete Input Point objects (See CIP Vol 1, §5-17).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the device (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points bound to this group (attribute 3).
- binding: CIPAttribute[Collection[int]]#
Instance IDs of the Discrete Input Points bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = OK, 1 = product-specific alarm or status, for all bound points (attribute 5).
- off_on_delay: CIPAttribute[int]#
Shared filter time in microseconds for an off-to-on transition, default 0 (attribute 6).
- on_off_delay: CIPAttribute[int]#
Shared filter time in microseconds for an on-to-off transition, default 0 (attribute 7).
- class icspacket.proto.cip.objects.group.DiscreteOutputGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds a group of Discrete Output Point objects (See CIP Vol 1, §5-18).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the device (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points bound to this group (attribute 3).
- binding: CIPAttribute[Collection[int]]#
Instance IDs of the Discrete Output Points bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = OK, 1 = product-specific alarm or status, for all bound points (attribute 5).
- command: CIPAttribute[int]#
Changes state of all bound DOPs: 0 = idle, 1 = run (attribute 6, required).
- fault_action: CIPAttribute[int]#
Shared state after a recoverable failure: 0 = use fault_value, 1 = hold last state (attribute 7).
- fault_value: CIPAttribute[int]#
Shared user-defined value for use with fault_action (attribute 8).
- idle_action: CIPAttribute[int]#
Shared state while idle: 0 = use idle_value, 1 = hold last state (attribute 9).
- idle_value: CIPAttribute[int]#
Shared user-defined value for use with idle_action (attribute 10).
- class icspacket.proto.cip.objects.group.GroupBinding(class_id: int, instance_id: int)[source]#
One
{Class ID, Instance ID}entry in a class-heterogeneous group’s Binding list.- class_id: int#
Class code of the bound object.
- instance_id: int#
Instance ID of the bound object.
- class icspacket.proto.cip.objects.group.GroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Binds other objects (e.g. AIP, AOP, DIP, DOP, or their groups) together (See CIP Vol 1, §5-16).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by the group (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- number_of_bound_instances: CIPAttribute[int]#
Number of points bound to this group (attribute 3).
- binding: CIPAttribute[Collection[GroupBinding]]#
List of
{class_id, instance_id}entries bound to this group (attribute 4).
- status: CIPAttribute[int]#
0 = good, 1 = alarm state, for the whole group (attribute 5).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the group’s owner (attribute 6).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the group’s owner (attribute 7).
[ODVA CIP Vol 1] Wrappers for the Parameter Object (class 0x0F, §5-14) and Parameter Group Object (class 0x10, §5-15).
- class icspacket.proto.cip.objects.parameter.ParameterObject(connection: CIP_Connection, instance: int = 1)[source]#
Public, self-describing interface to one of a device’s configuration parameters (See CIP Vol 1, §5-14).
data_typeis a CIP data-type-segment code (See Appendix C-6.1) andparameter_value/minimum_value/maximum_value/default_valueare shaped by it (and bydata_size), so all four are exposed as raw bytes rather than a fixed schema. Attributes 22-24 (International Parameter/Engineering Units/Help Name Strings, data type STRINGI) need the Get_Member service to decode and are not implemented.- parameter_value: CIPAttribute[bytes]#
Actual parameter value; shape depends on data_type/data_size, set-only if descriptor bit 4 is clear (attribute 1).
- link_path_size: CIPAttribute[int]#
Size of link_path in bytes, 0 = no link (attribute 2).
- link_path: CIPAttribute[EPATH]#
CIP path to the object attribute this parameter’s value is linked to, up to 255 bytes (attribute 3).
- descriptor: CIPAttribute[int]#
Parameter behavior bit flags, e.g. bit 4 = read only (attribute 4, See §5-14.2.1.1, Table 5-14.9).
- data_type: CIPAttribute[bytes]#
CIP data-type-segment code selecting the type of the value attributes (attribute 5, See Appendix C-6.1).
- data_size: CIPAttribute[int]#
Number of bytes in parameter_value (attribute 6).
- parameter_name_string: CIPAttribute[str]#
Human-readable parameter name, up to 16 characters, e.g. “Frequency #1” (attribute 7).
- units_string: CIPAttribute[str]#
Engineering unit string, up to 4 characters (attribute 8).
- help_string: CIPAttribute[str]#
Help string, up to 64 characters (attribute 9).
- minimum_value: CIPAttribute[bytes]#
Minimum settable value; shape depends on data_type (attribute 10, See §5-14.2.1.3).
- maximum_value: CIPAttribute[bytes]#
Maximum settable value; shape depends on data_type (attribute 11, See §5-14.2.1.3).
- default_value: CIPAttribute[bytes]#
Factory default value; shape depends on data_type (attribute 12).
- scaling_multiplier: CIPAttribute[int]#
Multiplier for the scaling formula (attribute 13, See Figure 5-14.11).
- scaling_divisor: CIPAttribute[int]#
Divisor for the scaling formula (attribute 14).
- scaling_base: CIPAttribute[int]#
Base for the scaling formula (attribute 15).
- scaling_offset: CIPAttribute[int]#
Offset for the scaling formula, may be negative (attribute 16).
- multiplier_link: CIPAttribute[int]#
Parameter instance sourcing the scaling multiplier, 0 = use scaling_multiplier (attribute 17).
- divisor_link: CIPAttribute[int]#
Parameter instance sourcing the scaling divisor, 0 = use scaling_divisor (attribute 18).
- base_link: CIPAttribute[int]#
Parameter instance sourcing the scaling base, 0 = use scaling_base (attribute 19).
- offset_link: CIPAttribute[int]#
Parameter instance sourcing the scaling offset, 0 = use scaling_offset (attribute 20).
- decimal_precision: CIPAttribute[int]#
Number of decimal places to show for the scaled engineering value (attribute 21).
- get_class_attribute(attribute: int) bytes[source]#
Read a Parameter class attribute from instance 0 (See §5-14.1, Table 5-14.2).
- apply_attributes() bytes[source]#
Invoke Apply_Attributes, committing parameter values whose use is pending.
- reset() bytes[source]#
Invoke the class-level Reset service, restoring all parameters to their factory default.
- class icspacket.proto.cip.objects.parameter.ParameterGroupObject(connection: CIP_Connection, instance: int = 1)[source]#
Names and lists the parameter instances that belong to one configuration group (See CIP Vol 1, §5-15).
The “Nth Parameter Number in Group” instance attributes are numbered dynamically - starting at attribute 3 for revision 1’s abbreviated static set (§5-15.2), or attribute 16 for revision >1’s extended static set (§5-15.3) - so
member()computes the attribute ID rather than declaring oneCIPAttributeper group slot.- group_name: CIPAttribute[str]#
Human-readable group name, up to 16 characters, e.g. “Setup” (attribute 1).
- number_of_members: CIPAttribute[int]#
Number of parameters in this group (attribute 2).
- member(index: int, *, extended: bool = False) int[source]#
Read the Nth (1-based) Parameter Object instance number bound to this group.
- Parameters:
index – 1-based member position within the group.
extended – Use the extended static attribute set’s numbering (1st member at attribute 16) instead of the abbreviated set’s (1st member at attribute 3); the class- level Revision attribute selects which layout is active (See §5-15.1.1.1).
[ODVA CIP Vol 1] Wrappers for the discrete/analog I/O point objects:
Discrete Input Point (class 0x08, §5-9), Discrete Output Point (class 0x09, §5-10), Analog Input Point (class 0x0A, §5-11), and Analog Output Point (class 0x0B, §5-12).
- icspacket.proto.cip.objects.point.ANALOG_VALUE_TYPES: dict[int, Any] = {0: <int16>, 1: <float32>, 2: <int8>, 3: <int8>, 4: <int32>, 5: <int64>, 6: <int16>, 7: <int32>, 8: <int64>, 9: <float64>}#
Attribute 8 (Value Data Type) code -> wire schema, shared by Analog Input and Analog Output Point (See CIP Vol 1, §5-11.3/§5-12.2, Table 5-11.3/5-12.2). Value 100 (vendor specific) has no fixed schema and decodes to raw bytes.
- class icspacket.proto.cip.objects.point.AnalogInputPointObject(connection: CIP_Connection, instance: int = 1)[source]#
Models an analog input channel (See CIP Vol 1, §5-11).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by this point (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- value: CIPAttribute[bytes]#
Analog input value; wire type is selected by
value_data_type(defaults to INT) (attribute 3).
- status: CIPAttribute[int]#
0 = operating without alarms or faults, 1 = alarm or fault condition (attribute 4).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the channel’s owner (attribute 5).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the channel’s owner (attribute 6).
- input_range: CIPAttribute[int]#
Input range the point is operating in, e.g. 0 = -10V to 10V (attribute 7, See Table 5-11.3).
- value_data_type: CIPAttribute[int]#
Selects
value’s wire type: 0=INT (default), 1=REAL, 2=USINT, …, 9=LREAL (attribute 8).
- class icspacket.proto.cip.objects.point.AnalogOutputPointObject(connection: CIP_Connection, instance: int = 1)[source]#
Models an analog output channel (See CIP Vol 1, §5-12).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by this point (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- value: CIPAttribute[bytes]#
Analog output value; wire type is selected by
value_data_type(defaults to INT) (attribute 3).
- status: CIPAttribute[int]#
0 = operating without alarms or faults, 1 = alarm or fault condition (attribute 4).
- owner_vendor_id: CIPAttribute[int]#
Vendor ID of the channel’s owner (attribute 5).
- owner_serial_number: CIPAttribute[int]#
32-bit serial number of the channel’s owner (attribute 6).
- output_range: CIPAttribute[int]#
Output range the channel is to use, e.g. 0 = 4mA to 20mA (attribute 7, See Table 5-12.2).
- value_data_type: CIPAttribute[int]#
Selects
value/fault_value/idle_value’s wire type: 0=INT (default), …, 9=LREAL (attribute 8).
- fault_action: CIPAttribute[int]#
Output value to go to on fault: 0=hold last state (default), 1=low limit, 2=high limit, 3=use fault_value (attribute 9).
- idle_action: CIPAttribute[int]#
Output value to go to on idle: 0=hold last state (default), 1=low limit, 2=high limit, 3=use idle_value (attribute 10).
- fault_value: CIPAttribute[bytes]#
Value output in fault mode when fault_action selects it; required if fault_action is implemented (attribute 11).
- idle_value: CIPAttribute[bytes]#
Value output in idle mode when idle_action selects it (attribute 12).
- command: CIPAttribute[int]#
Changes the point to Idle (0) or Run (1) mode; required if idle_action is implemented (attribute 13).
- object_state: CIPAttribute[int]#
1=Non-Existent, 2=Available, 3=Idle, 4=Ready, 5=Run, 6=Recoverable Fault, 7=Unrecoverable Fault (attribute 14).
- class icspacket.proto.cip.objects.point.DiscreteInputPointObject(connection: CIP_Connection, instance: int = 1)[source]#
Models a discrete input, e.g. a toggle switch or screw terminal (See CIP Vol 1, §5-9).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by this product (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- value: CIPAttribute[int]#
Input point value: 0 = off, 1 = on (attribute 3).
- status: CIPAttribute[int]#
0 = OK, 1 = product-specific alarm or status (attribute 4).
- off_on_delay: CIPAttribute[int]#
Filter time in microseconds for an off-to-on transition, default 0 (attribute 5).
- on_off_delay: CIPAttribute[int]#
Filter time in microseconds for an on-to-off transition, default 0 (attribute 6).
- off_on_cycles: CIPAttribute[int]#
Total number of Off-to-On transitions of
value, default 0 (attribute 7).
- class icspacket.proto.cip.objects.point.DiscreteOutputPointObject(connection: CIP_Connection, instance: int = 1)[source]#
Models a discrete output, e.g. a relay or LED (See CIP Vol 1, §5-10).
- number_of_attributes: CIPAttribute[int]#
Number of attributes supported by this product (attribute 1).
- attribute_list: CIPAttribute[bytes]#
List of supported attribute IDs, one USINT each (attribute 2).
- value: CIPAttribute[int]#
Output point value: 0 = off, 1 = on (attribute 3).
- status: CIPAttribute[int]#
0 = OK, 1 = failure or alarm (attribute 4).
- fault_action: CIPAttribute[int]#
Action on
valuein the Recoverable Fault state: 0 = use fault_value, 1 = hold last state (attribute 5).
- fault_value: CIPAttribute[int]#
User-defined value applied when fault_action selects it (attribute 6).
- idle_action: CIPAttribute[int]#
Action on
valuewhen idle: 0 = use idle_value, 1 = hold last state (attribute 7).
- idle_value: CIPAttribute[int]#
User-defined value applied when idle_action selects it (attribute 8).
- run_idle_command: CIPAttribute[int]#
Generates the Receive_Idle (0) or Receive_Ready_to_Run (1) event (attribute 9).
- flash: CIPAttribute[int]#
Flash the output at
flash_ratewhilevalueis on, default 0 (attribute 10).
- flash_rate: CIPAttribute[int]#
Flash frequency in Hz for the
flashattribute (attribute 11).
- object_state: CIPAttribute[int]#
1=Non-Existent, 2=Available, 3=Idle, 4=Ready, 5=Run, 6=Recoverable Fault, 7=Unrecoverable Fault (attribute 12).