求助:wincc如何用C脚本实现窗口控件中画面的切换 点击:0 | 回复:19



多多&nancy

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-22 16:01:00
楼主
如题,拜托高手指点。



多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-22 16:03:00
1楼
要是复杂,VBS脚本也行。怎么实现?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 08:41:00
2楼
Dim objScrWindow
Set objScrWindow=ScreenItems("窗体控件名")
objScrWindows.ScreenName="新的需要显示的窗体名(不需要扩展名)"

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-23 10:21:00
3楼
非常感谢!再问一下高手,怎么用VBS调出一个窗口?弹出和替换怎么分别实现?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 10:39:00
4楼
WinCC是的弹出式窗口是通过画面窗口控件来完成的,替换时只需要替换画面窗口的名称就可以了。

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-23 11:02:00
5楼
我想实现的是,在一个画面中能调出另一个画面,另一个画面中画面窗口控件中的画面是特定的,怎么实现?
我想先打开一个画面,再替换控件中的画面,因为控件中的画面不一定是我想要的那个.

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 11:49:00
6楼
多放几个画面窗体就可以了。

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-23 11:52:00
7楼
多放几个画面窗体? 能说具体点吗?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 12:11:00
8楼
我没有明白你的意思,什么叫“另一个画面中画面窗口控件中的画面是特定的”

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-23 13:26:00
9楼
换种说法解释,从一个画面A上的功能按钮可以切换它的画面窗口的画面,这些功能按钮在另外一个画面B也有,要实现从画面B上的按钮切换到画面A,且切过来时画面窗口里显示的是与功能按钮相对应的画面.
不知道我说的清楚了吗?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 13:47:00
10楼
这种方式的切换一般使用以下2种方法:
1 在每个画面上都组态按钮,每个按钮对应不同的事件。
2 在画面窗体的下方放置按钮,每个按钮的事件中加入判断当前画面的程序,这个很容易实现,使用CASE语句就可以了。

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-23 15:00:00
11楼
小女初学者,还是很迷糊。
您说的方法一,比如上面说的B画面的按钮,该如何组态呢?
方法二,画面窗体的下方放置按钮,是不是要点击按钮,那要实现从画面B到A画面的同时自动判断并切换到所需画面窗口,能行吗?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-23 15:20:00
12楼
方法一:在A画面放置按钮,组态动作为:点击该按钮打开B画面
        在B画面放置按钮,组态动作为:点击该按钮打开A画面
方法二:当前画面为A画面时,该按钮的标志位为TRUE,此时按钮脚本应该是只允许从B画面切换到A画面
当前画面为B画面时,该按钮的标志位为FALSE,此时按钮脚本应该是只允许从A画面切换到B画面,对于2个画面来说,检查标志位可以使用IF条件判断语句,但是如果是多个画面进行切换时,使用IF语句将使程序变的繁琐同时可读性很差,不易于程序的维护,此时可以通过设立一个整数变量来对应于你的画面,如:当画面A时,此时整数变量值为1,画面B时,此时整数变量值为2,画面C时,此时整数变量值为3,依此类推,然后使用CASE语句进行画面的判断。

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-24 09:19:00
13楼
看起来很复杂啊,不太明白。我要实现从B画面的按钮切到A画面的时候,能同时让A中画面窗口控件的图显示为对应的,(A中画面窗口控件的图可能是空或者默认成其他图)。你所说的按钮是在哪画面?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9793回
  • 年度积分:1388
  • 历史总积分:38345
  • 注册:2005年4月22日
发表于:2006-05-24 09:31:00
14楼
看来你得基础非常得差,建议好好看看wincc组态手册2后再组态类似项目。如果还有什么不懂得话,你可以加入QQ群24364816进行探讨,该群仅讨论wincc问题

多多&nancy

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年5月22日
发表于:2006-05-24 11:30:00
15楼
非常感谢!就是刚入门的小女。

fengle

  • 精华:0帖
  • 求助:0帖
  • 帖子:44帖 | 85回
  • 年度积分:0
  • 历史总积分:267
  • 注册:2007年8月30日
发表于:2007-08-30 13:13:00
16楼
    我看了这个帖子,我也遇到了这个问题.以前我是做C++编程的.现在刚刚学wincc,上面阐述的道理我都能明白.但是用vb实现你上面写的代码.为什么不能打开我的新窗体呢.我只是想想通过A窗体上的按钮打开B窗体.我什么上面的代码不好使呢? 

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:190帖 | 1598回
  • 年度积分:0
  • 历史总积分:1093
  • 注册:2004年7月08日
发表于:2007-08-30 17:20:00
17楼
打开画面
OpenPicture("xxx.pdl");

fengle

  • 精华:0帖
  • 求助:0帖
  • 帖子:44帖 | 85回
  • 年度积分:0
  • 历史总积分:267
  • 注册:2007年8月30日
发表于:2007-08-31 08:17:00
18楼
 哦 这个函数是C语言的,因为我要对数据库操作,所以我使用的是VB 脚本,有没有vb的打开窗体的函数呢

hantian0739

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2006年10月25日
发表于:2007-09-11 17:07:00
19楼
说白了就是画中画,一个画面里面的画面窗口控件,要是在这个子画面中切换到别的画面好像不行

相关主题

官方公众号

智造工程师