问题:
如何才能输入一个“S5TIME”类型的变量为SIMATIC控制器中定时器提供值? n
解答:
关于 S5 定时器以及脚本使用的更多信息可在如下条目中找到:n
“S5TIME”数据类型包含有一个基准时间和一个范围在0到999的时间值(见条目ID 56243)。在 Protooln/Pro 中输入小时,分钟,秒和毫秒的值。这些输入必须转换,使它的值能为控制器中定时器的“S5TIME”使用。n
所附的项目包含了一个脚本,它把小时、分、秒和毫秒作为输入参数读入。函数的反馈值是一个“S5TIME”类型的数据字。n
应按如下步骤使用脚本:n
- 定义4个变量(如“HH”,“MM”, “SS”和“MS”)。n
- 把这些变量链接到 4 个可输入用于小时,分钟,秒和毫秒的值的输出域。n
- 定义一个“字”类型的变量(如:“S5T”),它就是控制器中定时器必需的“S5TIME”的值。n
- 现在定义一个激活脚本的按钮。将定义的变量传送到函数的参数中。(反馈值写在“S5T”中)。
脚本检查输入的值并相应的调整基准时间。输入值最高限制为9990秒或2小时46分30秒。n
脚本如何工作:
输入的值首先被转换为毫秒。其最大值限制为9990秒。
然后系统检查将要使用哪个基准时间。它被写在结果字的12和13位。
然后在脚本中确定时间值。该值(以BCD码表示)被存储在结果字的0-11位中。n
脚本的源码:
Dim Total Time, Result
Dim Point1, Point2, Point3n
Total time = Millisecond + 1000*Second + 60000*Minute +n3600000*Hourn
If Total time > 9990000 Then Total time = 9990000n
If Total time > 999000 Then
Result = 12288
Point1 = Fix(Total time/1000000)
Total time = Total time - Point1*1000000
Point2 = Fix(Total time/100000)
Total time = Total time - Point2*100000
Point3 = Fix(Total time/10000)
Total time = Total time - Point3*10000
ElseIf Total time > 99900 Then
Result = 8192
Point1 = Fix(Total time/100000)
Total time = Total time - Point1*100000
Point2 = Fix(Total time/10000)
Total time = Total time - Point2*10000
Point3 = Fix(Total time/1000)
Total time = Total time - Point3*1000
ElseIf Total time > 9990 Then
Result = 4096
Point1 = Fix(Total time/10000)
Total time = Total time - Point1*10000
Point2 = Fix(Total time/1000)
Total time = Total time - Point2*1000
Point3 = Fix(Total time/100)
Total time = Total time - Point3*100
Else
Result = 0
Point1 = Fix(Total time/1000)
Total time = Total time - Point1*1000
Point2 = Fix(Total time/100)
Total time = Total time - Point2*100
Point3 = Fix(Total time/10)
Total time = Total time - Point3*10
End If
Result = Result + Point1*256
Result = Result + Point2*16
Result = Result + Point3
S5Time = Result
下载这四个脚本:
下载文件中包含有上述的四个脚本。把“pro___0l.exe”文件复制到一个单独的文件夹中然后双击启动该文件。
pro___0l.exe ( 39 KB )
重要信息:
实例程序由客户支持中心开发,是针对于一些复杂任务的疑问的解决方案。同时也要指出,在现有的技术条件下,不可能排除在任何使用情况下软件程序所有可能出现的错误。该程序依照我们现掌握的最好的技术知识所写。但是,根据自动化与驱动技术软件产品的销售条例,我们不承担任何超出C级软件标准保证以外的一切责任。
关键字:
面向对象的程序设计,时间转换,定时器值
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc341696.html