WinCC里怎么做输入确认的对话框
客户的要求是用输入输出域赋值时,弹出个对话框让操作员确认。如果选确认,赋值生效;如果选取消,赋值失效。
这里大概说下思路,回头会写个详细的操作步骤放到下载中心。
思路大概就是给输入输出域的输入和输出属性分别连接一个变量,判断输入值变化时弹出对话框,让操作员确认。如果操作员确认,则将输入值赋值给输出值,反之则什么都不做。
这样做法的好处是:
操作员界面直观,
输出值是真正的过程参数,如果操作员不确认,这个变量不会受到任何干扰。
步骤如下:
1、打开 I/O 域属性,属性中的输出/输入的输出值选择动态对话框然后选择 Tag1 ,选择数据类型为“直接”。然后在I/O域事件的输出/输入的输入值的更改中选择直接连接,来源默认,目标选择 Tag2 。
这样I/O域显示 Tag1 的值,但输入时将值写入 Tag2 。
2、然后在I/O 域的键盘释放事件中写入如下C代码:
int tag2=GetTagByte("tag2");
if (nChar==13)
{
int x=MessageBox(NULL,"ok","message",MB_YESNOCANCEL)
if(x==IDYES)
{
SetTagByte("Tag1",tag2);
}
}
这样在输入tag1的值的时候就需要确认,如果不确认的话tag2中的数据变化,tag1的值不变。
这里大概说下思路,回头会写个详细的操作步骤放到下载中心。
思路大概就是给输入输出域的输入和输出属性分别连接一个变量,判断输入值变化时弹出对话框,让操作员确认。如果操作员确认,则将输入值赋值给输出值,反之则什么都不做。
这样做法的好处是:
操作员界面直观,
输出值是真正的过程参数,如果操作员不确认,这个变量不会受到任何干扰。
步骤如下:
1、打开 I/O 域属性,属性中的输出/输入的输出值选择动态对话框然后选择 Tag1 ,选择数据类型为“直接”。然后在I/O域事件的输出/输入的输入值的更改中选择直接连接,来源默认,目标选择 Tag2 。
这样I/O域显示 Tag1 的值,但输入时将值写入 Tag2 。
2、然后在I/O 域的键盘释放事件中写入如下C代码:
int tag2=GetTagByte("tag2");
if (nChar==13)
{
int x=MessageBox(NULL,"ok","message",MB_YESNOCANCEL)
if(x==IDYES)
{
SetTagByte("Tag1",tag2);
}
}
这样在输入tag1的值的时候就需要确认,如果不确认的话tag2中的数据变化,tag1的值不变。
新闻详情