西门子step7中bcd码与十六进制数的用法说明

来源:电工天下时间:2015-11-27 00:53:13 作者:老电工手机版>>

西门子step7中bcd码与十六进制数的用法

BCD码(Binary-Coded Decimal?6?0)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数。BCD码各位的数值范围为2#0000~2#1001,对应于十进制数0~9。BCD码不能使用十六进制的A~F(2#1010~2#1111)这6个数字。BCD码本质上是十进制数,因此相邻两位逢十进一。

BCD码的最高位二进制数是符号位,负数的符号位为1,正数为0。16位BCD码的范围为–999~+999。

下图的拨码开关将显示的数字转换为4位二进制数。plc用12个数字量输入点读取的是3位BCD码,它的值为2#1000 0010 1001,即十六进制数16#829。
西门子step7中bcd码与十六进制数

BCD码没有单独的表示方法,而是借用了十六进制的表示方法,因此二者很容易混淆。

下图是S7-300/400的BCD码和整数的相互转换指令,可以看到在指令中BCD码均用十六进制的形式表示。
西门子step7中bcd码与十六进制数

在程序中,如何判断一个数字是BCD码还是十六进制数?
 

1)看数据的来源和用途。BCD码一般用于输入和输出,例如来自拨码开关的数据是BCD码,送给显示电梯楼层的译码器芯片的是BCD码。

2)看手册的规定,例如数据类型DATE_AND_TIME中的日期和时间值是BCD码,计数器的预设值PV和当前计数值CV_BCD为BCD码。

怎样监视BCD码?
在变量表和程序状态监控中,用十六进制格式监视BCD码。

怎样输入BCD码?
从上图可以看出,BCD码用十六进制格式输入,其最高位(符号位)为16#F(2#1111)。BCD码的低3位各位只能是0~9,如果是16#A~16#F则会出错。
计数器的预设值PV是0~999的BCD码,可以用格式为C#的常数(C#1~C#999)作为计数器的预设值。

下图用MW42提供计数器的预设值PV,如果用MOVE指令将十进制数348(对应的十六进制数为16#15C)传送给MW42,进入RUN模式时,操作系统将它转换为BCD码时出错(16#15C不是BCD码),不能切换到RUN模式。

输入预设值348时,应改为将C#348传送给MW42,它会自动地变为W#16#348,当然也可以直接输入16#348。没有必要用I_BCD指令将348转换为BCD码W#16#348后,再传送给MW42。

西门子step7中bcd码与十六进制数

在看手册时说BCD码和16进制都可以用16#表示如果现在装载一个数<BR> L 16#296 如果是BCD码表示十进制296<BR> 如果是十六进制表示十进制663<BR> 系统是怎样区分那个数是BCD码还是十六进制的。

1、BCD 码是用2进制表示的十进制数,如果从最右端每4位转换成16进制数,则BCD 码也可以表示成16进制,例如:
16#123,转换成二进制应该是 2#0000 0001 0010 0011

2、系统是怎样区分那个数是BCD码还是十六进制的。
这取决于使用的指令。例如: STEP7 中S5 定时器中的设定值,就是BCD数,而不是16进制数。
指令的规定与设计在最初一旦被定下来之后,就不能再修改。例如同样是定时器, 在GE 90-30 的PLC 中,它的设定值就是10进制数,而不是16进制数。

3、在每一个指令中都有使用的数据类型的规定。在那里,你就知道该使用16进制数还是BCD码了,先列表如下:
WORD 可以是2进制数,或者16进制数,或者BCD码。
DWORD 可以是2进制数,或者16进制数,或者10进制数。

然而,INT , DINT 只能是10进制数或者16进制数。

参考出处:
STEP7 中的帮助,在索引项的"输入要查找的关键字"中输入: INT
PLC本身是不用区分的,在通讯的时候比较有用到;比如上位机采集200的时间的时候,200提供的是BCD码的时间;而上位机跟200对时的时候也需要给200BCD码的时间。

相关文章
  • 西门子S7-200中BCD码入门教程

    西门子S7-200中BCD码入门教程

    有关西门子s7-200的入门教程,BCD码是什么,其数据格式是什么样的,在s7-200编程中进程转换时,BCD码应该怎么操作,下面一起来学习下。

    时间:2021-10-23 06:56:47

  • 西门子step7绝对寻址与符号寻址的用法详解

    西门子step7绝对寻址与符号寻址的用法详解

    西门子step7绝对寻址与符号寻址的用法,可以通过此符号访问用户程序中的地址,绝对地址包含地址标识符和内存位置,如果将符号名分配给绝对地址,可以使程序更易读。

    时间:2020-11-17 09:18:04

  • 西门子STEP7 Micro WIN编程软件选项设置方法

    西门子STEP7 Micro WIN编程软件选项设置方法

    有关西门子step7 Micro WIN编程软件的选项设置方法,介绍了西门子STEP7 Micro WIN编程软件的选项设置步骤,教大家设置合理的参数选项,以方便自己的编程工作。

    时间:2020-04-23 11:31:46

  • 西门子step7功能块定时器参数说明图解

    西门子step7功能块定时器参数说明图解

    西门子step7功能块定时器参数说明,西门子step7的iec定时器的三种类型,接通延时定时器ton,记忆接通延时定时器tonr,断开延时定时器tof,西门子step7提供了10种定时器指令。

    时间:2020-04-23 10:49:53

  • 西门子step7基本指令的分类与用法

    西门子step7基本指令的分类与用法

    西门子step7基本指令的分类与用法,包括位逻辑指令(位逻辑运算指令、定时器指令、计数器指令),以及数据指令的功能与用法说明,感兴趣的朋友参考下。

    时间:2020-04-23 10:47:26

  • 如何确定step7中工程项目需要MMC卡的空间量?

    如何确定step7中工程项目需要MMC卡的空间量?

    如何确定step7中工程项目需要MMC卡的空间量,确定控制程序所需的MMC卡的大小,将项目中所有程序块(OB、FC、FB、DB)占用装载内存(Load Memory Requirement)的数量相加。

    时间:2020-03-10 10:46:07

  • 【图】如何打开非本地系统语言创建的step7 v5.5项目?

    如何打开非本地系统语言创建的step7 v5.5项目

    如何打开非本地系统语言创建的step7 v5.5项目,二种方法,将win7或windows server 2008操作系统语言修改为系统提示语言,修改step 7项目属性,使其可在任何windows系统语言下均可打开。

    时间:2020-03-10 10:29:17

  • 西门子step7编程软件的基本功能与系统组态

    西门子step7编程软件的基本功能与系统组态

    西门子step7编程软件的基本功能与系统组态,包括程序编辑语法检查功能,软件功能的实现,step7编程软件的界面外观,系统组态中模拟量输入滤波、设置脉冲捕捉、输出表配置的相关知识。

    时间:2020-03-09 09:49:29

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有