0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

字符串定義及格式

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-11-14 10:46 ? 次閱讀

字符串定義及格式

字符串最大長度占用長度為256個字符長度,其中

第一個字符定義為字符串的最大長度數值

第二個字符定義為字符串的有效長度數值

從第三個字符開始為實際有效的字符,最大可設置254個字符長度,每個字符的數據類型是:Char。字符是以ASCII的方式存儲。

ASCII碼與16進制和10進制轉換關系如下圖所示:

20851270-6290-11ed-8abf-dac502259ad0.png

表1 ASCII碼表

字符串轉換

1. STEP7庫功能

STEP7庫中提供了如下幾個轉換塊:(庫文件路徑:庫libraries---Standard Libray---IEC Function Blocks)

(FC94,95路徑:庫libraries---Standard Libray---TI-S7 Converting Blocks)

FC編號 功能名稱 描述
FC5 DI_STRING 雙整數轉字符串
FC16 I_STRING 整數轉字符串
FC30 R_STRING 實數轉字符串
FC37 STRING_DI 字符串轉雙整數
FC38 STRING_I 字符串轉整數
FC39 STRING_R 字符串轉實數
FC94 ATH ASCII轉換為十六進制
FC95 HTA 十六進制轉換為ASCII

表2. 字符串轉換

2 .整數(雙整數)轉字符串

以FC5為例,雙整數為有符號整數,因此如圖第三個有效字符為符號位,顯示“+”。

注意: 此處字符串定義最大長度為254個字符,圖二中第一位最大長度為-2為有符號數值。

20c00eac-6290-11ed-8abf-dac502259ad0.png

20e08a74-6290-11ed-8abf-dac502259ad0.png

圖1. FC5及數據塊定義

20f7407a-6290-11ed-8abf-dac502259ad0.png

圖2. 變量表監(jiān)看

3 .實數轉字符串

實數轉換為字符串,顯示格式為科學計數法。如圖3所示:

221a0f1e-6290-11ed-8abf-dac502259ad0.png

圖3. 科學計數法顯示

其有效數據最多顯示7位。同時轉換后的字符串固定占用14個有效字符長度。

注意,建立字符串最大長度時務必要大于14個字符長度,否則FC30不執(zhí)行,無輸出。

2256af00-6290-11ed-8abf-dac502259ad0.png

2273e94e-6290-11ed-8abf-dac502259ad0.png

圖4. FC30實例

4 .字符串轉16進制

FC94功能實際為將連續(xù)的字符轉換為連續(xù)的16進制。

因此,使用時注意:

1. 輸入"IN"為有效字符的起始地址,即字符串的前兩個固定占用字符需要跳過

2. 轉換個數與字符串本身定義的有效字符長度數值無關,只與輸入"N"有關

3. 字符占8位,16進制占16位;因此轉換后占位方式如圖6

228ef108-6290-11ed-8abf-dac502259ad0.png

圖5. FC94

22b25ef4-6290-11ed-8abf-dac502259ad0.png

圖6. FC94監(jiān)看

如何將Date 或 Date_and_Time數據類型轉換為字符串?

參看"來自西門子技術支持熱線的故事"鏈接,此外,另有付費的功能塊包: 數據類型轉換的工具集

如何將字符串轉換為實數(非科學計數法形式)?

請參考:哪些標準 STEP 7函數可用來對字符串變量和ASCII 字符進行轉換和比較?

字符串比較

1. STEP7庫功能

STEP7庫中提供了如下幾個比較塊:(庫功能路徑:庫libraries---Standard Libray---IEC Function Blocks)

FC編號 功能名稱 描述
FC10 EQ_STRING S1=S2
FC13 GE_STRING S1≥S2
FC15 GT_STRING S1>S2
FC19 LE_STRING S1≤S2
FC24 LT_STRING S1
FC29 NE_STRING S1≠S2

表3. 字符串比較

注意:

1. 比較功能,比較的是兩個字符串的有效數據長度部分。即字符串定義的最大長度與比較結果無關。見圖7

2. 比較大小時,字符從上至下依次比較。見圖8

3. 比較大小時,字符轉換為16或10進制比較。即非數字字符,是轉換為16或10進制進行比較。見圖9

23068416-6290-11ed-8abf-dac502259ad0.png

圖7. FC10比較大小

2332d16a-6290-11ed-8abf-dac502259ad0.png

圖8. FC13比較大小

2354a9f2-6290-11ed-8abf-dac502259ad0.png

圖9. FC13比較大小

為何比較帶"+-"的字符串,"-"的字符串反而大于"+"字符串?

如圖9,由于"+"對應十進制43,"-"對應十進制45;因此對于+-號比較,"-"的字符串反而大于"+"的字符串。

字符串功能

1. STEP7庫功能

STEP7庫中提供了如下幾個功能塊:(庫功能路徑:庫libraries---Standard Libray---IEC Function Blocks)

FC編號 功能名稱 描述
FC2 CONCAT 合并字符串
FC4 DELETE 刪除字符串內字符
FC11 FIND 字符串查找
FC17 INSERT 字符串插入
FC20 LEFT 讀取左側字符串
FC21 LEN 字符串內有效字符長度
FC31 REPLACE 字符串替換
FC32 RIGHT 讀取右側字符串

表4. 字符串功能

注意:以上功能塊均以字符串的有效長度為基礎。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • ASCII
    +關注

    關注

    5

    文章

    172

    瀏覽量

    35018
  • 字符串
    +關注

    關注

    1

    文章

    575

    瀏覽量

    20468
  • STEP7
    +關注

    關注

    4

    文章

    103

    瀏覽量

    32554

原文標題:字符串定義及格式

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C++字符串string

    string是C++編程語言中的字符串。在C++中字符串處理可以使用c語言字符串形式char *,也可以使用string類格式。
    的頭像 發(fā)表于 07-10 00:26 ?1194次閱讀
    C++<b class='flag-5'>字符串</b>string

    字符串常量的定義與引用

    字符串定義與引用
    的頭像 發(fā)表于 09-14 11:37 ?9387次閱讀
    <b class='flag-5'>字符串</b>常量的<b class='flag-5'>定義</b>與引用

    剖析提升字符串格式化效率的小技巧

    一、前言 在嵌入式項目開發(fā)中,字符串格式化是很常見的操作,我們一般都會使用 C 庫中的 sprintf 系列函數來完成格式化。 從功能上來說,這是沒有問題的,但是在一些時間關鍵場合,字符串
    的頭像 發(fā)表于 04-30 13:43 ?1549次閱讀
    剖析提升<b class='flag-5'>字符串</b><b class='flag-5'>格式</b>化效率的小技巧

    strtok拆分字符串

    大家好,我是驚覺,今天聊聊字符串。字符串的使用場景非常之多,人機交互和雙機通信都會用到。比如:通過串口向單片機發(fā)送指令,以執(zhí)行操作或配置參數。單片機讀取傳感器數據,數據格式字符串。一
    發(fā)表于 01-13 15:46 ?8次下載
    strtok拆分<b class='flag-5'>字符串</b>

    2.2 python字符串類型

    2.2 python字符串類型 1. 如何定義字符串? 字符串是Python中最常用的數據類型之一。 使用單引號或雙引號來創(chuàng)建字符串,使用三
    的頭像 發(fā)表于 02-17 17:08 ?1391次閱讀

    python字符串格式

    python字符串格式格式化輸出,主要有三種方式 使用 % 進行格式化 使用 format 函數進行格式化 使用 f-string 進行
    的頭像 發(fā)表于 02-21 16:28 ?1535次閱讀
    python<b class='flag-5'>字符串</b><b class='flag-5'>格式</b>化

    字符串函數重寫練習

    字符串函數重寫練習:字符串比較、字符串拼接、字符串查找、字符串拷貝、內存比較、內存拷貝、內存初始化、內存比較、二維數組
    的頭像 發(fā)表于 05-05 15:02 ?1951次閱讀

    如何把數字格式化成字符串

    在嵌入式項目開發(fā)中,字符串格式化是很常見的操作,我們一般都會使用 C 庫中的 sprintf 系列函數來完成格式化。
    的頭像 發(fā)表于 08-04 10:35 ?1884次閱讀

    C語言總結_字符串函數封裝練習

    字符串函數重寫練習:字符串比較、字符串拼接、字符串查找、字符串拷貝、內存比較、內存拷貝、內存初始化、內存比較、二維數組
    的頭像 發(fā)表于 08-14 09:42 ?955次閱讀

    格式字符串常量f-strings一些不常見的特性

    【導語】:本文介紹了“格式字符串常量”f-strings一些不常見的特性,包括:格式化日期和時間、同時打印變量名和變量值等,嵌套使用f-strings等,此外與其他格式
    的頭像 發(fā)表于 08-15 12:00 ?1099次閱讀

    C語言字符串的引用方式

    在C語言程序中,字符串是存放在字符數組中的。 2. 用字符數組存放一個字符串,可以通過數組名和下標引用字符串中的一個
    的頭像 發(fā)表于 03-10 14:57 ?1819次閱讀

    C語言定義字符串的幾種方法

    C語言中定義字符串有哪些方法?
    的頭像 發(fā)表于 03-31 09:41 ?3462次閱讀

    字符串如何轉換成日期型

    隨著計算機技術的不斷發(fā)展,我們經常遇到需要處理日期的情況。在編程中,字符串是最常見的日期輸入格式,在許多情況下,我們需要將字符串轉換為日期類型以便進行日期計算和比較。本篇文章將詳細介紹如何使用不
    的頭像 發(fā)表于 11-17 16:27 ?9811次閱讀

    java字符串轉化為日期格式

    在Java中,字符串轉化為日期格式是一個常見的需求。日期格式在處理時間相關的操作時非常重要,它可以用來表示一段時間的開始和結束,也可以用來計算時間差等。本文將詳細介紹如何將一個字符串
    的頭像 發(fā)表于 11-17 16:38 ?2830次閱讀

    c語言字符串定義

    字符串定義、初始化、操作和常見問題。 字符串定義和初始化 在C語言中,字符串定義為一個
    的頭像 發(fā)表于 11-24 10:02 ?1740次閱讀