各位小伙伴,大家好,又是很长时间没发文了,主要原因就一个字,懒!!
哈哈哈 今天的内容看标题应该能猜出一点了,就是信息编程
其实在计算机编程课上,“hello world”是第一节课,但机器人不同,因为机器人首先需要做的是动作,信息算是锦上添花的东西,即使没有也能正常工作。
但话说回来,人机交互没有信息就构不成交互了,也不能算是一个合格的程序。
HELLO WORLD
一条信息包含哪些内容
作者:用于显示一条信息的发布者
编号:我们常说的报警代码
内容:信息内容
信息的类别
#Quit: 将该信息提示作为确认信息发出
#STATE: 将该信息提示作为状态信息发出
#NOTIFY: 将该信息提示作为提示信息发出
#WAITING: 将该信息提示作为等待信息发出
构造一条信息
step1:
信息中包含的内容:
作者、编号、内容
声明结构工作变量
DECL KrlMsg_T mymessage
作者:mymessage. Modul[ ] ;字符类型,24个字符
编号:Nr ;整数类型
内容:Msg_txt[ ] ;字符类型,80个字符
赋值:
mymessage = {Modul[ ] "College", Nr 1906, Msg_txt[ ] "My first Message"}
step2:
信息类型:声明枚举工作变量:
DECL EKrlMsgType Type
#Quit: 将该信息提示作为确认信息发出
#STATE: 将该信息提示作为状态信息发出
#NOTIFY: 将该信息提示作为提示信息发出
#WAITING: 将该信息提示作为等待信息发出
赋值
Type = #Quit
step3:
信息中的变量(最多支持3个通配符)
声明结构工作变量
DECL KrlMsgPar_T Parameter[3]
Par_Type: 参数/ 通配符的类型
#VALUE: 启用变量传递文本参数(即作为字符串、INT、REAL 或 BOOL 值)
#EMPTY: 参数是空的
Parameter[3].Par_txt[26]: 在信息中的变量为文本类型,并且接受变量值
Parameter[3].Par_Int: 在信息中的变量为整数类型,并且接受变量值
Parameter[3].Par_Real: 在信息中的变量为实数类型,并且接受变量值
Parameter[3].Par_Bool: 在信息中的变量为bool类型,并且接受变量值
赋值:
Parameter[1]={ Par_Type#VALUE,Par_txt[] “HELLO WORLD”}
Parameter[2]={ Par_Type#VALUE,Par_int 1}
Parameter[3]={ Par_Type#VALUE,Par_bool TRUE}
在信息中用%1,%2,%3通配符代谢
mymessage. Msg_txt[ ]= "My Message No.%2 %1 %3"
step4:
信息选项
声明结构工作变量
DECL KrlMsgOpt_T Option
VL_Stop: TRUE 触发一次预进停止,
默认值: TRUE
Clear_P_Reset : 当复位或反选了程序后, TRUE 将删除所有状态、确认和等待信息,
默认值: TRUE
Clear_P_SAW: 通过按键“ 选择语句” (Satzanwahl) 执行了语句选择后,
TRUE 将删除所有状态、确认和等待信息
缺省值: FALSE
Log_To_DB: TRUE 使该信息提示记录在 Log 数据库中
缺省值: FALSE
赋值(默认值可省略):
Option={ VL_Stop TRUE,Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_To_DB FALSE }
step5:
生成信息
系统函数
INT Set_KrlMsg(Type, MyMessage, Parameter[ ], Option)
返回值为正数,用于确定信息是否成功发出,和发出的信息号
-1: 无法生成信息提示。(例如因为信息缓存器已过满。)
> 0: 信息提示已成功生成并以相应的识别号保存在信息缓存器中管理。
step6:
删除信息:
系统函数:
BOOL Clear_KrlMsg(INT:IN)
输入值:生成信息返回的正数值
返回值:TRUE: 该信息已删除、FALSE:该信息不可删除
调用函数:
BOOL erase1
Erase1 = Clear_KrlMsg(handle)
程序演示
;变量声明
DECL KrlMsg_T mymessage
DECL EKrlMsgType Type
DECL KrlMsgPar_T Parameter[3]
DECL KrlMsgOpt_T Option
INT A
;构建信息
mymessage = {Modul[ ] "College", Nr 1906, Msg_txt[ ] "My first Message"}
Type = #NOTIFY
Parameter[1]={ Par_Type#VALUE,Par_txt[] “HELLO WORLD”}
Parameter[2]={ Par_Type#VALUE,Par_int 1}
Parameter[3]={ Par_Type#VALUE,Par_bool TRUE}
;在信息中用%1,%2,%3通配符代替变量
mymessage. Msg_txt[ ]= "My Message No. %2 %1 %3"
Option={ VL_Stop TRUE,Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_To_DB FALSE }
;生成信息
A = Set_KrlMsg(Type, MyMessage, Parameter[ ], Option)
运行一下