在西门子wincc画面中,有时候项目会涉及的选择性或者切换操作操作,这个时候可以使用选项组实现,如上图所示。
注:下面所有操作只是用来演示仿真使用,并无实际代表意义!!!
步骤:
1、西门子Step7中新建3个BOOL变量,并且编译传送至Wincc变量管理器中,如下图:
2、打开wincc图形编辑器,新建画面,在画面中放置选项组框,设置好框数量,这里设置4,如下图:
3、根据不同索引号,设置好文本:索引1对应文本为“操作员1”;索引2对应文本为“操作员2”;索引3对应文本为“操作员3”;索引4对应文本为“无”;如下4图所示:
4、编写脚本,在选项组“事件”-->“输出/输入”-->“选择框”-->“更改”编写如下C脚本,下图中所示:
具体脚本如下:
#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, long value)
{
switch (value)
{
case 1: SetTagBit("S7$程序(1)/PD1_XZ_1",1);
SetTagBit("S7$程序(1)/PD1_XZ_2",0);
SetTagBit("S7$程序(1)/PD1_XZ_3",0
break;
case 2: SetTagBit("S7$程序(1)/PD1_XZ_2",1);
SetTagBit("S7$程序(1)/PD1_XZ_1",0);
SetTagBit("S7$程序(1)/PD1_XZ_3",0);
break;
case 4: SetTagBit("S7$程序(1)/PD1_XZ_3",1);
SetTagBit("S7$程序(1)/PD1_XZ_2",0);
SetTagBit("S7$程序(1)/PD1_XZ_1",0);
break;
default: SetTagBit("S7$程序(1)/PD1_XZ_3",0);
SetTagBit("S7$程序(1)/PD1_XZ_2",0);
SetTagBit("S7$程序(1)/PD1_XZ_1",0);
}
}
仿真效果如下视频:
video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3540164173333069825
脚本下载链接如下:
链接:https://pan.baidu.com/s/1EHtzkQ-HaOY9XxzsNQhuGA?pwd=8f2m
提取码:8f2m
--来自百度网盘超级会员V10的分享 |