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

WinCC使用技巧之二

发布于:2008-12-08 11:07:08 来自:电气工程/工业自动化 [复制转发]
如何在按键组合被禁用的情况下,从 WinCC 运行环境进入 WinCC Control Center

最好是做一个按钮,该按钮需要用用户权限保护,在该钮中编写如下 C-action
低于 WinCC 5.0 版本
#pragma code ("user32.dll");
BOOL SetForegroundWindow(HWND);
#pragma code();
HWND handle;
handle=FindWindow("MCPFrameWndClass",NULL);
If (!SetForegroundWindow(handle))
Printf ("\r\n SetForeground fails");

WinCC 5.0 版本以及更高的版本:
#pragma code("user32.dll");
BOOL SetForegroundWindow(HWND);
#pragma code();
HWND handle;
handle=FindWindow("WinCCExplorerFrameWndClass",NULL);
If (!SetForegroundWindow(handle))
Printf ("\r\n SetForeground fails");


怎样对一个 WinCC 的项目进行转换 ?

当对一个 V4.X 版本的 WinCC 项目升级到 5.X 时, V4.X 下的项目必须进行版本转换。若使用 " 交叉索引 " 编辑器时 , 必须保证项目已进行了正确无误的转换。
项目转换分下列几步依次完成 :
WinCC 资源管理器中 , 选中图形编辑器 , 击鼠标右健。
1. 全局库的转换
在弹出下拉菜单中选中 " 转换全局库 " 条目 , 系统会自动对全局库进行转换 , 转换结束后退出。
2. 项目库的转换
在弹出下拉菜单中选中 " 转换项目库 " 条目 , 确认后系统自动对库进行转换。
3. 图形画面转换
在弹出下拉菜单中选中 " 转换画面 " 条目 , 在弹出画面按 " 确认 " , 系统自动进行所有画面的转换。
注意:包含有 " 未定义对象 " 的画面 , 如在 PC 机上未装相应对象服务器的 , 决不要转换 , 否则画面会被损坏。
4. 基本数据转换
分屏向导:在 WinCC 资源管理器中,打开分屏向导 ( 在基本数据项下 ) 的弹出式菜单,并选择 " 打开 " 条目。
报警记录向导:在 WinCC 资源管理器中,打开报警记录向导的弹出式菜单(在基本数据项下),并选择 " 打开 " 条目。

全部回复(2 )

只看楼主 我来说两句抢地板
  • laoyou163
    laoyou163 沙发
    [分享]WINCC-如何使用自定义的对话框实现用户登录

    在登录按钮中加处以下脚本:
    #pragma code("useadmin.dll")

    #include "PWRT_API.H"

    #pragma code()


    if (PWRTSilentLogin("username", "PassWord"))
    {
    //登录成功后的处理
    }

    其中"USERNAME","PASSWORD"可以用存储用户名和密码的变量替换.如:
    PWRTSilentLogin(GetTagChar("user"), GetTagChar("PassWord"))

    当登录成功时,函数返回值为真;如登录失败,则返回值为假





    [分享]WINCC--如何在程序中动态修改用户密码

    1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器
    2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称
    3、在脚本中加入以下代码:
    #pragma code("UseGen.dll")
    #include "USEGENAP.H"
    #pragma code()

    LPCMN_ERROR err; //定义的LPCMN_ERROR型变量,在函数调用中需使用

    if (PWGENConnect("CC_ass_04-09-21_16:35:22",err)) //建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代
    {
    if (PWGENChangePassword(GetTagChar("user"),GetTagChar("oldpassword"),GetTagChar("password"),err)) //修改密码,user,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集
    {
    //密码修改成功后的操作,如给用户提示等
    }
    }
    PWGENDisconnect(err); //断开与数据库的联接
    4、编译运行程序
    5、工作完成
    6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。
    2008-12-08 11:07:08

    回复 举报
    赞同0
  • laoyou163
    laoyou163 板凳
    [分享]WINCC--如何在程序中动态修改用户密码

    1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器
    2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称
    3、在脚本中加入以下代码:
    #pragma code("UseGen.dll")
    #include "USEGENAP.H"
    #pragma code()

    LPCMN_ERROR err; //定义的LPCMN_ERROR型变量,在函数调用中需使用

    if (PWGENConnect("CC_ass_04-09-21_16:35:22",err)) //建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代
    {
    if (PWGENChangePassword(GetTagChar("user"),GetTagChar("oldpassword"),GetTagChar("password"),err)) //修改密码,user,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集
    {
    //密码修改成功后的操作,如给用户提示等
    }
    }
    PWGENDisconnect(err); //断开与数据库的联接
    4、编译运行程序
    5、工作完成
    6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。
    2008-12-08 11:07:08

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

工业自动化

返回版块

17.92 万条内容 · 368 人订阅

猜你喜欢

阅读下一篇

WinCC使用技巧分享之一

如何实现从WinCC运行画面跳转至WinCC控制中心? 最好的方式是在WinCC运行画面上做一个按钮,该按钮应该置为密码保护,在该按钮上设置C-action。 低于WinCC V5.0:#pragma code("user32.dll")Bool SetForegroundWindow(HWND);#pragma code()HWND handle;

回帖成功

经验值 +10