net_lib 2.0.4
 
Loading...
Searching...
No Matches
nrc_define.h
Go to the documentation of this file.
1#ifndef INCLUDE_API_NRC_INTERFACE_DEFINE_H_
2#define INCLUDE_API_NRC_INTERFACE_DEFINE_H_
3
4#include <string>
5#include <vector>
6
7#if defined(_WIN32) || defined(WIN32) //windows
8#define EXPORT_API __declspec(dllexport)
9#else
10#define EXPORT_API
11#endif
12
13const int const_robotNum = 1;
14using SOCKETFD = int;
15
24
25enum class PosType {
26 data = 0, //自定义数组
27 PType = 1,
28 E_TYPE = 2,
29 RP_TYPE = 3,
30 AP_TYPE = 4,
31 GPType = 5, //系统内置的全局点位 GP001 只含机器人本体的点位
32 GEType = 6 //系统内置的全局点位 GE001 含外部轴的机器人点位
33};
34
35//移动指令参数 单独的Movj只能使用数值 作业文件运行模式只支持使用变量
36struct MoveCmd {
38 std::vector<double> targetPosValue; //如果posType=PosType::data 为自定义数组,需要设置该向量值,前7位为本体值,后7位为外部轴
39 std::string targetPosName{"GP0001"}; //如果posType为内置点位,需要设置该值,如 posType=PosType::GPType;posName=“GP0001”;
40 int coord{0};
41 double velocity{50};
42 double acc{50};
43 double dec{50};
44 int pl{0};
45 int time{0}; //提前执行时间
46 int toolNum{0};
47 int userNum{0};
48 int posidtype{0}; //0:P GP 一级变量类型; 1:P[I001] GP[I001] 二级变量类型 需要使用二级类型时,实例如: targetPosType = PosType::GPType; posName=“GP¥I001”; posidtype=1; 插入到作业文件中的变量即为GP[I001]
49 int configuration{0}; //形态
51};
52
54 EQUAL_TO = 1, // ==
55 LESS, // <
56 GREATER, // >
60};
61
62struct ParaGroup {
63 double data{0.0}; //数值型给这个赋值
64 int secondvalue{0}; //变量型是否存在二级变量 1存在 0不存在 例如 "DOUT[I001]" 这种填1
65 int value{0}; //0 数值型 1变量型
66 std::string varname{""}; //变量型给这个写变量名 例如 "I001" , "DOUT[I001]"
67};
68
76
78{
79 std::string key{""};//变量名 AP0001
80 std::vector<double> posData; //坐标数据 长度7
81 int coord{0}; // 0关节 1直角 2工具 3用户
82 int toolNum{0};
83 int userNum{0};
84 PosType type{PosType::data}; // 参考PosType根据变量名选择 AP是4
85
86 static PosType determineType(const std::string& key)
87 {
88 if (key.substr(0, 1) == "P") {
89 return PosType::PType;
90 }
91 return PosType::data;
92 }
93};
94
96 std::string groupType; // 设置输出路数 可选路数 OT#:1路输出 OGH#:4路输出 OG#:8路输出
97 int errorHanding; // 0:输出值保存 1:计时结束停止
98 ParaGroup paraGroupNum; // 设置输出IO版和输出组号 选择OT# 范围[1,16] 选择OGH# 范围[1,16] 选择OG# 范围[1,8]
99 ParaGroup paraGroupTime; // 时间 [0,9999]S
100 ParaGroup paraGroupValue; // 输出值 选择OT# 端口范围1 选择OGH# 端口范围[1,4] 选择OG# 范围[1,8]
101 // 勾选端口1:1 端口2:2 端口3:4 端口4:8 端口5:16 端口6:32 端口7:64 端口8:128
102 // 例如勾选端口1和端将口2和端口3 输入 :7
103};
104
106{
107 std::vector<double> calData;//轴参数 手填值范围[-50000,50000],
108 std::string coord {"BF"}; //位置变量坐标系 RF-关节坐标 BF-直角坐标 UF用户坐标
109 std::vector<double> datatype; //变量类型 0-手填值 1 变量类型 :例如 caldata是["1","2","3","I001","D001","GI001","GD001"] 这个datatype就是 [0,0,0,1,1,1,1]
110 int tool {-1};
111 int user {-1};
112};
113
114#endif /* INCLUDE_API_NRC_INTERFACE_DEFINE_H_ */
115
116
117
int SOCKETFD
Definition nrc_define.h:14
Result
Definition nrc_define.h:16
@ DISCONNECT
Definition nrc_define.h:20
@ OPERATION_NOT_ALLOWED
Definition nrc_define.h:18
@ RECEIVE_FAILED
Definition nrc_define.h:21
@ PARAM_ERR
Definition nrc_define.h:19
@ EXCEPTION
Definition nrc_define.h:17
@ SUCCESS
Definition nrc_define.h:22
const int const_robotNum
Definition nrc_define.h:13
LogicType
Definition nrc_define.h:53
@ NOT_EQUAL_TO
Definition nrc_define.h:59
@ GREATER
Definition nrc_define.h:56
@ GREATER_EQUAL
Definition nrc_define.h:58
@ EQUAL_TO
Definition nrc_define.h:54
@ LESS
Definition nrc_define.h:55
@ LESS_EQUAL
Definition nrc_define.h:57
PosType
Definition nrc_define.h:25
Definition nrc_define.h:69
ParaGroup paraGroupTwo
Definition nrc_define.h:74
ParaGroup paraGroupOne
Definition nrc_define.h:73
LogicType logicType
Definition nrc_define.h:72
std::string desValue
Definition nrc_define.h:70
std::string key
Definition nrc_define.h:71
Definition nrc_define.h:95
ParaGroup paraGroupTime
Definition nrc_define.h:99
std::string groupType
Definition nrc_define.h:96
ParaGroup paraGroupNum
Definition nrc_define.h:98
int errorHanding
Definition nrc_define.h:97
ParaGroup paraGroupValue
Definition nrc_define.h:100
Definition nrc_define.h:36
std::vector< double > targetPosValue
Definition nrc_define.h:38
int userNum
Definition nrc_define.h:47
MoveCmd()
Definition nrc_define.h:50
int configuration
Definition nrc_define.h:49
double dec
Definition nrc_define.h:43
PosType targetPosType
Definition nrc_define.h:37
int posidtype
Definition nrc_define.h:48
int pl
Definition nrc_define.h:44
int coord
Definition nrc_define.h:40
double velocity
Definition nrc_define.h:41
int time
Definition nrc_define.h:45
double acc
Definition nrc_define.h:42
int toolNum
Definition nrc_define.h:46
std::string targetPosName
Definition nrc_define.h:39
Definition nrc_define.h:106
std::vector< double > datatype
Definition nrc_define.h:109
std::string coord
Definition nrc_define.h:108
std::vector< double > calData
Definition nrc_define.h:107
int user
Definition nrc_define.h:111
int tool
Definition nrc_define.h:110
Definition nrc_define.h:62
double data
Definition nrc_define.h:63
int secondvalue
Definition nrc_define.h:64
int value
Definition nrc_define.h:65
std::string varname
Definition nrc_define.h:66
Definition nrc_define.h:78
static PosType determineType(const std::string &key)
Definition nrc_define.h:86
int toolNum
Definition nrc_define.h:82
int userNum
Definition nrc_define.h:83
int coord
Definition nrc_define.h:81
std::vector< double > posData
Definition nrc_define.h:80
std::string key
Definition nrc_define.h:79
PosType type
Definition nrc_define.h:84