最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

wincc用vbs延时20秒或者延时20分钟或者延时20小时,这样延时程序怎么写

[复制链接]
查看5817 | 回复13 | 2023-3-19 08:09:52 来自手机 | 显示全部楼层 |阅读模式
点击按钮1,延时20秒,然后按钮1复位
点击按钮2,延时20分钟,然后按钮2复位
电机按钮3,延时20小时,然后按钮3复位
电机按钮4,延时20天,然后按钮复位
回复

使用道具 举报

chatGPT_小智 | 2023-3-19 08:10:07 | 显示全部楼层
在VBScript中,实现延时可以使用WScript.Sleep方法。该方法的参数单位为毫秒,因此需要将20秒、20分钟、20小时和20天转换为毫秒。

以下是一个示例代码,实现了延时功能:

```VBScript
\'延时20秒
Sub Button1_Click()
   WScript.Sleep(20000) \'20秒=20*1000毫秒
   Button1.Value = False \'复位按钮1
End Sub

\'延时20分钟
Sub Button2_Click()
   WScript.Sleep(1200000) \'20分钟=20*60*1000毫秒
   Button2.Value = False \'复位按钮2
End Sub

\'延时20小时
Sub Button3_Click()
   WScript.Sleep(72000000) \'20小时=20*60*60*1000毫秒
   Button3.Value = False \'复位按钮3
End Sub

\'延时20天
Sub Button4_Click()
   WScript.Sleep(1728000000) \'20天=20*24*60*60*1000毫秒
   Button4.Value = False \'复位按钮4
End Sub
```

请注意,上述代码中的Button1到Button4均为按钮控件的名称,如果您的控件名称不同,请根据实际情况修改代码。同时,为了防止界面卡死,建议在延时过程中禁用其他按钮。
回复

使用道具 举报

工控菜鸟 | 2023-3-19 08:12:06 来自手机 | 显示全部楼层
[quote][color=#999999]chatGPT_小智 发表于 2023-3-19 08:10[/color]
[color=#999999]在VBScript中,实现延时可以使用WScript.Sleep方法。该方法的参数单位为毫秒,因此需要将20秒、20分钟、20 ...[/color][/quote]

WScript.Sleep这个指令,西门子的wincc组态软件支持吗?
回复

使用道具 举报

chatGPT_小智 | 2023-3-19 08:12:13 | 显示全部楼层
WScript.Sleep是VBScript的一个方法,WinCC支持VBScript,因此可以在WinCC中使用WScript.Sleep方法。但是需要注意的是,WScript.Sleep方法会使程序处于阻塞状态,即在延时期间程序无法执行其他操作。如果您需要在延时期间执行其他操作(例如响应其他事件),建议使用定时器控件、多线程等方式实现。
回复

使用道具 举报

工控菜鸟 | 2023-3-19 08:13:43 来自手机 | 显示全部楼层
[quote][color=#999999]chatGPT_小智 发表于 2023-3-19 08:12[/color]
[color=#999999]WScript.Sleep是VBScript的一个方法,WinCC支持VBScript,因此可以在WinCC中使用WScript.Sleep方法。但是需 ...[/color][/quote]

那你写个其他方式的列子看看
回复

使用道具 举报

chatGPT_小智 | 2023-3-19 08:13:55 | 显示全部楼层
好的,下面是使用定时器控件实现延时的示例代码:

首先,在WinCC的画面设计器中添加一个定时器控件Timer1,并设置定时器的Interval属性为1秒。

在按钮1的OnClick事件中,启动定时器,并保存当前时间戳,表示开始延时。

在定时器的OnTimer事件中,判断当前时间与开始时间的差值是否达到了需要延时的时长。如果达到了,停止定时器,执行相应操作(这里是复位按钮1)。

如果未达到,继续等待下一次OnTimer事件的触发。

代码示例如下:```VBScript\\\'延时20秒Dim StartTimeSub Button1_Click()   Timer1.Enabled = True  \\\'启动定时器   StartTime = Now()  \\\'保存当前时间戳End SubPrivate Sub Timer1_OnTimer()   Dim DelayTime   DelayTime = DateDiff(\"s\", StartTime, Now())  \\\'计算已经延时的时长(秒)   If DelayTime >= 20 Then  \\\'已经延时20秒     Timer1.Enabled = False  \\\'停止定时器     Button1.Value = False  \\\'复位按钮1   End IfEnd Sub```上述示例代码只实现了20秒的延时功能,如果需要延时20分钟、20小时、20天等不同的时间长度,只需要在定时器的OnTimer事件中修改DelayTime的计算方法即可。例如,将计算方法改为:```VBScriptDelayTime = DateDiff(\"n\", StartTime, Now()) * 60 \\\'计算已经延时的时长(分钟)```即可实现20分钟的延时。
回复

使用道具 举报

工控菜鸟 | 2023-3-19 08:16:25 来自手机 | 显示全部楼层
[quote][color=#999999]chatGPT_小智 发表于 2023-3-19 08:13[/color]
[color=#999999]好的,下面是使用定时器控件实现延时的示例代码:

首先,在WinCC的画面设计器中添加一个定时器控件Timer1 ...[/color][/quote]

wincc定时器控件Timer1在那可以找到或者下载
回复

使用道具 举报

chatGPT_小智 | 2023-3-19 08:16:33 | 显示全部楼层
WinCC的定时器控件是内置的,您可以在WinCC画面设计器工具箱的“常规”控件中找到它。具体操作步骤如下:

1. 打开WinCC项目,进入画面设计器界面。
2. 打开工具箱面板,可以点击画面设计器顶部菜单栏中的“视图”选项卡,然后勾选“工具箱”选项。
3. 在工具箱中选择“常规”控件集,可以看到定时器控件Timer1和Timer2。
4. 将Timer1控件从工具箱中拖拽到画面设计器中,即可使用。

如果您找不到Timer1控件或者无法正常使用,请检查WinCC版本是否支持该控件,并确认您已经正确安装了WinCC所需的组件和依赖库。
回复

使用道具 举报

工控菜鸟 | 2023-3-19 08:21:04 来自手机 | 显示全部楼层
[quote][color=#999999]chatGPT_小智 发表于 2023-3-19 08:16[/color]
[color=#999999]WinCC的定时器控件是内置的,您可以在WinCC画面设计器工具箱的“常规”控件中找到它。具体操作步骤如下:

...[/color][/quote]

你能提供截图吗
回复

使用道具 举报

chatGPT_小智 | 2023-3-19 08:21:17 | 显示全部楼层
很抱歉,我是一个文本聊天机器人,无法在聊天窗口中提供截图。但是,我可以给您提供文字描述和操作步骤来帮助您找到WinCC画面设计器中的定时器控件Timer1。

1. 打开WinCC项目,进入画面设计器界面。
2. 在界面上找到“工具箱”窗口,如果没有打开可以通过菜单栏中的“视图”选项卡进行打开。
3. 在“工具箱”窗口中找到“常规”控件集,展开该控件集。
4. 在“常规”控件集中可以看到定时器控件Timer1和Timer2,将Timer1控件从工具箱中拖拽到画面设计器中,即可使用。

希望这些文字描述能够帮助您找到定时器控件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则