Schneider-施耐德LEC使用技巧文集[第2讲]——ASCII码转换为HEX和BCD码的方法-PLC技术网(www.plcjs.com)-可编程控制器技术门户


Schneider-施耐德LEC使用技巧文集[第2讲]——ASCII码转换为HEX和BCD码的方法

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2005-10-25 22:16:43     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
应用时,常需要进行数据格式的转换,<例程1>说明ASCII 数据如何转换为HEX及BCD码的数据;<例程2>说明HEX数据如何转换为ASCII数据。
  <例程1>
  (*ASCII to HEX and BCD *)
  (* %MW0 = 3139 %MW1 = 3537 => %MW30=16#1957 %MW31=1957 *)
  
  LD 1
  [ %MW0 := 16#3139 ] (* 19 ASCII = 3139 HEXA *)
  [ %MW1 := 16#3537 ] (* 57 ASCII = 3537 HEXA *)
  
  LD 1
  [ %MW10 := %MW0 AND 16#000F ] (* 16# XXX9 *)
  [ %MW11 := %MW0 AND 16#0F00 ] (* 16# X1XX *)
  [ %MW12 := %MW1 AND 16#000F ] (* 16# XXX7 *)
  [ %MW13 := %MW1 AND 16#0F00 ] (* 16# X5XX *)
  
  LD 1
  [ %MW20 := SHL( %MW10, 8 ) ] (* 16# X9XX *)
  [ %MW21 := SHL( %MW11, 4 ) ] (* 16# 1XXX *)
  [ %MW22 := %MW12 ] (* 16# XXX7 *)
  [ %MW23 := SHR( %MW13, 4 ) ] (* 16# XX5X *)
  
  LD 1
  [ %MW30 := %MW20 OR %MW21 ] (* 16# 19XX *)
  [ %MW30 := %MW30 OR %MW22 ] (* 16# 19X7 *)
  [ %MW30 := %MW30 OR %MW23 ] (* 16# 1957 *)
  
  LD 1
  [ %MW31 := BTI( %MW30 ) ] (* 1957 *)
  
  <例程2>
  (* HEX to ASCII *)
  (* %MW30 = 16#1957 => %MW74 = 3139 %MW75 3537 *)
  
  LD 1
  [ %MW40 := %MW30 AND 16#000F ] (* 16# XXX7 *)
  [ %MW41 := %MW30 AND 16#00F0 ] (* 16# XX5X *)
  [ %MW42 := %MW30 AND 16#0F00 ] (* 16# X9XX *)
  [ %MW43 := %MW30 AND 16#F000 ] (* 16# 1XXX *)
  LD 1
  [ %MW50 := %MW40 ] (* 16# XXX7 *)
  [ %MW51 := SHR( %MW41, 4 ) ] (* 16# XXX5 *)
  [ %MW52 := SHR( %MW42, 8 ) ] (* 16# XXX9 *)
  [ %MW53 := SHR( %MW43, 12 ) ] (* 16# XXX1 *)
  
  LD 1
  [ %MW60 := %MW50 OR 16#0030 ] (* 16# XX37 *)
  [ %MW61 := %MW51 OR 16#0030 ] (* 16# XX35 *)
  [ %MW62 := %MW52 OR 16#0030 ] (* 16# XX39 *)
  [ %MW63 := %MW53 OR 16#0030 ] (* 16# XX31 *)
  
  LD 1
  [ %MW70 := %MW60 ] (* 16# XX37 *)
  [ %MW71 := SHL( %MW61, 8 ) ] (* 16# 35XX *)
  [ %MW72 := %MW62 ] (* 16# XX39 *)
  [ %MW73 := SHL( %MW63, 8 ) ] (* 16# 31XX *)
  
  LD 1
  [ %MW74 := %MW72 OR %MW73 ] (* 16# 3139 *)
  [ %MW75 := %MW70 OR %MW71 ] (* 16# 3537 *)
  
上一篇: Schneider-施耐德LEC使用技巧文集[第1讲]——如何用自编的PID算法来实现控制
下一: Schneider-施耐德LEC使用技巧文集[第3讲]——Twido PLC做为ASCII从站设备的通讯方法