HSES is a useful protocol for developing programs (in languages other than C++) that interface with Yaskawa Motoman robots. If you are developing a program in C++, YMConnect is a better choice that implements functionality from HSE without the need to program a network stack.
In order to use HSES, you will need to have a basic understanding of networking and socket programming.
HSES has the capability to Read system information from the controller. This includes the system software version, the model of the robot(s) or station(s) attached and the parameter version. This articles covers the basic packet structure and the format of the data payload for reading system information.
System Information Request Packet Structure
The packet header is covered in depth in the HSE Packet Header article. Here is an example of a request packet header for reading or writing a variable.
+----------------------+---------+-------------------------------------------------------------------+-------------------------------------------+
| Field | Size | Description | Hardcoded value (if applicable) |
+----------------------+---------+-------------------------------------------------------------------+-------------------------------------------+
| Identifier | 4 bytes | The identifier is always ASCII "YERC." | 0x59 0x45 0x52 0x43 |
| Header Length | 2 bytes | The length of the header in bytes. | 0x0020 |
| Data Length | 2 bytes | The length of the data payload. | N/A |
| Reserve 1 | 1Byte | Fixed to “3.” | 0x03 |
| Processing division | 1Byte | Specifies that this packet is a robot control command. | 0x01 for robot control |
| ACK | 1Byte | Specifies if this is an initial request or a reply. | 0x00 for initial request, 0x01 for reply |
| Request ID | 1Byte | Sequential identifying id of the packet.* | N/A |
| Block Number | 4Byte | Specifies the number of the packet in a block of communication. | 0x00 |
| Reserve 2 | 8Byte | Fixed to “99999999.” | 0x39 0x39 0x39 0x39 0x39 0x39 0x39 0x39 |
+----------------------+---------+-------------------------------------------------------------------+-------------------------------------------+
* Increment this ID every time the client side outputs a new command. In reply to this, server side answers the received value. Max value is 0xFF. If the value exceeds 0xFF, reset the value to 0x00.
System Information Request Packet Subheader
The packet subheader is covered in depth in the HSE Packet Subheader article. See below for a description of the subheader for a system information request packet.
+----------------+---------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
| Field | Size | Description | Allowed Values |
+----------------+---------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
| Command Number | 2 bytes | Specifies that this is a request for system information | 0x89 |
| Instance | 2 bytes | System or application number. | 11-18(R1-R8), 21 to 44 (S1-S24), 101 to 108 (Application information) |
| Attribute | 1 byte | Specify what information field is requested. | 1: System software version, 2: Model/application name, 3:Parameter version |
| Service | 1 byte | Specify if all the information is requested or just the field specified in attribute. | 0x01 for read all(set Attribute to zero if this is the case.) , 0x0E to read the specified attribute. |
| Padding | 2 bytes | Fixed to 0x0000 | 0x00 0x00 |
+----------------+---------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
# Response Packet Data
+-------------------------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Size | Description |
+-------------------------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| System software version | 24 bytes | The version of the system software. 24 characters long. The same character strings are returned even if either 11 to 18, 21 to 44 or 101 to 108 is specified to the instance in the request sub-header part. |
| Model/application name | 16 bytes | The model name of the robot or the application name. 16 characters long. The model name is returned when it is R1 to R8, and NULL character is returned when it is S1 to S24. Application name is returned when it is application 1 to 8. |
| Parameter version | 8 bytes | R1 to R8: Parameter version |
+-------------------------+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Comments
0 comments
Please sign in to leave a comment.