西门子PLC s7-200 时钟读取时 为什么要BTI和BCDI连用 我知道BTI是字节转换成整数 BCDI是BCD码转换成整数 s7-200数据转换,这不是从字节转换成整数了吗?怎么又从B...

作者&投稿:吁鲍 (若有异议请与网页底部的电邮联系)
BTI是一个字节数据转成一个整数数据,

BCDI是一个字的以BCD编码数据转成一个字的以BIN编码的数据。
当然有差别,因为数值对应的编码不同。
第1条BTI指令只是为了满足第2条BCDI指令的输入范围要求将字节数据转为可以处理的字数据。

举个例子,
若时钟数据从VB110开始,则VB113存放着小时数据。
当前时间为14点,则VB113里存着以BCD编码的16#14。
执行第1条BTI指令后,VW206=16#0014;
执行第2条BCDI指令后,VW206=14。

s7200 cpu212 字节换整数没法用,主要用来做读取plc时钟时bcd码转换用的~

BTI是一个字节数据转成一个整数数据,而BCDI是一个字的以BCD编码数据转成一个字的以BIN编码的数据。
当然有差别,因为数值对应的编码不同。
第1条BTI指令只是为了满足第2条BCDI指令的输入范围要求将字节数据转为可以处理的字数据。

举个例子,若时钟数据从VB110开始,则VB113存放着小时数据。
当前时间为14点,则VB113里存着以BCD编码的16#14。
执行第1条BTI指令后,VW206=16#0014;
执行第2条BCDI指令后,VW206=14。

这个得根据实际的程序功能才好判断。我感觉这个VB110一开始保存的就是一个BCD码,B_I就只是把高八位补0,BCD_I再把16位的BCD码转换为整数