机器人编程2(总结)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机器人编程2

一、专家界面介绍

1、用户组类别:操作人员及应用人员、专家、管理员、安全维护人员(激活安全配置)、安全投入运行人员;

2、在一定的持续时间内未对操作界面进行任何操作时(300秒),自动退出专家界面;

3、fold的句法为:(1);FOLD名称(2)指令(3);ENDFOLD <名称>;

二、变量和协定

1、标准数据类型:整型(INT)、实型(REAL)、布尔型(BOOL)、字符型(CHAR);

2、数组(Array):借助下标保存相同数据类型的多个变量;例:Voltage[10] = 12.75;

3、枚举(ENUM):所有值在创建时会用名称(明文)进行定义;例:color = #red;

4、结构(STRUC):由不同数据类型的数据项组成的复合数据类型;例:Date = {day 14, month 12, year 1996};

5、运行时间变量:存在于SCR文件中,仅在声明的程序段中有效,在到达程序的最后一行(END行)时重新释放存储位置;

6、系统数据类型:枚举,例:运行方式(mode_op);结构,例:日期/时间(date);

7、声明的关键词为DECL,对于四种简单数据类型关键词DECL可省略;

8、常量用关键词CONST建立,且只允许在数据列表中建立;

9、变量生存期:SRC文件,程序运行结束时,运行时间变量“死亡”;DAT文件,程序运行结束后变量还保持着;

10、字符串或文本只能作为CHAR数组来实现;

11、关键词PUBLIC扩展程序头中的数据列表,创建全局变量;例: DEFDAT MY_PROG PUBLIC;

12、常量必须在声明时立即初始化;

13、运算类型:基本运算、比较运算、逻辑运算、位运算(B_NOT、B_AND、B_OR、B_EXOR);

14、纯整数运算的中间结果去掉所有小数位;例:int F=10,F=F/4(F=2),省去小数点后面的尾数;int F=10,REAL W=10.0,F=W/4(F=3),四舍五入为整数;

15、KRL仅支持1维、2维、3维数组;

16、定义结构后还必须对其声明工作变量;

17、结构通过括号初始化时,只允许使用常量,赋值顺序任意;初始化结构时,不必指出全部结构元素;

18、结构初始化可以通过点号进行,例:my_car.price = 9999.0;通过点号进行初始化时也可以使用变量,例:my_car.price = value_car;

19、自定义的结构类型以TYPE结尾;

20、枚举数据类型由常量组成,一个常量的赋值始终以符号“#”进行;

21、自定义的枚举类型以TYPE结尾;

三、子程序和函数

1、最多可相互嵌入20个子程序;

2、用RETURN可结束子程序,并由此跳回到调用该子程序的程序模块中;

3、局部子程序写入END,用回车键确认后,会在主程序和子程序之间插入一个横条;

4、作为IN参数的参数传递:变量值在主程序中保持不变;子程序只读取变量值,不能写入;

5、作为OUT参数的参数传递:变量值在主程序中同时更改;子程序读取并更改该值,然后返回新值;

6、数组只允许以参数OUT的方式进行传递,且只能被整个传递到一个新的数组中;

7、传递整个数组:FELD_1D[ ](1 维),FELD_2D[ ,](2 维),FELD_3D[ ,,](三维);

8、可以传递单个数组元素,但只允许变量作为目标;

9、最先发送的参数被写到子程序中的第一个参数上,以此类推;

10、函数是一种向主程序返回某一值的子程序,数值通过指令RETURN(return_value ) 传递;

11、指令RETURN( return_value) 必须在指令ENDFCT之前;

12、KUKA标准函数:数学函数、字符串变量函数、信息输出函数;

13、数学函数:绝对值【ABS(x)】、平方根【SQRT(x)】、正弦【SIN(x)】、余弦【COS(x)】、正切【TAN(x)】、反余弦【ACOS(x)】、反正切;

14、字符串函数:声明时确定字符串长度【StrDeclLen(x)】、初始化后的字符串变量长度【StrLen(x)】、删除字符串变量的内容【StrClear(x)】、扩展字符串变量【StrAdd(x,y)】、比较字符串变量的内容【StrComp( x,y,z)】、复制字符串变量【StrCopy(x,y)】;

15、信息函数:设置信息【Set_KrlMsg(a,b,c,d)】、设置对话【Set_KrlDLg(a,b,c,d)】、检查信息【Exists_KrlMsg(a)】、检查对话【Exists_KrlDlg(a,b)】、删除信息【Clear_KrlMsg(a)】、读取信息缓存器【Get_MsgBuffer(a)】;

16、数学函数返回REAL值,字符串函数和信息函数返回BOOL或INT值;

四、用系统变量工作

1、计时器启动:$TIMER_STOP[Nr] = FALSE;

2、计时器停止:$TIMER_STOP[Nr] = TRUE;

3、计时器复位:$TIMER[Nr] = 0;

4、计时器启动和停止时,必须先触发预进停止;

五、使用程序流程控制

1、if分支

2、switch…case分支:可使用的数据类型为INT、CHAR、ENUM;

3、LOOP循环:可通过EXIT指令立即退出;

4、FOR循环:FOR counter= start TO last STEP increment,……,ENDFOR;可通过EXIT指令立即退出;

5、当型(while型)循环:也称为前测试循环,可通过EXIT指令立即退出;

6、直到型(REPEAT型)循环:也称为后测试循环;REPEAT,……,UNTIL condition;可通过EXIT指令立即退出;

7、时间等待函数:最长时间为2147484秒,相当于24.8天;最短的有意义的时间单元是0.012秒;如果给出的时间为负值,则不等待;

8、信号等待函数:用指令CONTINUE可阻止预进停止;

六、KRL的切换函数

1、输出端的切换将生成预进停止,用指令CONTINUE可阻止预进停止,CONTINUE仅涉及下一行(包括空行);

2、如果编程设定了轨迹逼近,则将在向目标点进行轨迹逼近运动的中点切换;例:$OUT_C[30]=TRUE;

3、PULSE(脉冲)指令触发预进停止;

4、句法:PULSE(信号,电平,脉冲宽度);信号只允许使用OUT[Nr]和信号变量;TRUE表示高电平,FALSE表示低电平;

相关文档
最新文档