发布于 2010-08-05 09:47:57
1楼
摘自 一下网站; 上面有详细的脚步;
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=42469007&caller=view
说明:
您可能希望在控制和监视系统启动后和操作过程中确保一个最小的权限,而无需使用登录对话框。然而同时,您还想保留用于更高级别操作的登录功能。此外,当一个操作员如管理员退出登录,您或许希望有默认用户自动登录;默认用户的权限可以根据您的意愿在用户管理器中分配。
要点:
在 WinCC OS 项目编辑器中,选择“消息显示”标签页在“消息过滤器”栏需选中“仅有区域授权的消息”。如此,如果默认用户或者该用户所在的组拥有“Enable for area”授权,那么该默认 用户可以在消息页面确认消息。如果消息不应该被默认用户确认,那么在WinCC OS 项目编辑器中,必须在“消息显示”标签页的“消息过滤器”栏选中“可确认的消息在单独列表中”。更多信息请参考WinCC在线帮助 "选项 > 过程控制的选项 > OS 项目编辑器 > 消息显示 > 消息过滤器"。
对于 WinCC V6.0,消息过滤器的设置在 OS 项目编辑器中“运行系统窗口”标签页,相关信息也在 WinCC 在线帮助中的相应位置。
该设置对于 SIMATIC Logon 中的“默认用户”同样有效。
您可以用附件中的 C脚本实现这个功能,包含以下步骤:
在 WinCC 浏览器中打开项目。
打开 C 编辑器,并进入"动作 > 全局动作"。
使用“创建新动作”按钮来创建一个新动作并输入以下脚本。
SilentLogin.pdf ( 10 KB )
#include "apdefap.h"
int gscAction( void )
{
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
char* CUser=NULL;
CUser=GetTagChar("@CurrentUser");
if (strlen(CUser)==0)
{
PWRTSilentLogin ("Login","Password");
}
return 0;
}
在行 "PWRTSilentLogin ("Login","Password");" 中请使用您的默认用户信息来替代脚本中的用户数据。
编译并将其保存为 "SilentLogin.pas"。
在脚本编辑器中使用变量 @CurrentUser 作为变量触发器,选择一个周期,如"2 s"。这将有益于确保该脚本不会增加系统负担。在本例中,每隔 2s 检查一次变量 @CurrentUser 是否改变(它说明当前登录的用户名)。只有用户改变时才会调用该脚本,例如,前一个用户退出登录时。
确保您已经使能了计算机属性中“运行”标签页的“全局脚本运行系统”。
以下步骤对 SIMATIC PCS 7 用户(从 SIMATIC PCS 7 V6.0 SP1开始)是必须的:
将系统画面 @Welcome.pdl 拷贝到一个安全位置,以便恢复到初始画面。
使用图形编辑器打开画面 @Welcome.pdl。
打开保存在画面中的 C 脚本 ("右击 > 属性" 然后点击 "事件 > 画面属性 > 其他 > 选择画面")。
使用前缀 // 来注释行 "PASSLoginDialog(Screen);"。
编译 C 脚本。
保存系统画面 @Welcome.pdl。
知其道 用其妙