1.1变量命名规则
KRL是KUKA的编程语言。对机器人编程时,变量是机器人程序运行中出现的各种计算值的记忆。每个变量都属于一个特殊的数据类型,应用前必须声明数据类型;变量可以根据存储位置分为局部变量和全局变量。一个全局变量,适用于所有程序。局部变量内置在程序模块中,所以只适用于这个程序模块。变量定义规则如下:
①变量名的长度可达24个字符。
②变量名允许包含字母(a ~ z)、数字(0 ~ 9)和特殊字符“_”和“$”。
③变量名不允许以数字开头。
④变量名不允许系统关键字。
⑤变量名不区分大小写(但建议使用驼峰规则定义变量)。
⑥变量命名尽量不加下划线,建议使用驼峰命名规则。当一个变量没有下划线时,在KCP可以快速访问它,并且变量名中不需要有下划线。
⑦变量应根据其数据类型加前缀,其名称应简明扼要地说明其功能
1.1.1变量名
1.输入输出信号变量:
①单输入信号(1位)-表示以前缀I开始的单输入信号:信号iVacuumOk $IN[1]
②多个输入信号(> 1位)-以前缀gi开头,表示输入信号组:信号寄存器12标牌$输入[1281]至$输入[1296]
③单输出信号(1位)-单输入信号以前缀O开头:信号输出目标$输出[1265]
④多个输出信号(> 1位)-以前缀go开头,表示输出信号组:信号goStartValueEnc1 $OUT[705]至$OUT[721]
⑤模拟输入信号-以前缀ai开头,表示模拟输入信号:信号焊接电压$ANIN[1]
⑥模拟输出信号-以前缀ao开头,表示模拟输出信号:信号实际功率$ANOUT[1]
2.布尔变量-以前缀b开头,表示布尔类型:DECL布尔bGripperEmpty=真
3.有符号整形变量-以前缀z开头,表示布尔类型:DECL INT zTarget = 2
4.单精度浮点类型变量——以前缀r开头,表示布尔类型:DECL真实坐标偏移= 0.0
5.帧类型变量-以前缀f开头,表示布尔类型:DECL框架误差校正[2]
6.枚举变量——以前缀e开头,表示布尔类型:
DECL恩姆欧普问题家园,STACK12,STACK34,CULLET,DROPOFF_CONV,RAZING
DECL问题位置= #首页
7.结构类型变量-结构类型用前缀s定义,但变量定义前没有前缀:
DECL STRUC sRackData INT nActType,…
DECL存储数据[2]
[1]= { NaCType 1,…}
8.POS/AXIS/E6POS/E6AXIS位置类型变量-用前缀x定义变量:
①通过计算获得的变量-定义前缀为mx的变量:DECL邮政mxAfterTouched[2]
②通过示教获得的位置变量——定义前缀为x的变量:DECL E6POS xStack12A = {X … }
9.字符和字符串类型变量-用前缀s定义变量:DECL CHAR sCharacter= "A "
1.1.2基本***测量
1.对于所有变量类型,常量前面是c,后面是变量前缀(参见1.1.1):DECL整数czCompMin = 30
2.对于所有变量类型,局部变量以l(局部)开头:DECL整数lzCompMin = 30
3.对于所有变量类型,运行过程变量前面都有一个n:DECL
4.对于所有通过外部信号插入程序的变量类型,如果是输入信号,第二个字符为I;如果是输出信号,第二个字符是o:
DECL布尔双程序参数=假
DECL INT ZOpertype = 1
5.坐标点/坐标位置的命名规则必须保持标准化的点名称,以使运动易于阅读。
⑴起点/终点:例如xHomeA、xStack12A等。
(1)从一个站到另一个站的运动永远不会使用起点。
②点的名称永远指定位置,而不是函数!(例如xConveyor1而不是xDropOff)。
③每条路径都有自己的起点和终点!
(2)从一个站到另一个站的移动:
基本上有两条路径通向每个起点的每个目标点,除了那些从起始位开始的站点:
例如,从原点Home到桩号Stack12沿路径A的移动路径:Home_Stack12(#A)
①初始准备点:xHome_Stack12A1(离起点近的点或离终点远的点)
②中点:xHome_Stack12A2(如无必要,注释掉)
③中点:xHome_Stack12A3(如无必要,注释掉)
④终点准备:xHome_Stack12A4(接近终点的点)
⑤终点:xStack12A
例如,从车站Stack12到车站Stack34的移动路径沿着路径A: Stack12_Stack34(#A)
①初始准备点:xStack12_Stack34A1(离起点近的点或离终点远的点)
②中点:xStack12_Stack34A2(注,如无必要)
③中点:xStack12_Stack34A3(注,如无必要)
④终点准备:xStack12_Stack34A4(接近终点的点)
⑤终点:xStack34A
例如,沿着路径B从车站Stack12到车站Stack34的移动路径:Stack12_Stack34(#B)
①起始准备点:xStack12_Stack34B1(离起点近的点或离终点远的点)
②中点:xStack12_Stack34B2(注,如无必要)
③中点:xStack12_Stack34B3(注,如无必要)
④终点准备:xStack12_Stack34B4(接近终点的点)
⑤终点:xStack34B
1.1.3可变位置/路径:
1.外部设备或工作站的输入和输出必须在全局系统文件\ R1 \系统\ $ config.dat中声明。
2.全局变量必须在\ R1 \程序\数据文件夹中的相应数据类型文件中声明。
例如,您必须在文件b _ bool.dat中声明一个布尔变量。
数据文件描述
B _ bools.dat保存所有用户定义的全局Bool类型变量
Z _ Intergers.dat保存所有用户定义的全局int类型变量
r _ Readers . dat保存所有用户定义的全局实类型变量
F _
Structs.dat保存所有用户定义的全局Struc类型变量
E _ Enums.dat存储所有用户定义的全局枚举类型变量
X _ points _ movements.dat存储所有直接移动或间接操作的全局和固定位置点变量
Mx_Points.dat保存所有变量全局位置点类型变量
Strings.dat保存所有用户定义的全局CHAR类型变量(如报警信息)
3.尽量避免使用常量,改用变量。
4.运动点:
①外部计算或模拟的点将传输到全球公共“DA文件”。点坐标和相关参考空间参数
(BASE,TOOL)必须在文件x _ points _ movements.dat中全局声明。
②计算和计算点也存储在单独的全局公共DAT文件中。点坐标和相关参考空间参数(Base,TCP)必须在以下文件中全局声明:x _ points.dat。
③可变点数据必须用mx_points.dat声明..
1.2子程序和函数
(1) fl前缀:局部函数
⑵ ul前缀:本地子程序
⑶ ip前缀:中断程序
⑷ o前缀:将输出变量写入控制器输出信号的功能
⑸ i前缀:从控制器输入信号中读取输入变量的功能
更多了解库卡机器人
- 下一篇:库卡机器人的信号参数和程序
- 上一篇:库卡编程软件