概述
COOX基础培训之SCADA(二)
4. 工厂物理架构
4.1 创建实际物理设备
目标
创建实际物理设备
步骤
- 创建3个液体罐(Tank)
- 创建2个固体筒(Silo)
- 创建2个混合器(Buffer)
- 创建2个捏合器(Kneader)
- 创建1个存储器(Stock)
说明
需要新建工作中心DoughWorkcenter,在工作中心下面创建设备
4.2 工作中心Mimic画面
目标
创建可供展示的工作中心界面
步骤
- 拖入实际物理设备,设置摆放的位置
- 在设备的锚点(Anchor)之间连接管道
4.3 个性化设备
目标
设备自定义
步骤
- Valve、Sensor等设备仪器名称修改
- Alt+Clic的使用(多个图形对象重叠)
- Bargraph填充颜色修改
- Pipe管道颜色修改(Anchor)
5. 功能性业务组件的使用
摘要
- 事件管理(Event Management)
- 记录管理(Records Management)
- 配方管理(Recipe Management)
- 视图、导航栏和背景页
- 安全管理(Security Management)
- JavaScript脚本
5.1 事件管理
5.1.1 设置事件组Group
- 机械问题Mechanics
- 电机问题Motor
- 温度问题Temperature
- 控制阀问题Valve
5.1.2 变量配置事件
(1)Valve模型:Auto_Manual变量,设置值变化事件
(2)Valve模型:Def_Close变量,设置值变为1事件
(3)Agitator模型:Auto_Manual变量,设置值变化事件
(4)Agitator模型:Def_Run变量,设置值变为1事件
(5)Agitator模型:Def_Th变量,设置值变为1事件
5.1.3 事件配置工具
变量需要先在设备模型中设置事件,这里再统一修改。
5.1.4 EventDiary/事件日志
(1)从Library中拖入EventDiary组件至页面中
(2)事件日志数据保留时间配置
(3)事件日志页面展示(触发事件进行测试)
5.1.5 AlarmState/报警状态
(1)从Library中拖入AlarmState组件至页面中
默认属性(显示报警类别等等)
(2)AlarmState报警状态页面展示(触发报警测试)
5.1.6 报警配置练习
- 配置液体罐的液位上限报警
- 配置液体罐的液位下限报警
- 模拟程序
- 触发液位的上下限报警
- EventDiary和AlarmState中查看事件和报警记录
5.2 记录管理
- 功能性组件:RecordDefinition的使用
- 开发/运行模式都可以进行Recorder的配置
- 功能性组件:Tracer的使用
- 数据列表或图形展示方式
- 存档或实时模式
5.2.1 记录配置管理RecorderDefinition
- 数据库数据存档
- Retention time/数据保留周期
- Max period/最大存档周期
- Min period/最小存档周期
- Automatic purge/自动删除
- …
5.2.2 趋势图Tracer
添加配置文件:http://localhost:8080//Temp(txt文件无需后缀)
5.2.3 记录管理配置练习
- 记录器Recorder添加
- 添加变量:温度采集值
- 趋势Tracer配置及查看
5.3 视图、导航栏、背景页
5.3.1 创建视图
页面属性设置:是否隐藏、是否安全管理、位置大小等等。
5.3.2 创建视图文件夹
- 视图文件夹显示于首页菜单和导航栏中;
- 进入视图文件夹默认进入其中的第一个视图页面。
5.3.3 背景页
- 项目模板中存在现成背景页,我们可以直接使用,也可以修改后使用。
- 一旦选好,背景页会一直置于画面的背景中。
- 项目模板:
- Home
- Folio
- FolioTablet
当然,我们也可以像创建其他视图一样,创建我们自己的背景页。
5.4 安全管理
5.4.1 视图中的安全设置
- 每个页面有属性,我们可以勾选,来决定该页面是否被安全管理。
- 必须在安全管理中指定谁有权限访问被安全管理的页面。
- 提示(所有COOX程序都有超级管理员)
- 用户:Administrator
- 密码:ADMIN
5.4.2 角色维护
- 角色作为用户的群组,所有的权限都是分配至角色。
- 默认有角色《EveryBody》,它代表了所有的用户。
5.4.3 用户维护
为用户分配角色,还可以配置用户对应的IP地址等等。
5.5 JavaScript脚本
5.5.1 脚本描述
- 服务(Services)、视图(Views)和应用程序的资源(Resources)都可以通过脚本进行扩展。
- 使用的脚本语言是JavaScript。
- 与文档对应的脚本编辑区域通过下边的按钮选项卡进入。
5.5.2 脚本编辑区
- 默认的脚本编辑区域包含了下面3个默认方法:
onInit():在对象初始化时调用
onStart():在对象启动/打开时调用
onStop():在对象停止/关闭时调用 - 这些默认的脚本都是系统自动创建并调用的,不要删除它们。
- 一些组件对象可以创建它们的脚本事件,比如按钮的鼠标点击事件,打开对象绑定的所有脚本事件,通过如下按钮:
5.5.3 事件接口(OGM)
由图形对象产生的事件接口方法(IGraphicalObjectListener)
接口方法 | 描述 |
---|---|
focusGained(Event event) | Method called when the focus is on the object |
focusLost(Event event) | Method called when the object lost the focus |
mouseDown(Event event) | Method called when the button is pushed |
mouseUp(Event event) | Method called when the button is released |
valueChanged(Event event) | Method called at each value change |
5.5.4 事件接口(Cmp)
接口方法 | 描述 |
---|---|
getContainerName() | Return the name of the workcenter or view contening the component |
getFullId() | Return the whole ID of the component |
geteFullName() | Return the whole name of the component |
getID() | Return the ID of the component |
getName() | Return the Name of the component |
Doc: globalscreen.application.objects.utils
Interface: INode
5.5.5 对象访问和设置(OGM)
接口方法 | 描述 |
---|---|
getValue() | Get the value or the text in the object |
setValue(Object val) | Force the text or the numeric value to display |
setColorIndex(double index) | Modify the fill color of the object when color animation is selected |
setVisible(boolean visible) | Command the appear/disappear of an object |
isVisible() | Tells if the object is visible |
setSymbolIndex(double index) | Modify the symbole file of the object when picture animation is selected |
Doc: globalscreen.application.objects.scada
Interface: IGraphicalObject
示例:
- 获取和修改display对象的值
获取值:val=name_display.getValue();
修改值:name_display.setValue(12); - Picture图片设置展示图片
Name_Symbol.setSymbolIndex(1); - Button按钮设置不可见
Name_Button.setVisible(false);
5.5.6 变量(Variable)的访问和设置
接口方法 | 描述 |
---|---|
getValue() | Return the value of the variable |
setValue(Object newValue) | Set a new value for the variable |
update() | Force the read or write of the variable by communication driver |
setEventEnabled(boolean enabled) | Activation /inhibition of the events for the diary |
isEventEnabled() | State of activation of the event |
Doc: globalscreen.application.objects.scada
Interface: Ivar
- 布尔型变量(Boolean):Interface IVarBool
- 数值型变量(Numeric):Interface IVarNum
- 文本型变量(Text):Interface IVarText
示例:
- 视图中的功能块变量的读/写
读:Name_Var.getValue();
写:Name_Var.setValue(12); - 在一个展示(Display)对象上显示一个变量的值
Name_display.setValue(Name_Variable.getValue());
最后
以上就是欣慰雪碧为你收集整理的COOX基础培训之SCADA(二)COOX基础培训之SCADA(二)的全部内容,希望文章能够帮你解决COOX基础培训之SCADA(二)COOX基础培训之SCADA(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复