Skip to content

Commit

Permalink
Documentation Update
Browse files Browse the repository at this point in the history
  • Loading branch information
srossmann authored and srossmann committed Feb 7, 2021
1 parent 805a190 commit b8961ea
Show file tree
Hide file tree
Showing 2 changed files with 168 additions and 20 deletions.
145 changes: 145 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Visit www.eeip-library.de for more informations and Codesamples
3.1. [Usage of Implicit Messaging to Read and Write data to Rockwell Point I/O](#example1)
4. [Library Documentation](#librarydocumentation)
4.1. [Methods](#methods)
4.2. [Properties](#properties)

<div id="installation"/>

Expand Down Expand Up @@ -176,3 +177,147 @@ large_forward_open: Use Service code 0x58 (Large_Forward_Open) if true, otherwis
**def forward_close(self)**

Closes a connection (Service code 0x4E)

<div id="properties"/>

#### 4.2 Properties

**tcp_port**

TCP of the Remote Device (Default is 0xAF12)

**target_udp_port**

Only for Implicit Messaging
UDP-Port of the IO-Adapter for explicit Messaging - Standard is 0x08AE

**originator_udp_port**

Only for Implicit Messaging
UDP-Port of the Scanner for explicit Messaging - Standard is 0x08AE

**ip_address**

IP-Address of the Ethernet/IP Device

**o_t_requested_packet_rate**

Only for Implicit Messaging
Requested Packet Rate (RPI) in ms Originator -> Target for implicit messaging (Default 0x7A120 -> 500ms)

**t_o_requested_packet_rate**

Only for Implicit Messaging
Requested Packet Rate (RPI) in ms Target -> Originator for implicit messaging (Default 0x7A120 -> 500ms)

**o_t_owner_redundant**

Only for Implicit Messaging
"1" Indicates that multiple connections are allowed Target -> Originator for Implicit-Messaging (Default: TRUE)
For forward open

**t_o_owner_redundant**

Only for Implicit Messaging
"1" Indicates that multiple connections are allowed Originator -> Target for Implicit-Messaging (Default: TRUE)
For forward open

**o_t_variable_length**

Only for Implicit Messaging
With a fixed size connection, the amount of data shall be the size of specified in the "Connection Size" Parameter.
With a variable size, the amount of data could be up to the size specified in the "Connection Size" Parameter
Originator -> Target for Implicit Messaging (Default: True (Variable length))
For forward open

**t_o_variable_length**

Only for Implicit Messaging
With a fixed size connection, the amount of data shall be the size of specified in the "Connection Size" Parameter.
With a variable size, the amount of data could be up to the size specified in the "Connection Size" Parameter
Target -> Originator for Implicit Messaging (Default: True (Variable length))
For forward open

**o_t_length**

Only for Implicit Messaging
The maximum size in bytes (only pure data without sequence count and 32-Bit Real Time Header (if present)) from Target -> Originator for Implicit Messaging (Default: 505)
Forward open max 505

**t_o_length**

Only for Implicit Messaging
The maximum size in bytes (only pure data without sequence count and 32-Bit Real Time Header (if present)) from Originator -> Target for Implicit Messaging (Default: 505)
Forward open max 505

**o_t_connection_type**

Only for Implicit Messaging
Connection Type Originator -> Target for Implicit Messaging (Default: ConnectionType.MULTICAST)
Possible values: ConnectionType.NULL, ConnectionType.MULTICAST, ConnectionType.POINT_TO_POINT

**t_o_connection_type**

Only for Implicit Messaging
Connection Type Target -> Originator for Implicit Messaging (Default: ConnectionType.MULTICAST)
Possible values: ConnectionType.NULL, ConnectionType.MULTICAST, ConnectionType.POINT_TO_POINT

**o_t_priority**

Only for Implicit Messaging
Priority Originator -> Target for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT

**t_o_priority**

Only for Implicit Messaging
Priority Target -> Originator for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT

**o_t_instance_id**

Only for Implicit Messaging
Class Assembly (Consuming IO-Path - Outputs) Originator -> Target for Implicit Messaging (Default: 0x64)

**t_o_instance_id**

Only for Implicit Messaging
Class Assembly (Consuming IO-Path - Outputs) Target -> Originator for Implicit Messaging (Default: 0x64)

**o_t_iodata**

Only for Implicit Messaging
Provides Access to the Class 1 Real-Time IO-Data Originator -> Target for Implicit Messaging

**t_o_iodata**

Only for Implicit Messaging
Provides Access to the Class 1 Real-Time IO-Data Target -> Originator for Implicit Messaging

**o_t_realtime_format**

Only for Implicit Messaging
Used Real-Time Format Originator -> Target for Implicit Messaging (Default: RealTimeFormat.HEADER32BIT)
Possible Values: RealTimeFormat.HEADER32BIT; RealTimeFormat.HEARTBEAT; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS

**t_o_realtime_format**

Only for Implicit Messaging
Used Real-Time Format Target -> Originator for Implicit Messaging (Default: RealTimeFormat.HEADER32BIT)
Possible Values: RealTimeFormat.HEADER32BIT; RealTimeFormat.HEARTBEAT; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS

**assembly_object_class**

Only for Implicit Messaging
AssemblyObject for the Configuration Path in case of Implicit Messaging (Standard: 0x04)

**configuration_assembly_instance_id**

Only for Implicit Messaging
ConfigurationAssemblyInstanceID is the InstanceID of the configuration Instance in the Assembly Object Class (Standard: 0x01)

**last_received_implicit_message**

Only for Implicit Messaging
Date and time when the last Message has been received

43 changes: 23 additions & 20 deletions eeip/eipclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ def __init__(self):
self.__multicastAddress = 0
self.__lock_receive_data = threading.Lock()
self.__last_received_implicit_message = 0
self.__tcp_port = 0xAF12


self.__udp_client_receive_closed = False
Expand Down Expand Up @@ -889,21 +890,21 @@ def target_udp_port(self):
@target_udp_port.setter
def target_udp_port(self, target_udp_port):
"""
UDP-Port of the IO-Adapter - Standard is 0xAF12
UDP-Port of the IO-Adapter - Standard is 0x08AE
"""
self.__target_udp_port = target_udp_port

@property
def originator_udp_port(self):
"""
UDP-Port of the Scanner - Standard is 0xAF12
UDP-Port of the Scanner - Standard is 0x08AE
"""
return self.__originator_udp_port

@originator_udp_port.setter
def originator_udp_port(self, originator_udp_port):
"""
UDP-Port of the Scanner - Standard is 0xAF12
UDP-Port of the Scanner - Standard is 0x08AE
"""
self.__originator_udp_port = originator_udp_port

Expand Down Expand Up @@ -1053,62 +1054,64 @@ def t_o_length(self, t_o_length):
@property
def o_t_connection_type(self):
"""
Connection Type Target -> Originator for Implicit Messaging (Default: ConnectionType.Multicast)
Connection Type Originator -> Target for Implicit Messaging (Default: ConnectionType.MULTICAST)
Could be: ConnectionType.NULL, ConnectionType.MULTICAST, ConnectionType.POINT_TO_POINT
"""
return self.__o_t_connection_type

@o_t_connection_type.setter
def o_t_connection_type(self, o_t_connection_type):
"""
Connection Type Target -> Originator for Implicit Messaging (Default: ConnectionType.Multicast)
Connection Type Originator -> Target for Implicit Messaging (Default: ConnectionType.MULTICAST)
"""
self.__o_t_connection_type = o_t_connection_type

@property
def t_o_connection_type(self):
"""
Priority Originator -> Target for Implicit Messaging (Default: Priority.Scheduled)
Priority Target -> Originator for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
"""
return self.__t_o_connection_type

@t_o_connection_type.setter
def t_o_connection_type(self, t_o_connection_type):
"""
Priority Originator -> Target for Implicit Messaging (Default: Priority.Scheduled)
Priority Target -> Originator for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
"""
self.__t_o_connection_type = t_o_connection_type

@property
def o_t_priority(self):
"""
Priority Originator -> Target for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
Priority Originator -> Target for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT
"""
return self.__o_t_priority

@o_t_priority.setter
def o_t_priority(self, o_t_priority):
"""
Priority Originator -> Target for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
Priority Originator -> Target for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT
"""
self.__o_t_priority = o_t_priority

@property
def t_o_priority(self):
"""
Priority Target -> Originator for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
Priority Target -> Originator for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT
"""
return self.__t_o_priority

@t_o_priority.setter
def t_o_priority(self, t_o_priority):
"""
Priority Target -> Originator for Implicit Messaging (Default: Priority.Scheduled)
Could be: Priority.Scheduled; Priority.High; Priority.Low; Priority.Urgent
Priority Target -> Originator for Implicit Messaging (Default: Priority.SCHEDULED)
Could be: Priority.SCHEDULED; Priority.HIGH; Priority.LOW; Priority.URGENT
"""
self.__t_o_priority = t_o_priority

Expand Down Expand Up @@ -1174,32 +1177,32 @@ def t_o_iodata(self, t_o_iodata):
@property
def o_t_realtime_format(self):
"""
Used Real-Time Format Originator -> Target for Implicit Messaging (Default: RealTimeFormat.Header32Bit)
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZeroLength; RealTimeFormat.Modeless
Used Real-Time Format Originator -> Target for Implicit Messaging (Default: RealTimeFormat.HEADER32BIT)
Possible Values: RealTimeFormat.HEADER32BIT; RealTimeFormat.HEARTBEAT; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS
"""
return self.__o_t_realtime_format

@o_t_realtime_format.setter
def o_t_realtime_format(self, o_t_realtime_format):
"""
Used Real-Time Format Originator -> Target for Implicit Messaging (Default: RealTimeFormat.Header32Bit)
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZeroLength; RealTimeFormat.Modeless
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS
"""
self.__o_t_realtime_format = o_t_realtime_format

@property
def t_o_realtime_format(self):
"""
Used Real-Time Format Target -> Originator for Implicit Messaging (Default: RealTimeFormat.Modeless)
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZeroLength; RealTimeFormat.Modeless
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS
"""
return self.__t_o_realtime_format

@t_o_realtime_format.setter
def t_o_realtime_format(self, t_o_realtime_format):
"""
Used Real-Time Format Target -> Originator for Implicit Messaging (Default: RealTimeFormat.Modeless)
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZeroLength; RealTimeFormat.Modeless
Possible Values: RealTimeFormat.Header32Bit; RealTimeFormat.Heartbeat; RealTimeFormat.ZEROLENGTH; RealTimeFormat.MODELESS
"""
self.__t_o_realtime_format = t_o_realtime_format

Expand Down

0 comments on commit b8961ea

Please sign in to comment.