PLC中的数值转换 点击:896 | 回复:3



王为丽

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 0回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2005年5月17日
发表于:2006-01-08 21:36:00
楼主
PLC中譬如将模拟量数据0-4095转换为0-999.9的温度值程序如下
复位     LDW R2000
         MULS K2442
         SHFR K12
         OUTW R40500
999.9/4095=0.2442
由于不能进行小数运算所以将温度扩大一万倍以整数方式参与运算
随后由于预先扩大一万倍,且保留至小数最后一位,因而把数右移三位
请问这个数右移三位是什么意思?谢谢



张智勇

  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2007-07-01 06:33:00
1楼
比如传感器输入999.9°,模拟量数据4095
4095*2442=9999990
9999990在寄存器里面是二进制1001 1000 1001 0110 0111 0110
右移12位后变成1001 1000 1001
1001 1000 1001再转换为16进制BCD码989,
最后一句理解我也觉得不对,看看也没有高手

透明了

  • 精华:0帖
  • 求助:0帖
  • 帖子:60帖 | 325回
  • 年度积分:0
  • 历史总积分:521
  • 注册:2005年3月29日
发表于:2007-07-01 08:09:00
2楼
右移三位相当于乘以1000

张智勇

  • 精华:13帖
  • 求助:4帖
  • 帖子:344帖 | 4142回
  • 年度积分:0
  • 历史总积分:4044
  • 注册:2004年8月21日
发表于:2007-07-01 08:35:00
3楼
SHFR K12 不是右移12位?

热门招聘
相关主题

官方公众号

智造工程师