小弟第一次接触WinCC,很多东西都不太明白,但是在论坛上得到了很多高人的指导,先感谢一下。小弟现在有个关于用户的问题想请高人指点迷津:我在用户管理器里面创建了一个用户,现在老板想在进入该项目时可以新建用户,删除用户,以及修改用户密码等功能,小弟怎么想都不知道怎么解决。还请高人指点。另外请问,如何可以设置一个二进制的内部变量,在用户登陆成功后为Ture,我想用这个变量组态一些对话框,显示等。
问题补充:
很感谢axg2008大侠的回答,小弟有两个疑问
1、我怎么没有找到applib目录,也没有找到相关的用户管理函数,请问这些函数都在哪里?
2、WinCC如果只装RT的话没有用户管理器,好像也不能单独安装用户管理器
最佳答案
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文件中,可根据上面示例自行完成添加用户,修改权限等功能。
转载自:《Siemens自动化软件论坛》
其实除了修改密码,还有许多功能需要实现,缺任何,功能都不算完备。这就是用户管理程序的所有功能,所以在项目中调用反而是最理想的。
下面的项目函数可以调出用户管理器:
#include "apdefap.h"
void OpenUserManager()
{
BOOL bRet=FALSE;
char szProjectFile[_MAX_PATH+1];
char sCommand[_MAX_PATH+1];
CMN_ERROR Error;
bRet=DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&Error);
if (bRet==FALSE) return;
strcpy(sCommand,"PassCS.exe ");
strcat(sCommand,szProjectFile);
ProgramExecute(sCommand);
}
保存项目函数后然后在你的项目中的按钮执行该项目函数即可。
至于设置一个二进制的内部变量,你只要会登陆,就在登陆的脚本后加个色ttagbit该tag即可。
提问者对于答案的评价:
虽然问题还是没有解决,但是很感谢大侠的帮助
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277502.html