在本篇博文中通过一个具体实例学习组态王的基本功能。以组态王7.5为例!
目录
一、启动组态王并新建工程
二、新建设备
2.1 新建PLC设备——通过ModbusTCP连接
2.2 新建DDE设备
三、新建变量
四、新建画面
五、报警配置
5.1 新建报警组
5.2 设置报警变量
5.3 创建报警窗口
5.4 设置报警弹出窗口
5.5 报警信息自动存入数据库
六、实时曲线和历史曲线
6.1 实时曲线
6.2 历史曲线
6.2.1 对变量设置记录属性
6.2.2 在画面中插入控件
七、超级X-Y曲线
八、实时报表
8.1 实时报表
8.2 为实时报表配置打印功能
8.3将报表保存到文档
8.4实时报表查询
九、历史报表
9.1 创建历史报表画面
9.2 使用查询功能
十、附录
10.1 命令语言介绍
一、启动组态王并新建工程
启动组态王后默认打开的是工程管理器,画面如下,在工程管理器中新建工程,打开新建工程后进入到工程浏览器。
二、新建设备
2.1 新建PLC设备——通过ModbusTCP连接
在工程浏览器左边的设备树中选择COM2(数字都可以),双击打开新建向导, 莫迪康--ModbusTCP--输入名称--选择串口--输入地址192.168.1.100:502 1/30(格式:PLC的ip地址:端口号 空格 设备地址/延时时间)--设定恢复时间--完成。
2.2 新建DDE设备
该设备在此博文中未使用,若使用可以参考另一篇文章——PLC通过DDE通讯——基于Codesys和组态王7.5进行数据采集
在工程浏览器左边的设备树中选择DDE,双击打开新建向导, 设备--DDE--输入名称--输入服务程序名:Excel;话题名:Sheet1--完成。
三、新建变量
在工程浏览器左边选择 数据词典 选项,在主界面中新建变量如图所示:
完成后如下所示:
四、新建画面
在工程浏览器左边选择 画面 选项,在主界面中新建画面如图所示:
现在我们把新建的变量连接到此画面中,以上水箱液位为例:
现在就把ModbusTCP传过来的变量连接起来了,运行是会随着数值改变液面高度;类似的对其他变量进行绑定。
五、报警配置
5.1 新建报警组
5.2 设置报警变量
5.3 创建报警窗口
这时,当报警变量触发时就会显示到窗口中。
5.4 设置报警弹出窗口
上面的窗口虽然能够显示,但如果你想当报警发生时弹出报警窗口,需要设置报警弹出窗口事件。
5.5 报警信息自动存入数据库
在组态王7.5中,报警信息会自动存入数据库中,打开报警配置属性页如下,它提供了默认数据库,当然你也可以自定义数据库。
需要注意的是在运行组态王界面时会自动连接该数据库,此时不要用其他应用打开该数据库,否则报警报警事件可能插入不进数据库。
六、实时曲线和历史曲线
6.1 实时曲线
新建画面,在工具箱中点击“实时曲线”,拖动,双击实时曲线控件,在弹出的窗口中配置变量等属性。
6.2 历史曲线
6.2.1 对变量设置记录属性
在建立历史曲线之前,要对需要记录的变量进行设定,双击变量在“记录和安全区”中选择记录数据。
6.2.2 在画面中插入控件
有两种方法,一种是通过历史趋势控件,一种是历史趋势曲线。
(1)历史趋势控件
(2)历史趋势曲线
七、超级X-Y曲线
插入后双击进行配置变量。
运行,按住按钮会自动画点。
八、实时报表
8.1 实时报表
8.2 为实时报表配置打印功能
首先配置打印预览
然后配置打印按钮
可以选择打印配置
8.3将报表保存到文档
常用的文档格式为".rtl"和".xls",在此以xls为例,若保存rtl格式,只需更换后缀名即可。
注:rtl文件是组态王内部使用的文件,组态王可以直接打开。
8.4实时报表查询
新建画面,实时报表查询
插入报表
创建查询下拉列表
配置下拉列表
创建刷新按钮
创建调入报表按钮
运行结果如下
九、历史报表
9.1 创建历史报表画面
新建历史报表画面,创建报表
添加查询按钮
9.2 使用查询功能
运行程序,按如下步骤操作
十、附录
10.1 命令语言介绍
(1) 应用程序命令语言
双击“应用程序命令语言”打开窗口如上图所示,其中
启动时:应用程序启动时会执行一次输入的代码;
运行时:应用程序运行时会执行输入的代码,右上角可以设定间隔时间;
停止时:应用程序停止时会执行一次输入的代码;
(2) 数据改变命令语言
对于数据改变命令语言,可以新建变量,当该变量发生改变时会执行一次输入的代码。
(3) 事件命令语言
事件命令语言,可以新建事件,当该事件发生改变时、存在时、消失时会分别执行一次输入的代码。
(4) 热键命令语言
通过快捷键控制事件,按下快捷键时会执行一次输入的代码。
(5) 自定义函数命令语言
可以编写自定义函数,在其他模块中调用。
(6) 画面命令语言
在画面中,右击画面属性,可以选择命令语言,当画面显示时、存在时、隐含时会分别执行一次输入的代码。