指导:
缺省情况下,仅当消息顺序报表页完全填充完,打印布局才能打印出来。从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.n
声明:
bool msrtprintmprot (dword* pdwlines, lpcmn_error lperror);n
参数/返回值:
参数数据类型描述pdwlinesdword*使用参数 “pdwlines” 向函数传递指向dword 型变量的指针, 函数将要打印的行数写到该地址。lperrorlpcmn_error使用参数 “lperror” 向函数传递指向cmn_error型变量的指针, 如果有错误或警告发生,函数将相应的错误信息写到该地址。returnbool返回 “true” ,当: n
顺序报表的消息成功地送到打印机,或n调用时,没有新的顺序报表的消息,或n调用时,先前触发的打印作业还未完成。若失败,返回 “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, scerror.szerrortext );
}注意:
此脚本必须在消息顺序报表所在的wincc计算机上执行。n
调用时,”msrtprintmprot”函数会确定要被打印的消息的数目。如果在打印作业中至少有一条消息存在且未被成功输出,那么消息顺序报表将形成图形文件,传送到打印机。
函数在参数”pdwlines”中返回被打印的消息数。如果函数 “msrtprintmprot” 确定没有新的消息要打印,那么没有消息报表产生并输出,这种情况下,参数”pdwlines”的返回值为 “0”。
仅当先前触发的打印任务完成后,函数 “msrtprintmprot” 才能触发打印新的消息顺序报表。如果先前触发的打印任务还未完成,而再次调用 “msrtprintmprot” ,函数会在参数 “pdwlines” 中返回一个大于 “0”的值 。但是在这种情况下,不会创建和打印新页。
“msrtprintmprot” 函数需要更多的运算时间来准备新的一页消息顺序报表。 其他的动作 (比如:循环 c 动作或使用脚本切换画面) 因此可能会延迟被处理。