TURAG-Feldbus
flexible_io_protocol.h
1
10#ifndef TURAG_FELDBUS_FUER_STELLANTRIEBE_H_
11#define TURAG_FELDBUS_FUER_STELLANTRIEBE_H_
12
13#include "base_protocol.h"
14
19#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_DC (0x01)
20#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_SERVO (0x02)
21#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_STEPPER (0x03)
22#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_POWERPLANE (0x04)
23#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_ESCON (0x05)
24#define TURAG_FELDBUS_STELLANTRIEBE_DEVICE_TYPE_FARBSENSOR (0x06)
26
31#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_FACTOR_CONTROL_VALUE (0.0f)
33
38#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_ACCESS_READ_ONLY_ACCESS (0x00)
39#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_ACCESS_WRITE_ONLY_ACCESS (0x01)
40#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_ACCESS_READ_AND_WRITE_ACCESS (0x02)
42
49#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_NONE (0x00)
50#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_CHAR (0x01)
51#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_SHORT (0x02)
52#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_LONG (0x04)
53#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_NONE_TEXT (0x05)
54#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_LENGTH_FLOAT (0x06)
56
61#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_INFO_GET (0x00)
62#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_INFO_GET_COMMANDSET_SIZE (0x01)
63#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_INFO_GET_NAME_LENGTH (0x02)
64#define TURAG_FELDBUS_STELLANTRIEBE_COMMAND_INFO_GET_NAME (0x03)
66
71#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_GET (0xFF)
72
73#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_CONTROL (0xFF)
74#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_SET_STRUCTURE (0x00)
75#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_GET_BUFFER_SIZE (0x01)
76
77#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_TABLE_OK (0x01)
78#define TURAG_FELDBUS_STELLANTRIEBE_STRUCTURED_OUTPUT_TABLE_REJECTED (0x00)
80
85#define RS485_STELLANTRIEBE_KEY_CURRENT_ANGLE (0x01)
86#define RS485_STELLANTRIEBE_KEY_DESIRED_ANGLE (0x02)
87#define RS485_STELLANTRIEBE_KEY_MAX_ANGLE (0x03)
88#define RS485_STELLANTRIEBE_KEY_MIN_ANGLE (0x04)
89
90#define RS485_STELLANTRIEBE_KEY_CURRENT_VELOCITY (0x05)
91#define RS485_STELLANTRIEBE_KEY_DESIRED_VELOCITY (0x06)
92#define RS485_STELLANTRIEBE_KEY_MAX_VELOCITY (0x07)
93
94#define RS485_STELLANTRIEBE_KEY_CURRENT_CURRENT (0x08)
95#define RS485_STELLANTRIEBE_KEY_DESIRED_CURRENT (0x09)
96#define RS485_STELLANTRIEBE_KEY_MAX_CURRENT (0x0A)
97
98#define RS485_STELLANTRIEBE_KEY_CURRENT_PWM (0x0B)
99#define RS485_STELLANTRIEBE_KEY_DESIRED_PWM (0x0C)
100#define RS485_STELLANTRIEBE_KEY_MAX_PWM (0x0D)
101
102#define RS485_STELLANTRIEBE_KEY_VOLTAGE (0x0E)
103#define RS485_STELLANTRIEBE_KEY_STATUS (0x0F)
104#define RS485_STELLANTRIEBE_KEY_CONTROL_STATE (0x10)
105
107
112#define RS485_STELLANTRIEBE_CONTROL_STATE_ENABLE (1)
113#define RS485_STELLANTRIEBE_CONTROL_STATE_DISABLE (0)
115
122#define RS485_STELLANTRIEBE_STATUS_NONE (0)
123#define RS485_STELLANTRIEBE_STATUS_ANGLE_REACHED (1 << 0)
124#define RS485_STELLANTRIEBE_STATUS_VELOCITY_REACHED (1 << 1)
125#define RS485_STELLANTRIEBE_STATUS_CURRENT_REACHED (1 << 2)
126#define RS485_STELLANTRIEBE_STATUS_ERROR (1 << 3)
128
129// ----------------------------------------------
130// ----------------------------------------------
135#define RS485_STELLANTRIEBE_SERVO_KEY_CTRL_POS_GAIN_P (0x11) // P-Gain for Position control
136#define RS485_STELLANTRIEBE_SERVO_KEY_CTRL_POS_GAIN_I (0x12) // I-Gain Position control
137#define RS485_STELLANTRIEBE_SERVO_KEY_CTRL_CUR_GAIN_P (0x13) // P-Gain Current control
138#define RS485_STELLANTRIEBE_SERVO_KEY_CTRL_CUR_GAIN_I (0x14) // I-Gain Current control
139#define RS485_STELLANTRIEBE_SERVO_KEY_CTRL_CUR_STATIC_FF (0x15) // current static feed forward
140
142
147#define RS485_STELLANTRIEBE_DC_KEY_SWITCH_STATUS (0x11)
148#define RS485_STELLANTRIEBE_DC_KEY_RETURN_TO_HOME (0x12) // requests the slave to return to some defined position where it adjusts its current angle appropriately, takes velocity as argument
150
155#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_DESIRED_ANGLE "desiredAngle"
156#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_CURRENT_ANGLE "currentAngle"
157#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_MAX_VELOCITY "maxVelocity"
158#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_HOME "home"
159#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_STATUS "status"
160#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_SYNC_ANGLE "syncAngle"
161#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_SYNC_HOME "syncHome"
162#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_ENABLE "enable"
164
169#define TURAG_FELDBUS_STELLANTRIEBE_STEPPER_STATUS_ANGLE_REACHED (0x01)
171
176#define TURAG_FELDBUS_STELLANTRIEBE_BROADCAST_SYNC_ANGLE (0x01)
177#define TURAG_FELDBUS_STELLANTRIEBE_BROADCAST_SYNC_HOME (0x02)
179
184#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_CURRENT_CURRENT "current_current"
185#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_CURRENT_RPM "current_rpm"
186#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_CURRENT_STATUS "current_status"
187#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_SET_ENABLE "set_enable"
188#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_SET_DIRECTION "set_direction"
189#define TURAG_FELDBUS_STELLANTRIEBE_ESCON_DESIRED_CURRENT "desired_current"
191
196#define TURAG_FELDBUS_STELLANTRIEBE_BROADCAST_SYNC_ESCON (0x03)
198
203#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_MEASURED_POSITION "measuredPosition"
204#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_DESIRED_POSITION "desiredPosition"
205#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_MAX_POSITION "maxPosition"
206#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_MIN_POSITION "minPosition"
207#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_MEASURED_CURRENT "measuredCurrent"
208#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_DESIRED_CURRENT "desiredCurrent"
209#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_MAX_CURRENT "maxCurrent"
210#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_CTR_MODE "ctrMode"
211#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_ENABLE "enable"
212#define TURAG_FLEDBUD_STELLANTRIEBE_SERVO_INVERT "inversionFactor"
214
219#define TURAG_FELDBUS_STELLANTRIEBE_SERVO_STATUS_ANGLE_REACHED (0x01)
221
226#define TURAG_FELDBUS_STELLANTRIEBE_BROADCAST_SERVO_SYNC_ANGLE (0x01)
227#define TURAG_FELDBUS_STELLANTRIEBE_BROADCAST_SERVO_SYNC_HOME (0x02)
229#endif