先生成定时器DB,然后在引脚绑定变量,在西门子PLC中,DINT和TIME之间可以隐含转化。
第一种方法:触摸屏元件设置成DINT类型
数值元件资料格式为32-bit Signed,对应PLC中即为DINT类型。小数点以下没有位数。这是我们测试一下时间运行及剩余时间显示,看有没有问题。 此时我们输入5进去,认为是5秒,但实际上到达定时器引脚的时候只是5ms。
那我们可以想想办法:将触摸屏上的元件小数点以下改成3位。这样的话我们输入5.5进去的时候,在PLC内部就会是5500ms,也就是5S_500MS。
但这样也会存在弊端,就是无论是设定时间还是剩余时间,都必须是小数点后三位。相当于通过修改HMI元件的位数来改变输入PLC内部时数据的大小。那我们看看第二种办法。
第二种方法:触摸屏元件设置成REAL类型
程序内部变量也设置成REAL类型。
这时就会看到设定时间已经OK了,但是剩余时间显示还是不尽如人意。
所以需要对剩余时间进行除以1000的操作。
但触摸屏呈现出来的效果是剩余时间没办法显示出来小数点以下位数的变化了。这是由于DINT类型在转REAL类型时,PLC内容精度缺失了,需要我们人为进行数据类型转化。
这里注意:一定是先进行数据类型转化再除以1000。先将DINT转化为REAL,这样可以保留小数位数,然后再除1000,即可显示出小数点以下的位数了。
举个例子: 如果是先除以1000再转化,有可能数据为1500,除以1000变成1.5,但由于是DINT类型会将小数点抹去,数据精度丢失编程1,那这时候再转化成REAL类型就还是1,没有任何意义!文章来源:https://www.toymoban.com/news/detail-519555.html
现在即可完美实现最终的显示效果,小数点后面的位数也可随意调整,不会影响数据大小。文章来源地址https://www.toymoban.com/news/detail-519555.html
到了这里,关于西门子1200PLC如何在威纶通HMI上进行时间显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!