语言4位bcd码怎么加加_S7300400如何使用SCL语言调用SFC1(READ_CLK)读取日期和时间?...
系统功能 SFC1 用于读取 CPU 的系统时钟。系统时钟存储在数据类型为DATE_AND_TIME的变量里。通过指针访问系统时钟的单个组成元素。
数据类型DATE_AND_TIME所包含的关于年、月、日、时等信息是以 BCD 码的格式存储在 8 个字节里。该数据类型显示的范围是:
DT#1990-1-1-0:0:0.0 到 DT#2089-12-31-23:59:59.999
下表给出了实例表示 2014 年1月 2 日,星期四,3点 5 分 11.854 秒对应数据类型DATE_AND_TIME的每个字节所包含的内容。
DATE_AND_TIME为64位复杂数据类型
绝对地址 | 内容 | 例子 |
字节0 | 年 | B#16#14 |
字节1 | 月 | B#16#01 |
字节2 | 日 | B#16#02 |
字节3 | 小时 | B#16#03 |
字节4 | 分钟 | B#16#05 |
字节5 | 秒 | B#16#11 |
字节6+字节7高4位* (字6) |
毫秒 | W#16#8545 |
字节7 (低四位*) |
星期: 1:星期日 2:星期一 3:星期二 4:星期三 5:星期四 6:星期五 7:星期六 |
B#16#45 |
*毫秒最大值999的BCD码需要占用12位。因此,毫秒值占用字节6以及字节7的高4位。字节7的剩下低4位用于表示星期。
用SFC1 (READ_CLK)读取系统时钟的说明:
案例:
打开SCL软件在静态变量里定义 一个DATE_AND_TIME数据类型的变量
利用‘AT’继承将64位时间变量拆分出来
AT指令可以使用户能够以不同的数据类型来访问一个已经声明的变量。此指令类似于高级编程语言中的“继承”概念。此指令有如下特点:
特点一:定义仅在块内有效,在接口参数中不出现。
特点二:在块中可以使用其他数据类型的视图。
特点三:它只是让另外一些变量继承了某个变量的特性,仅仅数据类型是新的,其他特性相同。
如果使用全部的时间,例如进行WINCC面板显示可以直接使用''DAT''变量。
如果使用单个时间就可以使用拆分后的时间
这里有个小技巧:
因为我们上面说到毫秒值占用字节6以及字节7的高4位。星期占用字节7的剩下低4位。
那如何将一个16位字拆分成12位和4位呢?
这里我们可以利用“与”的方式
MB52 := WORD_TO_BYTE(TMP_DAT.Q7 AND 16#FFF0)
“与”16#FFF0不就是“与”2#1111111111110000正好提取出12位出来
完整代码:
语言4位bcd码怎么加加_S7300400如何使用SCL语言调用SFC1(READ_CLK)读取日期和时间?...相关推荐
- C语言4位BCD码加法器,bcd码加法器
BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码.用4位二进制数来表示1位十进制数中的0~9这10个数码.是一种二进制的数字编码形式,用二进制编码的十进制代码.B ...
- 单片机(keil c51):BCD码转化为二进制(以4位BCD码举例,依此类推)
BCD码转化为二进制 原理: 一个BCD码表示0~9,所以一个BCD码的取值范围为0000~1001. 在机器里所有的数都是按照二进制存入的,所以只需将BCD码转换为十进制即可. 4位BCD码可以表示 ...
- 8086汇编4位bcd码_[走近FPGA]之二进制转BCD码
注:本文由不愿透露姓名的 @Bulingxx 撰写.以下为正文. 在上一篇文章中介绍了数码管如何在FPGA开发板上实现动态显示,其文章链接如下: 人生状态机:[走近FPGA]之数码管动态显示zhua ...
- 8086汇编4位bcd码_51单片机用汇编语言实现BCD码转换
一.BCD码简介: BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码.用4位二进制数来表示1位十进制数中的0~9这10个数码.是一种二进制的数字编码形式,用二进制 ...
- scl语言用plc脉冲做定时器_西门子PLC中使用SCL语言编程的技巧
中使用 SCL 语言编程的技巧 前言:两年半前我就在工控网上发表了有关 SCL 编程的知识 << 在 S7300400 型 PLC 中使用高级语言编程 >>, 但发表完 后,即 ...
- 8086汇编4位bcd码_逆向工程——汇编基础[一]
什么是汇编 汇编语言是一种最接近计算机核心的编码语言.不同于任何高级语言,汇编语言几乎可以完全和机器语言一一对应. 汇编语言就是机器语言的一种可以被人读懂的形式,只不过它更容易记忆. 学习汇编语言,你 ...
- 8086汇编4位bcd码_238期中4头3尾,排列五第19239期爱我彩规
爱我彩规 专业研究(七星彩.排列五) 前四位的铁码与定位规,有幸开通爱我彩规公众号,努力为大家提供稳定的号码参考.作者微信号awc1125. 逢星期二和星期天不在彩码课堂公众号转发,因星期二和星期天 ...
- c语言float转bcd码
//基于查表实现BCD与Ascii之间的转换 static uint8_t bcd2ascii[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', ...
- 8086汇编4位bcd码_汇编语言--在屏幕上显示名字
在屏幕上显示名字 方法一 stack segment a db 10 dup(?) stack endsdata segment string db 'lihaifeng',0dh,0ah, '$' ...
最新文章
- ava RMI 框架(远程方法调用)
- iOS学习笔记---oc语言第八天
- Android Studio设置
- 分布式、集群的概念、区别
- 循环首次适应算法_遗传算法 | 了解底层, 摆脱工具箱
- [转]HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。
- 在TFS2013上删除项目
- java怎么求偏态函数_树的不同形态
- int型整数的数值范围
- Andorid开发中好用的库
- c语言程序电压采样,单片机电压采集装置课程设计(AD转换及编程实现).doc
- serverless入门介绍
- Android 图片压缩方案
- Power bi 1.5连接Oracle
- 探索人机未来:人机融合智能
- K_A04_001 基于单片机驱动LCD1602字符滚动显示(8位并行+IIC通信)
- 服务器修复oxc0000098,Win10引导文件BCD文件误删或损坏启动错误0xc0000098的解决方法...
- word文档中的勾怎样打
- Android开发之NFC介绍及应用
- 分销小程序开发教你如何分清分销商和代理商