-
-
zpjames1127 | 当前状态:在线
总积分:489 2024年可用积分:297
注册时间: 2006-08-15
最后登录时间: 2024-11-13
-
Wincc报表:利用用户归档制作报表查询+打印输出
zpjames1127 发表于 2023/8/14 9:41:47 870 查看 3 回复 [上一主题] [下一主题]
手机阅读
一、创建变量
、分别创建1
个系统变量和1个内部变量:用于时间和日期存储。
WINCC
组态项目编辑器——变量管理——单击添加新的驱动程序—
找到System Info.chn
——单击打开
(1
)建立系统时间变量:shijian (系统变量用于用户归档时间储)
(2)创建日期内部变量:riqi(内部变量用于用户归档日期存储)
、创建3
个用户归档控制变量:
(1
)先创建两个用户归档记录变量A_ID和A_JOP,当这两个变量分别为-1和6时,用户归档记录一次数据。
(2
)创建1个二进制变量:start ,用于控制A_ID和A_JOP变量动作使用。
、创建4
个查询条件变量,用于数据查询使用,分别为:
查询起始日期变量:rqcx1
查询结束日期变量:rqcx2
用户归档过滤变量:guolv
报表过滤变量:guolv_baobiao
、创建报表归档变量,根据实际条件创建使用数量及变量名称。
二、创建用户归档
、通讯类型:数据管理器变量
、控制变量选择A_ID
、A_JOP
、添加要记录的数据变量,名称及数据类型要和变量名称一致
三、在图形编辑器添加用户归档控件
、默认的控件中是没有此控件的,需要添加,WinccUser Archive-Table Element
控件
、属性中选择刚刚建立的用户归档名称。
、在Table Element
控件属性filter中添加
guolv
变量,用于查询过滤条件
、设置归档控件工具栏选项
四、编写用户归档记录触发程序
、根据实际需求建立固定时间周期记录数据触发条件:VBS
动作定时触发
、也可以根据下位机控制程序条件触发:利用start
变量触发上位机VBS脚本动作。
这里要注意一下,日期存储格式问题,如果可以接收系统默认格式可以直接链接系统日期变量不用写VBS
脚本程序,也可以直接利用
A_ID
和A_JOP
变量做数据记录控制,无需单独使用start变量。
比如:
五、打开SQLserver 记住服务器名称、数据库名称、表格名称。
六、修改VBS脚本文件程序
、按日期区间查询:chaxun_riqi
、按起始日期查询:chaxun_today
、查询全部数据:chaxun_back
将组态画面中的按钮事件分别关联这三个VB
脚本文件
七、报表编辑器设置
WINCC
的报表制作完成后存储在当前项目下的PRT
文件夹内,可以接复制粘贴到其他项目内使用,只需要修改数据库链接变量即可。
、在报表编辑器的布局里面建立一个新布局baobiao_CHS
添加数据库表,设置表格方向、列数、添加打印时间。
、数据库表链接设置:
选择数据源、添加@DatasourceNameRT
变量、编写“select*fromUA#baobiao”语句、添加guolv_baojiao变量、设置列数,要求和表格列数一致。
、新建打印作业:打印作业001
关联布局文件baobiao.RPL
、设置打印机
、回到组态画面,在用户归档属性中关联打印作业
、在组态画面中的打印按钮中写入c
脚本程序
RPTJobPreview("
打印作业001");
替换括号内的打印作业名称即可。
打印出的文件保存在我们项目文件夹的“PRT_OUT
”文件夹中
注意:
、在同一台电脑上,如果使用wincc
项目复制器复制项目,用户归档和报表的VBS脚本程序也需要修改SQL数据库名称,不然无法使用。如果是直接复制的话同样需要修改SQL数据库名称。
、如果向其他电脑复制项目或者从其他电脑拷贝到自己电脑上的项目,同样需要修改对应的服务器名称、数据库名称、和表格名称,否则无法使用。
-
引用 LXG 2023/8/14 20:20:08 发表于2楼的内容
-
引用 jllyh415 2023/8/14 20:21:31 发表于3楼的内容
-
-
-
zpjames1127 | 当前状态:在线
总积分:489 2024年可用积分:297
注册时间: 2006-08-15
最后登录时间: 2024-11-13
-
zpjames1127 发表于 2023/8/14 20:22:12
nice
引用 zpjames1127 2023/8/14 20:22:12 发表于4楼的内容
-