国产一级a毛一级a看免费视频,久久久久久国产一级AV片,免费一级做a爰片久久毛片潮,国产精品女人精品久久久天天,99久久久无码国产精品免费了

| 注冊| 產(chǎn)品展廳| 收藏該商鋪

行業(yè)產(chǎn)品

當前位置:
西門子plc模塊代理商>>技術(shù)文章>>西門子 S7-200SMARTPLC數(shù)據(jù)轉(zhuǎn)換指令詳細介紹

西門子 S7-200SMARTPLC數(shù)據(jù)轉(zhuǎn)換指令詳細介紹

閱讀:2269        發(fā)布時間:2024-8-20

轉(zhuǎn)換指令是對操作數(shù)的類型進行轉(zhuǎn)換,并輸出到的目標地址中去西門子 S7-200SMARTPLC的轉(zhuǎn)換指令包括數(shù)據(jù)類型轉(zhuǎn)換、數(shù)據(jù)的編碼和譯碼、ASCII轉(zhuǎn)換等指令

數(shù)據(jù)類型轉(zhuǎn)換指令

S7-200SMARTPLC中的數(shù)據(jù)類型主要有字節(jié)型、整數(shù)型、雙整數(shù)型和實數(shù)型,使用了 BCD、ASCII十進制數(shù)和十六進制數(shù)不同功能的指令對操作數(shù)類型要求不同,因此,許多指令執(zhí)行前需對操作數(shù)進行類型的轉(zhuǎn)換。

數(shù)據(jù)類型轉(zhuǎn)換主要有 BCD碼與整數(shù)之間的轉(zhuǎn)換、字節(jié)與整數(shù)之間的轉(zhuǎn)換、整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換和雙字整數(shù)與實數(shù)的轉(zhuǎn)換等

(1)BCD碼與整數(shù)之間的轉(zhuǎn)換

在一些數(shù)字系統(tǒng),如計算機和數(shù)字式儀器中,如數(shù)碼開關(guān)設(shè)置數(shù)據(jù),往往采用二進制碼表示十進制數(shù)。通常,把用一組四位二進制碼來表示一位十進制數(shù)的編碼方法稱為 BCD。

4位二進制碼共有16種組合,可從中選取10種組合來表示0~910個數(shù),根據(jù)不同的選取方法,可以編制出多種 BCD,其中8421BCD*常用。十進制數(shù)與8421BCD碼的對應(yīng)關(guān)系如表5-10所示。:十進制數(shù)1234化成8421BCD碼為0001001000110100。

5-10 十進制數(shù)與8421BCD碼對應(yīng)表

圖片

BCD碼與整數(shù)之間的轉(zhuǎn)換是對無符號操作數(shù)進行的,其轉(zhuǎn)換指令如表5-11所示。輸入IN 和輸出 OUT 的類型為字。

使用 BCDI指令可將IN 端輸入的 BCD 碼轉(zhuǎn)換成整數(shù),產(chǎn)生結(jié)果送入 OUT 的變量。IN 輸入的 BCD碼范圍為0~9999。

使用IBCD指令可將IN 端輸入的整數(shù)轉(zhuǎn)換成 BCD ,產(chǎn)生結(jié)果送入 OUT 的變量。IN 輸入的整數(shù)范圍為0~9999。

5-11 BCD碼與整數(shù)之間的轉(zhuǎn)換指令

圖片

圖片

若為無效BCD碼時,特殊標志位SM1.6被置1。輸入IN 和輸出 OUT 操作數(shù)地址*相同,若不相同時,需使用指令:

MOV IN,OUT

BCDI OUT

5-6   使用BCD碼與整數(shù)之間的轉(zhuǎn)換指令,將 VW100中的BCD碼轉(zhuǎn)換成整數(shù),并存放到 AC0;將 VW200中的整數(shù)轉(zhuǎn)換成BCD,并存放到 AC1。其程序如表5-12所示。假設(shè) VW100中 的 BCD 為 1001001000110101,執(zhí) 行 BCDI指 令 后,轉(zhuǎn) 換 的 整 數(shù) 為 9235;假 設(shè)VW200中的整數(shù)為5421,執(zhí)行IBCD指令后,轉(zhuǎn)換的BCD碼為0101010000100001。

5-12 BCD碼與整數(shù)之間的轉(zhuǎn)換指令程序

圖片

(2)字節(jié)與整數(shù)之間的轉(zhuǎn)換

字節(jié)與整數(shù)之間的轉(zhuǎn)換是對無符號操作數(shù)進行的,其轉(zhuǎn)換指令如表5-13所示。

5-13 字節(jié)與整數(shù)之間的轉(zhuǎn)換指令

圖片

使用 BTI指令可將IN 端輸入的字節(jié)型數(shù)據(jù)轉(zhuǎn)換成整數(shù)型數(shù)據(jù),產(chǎn)生結(jié)果送入 OUT 的單元中。使用ITB指令可將IN 端輸入的整數(shù)型數(shù)據(jù)轉(zhuǎn)換成字節(jié)型數(shù)據(jù),產(chǎn)生結(jié)果送入OUT 的變量中。被轉(zhuǎn)換的值應(yīng)為有效的整數(shù),否則溢出位SM1.1被置1。

(3)整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換

整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令如表5-14所示。

5-14 整數(shù)與雙字整數(shù)之間的轉(zhuǎn)換指令

圖片

ITD指令是將輸入IN 的整數(shù)型數(shù)據(jù)轉(zhuǎn)換成雙整數(shù)型數(shù)據(jù),產(chǎn)生的結(jié)果送入 OUT 存儲單元,輸入為整數(shù)型數(shù)據(jù),輸出為雙整數(shù)型數(shù)據(jù),要進行符號擴展。

DTI指令是將輸入IN 的雙整數(shù)型數(shù)據(jù)轉(zhuǎn)換成整數(shù)型數(shù)據(jù),產(chǎn)生的結(jié)果置入 OUT 存儲單元,輸入為雙整數(shù)型數(shù)據(jù),輸出為整數(shù)型數(shù)據(jù)。被轉(zhuǎn)換的輸入IN 值應(yīng)為有效雙整數(shù),否則SM1.1被置1。

(4)雙字整數(shù)與實數(shù)的轉(zhuǎn)換

雙字整數(shù)與實數(shù)的轉(zhuǎn)換指令如表5-15所示。

5-15 雙字整數(shù)與實數(shù)的轉(zhuǎn)換指令

圖片

DTR指令是將輸入IN 的雙字整數(shù)型數(shù)據(jù)轉(zhuǎn)換為實數(shù)型數(shù)據(jù),產(chǎn)生的結(jié)果送入 OUT 的存儲單元,IN 輸入的為有符號的32位雙字整數(shù)型數(shù)據(jù)。

四舍五入和舍去小數(shù)指令都是實數(shù)轉(zhuǎn)換為雙字整數(shù)的取整指令。執(zhí)行 ROUND 指令時,實數(shù)的小數(shù)部分四舍五入;執(zhí)行 TRUNC 指令時,實數(shù)的小數(shù)部分舍去若輸入的實數(shù)值太大,無法用雙字整數(shù)表示時,SM1.1被置1。

5-7  用實數(shù)運算求直徑為32mm 的圓面積,將結(jié)果轉(zhuǎn)換為整數(shù)

分析:圓的面積=圓半徑的平方×π,圓半徑的平方可使用 EXP (2×LN (32/2)),編寫的 PLC程序如表5-16所示。

5-8  1英寸等于2.54cm,假設(shè)英尺數(shù)由數(shù)碼開關(guān)通過IW0輸入 (BCD ),則長度由英寸轉(zhuǎn)換成厘米,且厘米數(shù)由 QW0用 BCD碼輸出時,其程序編寫如表5-17所示。

5-16 求圓面積的程序

圖片

5-17 英寸與厘米的轉(zhuǎn)換程序

圖片

ASCII 字符數(shù)組轉(zhuǎn)換指令

ASCII碼 (AmericanStandardCodeforInformationInterchange)為美國標準信息交換,在計算機系統(tǒng)中使用泛。西門子S7-200SMARTPLC的 ASCII字符數(shù)組轉(zhuǎn)換指令包括整數(shù)轉(zhuǎn)換為 ASCII碼指令、雙整數(shù)轉(zhuǎn)換為 ASCII碼指令、實數(shù)轉(zhuǎn)換為 ASCII碼指令十六進制整數(shù)與 ASCII碼相互轉(zhuǎn)換指令,指令如表5-18所示。

5-18 ASCII字符數(shù)組轉(zhuǎn)換指令

圖片

(1)整數(shù)轉(zhuǎn)換為 ASCII碼指令ITA

整數(shù)轉(zhuǎn)換為 ASCII碼指令ITA (IntegertoASCII)把輸入端IN 的有符號整數(shù)轉(zhuǎn)換成ASCII字符串,其轉(zhuǎn)換結(jié)果存入以 OUT 為起始字節(jié)地址的8個連續(xù)字節(jié)的緩沖區(qū)中,FMT小數(shù)點右側(cè)的轉(zhuǎn)換精度和小數(shù)點是使用逗號還是點號。整數(shù)轉(zhuǎn) ASCII碼指令的格式操作數(shù)如圖5-2所示,輸出緩沖區(qū)的大小始終是8個字節(jié),nnn表示輸出緩沖區(qū)中小數(shù)點右側(cè)的數(shù)字位數(shù),nnn的有效范圍為0~5,若 nnn=0,小數(shù)右側(cè)的位數(shù)為0,轉(zhuǎn)換時數(shù)值沒有小數(shù)點;nnn>5,輸出緩沖區(qū)會被空格鍵的 ASCII碼填充,此時無法輸出。C整數(shù)和小數(shù)點的分隔符,當 C=1,分隔符為 “,";當 C=0,分隔符為 “.",FMT的高4位必須為0。

在圖5-2中給出了一個數(shù)值的例子,其格式為使用點號 (C=0),小數(shù)點右側(cè)有3位小

圖片

5-2 整數(shù)轉(zhuǎn) ASCII碼指令的 FMT操作數(shù)

數(shù) (nnn=011),輸出緩沖區(qū)格式符合以下規(guī)則:

① 正數(shù)值寫入輸出緩沖區(qū)沒有符號位;

② 負數(shù)值寫入輸出緩沖區(qū)時以負號 (-)開頭;

③ 小數(shù)點左側(cè)開頭的0 (除去靠近小數(shù)點的那個之外)被隱藏;

④ 數(shù)值在輸出緩沖區(qū) OUT 中是右對齊的。

5-9  整數(shù)轉(zhuǎn) ASCII碼指令的使用。將 VW10中的整數(shù)轉(zhuǎn)換為從 VB100開始的8ASCII碼字符,使用 16#0B 的 格 式,用 逗 號 作 小 數(shù) 點,保 留 位 小 數(shù),程 序 如 表 5-19所示

5-19 整數(shù)轉(zhuǎn) ASCII碼指令程序

圖片

(2)雙整數(shù)轉(zhuǎn)換為 ASCII碼指令 DTA

雙整數(shù)轉(zhuǎn)換為 ASCII碼指令 DTA (Double   Integer   to    ASCII )把輸入端IN的有符號雙字整數(shù)轉(zhuǎn)換成 ASCII字符串,其轉(zhuǎn)換結(jié)果存入以 OUT 起始字節(jié)地址的12個連續(xù)字節(jié)的緩沖區(qū)中。除輸入IN 為雙整數(shù)、輸出為12字節(jié)外,其它方面與整數(shù)轉(zhuǎn) ASCII碼指令相同。雙整數(shù)轉(zhuǎn)換為 ASCII碼指令的格式操作數(shù)如圖5-3所示。

圖片

5-3 雙整數(shù)轉(zhuǎn) ASCII碼指令的 FMT操作數(shù)

(3)實數(shù)轉(zhuǎn)換為 ASCII碼指令 RTA

實數(shù)轉(zhuǎn)換為 ASCII碼指令 RTA (RealtoASCII)是將輸入端IN 的實數(shù)轉(zhuǎn)換成 ASCII字符串,其轉(zhuǎn)換結(jié)果存入以 OUT 為起始字節(jié)地址的3~15個連續(xù)字節(jié)的緩沖區(qū)中。實數(shù)轉(zhuǎn)換為 ASCII碼指令的格式操作數(shù)如圖5-4所示。

西門子S7-200SMARTPLC的實數(shù)格式最多支持7位小數(shù),若顯示7位以上的小數(shù)會

圖片

5-4 實數(shù)轉(zhuǎn) ASCII碼指令的 FMT操作數(shù)

產(chǎn)生一個四舍五入的錯誤。5-4,SSSS表示輸出緩沖區(qū) OUT 的大小,它的范圍為3~15個字節(jié)輸出緩沖區(qū)的大小應(yīng)大于輸入實數(shù)小數(shù)點右邊的位數(shù),如實數(shù)-3.89546,小數(shù)點右邊有5,SSS應(yīng)大于5,至少為6。與整數(shù)轉(zhuǎn) ASCII碼指令相比,實數(shù)轉(zhuǎn) ASCII碼的輸出緩沖區(qū)的格式還具有以下規(guī)則:

① 小數(shù)點右側(cè)的數(shù)值按照的小數(shù)點右側(cè)的數(shù)字位數(shù)被四舍五入;

出緩沖區(qū)的大小應(yīng)至少小數(shù)點右側(cè)數(shù)字位多3個字節(jié)。

5-10  實數(shù)轉(zhuǎn)ASCII指令的使用。VD10中的實數(shù)轉(zhuǎn)換成從VB100開始的10ASCII碼字符,使用16#A3的格式,用點號作小數(shù)點,后面跟3位小數(shù),程序如表5-20所示

5-20 實數(shù)轉(zhuǎn) ASCII碼指令程序


(4)十六進制整數(shù)與 ASCII碼相互轉(zhuǎn)換指令

ASCII30~3941~46與十六進制數(shù)為0~9和 A~F相對應(yīng),使用 HTA 指令可將十六進制整數(shù)轉(zhuǎn)換為 ASCII碼字符串;使用 ATH 指令可將 ASCII碼字符串轉(zhuǎn)換為相應(yīng)的十六進制整數(shù)

ATH 指令將一個長度為 LEN IN 開始的 ASCII碼字符串轉(zhuǎn)換成從 OUT 開始的十六進制整數(shù);HTA 指令將從輸入字節(jié)IN 開始的長度為 LEN 的十六進制整數(shù)轉(zhuǎn)換成從 OUT開始的 ASCII碼字ASCII碼和十六進制數(shù)的有效范圍為0~255。

5-11  ASCII碼轉(zhuǎn)換成十六進制整數(shù)指令的使用將 VB100~VB102中存放的3ASCII34、42、38轉(zhuǎn)換成十六進制數(shù)程序及運行結(jié)果如表5-21所示。表中 “x"為半字節(jié),表示 VB11的低4位值未改變。

5-21 ASCII碼轉(zhuǎn)換成十六進制整數(shù)指令程序



編碼與譯碼指令

編碼指令 ENCO (Encode)是將輸入的字型數(shù)據(jù)IN 中為1的有效位的位數(shù)寫入輸出字節(jié) OUT 4,即用半字節(jié)對一個字型數(shù)據(jù)16位中的 “1"位有效位進行編碼。它的輸入IN 為字型數(shù)據(jù),輸出 OUT 為字節(jié)型數(shù)據(jù),其指令如表5-22所示。

5-22 編碼指令


譯碼指令 DECO (Decode)是 將 輸 入 的 字 節(jié) 型 數(shù) 據(jù)IN 的 低 位 表 示 的 位 號 輸 出 到OUT 所的單元對應(yīng)位置1,而其它位清0。即對半字節(jié)的編碼進行譯碼,以選擇一個字型數(shù)據(jù)16位中的 “1"。它的輸入IN 為字節(jié)型數(shù)據(jù),輸出 OUT 為字型數(shù)據(jù),其指令如5-23所示。

5-23 譯碼指令


5-12  編碼和譯碼指令的舉例,其程序如表5-24所示。I0.1常開觸點為 OFF I0.0觸點為 ON,執(zhí)行 ENCO 指令進行編碼操作后,VB100中的值為0;執(zhí)行 DECO 指令進行譯碼操作后,VW10中的值也為16#00。I0.1常開觸點為 ON,I0.0觸點也為 ON,執(zhí)行 ENCO 指令進行編碼操作后,VB100中的值為3;執(zhí)行 DECO 指令進行譯碼操作后,VW10中的值為16#0008,即二進制數(shù)0000000000001000。

5-24 編碼和譯碼指令程序



七段顯示譯碼指令

S7-200SMARTPLC七段顯示譯碼指令SEG (Segment)據(jù)輸入字節(jié)IN 4定的十六進制 數(shù) (16#0~16#F) 產(chǎn) 生 點 亮 七 段 顯 示 器 各 段 的,并 送 到 輸 出 字節(jié)OUT。七段顯示器的abcdefg (D0~D6)段分別對應(yīng)于輸出字節(jié)的第0~6,若輸出字節(jié)的某位為1,其對應(yīng)的段顯;出字節(jié)的某位為0,其對應(yīng)的段不亮符顯示與各段的關(guān)系如表5-25所示。例如要顯示數(shù)字 “2",D0、D1、D3、D4、D61,其余為0。

5-25 字符顯示與各段關(guān)系


七段顯示譯碼指令如表5-26所示。

5-26 七段顯示譯碼指令


5-13  PLCI0.0外接按鈕SB0,QB0外接1LED共陰極數(shù)碼管,要求每按1次按鈕時,共陰極數(shù)碼管顯示的數(shù)字加1,其顯示數(shù)字為0~9。

分析:可以使用 C0增計數(shù)器對按鈕次數(shù)進行統(tǒng)計,再將 C0中的整數(shù)轉(zhuǎn)換為相應(yīng) BCD碼后送入 MB0,最后將 MB0中的數(shù)值轉(zhuǎn)換為相應(yīng)的段碼即可。編寫的程序如表5-27所示

5-27 七段顯示譯碼程序




收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復(fù)您~
二維碼
主站蜘蛛池模板: 崇左市| 呼伦贝尔市| 柏乡县| 邮箱| 酒泉市| 洪湖市| 松溪县| 安乡县| 邯郸县| 甘孜县| 怀远县| 牡丹江市| 鹤壁市| 炉霍县| 迁安市| 高青县| 宝兴县| 长泰县| 莒南县| 潼关县| 东乡县| 南通市| 广饶县| 新余市| 琼海市| 肥城市| 固原市| 偏关县| 乌鲁木齐县| 长垣县| 忻城县| 乐亭县| 乌兰县| 股票| 河北区| 明水县| 亚东县| 雅安市| 凉城县| 汶川县| 兴隆县|