115sha1码怎么用_学西门子PLC时,BCD码和十六进制要分清,附寻址介绍表

本文介绍了BCD码(二进制编码的十进制数)的概念,强调了它与十六进制的区别。BCD码主要用于输入输出,如拨码开关数据和显示设备。在PLC编程中,BCD码常用于表示计数器预设值等。监控BCD码时,通常以十六进制格式展示。错误地输入非BCD码值(如16#15C)会导致运行错误。正确输入BCD码的方式是使用特定格式(如C#348)。文章还提醒注意手册规定和数据来源以区分BCD码和十六进制数。
摘要由CSDN通过智能技术生成
ea309ee5cb7b49ce2d0d09ad19f932c8.png

容易让人糊涂的BCD码和十六进制

BCD码(Binary-Coded Decimal‎)是二进制编码的十进制数的缩写,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。

ff42dfee7e9c317c062cb0d9a687bbc2.png

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

8bc3a52b02056c3b0b31277a1fc1461f.png

在程序中,怎么知道一个数字是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。

2ad37a68fe61f0caaf0510fd0c9a7c9a.png

FC和FB的需要注意的区别

8a06c6666bd56a33f8cf6bb01bea5bad.png
35c4b28a259ae9b6b029565f7946f30f.png
4bc65edb78e3a3fe8c25cc2f63e225a4.png

寻址介绍表

2654bfd96001f74a795628cb6e61f3e4.png
596f05ac54832c167efa47183eaef272.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值