您现在所在的是:

西门子SIEMENS

回帖:16个,阅读:11320 [上一页] [1] [2] [下一页]
* 帖子主题:

关于Wincc报表

1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/4/24 14:33:00
#0楼
有哪位大侠知道Wincc报表用Excel打印输出怎么做?
谁有例子可以让小妹参考一下,谢谢了表情
1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/4/24 14:35:00
#1楼
谁要是能帮我的话我请你吃糖!!
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2006/5/22 17:35:00
#2楼
你为什么不用WinCC里面的 Report Designer/Layouts 自己去设计报表, 然后在 Print Jobs 定义循环打印输出的时间呢?

假如你坚持想用Excel格式来做Wincc报表, 可以借助VB写几句话, 用GetValue将实时变量值写入Excel单元格里.

假如你想把已归档的变量值写入Excel单元格里, 必须购买SIEMENS公司的 tag connectivity工具软件包.

你把你的e-mail可以给我, 给你一份介绍文件, 相信对你有帮助!
1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/5/23 9:34:00
#3楼
谢谢了,大哥
我的e-mail是lily520443@sina.com
另外我还有一个问题要问,怎么在wincc的画面里实现用按钮去系统时间,即是点一下按钮,时间会变化一次
38116
cvlsam 版主
文章数:12488
年度积分:727
历史总积分:38116
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2006/5/23 10:07:00
#4楼
在按钮的单击事件组态VBS动作
使用NOW()函数即可。
1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/5/23 11:50:00
#5楼
要在画面中显示该时间,具体要怎么操作,怎么写呢
38116
cvlsam 版主
文章数:12488
年度积分:727
历史总积分:38116
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2006/5/23 12:17:00
#6楼
基本上就以下2种方法:
1   使用时间控件,wincc带有时间控件,你想实现数字时钟或者模拟时钟都可以,自己设定属性就可以了,不需要编程
2  使用脚本编程,使用脚本编程无非只有C脚本和VB脚本,C脚本读取时间那个不说了,因为组态手册2上就有现成的例子。
使用VB脚本读取时间非常的简单。在屏幕上放置一个静态文本,然后在其字体属性中组态VBS动作,编写VBS脚本,使用NOW()函数即可。设置动作触发时间为1S,即可实现。
1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/5/24 15:54:00
#7楼
wincc的报表怎么用变量触发,不是循环输出打印
就是说我做一个报表,要在画面上做一按钮,点击按钮要将变量的当前值存入一文件内,并可打印输出
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2006/5/24 17:05:00
#8楼
Lily520443, 如果你利用 Report Designer/Layout来做报表, 你根本不需要在画面上做一按钮. 因为报表里的数值, 始终和 Process Tags同步刷新!

在画面上做一按钮, 利用 Mouse Click来触发 Report Designer/Print Jobs的输出打印, 这个想法有很大的实际价值. 现提供点C代码做参考:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
char* Message = (char*) malloc(512);
int abc;
strcpy(Message,"\r\n      Do you want to print report? ");
abc=MessageBox(NULL,Message,"OK",1|MB_SYSTEMMODAL);
switch(abc){
          case 1:      
//RPTJobPrint("Print Job001");
RPTJobPreview("Print Job001"); //Return-Type :BOOL
break;   }  
}
1089
lily520443
文章数:42
年度积分:50
历史总积分:1089
注册时间:2006/4/3
发站内信
发表于:2006/5/25 9:22:00
#9楼
先谢谢你的热心帮助
关键是我是要打印当前时间点报表,就是说它没什么规律的,什么时候想打印,就当前时间的值,并且要输出保存一文件

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004