日韩成人激情_欧美黑人xxx_国产一区二精品区在线_精品在线一区_97成人资源_久久久久久一区

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器

類型分類:
科普知識
數據分類:
PLC可編程控制器

西門子PLC中的ASCⅡ碼與數值轉換指令

發布日期:2022-04-26 點擊率:18 品牌:西門子_Siemens


 

    ASCII碼與數值轉換指令是將由ASCII碼表示的0-9、A~F的字符串,與十六進制數、整數、雙整數及實數之間進行轉換。

    (1) ASCII碼與十六進制數轉換指令

    LAD及STL指令格式如圖6-44所示,

 LAD及STL指令格式

    1) ASCII碼轉十六進制數(ATH)指令:將從IN指定的地址開始、長度為LEN的ASCII碼字符串轉換為十六進制數,并將結果送到OUT指定的地址開始的字節進行輸出。每一個ASCII碼對應4位十六進制數,ASCII碼字符串的最大長度為255個字符。

    2)十六進制數轉ASCII碼(HTA)指令:將從IN指定的地址開始、長度為LEN的十六進制數轉換為ASCII碼字符串,并將結果送到OUT指定的地址開始的字節進行輸出。可轉換的十六進制數的最大個數為255。

    在這兩個指令中,有效的ASCII碼字符為十六進制數30~ 39和41—46。指令影響的特殊存儲器標志位是:SMl.7(非法的ASCII碼)。

    假設VB30。VB32中存放了3個ASCII碼33(“3”)、45(“E”)和41(“A”),指令“ATH VB30,VB40,3”將它們轉換為16#3E和16#Ax,分別存放在字節VB40和VB41中,“x”表示VB41低4位(半個字節)的數未發生變化。

    (2)數值轉為ASCII碼的指令

    LAD及STL指令格式如圖6-45所示。

  LAD及STL指令格式

    1)整數轉為ASCII碼(ITA)指令:將整數輸入數據IN轉換成ASCII碼字符串,轉換結果存人OUT指定的地址開始的連續8個字節存儲器單元中。ASCII碼字符串始終是8個字節。格式參數( FMT)指明轉換后的擺放格式,FMT的說明如圖646所示。

FMT的說明如圖

    圖中nnn用于指定輸出緩沖區中小數點右側的位數,nnn的有效范圍為0—5。如果n=0,則顯示整數。nnn >5時,輸出緩沖區會被空格鍵的ASCII碼填充。位c指定用逗號(c=1)或小數點號(c=0)作為整數和小數部分的分隔符。FMT的高4位必須為0。圖6-46中的FMT =3(即nnn= 011),小數部分有3位,使用小數點號(c=0)。

    輸出緩沖區按下面的規則進行格式化:

    ·正數值寫入緩沖區時沒有符號位,負數值寫入緩沖區時以負號(一)開頭。

    .小數點左側的開頭的0(除去靠近小數點的之外)被隱藏。

    .數值在輸出緩沖區中是右對齊的。

    2)雙整數轉為ASCII碼(DTA)指令:將雙字整數輸入數據IN轉換成ASCII碼字符串,轉換結果存入OUT指定的地址開始的連續12個字節存儲器單元中。輸出緩沖區的大小始終為12個字節(B),FMT各位的意義和輸出緩沖區格式化的規則同ITA指令。

格式操作數FMT的定義如圖

   3)實數轉為ASCII碼(RTA)指令:將實數輸入數據IN轉換成ASCII碼字符串,轉換結果存人OUT開始的輸出緩沖區中,輸出ASCII碼字符串的位數(長度)就是輸出緩沖區的大小,它的值為3 -15個字節或字符。格式操作數FMT的定義如圖6-47所示,輸出緩沖區的大小由ssss區的值指定,ssss =3—15。輸出緩沖區中小數部分的位數由nnn指定,nnn =0—5。如果n=0,則顯示整數。nnn >5或輸出緩沖區太小以致于無法存儲轉換值時,輸出緩沖區會被空格鍵的ASCII碼填充。位c指定用逗號(c=1)或小數點號(c=0)作為整數和小數部分的分隔符。FMT和OUT均為字節變量。

  S7-200 PLC的實數格式支持最多7位小數,若顯示7位以上的小數會產生一個四舍五入的錯誤。

    除了ITA指令輸出緩沖區格式化的三條規則外,還有以下規則:

    .小數部分的位數如果大于nnn指定的位數,用四舍五入的方法去掉多余的位。

    .輸出緩沖區不應小于3個字節,還應大于小數部分的位數。

    (3)字符串轉換指令

1)數值轉為字符串的指令:LAD及STL指令格式如圖6-49所示。ITS、DTS和RTS指令分別將整數、雙整數和實數值(IN)轉換為ASCII碼字符串,存放到OUT指定的變量中。

LAD及STL指令格式

    這三條指令的操作和FMT的定義與ASCII碼轉換指令的定義基本相同,兩者的區別在于,字符串轉換指令轉換后得到的字符串的起始字節(即地址OUT所指定的字節)中是字符串的長度。對于整數和雙整數的轉換,起始字節中分別為轉換后字符的個數8和12,實數轉換后字符串的長度由FMT的高4位中的數來決定。

2)子字符串轉為數值的指令:LAD及STL指令格式如圖6-50所示。

LAD及STL指令格式如圖

  S1rI、STD和STR指令分別將從偏移量INDX開始的字符串(IN)轉換為整數、雙整數和實數值,存放到OUT指定的變量中。STI、STD指令將字符串轉換為以下格式的整數:

    [空格][+或一][數字0-9]

    STR指令將字符串轉換為以下格式的實數:

    [空格][+或一][數字0—9][.或,][數字0-9]

    INDX通常設置為1,即從字符串的第一個字符開始轉換。如果只需要轉換字符串中后面的數字,可以將INDX設為大于1的數。這可以被用于字符串中包含非數值字符的情況。

例如只轉換字符串“Temperature:77.8”中的數字時,可以設置INDX為13。

    子字符串轉為實數( STR)指令不能用于轉換以科學計數法和指數形式表示實數的字符串,例如會將“1. 345E8”轉換為實數值1.345,而且沒有錯誤顯示。

    轉換到字符串的結尾或遇到第一個非法的字符(不是數字0~9)時,轉換指令結束,停止轉換。轉換產生的整數值超過有符號字的范圍時,溢出標志位SMl.1將被置位。例如,當輸入字符串產生的數值大于32767或小于- 32768時,字符串轉為整數指令會置位溢出標志。

    當輸入字符串中不包含可以轉換的合法數值時,溢出標志位SMl.1也會置位。例如,如果輸入字符串為“A123”,轉換指令會置位SMl.1而且輸出值保持不變。

    圖6-51給出了子字符串轉為數值指令的應用示例。

子字符串轉為數值指令


下一篇: PLC、DCS、FCS三大控

上一篇: MATLAB和Simulink在航

推薦產品

更多
主站蜘蛛池模板: 高清免费在线 | 久久com | 久久久精选 | 中文字幕在线播放不卡 | 一级黄色片毛片 | 韩国成人在线视频 | 日韩欧美一区二区三区免费观看 | 91精品国产综合久久久久久丝袜 | 国产在线观看免费 | 精品一区二区免费视频 | www.天天操 | 国产精品无码专区在线观看 | 婷婷开心激情综合五月天 | 久草.com| 中文字幕视频一区 | 西西裸体做爰视频 | 欧美自拍另类 | 天天干夜夜操 | 欧美aⅴ| 隔壁老王国产在线精品 | 日韩美女在线看免费观看 | 国产激情免费视频 | 色婷婷一区二区三区四区 | 国产精品免费一区二区三区四区 | 欧美黄视频 | 亚洲欧美综合 | 黄色在线免费观看视频 | 国产精品久久久久久久午夜 | 人人亚洲 | 欧美日韩视频 | 国产精品一区二区久久 | 91大神在线资源观看无广告 | 99热.com | 午夜欧美 | 国产日产久久高清欧美一区 | 日本精品视频 | 成人性生交大片 | 免费a网站 | 日韩一区二区在线看 | 久久久国产视频 | 综合久久综合久久 |