Слияние кода из проекта для ПЛК с этим проектом
This commit is contained in:
63
utils.h
63
utils.h
@@ -132,8 +132,11 @@ struct robot_regs {
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef EMULATOR
|
||||
extern struct barrel barrels[BARRELS_COUNT];
|
||||
|
||||
#else
|
||||
#define barrels ((struct barrel*)&barrels_array)
|
||||
#endif
|
||||
|
||||
// почему-то компилер говорит что размер структуру сраный
|
||||
//extern struct robot robot1;
|
||||
@@ -214,7 +217,65 @@ struct robot_code {
|
||||
};
|
||||
|
||||
|
||||
/* ======================== IO DEFS ======================== */
|
||||
|
||||
#define ROBOT1_X 1
|
||||
#define ROBOT1_Z 2
|
||||
|
||||
#define ROBOT2_X 3
|
||||
#define ROBOT2_Z 4
|
||||
|
||||
#define VFD_REG_D0_ADDR 4096
|
||||
#define VFD_REG_M0_ADDR 2048
|
||||
|
||||
/* ======================== ROBOT DEFS ======================== */
|
||||
|
||||
|
||||
|
||||
|
||||
#define MB_CMD_WRITE_FLAG 5
|
||||
#define MB_CMD_WRITE_REG 6
|
||||
|
||||
#define VFD_REG_D0_ADDR 4096
|
||||
#define VFD_REG_M0_ADDR 2048
|
||||
|
||||
// смещение регистров M относительно M0
|
||||
#define ROBOT_Z_CORRECT_STATUS_OFFSET 0
|
||||
#define ROBOT_Z_CMD_EXECUTED_OFFSET 1
|
||||
#define ROBOT_Z_CMD_UP_OFFSET 3
|
||||
#define ROBOT_Z_CMD_DOWN_OFFSET 4
|
||||
#define ROBOT_Z_CMD_CORRECT_OFFSET 5
|
||||
|
||||
#define ROBOT_X_CORRECT_STATUS_OFFSET 0
|
||||
#define ROBOT_X_CMD_EXECUTED_OFFSET 1
|
||||
#define ROBOT_X_CORRECT_SENSOR_OFFSET 2
|
||||
#define ROBOT_X_CMD_MOVE_TO_ZONE_OFFSET 3
|
||||
#define ROBOT_X_CMD_MOVE_TO_OFF_POS_OFFSET 4 // встать в смещенную позицию
|
||||
#define ROBOT_X_CMD_MOVE_TO_COR_POS_OFFSET 5 // встать в точную позицию
|
||||
#define ROBOT_X_CMD_CORRECT_OFFSET 6
|
||||
#define ROBOT_X_CMD_CMD_PARKING_OFFSET 7
|
||||
|
||||
|
||||
// смещение регистров D относительно D0
|
||||
#define ROBOT_X_TARGET_ZONE_OFFSET 2
|
||||
|
||||
// адреса регистров в частотнике
|
||||
#define ROBOT_Z_CORRECT_STATUS_ADDR VFD_REG_M0_ADDR
|
||||
#define ROBOT_Z_CMD_EXECUTED_ADDR (VFD_REG_M0_ADDR + 1)
|
||||
#define ROBOT_Z_CMD_UP_ADDR (VFD_REG_M0_ADDR + 3)
|
||||
#define ROBOT_Z_CMD_DOWN_ADDR (VFD_REG_M0_ADDR + 4)
|
||||
#define ROBOT_Z_CMD_CORRECT_ADDR (VFD_REG_M0_ADDR + 5)
|
||||
|
||||
#define ROBOT_X_CORRECT_STATUS_ADDR VFD_REG_M0_ADDR
|
||||
#define ROBOT_X_CMD_EXECUTED_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_EXECUTED_OFFSET)
|
||||
#define ROBOT_X_CORRECT_SENSOR_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CORRECT_SENSOR_OFFSET)
|
||||
#define ROBOT_X_CMD_MOVE_TO_ZONE_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_MOVE_TO_ZONE_OFFSET)
|
||||
#define ROBOT_X_CMD_MOVE_TO_OFF_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_MOVE_TO_OFF_POS_OFFSET)
|
||||
#define ROBOT_X_CMD_MOVE_TO_COR_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_MOVE_TO_COR_POS_OFFSET)
|
||||
#define ROBOT_X_CMD_CORRECT_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_CORRECT_OFFSET)
|
||||
#define ROBOT_X_CMD_CMD_PARKING_ADDR (VFD_REG_M0_ADDR + ROBOT_X_CMD_CMD_PARKING_OFFSET)
|
||||
|
||||
#define ROBOT_X_TARGET_ZONE_ADDR (VFD_REG_D0_ADDR + ROBOT_X_TARGET_ZONE_OFFSET)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user