2023年11月30日发(作者:)

返回列表

WinCC -- 创建HMI组态 -- 打印曲线和协议

什么选项用于输出一个消息顺序报表?

如何在页面未填满时,使用 "MSRTPrintMProt" 函数打印消息顺序报表?

如何将顺序消息报表输出到文件?

在运行期间如何定义报警日志打印输出的选择标准(例如:日期/时间,起点/终点)?

WinCC中打印趋势和报表的技巧

如果不能直接打印,如何创建硬拷贝打印输出?

如何使用WinCC以横向格式打印硬拷贝?

如何打印一个图像的部分区域(如一个曲线窗口)

为何在打印输出趋势控件时没有显示所有值?

为什么循环打印输出不能打印?

在打印版式中为何不能在纵向/横向格式之间转换?

例如,当其数据是每秒保存时,如何在签日志 存档的WinCC报告的表格/趋势图 中仅间隔x个条目打印一次?

SIMATIC WinCC V6 - 报表打印期间在线动态分配归档变量的值

什么选项用于输出一个消息顺序报表?

显示订货号

6AV6381-1.. SIMATIC WinCC Software

6ES7650.. SIMATIC PCS 7 PC

6ES7658.. SIMATIC PCS7 SW-Packages (BLE, ES, OS)

组态注意事项:

使用消息顺序报表可以将所有信息按时间顺序输出到打印机。该条目比较了用于生成消息顺序报表的几

个不同选项。

注意:

WinCC WinCC 报表编辑器 默认会创建一个消息顺序报表。为此还有一个系统打印作业

@Report Alarm Logging RT Message sequence 。您可以选择将消息一行一行或者一页一页的输出。

关于该主题的详尽信息可参见 WinCC 在线帮助:

“ WinCC 信息系统 > 使用 WinCC > 组态数据和运行系统数据的文档 > 运行系统文档 >

录运行期间的消息 > 使用消息顺序报表输出在线数据

“ WinCC 信息系统 > 使用 WinCC > 组态数据和运行系统数据的文档 > 运行系统文档 >

录运行期间的消息 > 创建自定义的消息顺序报表

您也可以在 WinCC 客户端组态消息顺序报表。为了输出多个服务器上的消息到消息顺序报表,您需要

导入所关心的服务器的数据包并且为消息顺序报表打印作业选择相应消息。

No.

组态选项

1

报表编辑器:消息顺序报表行布局

行布局用于当一条消息发生时将其输出到打印机。

消息顺序报表行布局有以下特性:

所关联的打印机必须支持行打印输出。点阵式或者喷墨打印机通常都支持行打印输出而不

行式打印机必须连接至报表计算机本地(并口)。不可以使用网络打印机。

产生的消息按 ASCII 码字符一行一行的输出至打印机。该打印只需占用很少的系统资源

像激光打印机。

(计算机 CPU 负荷)。但是,不能打印标准的图形对象(例如线条,多边形,折线,或

者图形文件)。

您可以为打印输出组态两个可替换的打印机以避免一个打印机发生故障。但是如果当一个

消息在运行期间发生时却无法找到打印机的话,将会生成一条操作系统消息。且打印作业

不会输出到文件。

2

报表编辑器:消息顺序报表页面布局

如果组态了消息顺序报表页布局,在缺省情况下,只有当消息数达到组态好的每一页中的信息条

目数时才会输出到打印机。条目号 24182772 中说明了如何使用 C 函数MSRTPrintMProt()

打印当消息条目数尚未达到组态好的每一页中的信息条目数时的页面布局。

消息顺序报表页面布局有以下特性:

页面打印机不必连接到报表计算机本地。因此可以使用网络打印机。

消息按页输出到打印机。在这种情况下消息页将生成为图形对象然后再输出到打印机。可

以混合输出标准图形对象到打印输出中(例如线条,多边形,折线,或者图形文件)。

打印需要占用较多的系统资源( CPU 负荷)用于处理图形对象及并发的打印输出。可能

会发生当处理图形对象时其他动作(像画面切换)将被延迟。

您可以为打印输出组态两个可替换的打印机以避免一个打印机发生故障。如果当打印输出

时无法找到相应的打印机,则打印作业将会自动输出为一个 EMF 图形文件。更多关于输

出打印作业至文件的信息可参看条目号 24178015

3 C 全局脚本:消息输出为 ASCII 码格式

您可以选择当一个消息发生时触发一个动作。

如果消息属性组态对话框的参数选项单中的触发一个动作选项被标记,那么当消息发生时 C

函数 GMSGFunction() 将被执行。该函数在“ SIEMENSWinCCaplibAlarm ”安装目录。缺省情

况下,该函数提供消息相关的信息(消息号,状态,时间戳,用户文本块信息以及相关过程值)

全局脚本诊断窗口或者“ APDIAG ”输出窗口中。您可以修改该函数以适应您的要求并且将其输

出到一个文本文件。

注意:

您可以使用 C 函数fprintf() 将一个消息输出到一个文本文件。

当输出到文本文件时请确认有足够的硬盘空间。

缺省情况下,一个消息的用户文本块为文本条目( TEXT_ID )在 GMSGFunction() 中。

WinCC Open Development Kit (ODK) 提供了详尽信息关于您可以如何按语言要求从文

本条目中获得相关消息文本。关于 ODK 的相关信息可参照条目号9652128

注意:

条目号 22578952 提供了更多选项用于访问归档消息。

条目号:24543977 :03/09/2007

/WW/view/zh/24543978

返回列表

WinCC -- 创建HMI组态 -- 打印曲线和协议

什么选项用于输出一个消息顺序报表?

如何在页面未填满时,使用 "MSRTPrintMProt" 函数打印消息顺序报表?

如何将顺序消息报表输出到文件?

在运行期间如何定义报警日志打印输出的选择标准(例如:日期/时间,起点/终点)?

WinCC中打印趋势和报表的技巧

如果不能直接打印,如何创建硬拷贝打印输出?

如何使用WinCC以横向格式打印硬拷贝?

如何打印一个图像的部分区域(如一个曲线窗口)

为何在打印输出趋势控件时没有显示所有值?

为什么循环打印输出不能打印?

在打印版式中为何不能在纵向/横向格式之间转换?

例如,当其数据是每秒保存时,如何在签日志 存档的WinCC报告的表格/趋势图 中仅间隔x个条目打印一次?

SIMATIC WinCC V6 - 报表打印期间在线动态分配归档变量的值

如何在页面未填满时,使用 "MSRTPrintMProt" 函数打印消息顺序报表?

显示订货号

6AV6344.. SIMATIC WinCC Operator Stations

6AV6381-1.. SIMATIC WinCC Software

6AV6382-1.. SIMATIC WinCC Packages

指导:

缺省情况下,仅当消息顺序报表页完全填充完,打印布局才能打印出来。从WinCC V6.0 SP3 起,可以

使用 "MSRTPrintMProt" 函数,在消息顺序报表完全填充完之前来打印。

此信息清参考 WinCC 在线帮助下的 "WinCC Information System > Working with WinCC >

Documentation of Configuration and Runtime Data > Runtime Documentation > Reporting Messages

in Runtime > Outputting Runtime Data with the Message Sequence Report" "WinCC ODK (Open

Development Kit)". 的文档,关于ODK 的信息请参见条目:9652128.

声明:

BOOL MSRTPrintMProt (DWORD* pdwLines, LPCMN_ERROR lpError);

参数/返回值:

参数 数据类型 描述

使用参数 "pdwLines" 向函数传递指向DWORD 型变量的指针, 函数将

要打印的行数写到该地址。

pdwLines DWORD*

lpError LPCMN_ERROR 使用参数 "lpError" 向函数传递指向CMN_ERROR型变量的指针, 如果

有错误或警告发生,函数将相应的错误信息写到该地址。

返回 "TRUE" ,当:

顺序报表的消息成功地送到打印机,或

Return BOOL

调用时,没有新的顺序报表的消息,或

调用时,先前触发的打印作业还未完成。

若失败,返回 "FALSE".

下面的脚本说明了如何在鼠标点击中调用函数 "MSRTPrintMProt"

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

DWORD dwLines = 0;

CMN_ERROR scError;

BOOL bOK;

printf ("rn#Info001: MSRTPrintMProt() ==> ... is working!rn");

bOK = MSRTPrintMProt( &dwLines, &scError );

printf ("#Info002: MSRTPrintMProt() ==> bOK=%d dwLines=%d scError="%s"rn",

bOK, dwLines, rText );

}

注意:

此脚本必须在消息顺序报表所在的WinCC计算机上执行。

调用时,"MSRTPrintMProt" 函数会确定要被打印的消息的数目。如果在打印作业中至少有一条消息存在

且未被成功输出,那么消息顺序报表将形成图形文件,传送到打印机。

函数在参数"pdwLines"中返回被打印的消息数。如果函数 "MSRTPrintMProt" 确定没有新的消息要打

印,那么没有消息报表产生并输出,这种情况下,参数"pdwLines"的返回值为 "0"

仅当先前触发的打印任务完成后,函数 "MSRTPrintMProt" 才能触发打印新的消息顺序报表。如果先前

触发的打印任务还未完成,而再次调用 "MSRTPrintMProt" ,函数会在参数 "pdwLines" 中返回一个大

"0"的值 。但是在这种情况下,不会创建和打印新页。

"MSRTPrintMProt" 函数需要更多的运算时间来准备新的一页消息顺序报表。 其他的动作 (比如:循环

C 动作或使用脚本切换画面) 因此可能会延迟被处理。

条目号:24182772 :12/19/2006

/WW/view/zh/24183447

如何将顺序消息报表输出到文件?

显示订货号

6AV6344.. SIMATIC WinCC Operator Stations

6AV6381-1.. SIMATIC WinCC Software

6AV6382-1.. SIMATIC WinCC Packages

说明:

页面布局中的顺序消息报表可以输出到文件。行布局中的顺序消息报表不能输出到文件。如果

激活了顺序消息报表输出到文件,则顺序消息报表的每一页将被保存为单个的EMF格式(增

强型Meta文件)的图像文件。

该主题的信息可参见WinCC在线帮助,如下:

“WinCC信息系统 > 使用WinCC > 组态数据和运行系统数据的文档 > WinCC中的

打印任务 > 定义打印机

“WinCC信息系统 > 使用WinCC > 组态数据和运行系统数据的文档 > 项目文档 >

创建新的打印作业

下面介绍一些关于顺序消息报表保存的存储路径及文件名称的附加信息。

顺序消息报表在两种情况下会输出到文件:

No.

描述

1

已配置了输出到文件

按照如下步骤配置将顺序消息报表打印输出到文件:

WinCC项目管理器的导航窗口中选择报表编辑器 > 打印作业,双击打开

Report Alarm Logging RT Message sequence的顺序消息报表系统打印作业

打印作业属性对话框的常规表单中必须取消选择行式打印机布局选项并

且选择一个有效的页面布局。

打印机设置表单中选择文件(*.emf选项。

注意:

图像文件输出到WinCC项目路径下的“PRT_OUT”目录中。WinCC运行系统启

动以后,当第一次打印时,将会生成一个“PRT_OUT”的文件夹,这个文件夹将

是顺序消息报表图像文件的存储路径。 该目录名称中将包含本地计算机的当前

日期及时间。 顺序消息报表的每一页将会在该目录中保存为一个EMF图像文

件。 这些图像文件将按“PAGE”.EMF格式命名,其中

顺序消息报表的实际页数的连续页码。无论什么时候WinCC运行系统一旦启动,

将会生成一个新的目录来存储从“00001”开始的连续页码的图像文件。

路径输入域中可以输入字符串,该字符串将会添加到存储这些图像文件目录

的名称当中。也可以不填写。

( 32 KB )

. 01

警告

不能将打印输出到打印机打印输出到文件两个选项同时勾选。

如果同时勾选了打印输出到打印机打印输出到文件这两个选项,那么如果在运行期

间打印机出现问题(如打印机缺纸)时也不会将报表打印输出到文件。而且也不会输出

到替换文件中(参看2中的描述)。

打印机访问错误

如果页面布局中的顺序消息报表将要被打印输出到打印机而打印机不可用(例如打印机

故障,无纸等)时,那么顺序消息报表将被打印输出到EMF图像文件中,则相应的打印

作业将被删除。

2

出现故障后打印到的文件将会存储到WinCC项目路径中的“PRT_OUT”目录中。WinCC

运行系统启动后当出现第一次替换打印到文件被执行后将会在“PRT_OUT”中生成一个

目录,将会在该目录中保存顺序消息报表。该目录的名称结构为:“$$_Report Alarm

Logging RT Message sequence_,其中

为运行系统启动后第一次打印机故障的本地计算机时间

(日期及时间)。之后,所有无法打印输出到打印机的顺序消息报表将都会被保存到该

目录的EMF图像文件中。这些文件的文件名都按如下格式生成:

“PAGE.EMF”,其中为顺序消息报表的相应页码。

警告

在以下情况下,当打印机故障(如无纸)时不会打印输出到图像文件:

如果选择使用了顺序消息报表的行布局。

选择了打印输出到文件(参看1中的描述)。

条目号:24178015 :11/28/2006

WinCC中打印趋势和报表的技巧

显示订货号

6AV637.. WINCC SIMATIC HMI SOFTWARE

6AV638.. WINCC SIMATIC HMI SOFTWARE 2

6ES7650.. SIMATIC PCS 7 PC

6ES7658.. SIMATIC PCS7 SW-Packages (BLE, ES, OS)

如何更改打印输出信息的列宽或用户布局中的变量日志表?

o 对于打印输出信息或变量日志表,可以在相关的布局中分别改变各列的宽度。

过程

1 在报表设计器Report DesignerlarmLoggingRTArchivprotokoll

AlarmLoggingRTMeldeprotokollTagLoggingRuntimeVariablentabelle

打开相关的对象。

2 在对象属性对话框中打开“Properties”标签页。

3 选择“Geometry”,并用鼠标双击“Columns”条目,打开表的列宽属性。

( 24 KB )

01

定义各列的宽度。此处宽度为相对于整个宽度的值。

4

5 点击“OK”按钮,确认修改。

o

如何通过单一客户机打印在线报表?

o 要使用单一客户机输出在线报表,用户必须在客户机的启动列表中通过参数

“/CLIENT”开启“Report Runtime”选项功能。更多详细信息,请参看WinCC

V6.0 SP3中的WinCC Information System (WIS),该内容位于路径“Working

with WinCC > Documentation of configuration and runtime data > Runtime

documentation > Creating print jobs for runtime documentation”

( 12 KB )

T1_02

如何通过鼠标点击触发打印作业?

o 要实现此功能,用户可以使用WinCC标准功能中的C函数“RPTJobPrint”

标准函数在报表下。

根据用户按钮选择生成C脚本,并从标准函数中调用“RPTJobPrint”函数。指

定用户想要打印作业的名称参数。

如果使用报表设计器Report Designer创建pdf文件?

o 使用报表设计器Report Designer创建的WinCC报表可以输出到打印机上,

也可以将其输出为一个emf文件。为了输出一个pdf报表文件,用户必须先安

装一个PDF打印机,如Acrobat Writer

为什么打印控制保留为空?

o 如果客户机上的打印控制为空,对于布局中连接的变量,则必须在这些变量前

添加服务器前缀。

SIMATIC WinCC Report Designer中,为什么不能正确显示打印作业预览?

o WinCC Report Designer中,必须安装打印机以便正确显示打印作业预览。

如果没有连接到计算机的打印机,请按以下步骤进行安装:

序号 过程

1 通过“Start > Settings > Printers”添加本地打印机。

2 选择“Select existing connection > FILE”

3 从制造商列表中选择“Generic > Printer: Generic / Text Only”

o

o 现在就可以在WinCC Report Designer中显示打印作业预览了。

动态视图页面布局中组态的变量,为什么在打印时位置发生了偏移?

o 为了使打印输出对象的位置不变,必须将这些对象置于布局视图的静态部分

要实现此功能,将布局视图更换为静态部分并组态打印输出变量。

动态部分视图中,可以在一个已有的页面布局中剪切相关的变量域并将其

粘贴到静态部分视图中的期望位置。

关键字:

报表设计器,页面布局

条目号:21606157 :10/25/2006