最新提现记录

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

帮我写一个西门子WINCC VBS脚本

[复制链接]
查看1740 | 回复5 | 2023-4-7 11:33:04 | 显示全部楼层 |阅读模式
要求如下:
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px] 1.当前值-目标值大于80自动选择微调1输出 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]2.当前值-目标值小于80大于30自动选择微调2输出 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]3.当前值-目标值小于30且大于10自动选择微调3输出 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]4.当前值-目标值小于10自动选择参数4输出 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]5.当前值/目标值×参数1+参数1+参数4 为=微调1 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]6.当前值/目标值×参数2+参数2+参数4 为=微调2 [/size][/font][/backcolor][/color]
[color=#3c3c3c][backcolor=rgb(158, 234, 106)][font=&quot][size=15px]7.当前值/目标值×参数3+参数3+参数4 为=微调3[/size][/font][/backcolor][/color]
回复

使用道具 举报

chatGPT_小柔 | 2023-4-7 11:33:48 | 显示全部楼层
以下是一个参考代码:

[code]\'获取当前值和目标值
currentValue = HMIRuntime.Tags(\"CurrentValue\").Read()
targetValue = HMIRuntime.Tags(\"TargetValue\").Read()

\'获取参数值
param1 = HMIRuntime.Tags(\"Parameter1\").Read()
param2 = HMIRuntime.Tags(\"Parameter2\").Read()
param3 = HMIRuntime.Tags(\"Parameter3\").Read()
param4 = HMIRuntime.Tags(\"Parameter4\").Read()

\'计算微调值
adjustment1 = currentvalue / targetValue * param1 + param1 + param4
adjustment2 = currentvalue / targetValue * param2 + param2 + param4
adjustment3 = currentvalue / targetValue * param3 + param3 + param4

\'根据条件选择输出
if currentValue - targetValue > 80 then
    HMIRuntime.Tags(\"Output\").Write(adjustment1)
elseif currentValue - targetValue > 30 and currentValue - targetValue <= 80 then
    HMIRuntime.Tags(\"Output\").Write(adjustment2)
elseif currentValue - targetValue > 10 and currentValue - targetValue <= 30 then
    HMIRuntime.Tags(\"Output\").Write(adjustment3)
elseif currentValue - targetValue <= 10 then
    HMIRuntime.Tags(\"Output\").Write(param4)
end if[/code]

请注意,此脚本仅为参考,具体实现可能需要根据您的实际情况进行调整。
回复

使用道具 举报

ygk12315 | 2023-4-8 15:09:19 | 显示全部楼层
缺少启动脚本条件
回复

使用道具 举报

chatGPT_小柔 | 2023-4-8 15:10:16 | 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=2627&ptid=1207][color=#999999]ygk12315 发表于 2023-04-08 15:09[/color][/url][/size]
缺少启动脚本条件[/quote]

您好,确实在我的回答中缺少启动脚本的条件。一般情况下,WINCC VBS脚本可以在以下情况下启动:

1. 页面打开时:在页面的VBScript事件中添加你的脚本代码,然后当该页面被打开时,脚本就会被执行。

2. 值发生变化时:在Tag的VBScript事件中添加你的脚本代码,然后当该Tag的值发生变化时,脚本就会被执行。

3. 定时任务:使用WINCC提供的定时器功能,在定时器事件中添加你的脚本代码,然后根据定时器的配置,脚本会按照设定的时间周期性执行。

您可以根据您的实际需求,选择合适的启动方式来运行脚本。
回复

使用道具 举报

ygk12315 | 2023-4-8 15:15:43 | 显示全部楼层
在WINCC画面上做一个启动按钮1为脚本启动条件,循环执行程序0为脚本停止条件
回复

使用道具 举报

chatGPT_小柔 | 2023-4-8 15:16:41 | 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=2629&ptid=1207][color=#999999]ygk12315 发表于 2023-04-08 15:15[/color][/url][/size]
在WINCC画面上做一个启动按钮1为脚本启动条件,循环执 ...[/quote]

好的,您可以按照以下步骤来实现:

1. 在WINCC画面上添加一个按钮控件,并将其命名为“启动按钮”;
2. 在按钮的点击事件中编写脚本代码,以启动和停止循环执行程序。具体代码如下:

[code]Dim isRunning
isRunning = False

Sub StartProgram()
    isRunning = True
    Do While isRunning
        ' 这里添加你的循环执行程序的代码
        ' 例如:
        ' HMIRuntime.Tags("tag1").Write(1)
        ' Sleep(1000)
        ' HMIRuntime.Tags("tag1").Write(0)
        ' Sleep(1000)
    Loop
End Sub

Sub StopProgram()
    isRunning = False
End Sub[/code]

3. 将按钮的OnClick事件与StartProgram()和StopProgram()函数进行绑定,以便在按钮被点击时执行相应的函数。具体绑定方法如下:

- 单击启动按钮,在属性窗格中找到OnClick属性,然后双击其旁边的“=”符号。这将打开VBScript编辑器;
- 在编辑器中输入“StartProgram()”(不包括引号);单击“确定”保存脚本;
- 再次单击启动按钮,在属性窗格中找到OnClick属性,然后双击其旁边的“=”符号。这将再次打开VBScript编辑器;
- 在编辑器中输入“StopProgram()”(不包括引号);单击“确定”保存脚本。

完成上述步骤后,点击按钮后脚本将进入循环执行程序,并且在再次点击按钮之前将不会停止。同时,您可以根据实际情况修改StartProgram()函数中的代码,以适应您的需求。
回复

使用道具 举报

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

本版积分规则