WINCC中点动按钮的做法 点击:7097 | 回复:6



春华★秋实

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2008-01-23 15:42:00
楼主
刚学VB,希望大虾们指点...  谢谢!

一般情况下,也许我们都是在鼠标按下时写一条语句,然后在鼠标松开时写一条语句,这样就可以做到“点动”。以下这种方法不知道用的多不:
1、先在全局脚本编写一工程模块,如下:
Sub Pause(PauseTime)
Dim Start
Start=Timer
Do While Timer<Start+PauseTime
Loop
End Sub
2、在按钮/事件/鼠标动作下写一VBS脚本,如下:
HMIRuntime.Tags("位号").Write 1
Pause  时间值      //单位是秒
                   //引用全局脚本函数
HMIRuntime.Tags("位号").Write 0

如此,输出的时间就可以控制了。



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-01-23 16:06:00
1楼
呵呵,这似乎不是真正意义上的点动哦,这只能算发脉冲而已啦。
点动应该是按钮按下对变量置1,按钮释放中对变量置0.
另外,如果要使用触发脉冲的话,可以使用API函数来调用,单位为ms,不过似乎这样的脉冲发送没有太大的意义,占用系统资源。

以上!

Good Luck!

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2008-01-24 08:40:00
2楼
多谢yuanle!!
我担心这个:如果操作员鼠标点击和释放的很快,PLC的输出时间是不是就会很短?这样能确保控制回路动作吗?

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2008-01-24 08:50:00
3楼
下面引用由春华★秋实在 2008-1-24 8:40:00 发表的内容:
  多谢yuanle!!<br>我担心这个:如果操作员鼠标点击和释放的很快,PLC的输出时间是不是就会很短?这样能确保…
--------------------------------------------------------------------------------------------
這一點敬請放心,短暫的動作時間已經足以觸發回路動作。

因您使用固定時間作為脈沖之寬度,因此不能算是點動,因用戶有時需要較長時間的按動點動按鈕讓執行機構動作,因此您這樣做可能會引發執行機構出現動作震蕩,這一點需要您在具體實施中注意使用場合,因這是論壇,我也只是表達一下我的看法而已。如有不當之處,敬請指點!

以上!

Good Luck!

死亡骑士

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1774回
  • 年度积分:0
  • 历史总积分:2630
  • 注册:2006年7月17日
发表于:2009-06-03 21:37:32
4楼
楼上的说的好

m603601175

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2008年9月30日
发表于:2009-10-25 11:37:25
5楼

其实只要组态鼠标按下为1,鼠标释放为0。

demonheart

  • 精华:0帖
  • 求助:3帖
  • 帖子:23帖 | 22回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2009年7月21日
发表于:2011-12-02 16:46:52
6楼
5楼正解,WINCC鼠标左键有按下=1,释放=0。定义2次即可;但谁知道一个按钮点一下置1,再点下置怎么弄?量个按钮重叠的办法就算了。

热门招聘
相关主题

官方公众号

智造工程师