在上一篇轉換指令解析一里為大家介紹了字符串于其它數據格式轉換的指令及其使用方法,本篇介紹十六進制與ASCII字符之間的轉換。主要是ATH、HTA這兩個指令。ASCII字符與字符串的區別是ASCII字符是不帶長度字節的一串ASCII碼序列,而字符串是帶長度字節的一串ASCII碼序列。 免費試學三菱/西門子PLC教程
一、 所需軟件及硬件西門子200SMART編程軟件V2.7版,200SMART ST30 CPU一臺,通信網線一條。
二、 轉換指令含義及用法1. 十六進制轉換為ASCII字符
該指令的形式及在指令列表中的位置如下圖1所示:
圖1
HTA指令是將從輸入字節IN開始的十六進制數轉化為從OUT開始的ASCII字符,轉換的Zui大數目為255,超出該長度指令將會報錯。比如VW100里的16進制數為16#AB85,占兩個字節,轉換為ASII字符后放在以VB200為首字節的地址區里,那么一共占用了四個字節,VB200到VB203,分別存儲“A”、“B”、“8”、“5”。由此可見轉換后ASCII字符序列所占用的字節數是轉換前16進制數所占用字節數的2倍,因為一個16進制數占用半個字節,而一個字符占用1個字節。轉換后的結果如下圖2所示:
圖2
2. ASCII字符轉換為十六進制
該指令的形式及在指令列表中的位置如下圖3所示:
圖3
ATH指令是將長度為 LEN、從 IN 開始的 ASCII 字符轉換為從 OUT 開始的十六進制數。可轉換的Zui大 ASCII 字符數為 255 個字符。需要注意的是,該指令可轉換的ASCII有效字符為數字0-9(16進制30-39)及大寫的字母A-F(16進制41-46)。若超出這個范圍指令將報錯。比如VB300至VB303這四個字節里分別存放了ASCII字符“C”、“D”、“6”、“9”,執行完ATH指令,VW310中的數值為16#CD69,與HTA指令相反,轉換后的結果如下圖4所示:
圖4
三、 總結
今天講的兩個指令比較簡單,大家多做練習,一定可以掌握。這類指令雖然不常用,但某些場合還是會應用到,所以希望大家能熟練使用,對今后的編程肯定會有幫助。
- 西門子S7-1200 PLC進行物料不良品檢測案例詳解 2024-12-26
- 送卸料小車往返運動與HMI設計(SMART) 2024-12-26
- 邏輯運算指令在PLC校驗程序中的應用 2024-12-26
- S7-300模擬量之FC 2024-12-26
- MCGS與S7-1200PLC(DB地址)控制設計 2024-12-26
- Wincc與PLC通訊方式,你知道幾種 2024-12-26
- PLC與這7種設備的連接方式 2024-12-26
- S7-1500與s7-200SMART的PROFINET通信如何設置 2024-12-26
- S7-1200 與S7-1500 中優化的 DB 塊和標準 DB 塊有哪些區別? 2024-12-26
- 西門子1200PLC實用定位控制程序案例 2024-12-26
- PROFINET 調試時Ping指令使用詳解 2024-12-26
- 西門子S7-1500在不同網段通訊的常用方法 2024-12-26
- 通過OPCUA和西門子PLC通信 2024-12-26
- PLC模擬量干擾排除實例分享 2024-12-26
- 西門子S7-200/300/400通訊方式匯總 2024-12-26
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595