再次求助:关于温控曲线控件,jjq大侠请进! 点击:1133 | 回复:6



泡泡阿牛

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 0回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2005年6月05日
发表于:2005-06-08 21:38:00
楼主
您好,我是上次那个询问温控曲线控件问题的人。 运用组态王时,根据用户要求做了一个温控画面中,插入了温控曲线控件,定义了一个时间偏移变量,在“应用程序命令语言”中定义每过1秒该变量加1,在温控曲线上显示该时间的温度设定值和实际值。 因为工程文件较大,点数较多,所以不方便打包寄给您,现将程序写下寻求指教。程序是编写在“画面命令语言”的“存在时”中,"Ctrl15"是温度控件的名称。 ************************************************************************* if((\\本站点\C361五槽炉继电器开关==1)&&(\\本站点\五槽炉温控手自动切换==1)) {if(\\本站点\时间偏移量1==0) { pvClear( "Ctrl15", 0 ); pvClear( "Ctrl15", 1 ); \\本站点\工程路径1=InfoAppDir()+"SetSave.csv"; pvLoadData( "Ctrl15",\\本站点\工程路径1,"SetValue");} \\本站点\时间偏移量1=\\本站点\时间偏移量1+1; pvGetValue( "Ctrl15",\\本站点\时间偏移量1,\\本站点\C361五槽炉设定温度T, "SetValue" ); pvAddNewRealPt( "Ctrl15",1,\\本站点\C361五槽炉温度,"RV_TIME"); \\本站点\C361五槽炉温度=\\本站点\C361五槽炉温度*1.0; } if(\\本站点\五槽炉温控手自动切换==0) { \\本站点\C361五槽炉T=\\本站点\C361五槽炉T; \\本站点\时间偏移量1=\\本站点\时间偏移量1; } *************************************************************************** 在调试中发现只有当温控画面一直为当前画面的时候,温控曲线才显示正常,如运行到第90秒时切换至工程其他画面,过60秒后再回到温控画面,曲线应该随着时间偏移量的增加显示到第150秒往后,可实际上曲线是从刚才第90秒往后,并未和时间偏移量保持同步,这样就无法完成温控的要求。 画面切换时我用的是按钮,按下按钮时使用函数ShowPicture("画面名称");检查了编写的程序,发现程序按照例子是编写在“画面命令语言”的“存在时”中,后尝试把这段程序写到“应用程序命令语言”的“运行时”中,这样程序的运行就不受画面状态的影响,但是运行时信息窗口就提示找不到温度控件。根据您的提示,在“应用程序命令语言”中加上showpicture("画面名称");运行时不再提示找不到温度控件,但是执行还是不对,所以想请您再指点一下。工程调试日期将近,此问题仍然无法解决,很是苦恼,希望得到您的帮助,不知您是否可以把您以前做的关于温控曲线的例子,或者编写的程序发给我,我的邮箱是paopaoeniu@sina.com,qq号24784827,网易泡泡id:zhuangji1980,希望尽快得到您的指点,感激不尽!



达西

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2005年10月25日
发表于:2006-03-19 09:56:00
1楼
你把温控曲线的画面改小点试一试,不要全屏
别的画面也不要全屏,改小一点点...
我现在觉得组态王用的很莫名其妙
QQ29947499

达西

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2005年10月25日
发表于:2006-03-19 09:58:00
2楼
QQ:29947499  

lychang67

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 163回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2001年2月12日
发表于:2006-03-20 12:13:00
3楼
当然如此了啊,“画面命令语言”是个局部程序,只有这个画面是当前画面工作才正常。

故应将这段程序放到应用程序中间去,这样,不论你的当前画面是哪个,这段程序都会执行了。

jjq

  • 精华:2帖
  • 求助:0帖
  • 帖子:30帖 | 1390回
  • 年度积分:0
  • 历史总积分:1859
  • 注册:2003年10月28日
发表于:2006-03-20 12:53:00
4楼
楼上的说的很对
我早把我做的工程发给你了啊

达西

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2005年10月25日
发表于:2006-03-22 15:14:00
5楼
将这段程序放到应用程序中间,那当然是会运行.

但 写在 画面命令语言 存在时 一样可以运行 .

前段时间我也碰到这样的问题,后来总算解决了.

建议: 
1. 每个画面都改小一点,不要全屏

2. 不要勾选 画面属性中的 大小可变和标题扞 边框为 无

可能这些看起来好像和所说的问题完全不相关.但这的确是前段时间"实践"的总结,你可以试一下. 也可能是我也没有找到真正的原因,有知道的朋友请谈谈...
我QQ29947499 


透明了

  • 精华:0帖
  • 求助:0帖
  • 帖子:60帖 | 325回
  • 年度积分:0
  • 历史总积分:521
  • 注册:2005年3月29日
发表于:2006-04-03 13:22:00
6楼
我也碰到过这种情况,用的跟 lychang67说得方法一样解决了。不过楼上的方法更有意思,挺好玩,呵呵

热门招聘
相关主题

官方公众号

智造工程师