色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

S71200:char和string的定義

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-04-01 11:13 ? 次閱讀

一、char 和 string 的定義:

1、數據類型為 char (Character) 的變量長度為 8 bit 位,占用1個 byte 的內存。char 數據類型將單個字符存儲為 ASCII 編碼形式。

通常是指計算機中使用的字母、數字和符號,包括:1、2、3、A、B、C、常見符號等。每個字符占用空間為1字節。

2、數據類型為 string 的操作數可存儲多個字符,最多可包括 254 個字符。字符串中的第一個字節為總長度,第二個字節為有效字符數量。

字符串(string)在存儲上類似字符的數組,所以它每一個元素都是可以提取的字符,如:“abcdefg”叫字符串,而其中的每個元素叫字符。

二、char 和 string 在西門子 PLC 中的格式

例如,在 PLC 中創建一個 DB 塊,并將屬性設置為標準 DB 塊,在 DB1 塊中創建如下的字符串和字符,并賦予起始值。如下圖所示:

63bf568e-b130-11ec-aa7f-dac502259ad0.png

圖.01

1、string 數據類型的格式

下載到 PLC 中,通過監視表逐個查看每個字節中的值。如下圖所示:

63d6445c-b130-11ec-aa7f-dac502259ad0.png

圖.02

可以看出:

a.數據類型為 string 的字符串,通過查看 DB 塊偏移地址可見該字符串占用256字節;查看字符串第一個字節,其最多存儲字符總數量為254個。

b.數據類型為 string[10] 的字符串,通過查看 DB 塊偏移地址可見該字符串占用12字節;查看字符串第一個字節,其最多存儲字符數量為10個。

c.字符串的第一個字節為該字符串總長度,第二個字節為當前存儲的有效字符數量。

2、char 和16進制數的關系

在計算機領域,所有的數據都是以2進制數存儲的,那么 char,16進制數和2進制數又有什么關系?

如下圖所示:

63fa0a22-b130-11ec-aa7f-dac502259ad0.png

圖.03

可以看出:

a.通過字符 ‘A’ 的16進制數和2進制數,可見字符(char)、16進制數只是在 PLC 中顯示的形式不同,實際存儲的是一個2進制值。

b.通過字符 ‘1’ 和數值1(MB0的值)的16進制數和2進制數,可見字符 ‘1’ 和數值1是兩種不同數據。因此,實際使用是必須注意區別。

c.下圖是 ASCII 字符(char):‘0’,‘1’,……‘E’,‘F’ 對應的2進制,10進制,16進制對應關系的截圖。

6417a3d4-b130-11ec-aa7f-dac502259ad0.png

圖.04

更多的 ASCII 字符對應關系,請查看下面的鏈接。

ASCII 碼表鏈接:ASCII

三、使用 string 數據類型在 HMI 上顯示漢字

例如,在某些不支持 WString 數據類型(關于 WString 參見:跳轉鏈接)的 HMI 設備上顯示漢字,也是可以使用 string 數據類型顯示的。

但由于 string 數據類型中存儲的漢字編碼標準為 GBK 編碼;因此,需要在 HMI 設備上選擇相應的編碼標準。

如下圖所示,在 string 數據類型的起始值中定義漢字 ‘你好’,且字符背景底色為淺黃色(編譯時會有警告信息,這是TIA軟件建議 string 數據類型中不使用漢字的友情提示),但不影響使用。

642d252e-b130-11ec-aa7f-dac502259ad0.png

圖.05

在線監控時發現漢字無法按 Unicode 編碼方式正確顯示,設置顯示格式為16進制數,通過下圖所示的字符編碼對應關系,發現其對應的是 GBK 編碼。如下圖所示:

64462088-b130-11ec-aa7f-dac502259ad0.png

圖.06

所以,在 HMI 設備上顯示 string 數據類型中存儲的漢字時,需要在 HMI 上設置對應的 GBK 編碼方式,是可以顯示漢字的。

關于16進制數和 GBK 編碼對應關系,可以通過如下網址查詢:GBK

四、常問問題:

1、HTA 和 ATH 指令的輸入和輸出使用限制?

通過 TIA 軟件的在線幫助,查看指令功能說明:

指令 HTA 功能——輸入范圍為16進制數:16#0,1,……E,F,輸出范圍為由 ASCII 字符(char):‘0’,‘1’,……‘E’,‘F’ 組成的數組或字符串 。

指令 ATH 功能——輸入范圍為由 ASCII 字符(char):‘0’,‘1’,……‘E’,‘F’ 組成的數組或字符串,輸出范圍為16進制數:16#0,1,……E,F 。

注意:指令 ATH 和指令 HTA 的輸入和輸出都是受到限制的。

2、HTA 和 ATH 指令的作用?

在具體的應用中需要互相轉換字符(‘0’,‘1’,……‘E’,‘F’)和16進制數值(16#0,1,……E,F),那么HTA和ATH就為轉換這兩種類型的數據提供了方便。

以 HTA 指令為例,在 OB1 中調用 HTA 指令,實現如下要求的轉換:

a.W#16#12AB需要轉換為 ASCII 字符數組,使用 HTA 指令轉換結果為 CHAR#[‘1’,‘2’,‘A’,‘B’]。

b.W#16#12AB需要轉換為 ASCII 字符串,使用 HTA 指令轉換結果為 ‘12AB’ 。

如下圖所示:

645b762c-b130-11ec-aa7f-dac502259ad0.png

圖.07

結果:使用 HTA 指令轉換后,數據類型及占用字節空間發生了變化;同樣的,使用 ATH 指令可以做反向轉換,這里不再舉例說明。

3、字符串存儲的 ‘abcdef’,通過賦值更新為了 ‘DCBA’,為何查看字符存儲單元時,字符 ‘e’ 和 ‘f’ 還能監視到?該如何處理?

簡單測試程序,如下圖所示:

6473414e-b130-11ec-aa7f-dac502259ad0.png

圖.08

當M0.0觸發之后,再觸發M0.2,結果如下圖所示:

64904a14-b130-11ec-aa7f-dac502259ad0.png

圖.09

例子中,6字符的字符串更新為4字符的字符串,原字符串的后2個字符沒有更新;倘若這10個字符的字符串需要通過串口或 TCP 通信完整(字符串總長12字節)的發送到通信伙伴,那么在字符串信息更新后的發送信息中將包含這兩個不需要發送的字符。

結果:字符串更新時,僅更新有效字符數量的部分。

建議處理方法:更新字符串之前,先清空該字符串中所有字符。

4、如何輸入特殊字符(如:回車,換行,$ 等)?

例如,需要輸入的字符串為 ‘$ABCD$+回車+換行’,可以參考如下表格:

64a6d5d6-b130-11ec-aa7f-dac502259ad0.png

圖.10

根據表格說明,字符串在 PLC 中的書寫格式:‘$$ABCD$$$R$L’ 或 ‘$$ABCD$$$N’,如下圖所示:

64bf84aa-b130-11ec-aa7f-dac502259ad0.png

圖.11

------------------END----------------------

審核編輯 :李倩

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

    關注

    5013

    文章

    13327

    瀏覽量

    464081
  • 西門子
    +關注

    關注

    94

    文章

    3051

    瀏覽量

    116058
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28409

原文標題:S71200: char 和 string 的定義

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

收藏 人收藏

    評論

    相關推薦

    MSC1210如何才能在程序中調用Boot ROM中的程序?

    獲取ADC采樣結果的程序long bipolar(void)在哪有定義? ROM.h文件內容如下: extern void put_string(char code *string
    發表于 01-01 07:57

    SpringBean初始化順序

    中直接使用 @Autowired 定義的參數,而應該在 @PostConstruct 中調用。 例如: public class Metric { @Autowired MonitorMetric
    的頭像 發表于 11-06 16:04 ?192次閱讀
    SpringBean初始化順序

    I2S總線的定義和特點

    I2S(Inter-IC Sound)總線,又稱為集成電路內置音頻總線,是飛利浦公司(現為恩智浦半導體)為了數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。它廣泛應用于音頻設備、音頻編解碼器以及數字音頻接口等領域,是音頻領域中的重要通信技術之一。以下將詳細闡述I2S
    的頭像 發表于 09-03 14:08 ?1582次閱讀

    RS485轉Profinet協議轉化網關功能與配置詳解

    器、RFID讀取器,和工業稱重設備等接入到PROFINET網絡(例如西門子S71200S71500、S7400、CPU315-2P
    的頭像 發表于 07-30 11:17 ?370次閱讀
    RS485轉Profinet協議轉化網關功能與配置詳解

    ModbusRTU轉Profinet協議轉化網關功能與配置詳解

    接入到S71500、S71200、CPU315-2PN/DP、S7400等PROFINET網絡系統,是串口PROFINET網關的一種。網關在PROFINET一側
    的頭像 發表于 07-30 10:50 ?330次閱讀
    ModbusRTU轉Profinet協議轉化網關功能與配置詳解

    STM8S903K3定義@eeprom不能編譯通過的原因?

    STM8S903K3定義了@eeprom unsigned char memorySecurity[] = { 0b00000111, 0xff, 0xff, 0xff }; 然后編譯通不過
    發表于 05-07 06:30

    unsigned char POWER_ON_LED_DELAY[2],這句加個[2]是定義了什么?

    unsigned char POWER_ON_LED_DELAY[2],這句加個[2]是定義了什么?或者告訴我這是C的什么語法,我不知道怎么百度搜
    發表于 04-28 08:24

    基于DE1-SOC的String Art實現

    String Art起源于19世紀的數學家Mary Everest Boole的設計,隨后發展成一種利用釘子和線進行作畫的藝術,主要是通過線的稠密度來表現不同的圖案。
    的頭像 發表于 04-09 11:02 ?506次閱讀
    基于DE1-SOC的<b class='flag-5'>String</b> Art實現

    鴻蒙TypeScript學習第10天:【String(字符串)】

    String 對象用于處理文本(字符串)。
    的頭像 發表于 04-08 14:32 ?843次閱讀
    鴻蒙TypeScript學習第10天:【<b class='flag-5'>String</b>(字符串)】

    探索英特爾第 12 代和第 13 代處理器搭載的Qotom迷你電腦Q71200X

    隨著科技的不斷進步,迷你電腦已經成為了現代生活和工作中的一個重要組成部分。在迷你電腦市場上,英特爾第 12 代和第 13 代處理器搭載的千度Q71200X迷你電腦以其強大的性能、創新的設計和多樣化
    的頭像 發表于 04-07 16:26 ?498次閱讀
    探索英特爾第 12 代和第 13 代處理器搭載的Qotom迷你電腦Q<b class='flag-5'>71200</b>X

    char是有符號類型還是無符號類型?

    看一個C語言的筆試題,題目很簡單,問char是有符號類型還是無符號類型?
    的頭像 發表于 03-17 10:15 ?1278次閱讀

    鴻蒙開發UI界面——@ohos.font (注冊自定義字體)

    字體管理中注冊自定義字體。 系統能力: SystemCapability.ArkUI.ArkUI.Full 參數: 參數名 類型 必填 說明 options FontOptions 是 注冊的自定義
    的頭像 發表于 02-22 16:22 ?760次閱讀

    CY8C4248LQI-BL583自定義配置文件讀取特征設置失敗怎么解決?

    了自定義配置文件實現文檔,但這對我不起作用。有人能指導我嗎? 以下是我的主要代碼供你
    發表于 01-25 08:34

    Profinet轉RS232網關與固定式條碼槍的應用

    Profinet轉RS232網關可以實現RS232接口的設備與Profinet網絡之間的通信。這包括各種儀表、變頻器、綜保、軟啟動器等設備,使其可以接入到S71500、S71200
    的頭像 發表于 01-11 17:09 ?485次閱讀
    Profinet轉RS232網關與固定式條碼槍的應用

    Profinet轉RS232網關與固定式條碼槍的應用

    Profinet轉RS232網關可以實現RS232接口的設備與Profinet網絡之間的通信。這包括各種儀表、變頻器、綜保、軟啟動器等設備,使其可以接入到S71500、S71200
    的頭像 發表于 01-11 17:07 ?511次閱讀
    主站蜘蛛池模板: 亚洲无遮挡| 麻豆国产人妻欲求不满| 亚洲合集综合久久性色| 蜜臀亚洲AV永久无码精品老司机| 成人在线观看国产| 在教室伦流澡到高潮H免费视频| 日本熟妇乱妇熟色A片蜜桃亚洲| 久久99视热频国只有精品| 妇少水多18P蜜泬17P亚洲乱| 综合久久伊人| 亚洲人成影院在线播放| 神马电影dy888午夜我不卡 | 久久精品电影| 国产乱码卡二卡三卡4W| z0000性欧美| 最新国产在线视频| 亚洲精品久久久久中文字幕二区| 肉动漫3D卡通无修在线播放| 男人j进女人j一进一出| 久久久久久久久a免费| 国产在线一区二区三区四区| 古代荡乳尤物H妓女调教| 扒开黑女人p大荫蒂老女人 | 国产午夜电影在线观看不卡| 东北疯狂xxxxbbbb中国| a级全黄试频试看30分钟| 2019伊人查蕉在线观看| 亚洲中文字幕乱倫在线| 亚洲国产成人精品无码区99| 天天操夜夜噜| 四虎影院2022| 色欲档案之麻雀台上淫| 日日啪无需播放器| 日本熟妇多毛XXXXX视频| 人妻熟妇乱又伦精品视频中文字幕| 男男gaygay拳头| 能看的黄页最新网站| 嫩草影院地址一二三| 女配穿书病娇被强啪h| 男人扒开添女人屁股| 伦理片午夜在线视频|