发那科iPendant利用XML实现弹窗提示

Posted 飘雨阁i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发那科iPendant利用XML实现弹窗提示相关的知识,希望对你有一定的参考价值。


01




karel函数介绍


DISCTRL_DIAG(file_spec, term_mask, term_char,status) Input/Output Parameters: [in] file_spec : STRING [in] term_mask : INTEGER [out] term_char : INTEGER [out] status : INTEGER %ENVIRONMENT Group :UIF 


· file_spec指定定义对话框的XML文件的设备和文件名。 如果没有指定设备名称,则使用默认设备。

· term_mask是位掩码,指示将终止对话框的条件,由klevkmsk.kl定义。

kc_prev_key -- 按下PREV 

kc_enter_key -- 按下Enter

key kc_func_key -- 按下Function

· term_char接收指示终止对话框的字符或其他条件的代码。终止条件的代码在include文件klevkeys.kl中定义。以下为返回值

ky_cancel -- 对话框取消 

ky_prev – Prev键被按下(仅当使用kc_prev_key掩码时)

ky_enter – Enter键被按下(仅当使用kc_enter_key掩码时)

ky_new_menu -- 新菜单选择

· status返回0时正常,0以外的值则发生错误

· 如果KAREL程序被中止,对话框将被自动关闭。


可以显示的项目有:

 Discrete buttons (Yes, No, OK, Cancel etc.)  --功能按钮

Labels --标签

String entry --字符串

Numeric entry --数字

Check boxes   --复选框

Choice boxes (popup lists) --选择框

Radio buttons --单选按钮

Images --图像

Charts  --表



02




XML文件格式


可利用karel创建一个XML文件,当然也可以用Notepad和SharedDesignedPoint2007进行编写。

以下为标准提示框XML格式:

<DIALOG [DIALOG attributes] > - DIALOG开头标记 <TEXT [TEXT attributes]>title</TEXT> - 可选标题<DLGTILE [DLGTILE attributes] > - 一个或多个控件<object [object attributes] > - 每一个控件一个<object parameter> - 示教器控件部分 .  .  . <object parameter> </object> - 控件结束</DLGTILE> - 一个控件定义结束 <DLGTILE [DLGTILE attributes] > - 下一个DIALOG开头<object [object attributes] ><object parameter> .  .  . <object parameter></object></DLGTILE></DIALOG> - 弹窗结尾标记



你只需要将ShareDesignedPoint2007中的控件剪贴值下图区域:

发那科iPendant利用XML实现弹窗提示



03





XML文件与karel的关联



XML与karel对应变量

发那科iPendant利用XML实现弹窗提示





04





编写一个简单弹窗的XML文件


123.xml文件

<DIALOG posx="220" posy="170" width="220" height="160" bgcolor="#54FF9F"><!—-注释--><!—-每一个控件都要加DLGTILE--><TEXT>Tips</TEXT><DLGTILE posx="10" posy="10" width="200" height="50"><!—-第一个控件文本框--><object classid="clsid:7106065C-0E45-11D3-81B6-0000E206D650" id="LABEL1" style="width: 334px; height: 159px"><param name="Caption" value="continue?"><param name="FontSize" value="8"><param name="width" value="334"><param name="height" value="159"><param name="DataType" value="100"><param name="DataIndex" value="1"><param name="Interval" value="250"><param name="TrueFont" value="-1"><param name="FastLoad" value="-1"><param name="FontName" value="宋体"></object>
</DLGTILE><!—-第二个控件YES按钮--><DLGTILE posx="30" posy="70" width="60" height="50" type="1"><object classid="clsid:7106066C-0E45-11D3-81B6-0000E206D650" id="FRIPToggleButton1"><param name="Caption" value="YES"><param name="FontSize" value="8"><param name="width" value="100"><param name="height" value="50"><param name="DataType" value="103"><param name="DataIndex" value="[test_diag]rt_yes"><param name="TrueColor" value="16777215"><param name="FalseColor" value="16777215"><param name="Interval" value="250"><param name="TrueFont" value="-1"><param name="FastLoad" value="-1"><param name="TrueValue" value="1"><param name="BackColor" value="8453888"><param name="TrueStrColor" value="8453888"><param name="FalseStrColor" value="0"></object></DLGTILE><!—-第三个控件NO按钮--><DLGTILE posx="120" posy="70" width="60" height="50" type="1"><object classid="clsid:7106066C-0E45-11D3-81B6-0000E206D650" id="FRIPToggleButton2"><param name="Caption" value="NO"><param name="FontSize" value="8"><param name="width" value="100"><param name="height" value="50"><param name="DataType" value="103"><param name="DataIndex" value="[test_diag]rt_yes"><param name="TrueColor" value="16777215"><param name="FalseColor" value="16777215"><param name="Interval" value="250"><param name="TrueFont" value="-1"><param name="FastLoad" value="-1"><param name="BackColor" value="8453888"><param name="TrueStrColor" value="8453888"><param name="FalseStrColor" value="0"></object></DLGTILE></DIALOG>




05




karel程序,获参传参



karel程序文件

PROGRAM test_diag%COMMENT = 'Test Diag'%NOLOCKGROUP%ENVIRONMENT uif%ENVIRONMENT REGOPEVAR---------------------------用于XML对应变量,返回Karel程序 rt_yes :BOOLEAN --RETURN YES rt_no :BOOLEAN --RETURN NO---------------------------用于DISCTRL_DIAG函数 term_char :INTEGER term_mask :INTEGERstatus :INTEGER --状态 file_spec :STRING[50] --文件路径---------------------------传入参数用变量 int_val :INTEGER rea_val :REAL str_val :STRING[50]BEGIN rt_yes = FALSE rt_no = FALSE file_spec = 'UD1:123.xml' GET_TPE_PRM(1,1,int_val,rea_val,str_val,status)IF ((status <>0 ) OR (int_val<0 ) OR (int_val > 255))THENABORT ENDIF DISCTRL_DIAG(file_spec, term_mask, term_char,status) IF term_char = KY_PREV THEN --意外退出rt_no为真rt_no = TRUE ENDIFIF rt_no = TRUE THEN SET_INT_REG(int_val,1,status) --为真,给指定寄存器赋值为1ELSE SET_INT_REG(int_val,0,status) --为假,给指定寄存器赋值为0 ENDIF 
END test_diag




06





运行效果


运行效果

发那科iPendant利用XML实现弹窗提示


温馨提示:Diag提示框颜色为RGB,可参考网站:  https://www.sojson.com/rgb.html




07





往期相关教程


以上是关于发那科iPendant利用XML实现弹窗提示的主要内容,如果未能解决你的问题,请参考以下文章

加工中心 发那科系统如何能直接读取内存卡的程序来加工?

FANUC发那科机器人Socket Message通讯设置

CNC FANUC(发那科)法兰克加工中心0MD数控系统操作面板的各种按键是意思

如何采集fanuc系统数据

怎样用宏程序连接两个程序

求助大神,fanuc系统怎么和pc机连接