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数据结构是下图这样的,转换时候还是要注意下,这里不多说西门子的,以后单独写西门子的数据结构 。
最后,时间和日期的数据结构,到此就研究差不多了,不同型号的设备都大同小异,原理都一样,上面西门子的数据结构不同,原理也是一样的,只不过分了不同的字节存储不同的数据 。有问题可以评论区问我 。
推荐阅读
- 1美元等于多少欧元怎么算 1美元等于多少欧元
- 苹果1tb等于多少gb 1tb等于多少gb
- 数学大于等于号怎么表示 大于等于号怎么表示
- 大于小于符号怎么打 大于等于符号怎么打
- 实木沙发3000元图价 – 实木沙发的组装步骤图
- 图片大小1m等于多少kb
- 光伏一兆瓦等于多少瓦
- 新车磨合期是指最初行驶的前3000公里吗
- 我来分享MathType输入大于等于号的操作方法 我来分享一下用治狐臭的过程
- 桑塔纳3000发动机号码在哪里能找到