[西门子] 西门子Wincc中I/O域输入带弹窗二次确认功能的实现

[复制链接]
查看117 | 回复0 | 2024-11-28 08:33:38 | 显示全部楼层 |阅读模式
>


1、建立变量---PLC端:

  在Step7 DB数据块中建立整型变量(HMI_SZ_I),如下图:


2、建立变量---Wincc内部:

  在wincc变量管理中建立内部整型变量(TEMP_I),如下图:


3、wincc画面中I/O域属性设置:

在wincc画面中放置I/O域,其属性中“输出/输入”中的“输出值”中动态连接变量为PLC端变量(HMI_SZ_I),参考下图所示:

4、wincc画面中I/O域“输入值”事件设置:

I/O域事件中“输出/输入”中的“输入值”中动态连接变量为wincc内部变量(TEMP_I),参考下图所示:

5、wincc画面中I/O域“键盘”->“释放”事件设置:

I/O域事件中“输出/输入”中的“键盘”-->“释放”C脚本编写如下,参考下图所示:

#include "apdefap.h"

void OnKeyUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nChar, UINT nRepCnt, UINT nFlags)

{

 #pragma option (mbcs)

  int TEMP_I=GetTagWord("TEMP_I");

 char szBuffer[20];


 sprintf( szBuffer,"确定要更改值为:%d",TEMP_I);

 if ( nChar==13 )             

{

int xRet = MessageBox(NULL,szBuffer,"再次确认窗口",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL);

 if ( xRet == IDYES )

 { 

 SetTagWord("S7$程序(1)/HMI.HMI_SZ_I",TEMP_I);


  }

}

}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则