推荐-wincc经典问题

上传人:M****1 文档编号:473243817 上传时间:2023-01-24 格式:DOC 页数:25 大小:78KB
返回 下载 相关 举报
推荐-wincc经典问题_第1页
第1页 / 共25页
推荐-wincc经典问题_第2页
第2页 / 共25页
推荐-wincc经典问题_第3页
第3页 / 共25页
推荐-wincc经典问题_第4页
第4页 / 共25页
推荐-wincc经典问题_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《推荐-wincc经典问题》由会员分享,可在线阅读,更多相关《推荐-wincc经典问题(25页珍藏版)》请在金锄头文库上搜索。

1、、问: 如何触发计算机扬声器的声音? 答: 编写如下C-Action:#pragma code(kernel32.dll);BOOL Beep(DWORD dwFreq,DWORD dwDuration);#pragma code();Beep(500,500); 2、问: 如何通过C脚本来确定报警信息? 答: 首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:(1)、确认单条信息4版本和高于此版本的WinCCBOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName) 5版本和高于此版本的WinCCBOOL AXC_On

2、BtnSinglAckn(char*lpszPictureName,char*lpszObjectName)(2)、确认报警窗口所有可见的报警4版本和低于此版本的WinCCBOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOL AXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName) 3、问: 如何在WinCC中读取系统时间? 推荐精选答: 通过如下C-Action:#pragma code(kernel32.dll)

3、;Void GetLocalTimes(SYSTEMTIME*lpst);#pragma code();SYSTEMTIME time;GetLocalTime(&time);SetTagWord(Varname,time.wYear);SetTagWord(Varname,time.wMonth);SetTagWord(Varname,time.wDayOfWeek);SetTagWord(Varname,time.wDay);SetTagWord(Varname,time.wHour);SetTagWord(Varname,time.wMinute);SetTagWord(Varname,

4、time.wSecond);SetTagWord(Varname,time.wMilliseconds); 4、问: 如何经Windows对话框设置日期时间? 答: 通过调用Windows对话框实现。具体如下:i ncludeapdefap.hvoid onClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)ProgramExcute(c:win98control.exe timedate.cpl);其中执行的程序路径,需根据具体情况填写。 推荐精选5、问: 如何在WinCC中调用SQL语言? 答: 1、创建

5、一个 SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQL语句。Windows对话框实现。具体如下:2、在WinCC中用C Script 调用上述SQL文件,如下所示:i ncludeapdefap.hvoid OnLButtonDown(char* lpszPictureName,char* lpszObjectName,char* lpszPropertyName,UINT nFlags,int x,int y)char*a=c:siemenscommonSQLANYISQL-q-b-cUID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT.DB;DBN=C

6、C_testsql_99-12-03-12:48:26R;READE:testsqltest.sql;Printf(%srn,a);ProgramExcute(a);下面是一个简单的SQL文件内容:select *from pde#hd#t#test;output to e:test2.txt FORMAT ascii注意:文件名及路径中不要带空格。 推荐精选6、问: 如何整点启动归档? 答: 在Globle Script下的Project function编写程序函数:cyclicarchiveBOOL cyclicarchive()#pragma code(kernel.dll);void

7、 GetLocalTime(SYSTEMTIME*lpsz);#pragma code();SYSTEMTIME time;Int t1;GetLocalTime(&time);T1=time.wMinute;If(t1=00)SetTagBit(startarchive,1);Return(BOOL) (GetTagBit(startarchive);在Tagloging中的Properties of process tag中的archive tagTab下的Archive type选择Cycle-selective,在Event标签下的StartEvent内选择cyclicarchive函

8、数。 7、问: How can I set and reset a WinCC variable by mouse click with C script? 答: The following function shows how you can alternately set and reset a WinCC variable by mouse click.i nclude apdefap.h推荐精选void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)BOOL z;z=GetTagB

9、it(MyBitVariable);if (z=0) SetTagBit(MyBitVariable,1); elseSetTagBit(MyBitVariable,0); 8、问: How can I program a waiting function (Sleep) in WinCC? 答: The following sample program shows how the Sleep is used. #pragma code(Kernel32.dll)void Sleep(int milliseconds);#pragma code() Sleep(1000); /time spe

10、cification in milliseconds Warning:If you use Sleep(), processing the C script is interrupted for the time indicated. Requests for the interrupted function cannot be processed during this time. 9、问: How can I output a SIMATIC timer minutes and seconds in WinCC? 推荐精选答: If you want to output a SIMATIC

11、 Timer in minutes and seconds in WinCC, then in WinCC please use a static text in the Graphics Designer to which you interface the following action: char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)char *p;DWORD hilf;int min, sec; p=SysMalloc(10);hilf=GetTagDWord(Time)

12、;min=hilf/60000;sec=hilf%60000/1000; sprintf(p,%d min %d sec,min,sec);return p; The Time variable linked to the I/O field must have the following properties: Data type 32-bit value without sign Format adaptation DwordToSimaticBCDTimer Address: data area Times and addressing Word10:快捷地切换画面 通常要将所有的设备都

13、显示在一张画面里是不可能的,所以将设备按照处理工艺的功能步骤分级在多张画面内,以一个污水处理厂为例分为电泳线、前处理线、生化线、加药线等,之间的切换使用按钮的鼠标动作来实现。这对于用WinCC现成的鼠标动作来实现是很简单的,但是不是要在每张图上都使用相同数量且位置排列顺序一致的按钮呢?(出于对操作的一致性考虑,不能让操作人员在不同的图上,不同的位置找想要操作的按钮)这个问题的解决我们使用WinCC的脚本编程,在按钮动作中调用它的内部函数来实现。首先,组态一幅背景画面,其中包括要显示的静态文本、OLE(例如,时钟)、所有的图形切换按钮及推出关机按钮。第二,在背景画面中插入智能对象(Smart Object)中的画面窗口(Picture Window),并且使其的尺寸与其分级画面相同。第三,在相应的切换按钮的属性-事件-鼠标动作中编写如下C语言脚本代码:推荐精选 i ncludeapdefap.h void onCli

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号