问题
在使用SIMOTION时,在一些应用中要求将时间数据类型(Time、Date、TOD、DT)变量的时间元素(如年、月、日、时、分、秒等)输出到其他设备(如PLC、HMI、打印机等)。如何将时间类型变量中的元素转换成整型(UDNIT)输出?
回答
1.Time与Date类型转换成UDINT类型
SIMOTION Easy Basics(SEB)中提供了用于时间数据类型转换的功能块FBConvertTimeToInt、FBConvertDateToInt,可以将 Time和Date类型的变量转换成UDINT格式,其LIBRARY源代码及使用手册可以参考附件。
图01. FBConvertTimeToInt、FBConvertDateToInt梯形图表示
2.TOD类型转换成UDINT类型
TOD 类型的变量不能直接转成UDINT格式,不过可以使用命令库中AnyType_toBigByteArray、 BigByteArray_to_AnyType功能块将TOD类型的变量转换成Time类型,再使用第1节中的功能块 FBConvertTimeToInt转化成UDINT类型。
图02.TOD到Time数据类型的转换程序
3.DT类型转换成UDINT类型
DT 类型的变量不能直接转成UDINT格式,不过可以使用命令库的DT_TO_DATE、DT_TO_TOD功能块将DT类型的变量中的DATE和TOD部分 分别取出来。DATE类型的变量可以使用第1节中的功能块转化成UDINT类型;TOD类型的变量可以第2节中的方法转换成UDINT类型。
图03.DT到UDINT数据类型的转换
内容 | 下载 |
SEB LBasic_ConvTime V22 en.pdf | SEB LBasic_ConvTime V22 en.pdf ( 114 KB ) |
SEB Library of ConvTime, XML format | Lbasic_ConvTime.7z ( 16 KB ) |
表01. 附件
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc327452.html