
HMI-高级教程资料.pdf
53页GE Fanuc AutomationGE Fanuc Automation Advanced Course CIMPLICITY HMI Training Course Day 1 创建工程 通讯 动态画面 控件 趋势图 Day 2 报警 数据库登录 DDE 网络通讯 WebView Day 3 Class Object BCE CimEdit CimView对象模型 工程组态对象模型 Global Script CimView Cache file OPC Server Client Day 4 Tracker基本 PRT模型 跟踪区域及跟踪对象 PRT在动态画面上的显示 RCO模型 Function Block RLM Day 5 课程内容 Class Object Class Object Speed Current Speed Current Speed Current Speed Current AI1 AI2 AI3 AI4 AI5 AI6 AI7 AI8 Class是一组对象的模板 Object是属于某个类 class 的一个对象 对象中包含属性和数据点 创建一个类 Class 随后可以快速地复制对象 相应的数据点也被创建 考虑如下一个例子 每个电机需要显示Speed和Current 及其启动运行状 态 每个电机包含多个数据点的显示 Attribute是创建对象时由 用户输入的一些对应于该 对象的静态信息 如 电机铭 牌数据 对象的数据地址等 Data Item是对象动态显示时 所需要用到的数据点 创建Class 对象的模板 定义Attribute 定义Data Item 创建Attribute和Data Item 定义Data Item 定义该数据项的 PLC内存地址 定义该数据项的地址是否 在基地址的基础上有增量 创建类所对应的图形对象 Speed Current 创建一个图形对象对应于Class 类 属于该类的图形对象 都可以用该图形对象来动态显示 该图形对象必须含有一个名为 OBJECT的临时变量表达式为 OBJECT DateItem 将图形对象与Class联系起来 定义该类 Class 的图形对 象为画面上的某个对象 创建对象 Object 创建属于该类 Class 的对象之后 其相应的数据点也被自动创建 画面上Object的引用 拖曳 自动实现图形对象的Link Copy 并将Object名字分配给 OBJECT 练习一 设计一个马达模型 其参数有 马达转速 马达运行电流 马达运行状态 马达启停操作 其地址种类有 模拟量输入 数字量输入及数字量输出等 Speed Current 运行状态 Speed Current 停止状态 Basic Control Engine Basic Control Engine BCE是运行在后台的一个 进程 BCE是运行在Windows中 的一个Service 并以System 帐号登录到系统中 BCE监视事件的发生 并负 责执行相应的动作 事件的触发可以根据报警 信息而产生 Alarm Generated Alarm Acknowledge Alarm Reset Alarm Delete 事件的触发可以根据点值 而产生 Point Change 点值变化 Point Update 点值被刷新 取决于点的刷新方式 事件的触发可以是定时的 Timed 须定义时间间隔 事件的触发可以是一次性的 Run Once 工程启动时触发一次 定义事件触发的脚本是串行运行还 是并行运行 定义事件 事件所对应的动作可以是 Alarm Look up Log Only Point Alarm Acknowledge Point Alarm Enable Point Alarm Disable Recipe Upload Download Run Script Set point Source Transition Set Transition Set 一个事件可以对应多个动作 定义事件所对应的动作 Alarm Look Up Alarm Look up 动作必须对应由点 值变化触发的事件 触发事件的点值参与如下报警表的 搜索 表格中的Point Value与触发 事件的点值相等的报警被激活 所 对应的Alarm Message被写入Text Point中 Alarm ID必须预先 在Alarm中被创建 Alarm ID的类型必 须为 CIMBASIC Alarm ID的Alarm Message必须为 s Source Transition Set 将Source的点 值赋给Point ID对应的点 如果该事 件是由点值的变化触发的 且触发 事件的点与Source的点是同一个点 则该动作将事件被触发前的Source 点值赋给Point ID对应的点 Transition Set 该事件必须是由点 值变化触发的事件 触发事件的点 值被赋给Point ID 如果脚本程序需要经常访问点 建 议在 工程 data 子目录下建立如下 文本文件 bce points cfg 该文件的每一行包 含一个点名 目的是加快BCE对点 的访问速度 Source Transition Set Transition Set Run Script Run Script 运行一段脚本程序 脚本程序必须预先编辑好 脚本程序可以被编译成运行版 不 能再被编辑 脚本程序可以弹出 对话窗口 脚本程序可以获取 报警信息 脚本程序可以访问 工程的配置信息 该脚本程序必须由 Alarm事件触发 CimGetEMEvent获 得事件对象 为了将报警信息传递给Event Manager进程 必须在Workbentch Project Properties Settings Event Editor Settings 作如下设置 在脚本中处理报警信息 在BCE中只能读取HMI工程中的组态内容 不能修改工程的组态 内容 在BCE中 通过CimProjectData对象来访问HMI工程中的组态内容 Dim d as new CimProjectData d Project MY PROJECT d Entity POINT d Filters POINT ID A DEVICE ID MY PLC d Attributes POINT ID RESOURCE ID Dim p as string Dim r as String top if d GetNext p r TRUE then MsgBox Point Id p Resource Id r goto top End if 在BCE中可以访问点 Point 事件 Event 报警 Alarm 的当前信息 在BCE中不能访问当前画面 CimView 中的信息 如 无法获取画 面中的图形对象及Variable 在BCE中访问工程的组态内容 Dialog 对话窗口 Dialog在脚本程序中被创建 插入新的Dialog或编辑已有的 Dialog程序代码 图形化的Dialog编辑窗口 在Dialog编辑窗口中 用户可以在 对话窗口中添加 Text Text Box Check Box Dialog编辑窗口自动生成代码 典型的Dialog代码 Begin Dialog DialogName End Dialog Dim a As DialogName a ControlName xxx r Dialog a v a ControlName a ControlName xxx R Dialog a v a ControlName 向对话框中的控件赋初值 创建对话框 对话框关闭后 获得对话框 中的控件数值 典型的Dialog代码 Dialog在被创建前的瞬间 会 调用DlgProc函数 其入口参 数为 Action 1 ControlName SuppValue 0 当Dialog中的Button Option Button Check Box的值被修改 时 DlgProc函数被调用 Action 2 ControlName 控件名称 SuppValue 控件值 当Dialog失去焦点时 DlgProc 函数被调用 Action 3 当Dialog得到焦点时 DlgProc 函数被调用 Action 4 当Dialog空闲时 DlgProc函数 被调用 Action 5 DlgText 控件名称 数值控件名称 数值 DlgValue 控件名称 数值控件名称 数值 在DlgProc函数中用这两个函数修改控件数值 处理对话框消息的函数 练习二 1 某点值在0 1000之间变化 现需关注该点值在达到100的 整数倍时 在屏幕上显示该值 2 监视某点的报警状态 当发生报警时 在屏幕上以字幕滚动 的方式显示该点的报警信息 CimEdit CimView对象 在CIMPLICITY HMI软件中 画面 画面中的图形对象 对象 中的变量及事件都是一个可以 被脚本程序所访问的 对象 在脚本程序中常用的获得对象 的几个函数 CimGetScreen 获得脚本程序所 在的画面对象 CimGetObject 获得脚本程序所 在的图形对象 GefApplication GefScreens GefChildScreens GefScreen GefScreen GefObjects GefObject GefObjectVariables GefObjectVariable CimEdit CimView对象 利用脚本打开画面 GefScreens Open FileName Project Visible 利用脚本程序打 开一幅新的画面 利用脚本程序调 入一幅新画面 GefScreen Overlay FileName Project 利用脚本程序可以设置画面的显示属性 如 隐藏菜单 修改画面的标题 Dim oCimScr as GefScreen Set oCimScr CimGetScreen oCimScr Title 车身车间设备监视 oCimScr MenuVisible False oCimScr ToolbarsVisible False oCimScr StatusBarVisible False oCimScr TitleVisible False 利用脚本设置画面的属性 利用脚本打开子画面 Set oCimCapScr oCimScrs CaptivePopup ParentScreen SourceScr Cim Project True 利用脚本程序打 开一幅子画面 子画面永远显示 在父画面的前面 获取画面对象 获取画面中的 所有图形对象 获取某个 图形对象 Set oCimObj oCimObjs Item ButtonX 图形对象的名称 利用脚本获得图形对象 利用脚本程序操作变量 获取变量 获取变量所对应 的点的值 分配变量与点的 对应关系 重新刷新画面 使变量与 点的对应关系生效 获取图形对象 被传递到新画面 的图形对象 图形对象中的Variable也被传递到新画面 并可在子画面的脚本程序中被引用 子画面的脚本 将图形对象传递给子画面 练习三 编写一段程序 获取屏幕上某个对象的变量 并用MsgBox 显示该变量的值 组态模型对象 组态模型对象 CimSystem CimProject CimPort CimPortList CimDevice CimDeviceList CimPoint CimPointList CimPointAlarm CimEvent CimEventList 在CIMPLICITY HMI软件中 工程的组态内容也是作为对象 提供给用户的 用户的脚本程 序可以访问这些组态内容 CimSystem对象指向一个运行 CIMPICITY HMI软件的计算机 系统 CimProject对象指向一个HMI 工程 用户的脚本程序可以读取 修改 组态内容 D。
