3000毫秒等于多少分钟 1分钟等于多少毫秒( 二 )


DATE_AND_TIME类型是日期和时间组合的数据,最小单位为秒,起始时间1970年1月1日12:00AM 。数据格式为:DT#YY-MM-DD-HH:mm:ss 。其中:DT表示DATE_AND_TIME常数起始,#表示其后为立即数,YY表示年,MM表示月,DD表示日,HH表示小时,mm表示分,ss表示秒 。如1970-1-2-13:30:30,表示1970年1月2日13点30分30秒 。
写个模拟程序如下图:把时间存储到DWORD里看每个字节是怎么显示的 。如下图程序,time类型无法直接赋值给DWORD,所以需要指令DT_TO_DWORD,进行转换 。
让程序运行起来,给datTime赋值1970-01-02-00:01,如下图,DWORD数据结构dwTime里存储的32位16进制数为00 01 51 BC;转换为10进制数是86460,而我输入的1970-01-02-00:01比起始时间1970-01-01大1天1分钟,最小单位为s,也就是86460s,所以dwTime里存储的为dTIME最小单位表示的数字 。项目里把32位16进制数00 01 51 BC发给西门子模块就可以,西门子再把它转换为时间就可以了 。
总结一下1970-01-02-00:01的数据存储结构如下图:
第三步:西门子侧技术西门子的数据结构和Codesys平台有些不同,比如DATE_AND_TIME数据结构是下图这样的,转换时候还是要注意下,这里不多说西门子的,以后单独写西门子的数据结构 。
最后,时间和日期的数据结构,到此就研究差不多了,不同型号的设备都大同小异,原理都一样,上面西门子的数据结构不同,原理也是一样的,只不过分了不同的字节存储不同的数据 。有问题可以评论区问我 。

推荐阅读