如何在STEP7 Micro/WIN中将双整数 (DOUBLE INTEGER) 转换为BCD码

2018年9月21日15:09:03 发表评论 183 阅读

在 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 或更高版本。

weinxin
plc入门知识问答
每一个PLC工程师都应该关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: