您好!欢迎光临工博士商城

KUKA机器人售后维保店

产品:54    
联系我们
您当前的位置:首页 » 新闻中心 » 变量及程序命名原则
产品分类
新闻中心
变量及程序命名原则
发布时间:2021-04-08        浏览次数:698        返回列表

       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 _ Frames.dat保存所有用户定义的全局框架类型变量

       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前缀:从控制器输入信号中读取输入变量的功能 


库卡


更多了解库卡机器人



 

联系热线:18616599333   联系人:赵经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 KUKA机器人售后维保店