WINCC中登录用户自动弹出

在WINCC画面中,编辑了输入/输出对话框编辑的权限,提示输入时,显示没有许可权。
目前我想这样操作,当点击该输入/输出对话框时,自动弹出用户登录画面。我的问题就是,如何让下面的脚本在点击输入/输出对话框的时候运行。
用户登录调用的C脚本我已测试过。
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
PWRTLogin('1');

有没有其他可以实现的方法。

我明天就要到客户那边调试了,急盼各位大侠指点。

问题补充:
可以解释一下怎么把这个脚本添加,添加到哪儿去,怎么设置。万分感谢

最佳答案

1、如果给 I/O Field 组态了授权等级,而操作员等级不够的话,是不能够触发相应动作的。
2、解决办法就是不给该 I/O Field 组态权限,使用脚本判断当前用户是否满足授权等级,不满足则弹出登录对话框。

https://www.automation.siemens.com/WW/forum/guests/PostShow.aspx?HTTPS=REDIR&PostID=66599&language=en

补充:
1、将 I/O Field -> Properties -> Miscellaneous -> Authorization 设置为 <No access-protection>。
2、在 I/O Field -> Events -> Mouse -> Mouse Action 中添加下列脚本。

#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
if (!PASSCheckLevelPermission(1))//1 为授权等级的数字值,对应 User Administrator 中 Function 的前一列 No.
PWRTLogin('1');

注意:
1、需要 WinCC 安装了 Basic Process Control 组件才会包含 PASSCheckLevelPermission 函数。
2、也可以将 PASSCheckLevelPermission 函数的返回值(1=具有该等级权限,0=无该等级权限)赋值到一内部变量,该内部变量连接至 I/O Field -> Properties -> Miscellaneous -> Operator-Control Enable 动态属性。

提问者对于答案的评价:
#pragma code("pdlrtapi.dll")
#include "pdlrtint.h"
#pragma code()


 if    (strcmp (GetTagChar ("@CurrentUser"), "管理员") <0 )
{
 PASSLoginDialog(1);

}


 if    (strcmp (GetTagChar ("@CurrentUser"), "管理员") >0 )
{
 PASSLoginDialog(1);

}


{
 PASSLoginDialog(1);

}
换成
{  PDLRTAllowSetForegroundWindow(NULL,NULL,NULL);
   PASSLoginDialog (SSMGetScreen( lpszPictureName ));
}
也是可行的。
在罗丹的提示下,用了一个笨方法,大家莫见笑

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:15
下一篇 2019年6月11日 上午4:15

相关推荐

  • vbs脚本变慢

    我的wincc脚本大都用vbs编的,今天系统重装了下,运行wincc发现wincc变的很慢一个按钮都要几秒才能反应过来,有谁能帮帮我 问题补充:我试了好会 发现&nbsp…

    SIMATIC WinCC 2019年6月11日
  • simatic net v8.0什么时候需要安装

    我现在通过wincc v7.0 sp2通过网线跟s7-300的cp343-1通信,用的TCP/IP通信通道,一切正常,我看到还有工业以太网通信的通道,但是还没有…

    SIMATIC WinCC 2019年6月11日
  • WinCC客户机项目设置自动登录时遇到的问题

    现有一个组态为多用户项目的WinCC项目,一台服务器、10多台客户机,客户机端无项目。在客户机端使用AutoStart configuration设置,客户机端项目自动激…

    SIMATIC WinCC 2021年7月5日
  • WINCC与触摸屏的问题

    1、如何把wincc的一个界面总是显示在最前面得页面,就算切换画面也留下,除非自己点退出?2、OP7的触摸屏用什么软件啊?3、如何使wincc在激活的时候切不出去? 最佳答案 1,…

    SIMATIC WinCC 2019年6月11日
  • wincc能否授权多台工控机

    我公司买了一套wincc6.2授权的,但是这套工程要用2台上位机,请问能否授权2台,是否有多机授权?还是需要买2套。谢谢! 最佳答案 如果两台工控机同时使用Wincc,可以购买两套…

    SIMATIC WinCC 2019年6月11日
  • Windows 10家庭版

    我的电脑Windows 10家庭版能安装WINCC 7.3的软件吗? 最佳答案 不能,官方不兼容的,而且不兼容WIN10的WIN10系统要WINCC7.4才行W…

    2021年7月5日
  • wincc直接运行设置

    在工程师站组态好的WINCC服务器项目,可否直接将项目拷贝到服务器后运行(用U盘拷贝),运行时需要什么设置才能和PLC通讯上? 最佳答案 1.配置计算机的ip,使之和plc的ip处…

    SIMATIC WinCC 2019年6月10日
  • WINCC+TP270,当有两个上位时如何管理数据

    如果项目选用了上位(远程)WINCC(以太网)和一个(本地)315+TP270(组入PROFIBUS-DP)+一个本地/本地兼远程的选择开关,为了安全,要求TO270的操作级别高于…

    SIMATIC WinCC 2019年6月11日
  • wincc7.4新建项目画面调不出

    WINCC7.4新建的项目,经过项目管理器编译后,运行画面,登陆都正常,area buttons 有文本显示,但是一直是灰色,不能点击,修改button的C语言…

    SIMATIC WinCC 2021年7月5日
  • wincc c脚本编译的时候提示 该动作没有包含解释代码

    wincc  c脚本编译的时候提示 该动作没有包含解释代码 图片说明:    最佳答案 把程序 pragma声明放进函数…

    2017年11月18日