WinccV7.3 c脚本,同一个按钮根据登录用户不同执行不同的操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

182.WinccV7.3 c脚本,同一个按钮根据登录用户不同执行不同的操作

今天晚上在群上看到有一个网友问起过在wincc中如何实现同一个按钮,如果是用户1点击就退出wincc项目程序,如果是用户2点击就退出用户程序并关机。单独的退出wincc和单独的关机脚本,都可以使用向导来自动生成,根据用户不同执行不同的操作,无非就是加上条件判断而已,其实还是很好实现的。

新建一个wincc项目,新建两个用户user1和user2,给项目属性设定登录快捷键ctrl+L。新建一个画面,画面上放置一个按钮,在按钮的鼠标点击事件中添加以下c脚本:

#include "apdefap.h"

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

char *username=GetTagChar("@CurrentUser");

if(strcmp(username,"user1")==0)

DeactivateRTProject ();//退出wincc

if(strcmp(username,"user2")==0)

DMExitWinCCEx (DM_SDMODE_POWEROFF);//退出wincc并关机

}

保存运行,就可以看到效果了。

从这个练习可以看出,尽管编辑时定义的用户是User1和User2,但实际上登录后@CurrentUser得到的还是user1或者user2,全部都是小写字母。此外比较两个字符串是不是一致,这里使用了strcmp函数。开始我想当然的用==来判断是不是一致,结果始终不对,看来还是学艺不精啊。

相关文档
最新文档