decl krlmsg_t mess
mess={ modul[] “KUKA”, nr2019001,msg_txt[] “There are %1 cubes moved”}
上面分为作者、编号、和消息要显示的内容。
编号:由用户自定义,与系统无关,便于用户对信息进行识别。
内容:内容中的%1是占位符,表示这里要显示的是一个变量。内容作为字符串来显示,要显示变量,不可以直接把变量名字填入到字符串中。如果把变量名 counter 直接填入到字符串中,则系统会显示 There are counter cubes moved ,而不是显示 There are 3 cubes moved 。
STEP 2 :定义信息生成后的选项
定义信息生成之后的一些操作选项
使用系统预先定义的结构体 KRLMSGOPT_T
decl krlmsgopt_t option
option={vl_stop true, clear_p_reset true, clear_p_saw true, log_to_db false}
vl_stop: 生成信息时,是否打断预进指针,true为打断;
clear_p_reset:生成信息后,进行程序复位或退出程序操作,这条信息是否删除, true 为删除;
clear_p_saw :生成信息后,进行语句行选择操作后,这条信息是否删除, true 为删除;
log_to_db:是否将信息记录到数据库中,true 为记录。
STEP 3 :定义占位符
占位符一共有3个,分别是%1、%2、%3。
这一步主要是说明占位符是否有使用。如果使用了,占位符的数值从哪个变量获得。
使用系统预定义结构体 KRLMSGPAR_T
decl krlmsgpar_t para[3]
此处必须是长度为3的数组,因为系统默认有三个占位符。
对于***个占位符%1,上述例子使用了,并且%1的数值来源于叫做counter的int类型变量,所以
para[1]={par_type#value}
para[1].par_int=counter
其中parameter[1]表示%1;#value:表示%1使用了;int和counter:表示%1从一个叫做counter的整型变量获得数值。
对于第二个占位符%2和第三个占位符%3,例子未使用,所以
para[2]={par_type #empty}
para[3]={par_type #empty}
其中para[2]和para[3]分别表示%2和%3;#empty:表示未使用。因为这两个占位符没有使用,所以也不需要规定他们从哪里获得数值。
STEP 4 生成信息
使用系统自带的函数set_krlmsg生成信息。
函数有返回值,返回值是信息在缓存中的地址,类型是int。
int address
address = set_krlmsg( #notify, mess, para[], option)
其中#notify表示要生成提示信息。
如果要生成其他类型信息, #quit :确认信息;#state :状态信息;#waiting :等待信息。
了解更多 库卡机器人