在松下 FPXH PLC 中,处理带小数点的数值(如浮点数)转字符串时,需要先明确数值的存储格式,再通过特定指令进行转换。FPXH 的浮点运算和字符串处理有专门的指令,以下是具体实现方法:
一、数据存储与格式说明
二、转换步骤与指令使用
需通过 “浮点转整数→拆分整数与小数部分→分别转字符串→拼接小数点” 的流程实现,核心指令包括:
1. 示例需求
将 D100-D101 中存储的浮点数(如123.45
)转换为字符串,存储在 W200 开始的寄存器中,结果为 "123.45"。
2. 具体程序实现(梯形图逻辑)
plaintext
┌─────────────┐ ┌─────────────┐ │ 启动条件 │──┬────→│ FLT→BCD │ ; 浮点转BCD(保留2位小数) └─────────────┘ │ │ S=D100 │ ; 源:浮点数存储地址 │ │ D=D200 │ ; 目标:BCD码存储(D200=整数部分,D201=小数部分) │ │ N=2 │ ; 小数位数=2 │ └─────────────┘ │ │ ┌─────────────┐ ├────→│ BCD→ASC │ ; 整数部分转字符串 │ │ S=D200 │ ; 源:整数BCD码(123) │ │ D=W200 │ ; 目标:字符串起始地址(W200='1', W201='2', W202='3') │ │ L=3 │ ; 长度=3位 │ └─────────────┘ │ │ ┌─────────────┐ ├────→│ MOV │ ; 写入小数点(ASCII码46) │ │ S=H002E │ ; 十六进制2E对应ASCII的'.' │ │ D=W203 │ ; 存储到W203 │ └─────────────┘ │ │ ┌─────────────┐ └────→│ BCD→ASC │ ; 小数部分转字符串 │ S=D201 │ ; 源:小数BCD码(45) │ D=W204 │ ; 目标:W204='4', W205='5' │ L=2 │ ; 长度=2位 └─────────────┘
三、关键指令详解
四、常见问题处理
五、示例结果验证
完成上述程序后,寄存器数据如下:
通过以上步骤,可在松下 FPXH 中实现带小数点的数值到字符串的转换。实际应用中需根据数值范围和精度要求调整小数位数和字符串长度,确保转换结果准确。