在 step 7 micro/win 中,可以使用 i_bcd 和 bcd_i (见 instructions -> convert) 指令将16位整数 (integer) 转换为 bcd 码或者相反(bcd->int)。使用下面提供的可下载的库,可以将32位整数 (double integer) 转换为 bcd 码或者相反 (bcd->double integer)。
“bcd” 库的描述
“bcd.mwl” 库包含了功能块 di_bcd ( 双整数到 bcd 码的转换) 和 bcd_di ( bcd 码到双整数的转换) 。
双整数转换为 bcd 码 (di_bcd)
di_bcd 功能将32 位正整数,0到99,999,999之间的数转换为二进制编码的十进制数(bcd)。
如果输入负数或大于99,999,999的数,eno 使能输出位被复位并且转换结果无效。
参数
数据类型
操作数
描述
en
[bool]
e, a, m, l, v
输入使能
eno
[bool]
e, a, m, l, v
输出使能
in
[dword]
vd, ed, ad, md, sd, smd, ld, t, z, aed, ac, hc, constant, *vd, *ac, *ld
要转为 bcd 码的32 位整数值
out
[dword]
vd, ed, ad, md, sd, smd, ld, t, z, ac, *vd, *ld, *ac
bcd 码
table 01
bcd 码转换为双整数 (bcd_di)
bcd_di 功能将正的32 位 bcd 码,从 0 到 16#99999999之间的数转换为 32 位双整数。
16进制字母 (a-f) 不会被转换。这时 eno 使能输出位被复位并且转换结果无效。
parameter
data type
operands
description
en
[bool]
e, a, m, l, v
enable input
eno
[bool]
e, a, m, l, v
enable output
in
[dword]
vd, ed, ad, md, sd, smd, ld, t, z, aed, ac, hc, constant, *vd, *ac, *ld
bcd number
out
[dword]
vd, ed, ad, md, sd, smd, ld, t, z, ac, *vd, *ld, *ac
integer value (32-bit) of the bcd number
table 02
压缩文件的 step 7 micro/win 库
拷贝 “bcd.zip” 到一个单独的目录下,并且解压缩。然后可以将 “bcd.mwl” 库集成到你的 s7-200 项目中,这个库可以用于step 7 micro/win 版本 v3.2.4.27 或更高版本。
bcd码