优秀的编程知识分享平台

网站首页 > 技术文章 正文

三菱Q系列PLC,年、月、日转换成连续的字符串

nanyue 2024-10-25 13:17:05 技术文章 9 ℃

想要实现年、月、日转换成字符串,比如2022年9月7日,要转换成20220907存到PLC寄存器中,是如何实现的呢,本期文章为您解答。

一、首先用DATARD指令读出系统当前时间,我们将把这个时间转换成字符串。

读取完成后,年、月、日的十进制数值将保存在D100、D101、D102中,分别为2022,9,7,后面的分别为时、分、秒和星期

二、将年、月、日的十进制数据,转换成ASCII,用BINDA指令进行转换,因为是分别转换,每个结果占用6个字符,3个字地址进行存储。

特别要注意的是,月和日期转换完成,并不会添加0到前面,所以后面需要添加0到空位。

三、分别用WTOB指令,将年、月、日的字符串分别成字节保存,以方便移动数据

转换完数据如下:

可以看出字符串并不连续,需要进行调整,并且9和7前面并没有0,所以需要添加0到9和7前面。

这里做个判断,如果9和7前面存储的数字不显示0到9,则传输H30(ASCII为0)进去,这样09、07就出来了

四、把2022、09、07移动到连续地址中,使用BTOW指令重新合并成连续的字符串

最后的结果

总结:年月日转换成字符串,主要就是“0”的添加,大家在写程序中要注意,其次就是WTOB指令和BTOW指令的理解。这些都明白了,剩下的就交给天意吧!

是不是很简单呢,完整程序如下:

Tags:

最近发表
标签列表