土木在线论坛 \ 电气工程 \ 工业自动化 \ WinCC使用技巧分享之一

WinCC使用技巧分享之一

发布于:2008-12-08 11:05:08 来自:电气工程/工业自动化 [复制转发]
如何实现从 WinCC 运行画面跳转至 WinCC 控制中心?

最好的方式是在 WinCC 运行画面上做一个按钮,该按钮应该置为密码保护,在该按钮上设置 C-action
低于 WinCC V5.0
#pragma code("user32.dll")
Bool SetForegroundWindow(HWND);
#pragma code()
HWND handle;
Handle=FindWindow("MCPFrameWndClass",NULL);
If(!SetForegroundWindow(handle))printf("\r\n SetForeground fails");
5.0 版本和高于此版本的 WinCC
#pragma code("user32.dll")
Bool SetForegroundWindow(HWND);




#pragma code()
HWND handle;
Handle=FindWindow("WinCCExplorerFrameWndClass",NULL);
If(!SetForegroundWindow(handle)) printf("\r\n SetForeground fails");




如何在WinCC中读取计算机系统时间?

可以编写如下的C-action:
#pragma code("kernel32.dll");
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",time.wSecond );
SetTagWord("Varname",time.wMilliseconds );




如何经由Windows对话框设置日期和时间?

可以将修改日期、时间的Windows对话框调出来,调用程序如下:
#include "apdefap.h"
void onClick(char*lpszPictureName,char*lpszObjectName,
char* lpszPropertyName)
{ ProgramExecute("C:\\WIN95\\control.exe timedate.cpl"); }
注意:您在使用此程序时,需根据您的Control Panel安装的具体路径来填写。

全部回复(2 )

只看楼主 我来说两句抢地板
  • laoyou163
    laoyou163 沙发
    如何整点启动归档?

    在"Global Script"下的Project functions编写函数:cyclicarchive
    BOOL cyclicarchive()
    {
    #pragma code ("kernel32.dll");
    void GetLocalTime (SYSTEMTIME* lpst);
    #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 Tag"tab下的Archiving type选择Cycle-selective,在"Event"标签下的"Start Event"内选择cyclicarchive函数。
    2008-12-08 11:06:08

    回复 举报
    赞同0
  • laoyou163
    laoyou163 板凳
    如何在WinCC里用C语言调用SQL语言?

    1、创建一个SQL文件。
    此文件在ISQL中创建,文件内容是所希望执行的SQL语句。

    2、在WinCC的C Script中编写程序调用此SQL文件,如以下程序所示:

    #include "apdefap.h"
    void OnLButtonDown(char* lpszPictureName,
    char* lpszObjectName,
    char* lpszPropertyName,
    UINT nFlags, int x, int y)
    {
    char*a="C:\\SIEMENS\\Common\\SQLANY\\ISQL-q-b-c
    UID=DBA;PWD=SQL;DBF=E:\\testsql\\testsqlRT.DB;
    DBN=CC_testsql_99-12-03_12:48:26R;READ
    E:\\testsql\\test.sql";
    printf("%s\r\n",a);
    ProgramExecute(a);
    }
    下面是一个简单的SQL文件内容:
    select * from pde#hd#t#test;
    output to E:\\test2.txt FORMAT ascii

    注意:文件名及路径中不要带空格。
    2008-12-08 11:05:08

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 368 人订阅

猜你喜欢

阅读下一篇

电柜耐压测试问题

我们公司做的控制柜子是这样的:电源进线要求三相五线制,三相电经过一个接触器进行通断;控制的设备有三相电机,电磁阀等;PLC的电源从A相取,经过电源滤波器后到PLC;24V直流开关电源由B相取电;C相给控制部分电源和电磁阀的,和温控仪表供电;现在有个问题请教一下,这种电柜应该怎样做耐压测试和绝缘测试,还有标准;因为我不会做,我们现在也有做,大部分偷懒不做,我们只有三个电工安装,20多个柜子和机器得外线,时间很紧。

回帖成功

经验值 +10