在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S71200:char和string的定義

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2022-04-01 11:13 ? 次閱讀

一、char 和 string 的定義:

1、數(shù)據(jù)類(lèi)型為 char (Character) 的變量長(zhǎng)度為 8 bit 位,占用1個(gè) byte 的內(nèi)存。char 數(shù)據(jù)類(lèi)型將單個(gè)字符存儲(chǔ)為 ASCII 編碼形式。

通常是指計(jì)算機(jī)中使用的字母、數(shù)字和符號(hào),包括:1、2、3、A、B、C、常見(jiàn)符號(hào)等。每個(gè)字符占用空間為1字節(jié)。

2、數(shù)據(jù)類(lèi)型為 string 的操作數(shù)可存儲(chǔ)多個(gè)字符,最多可包括 254 個(gè)字符。字符串中的第一個(gè)字節(jié)為總長(zhǎng)度,第二個(gè)字節(jié)為有效字符數(shù)量。

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

二、char 和 string 在西門(mén)子 PLC 中的格式

例如,在 PLC 中創(chuàng)建一個(gè) DB 塊,并將屬性設(shè)置為標(biāo)準(zhǔn) DB 塊,在 DB1 塊中創(chuàng)建如下的字符串和字符,并賦予起始值。如下圖所示:

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

圖.01

1、string 數(shù)據(jù)類(lèi)型的格式

下載到 PLC 中,通過(guò)監(jiān)視表逐個(gè)查看每個(gè)字節(jié)中的值。如下圖所示:

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

圖.02

可以看出:

a.數(shù)據(jù)類(lèi)型為 string 的字符串,通過(guò)查看 DB 塊偏移地址可見(jiàn)該字符串占用256字節(jié);查看字符串第一個(gè)字節(jié),其最多存儲(chǔ)字符總數(shù)量為254個(gè)。

b.數(shù)據(jù)類(lèi)型為 string[10] 的字符串,通過(guò)查看 DB 塊偏移地址可見(jiàn)該字符串占用12字節(jié);查看字符串第一個(gè)字節(jié),其最多存儲(chǔ)字符數(shù)量為10個(gè)。

c.字符串的第一個(gè)字節(jié)為該字符串總長(zhǎng)度,第二個(gè)字節(jié)為當(dāng)前存儲(chǔ)的有效字符數(shù)量。

2、char 和16進(jìn)制數(shù)的關(guān)系

在計(jì)算機(jī)領(lǐng)域,所有的數(shù)據(jù)都是以2進(jìn)制數(shù)存儲(chǔ)的,那么 char,16進(jìn)制數(shù)和2進(jìn)制數(shù)又有什么關(guān)系?

如下圖所示:

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

圖.03

可以看出:

a.通過(guò)字符 ‘A’ 的16進(jìn)制數(shù)和2進(jìn)制數(shù),可見(jiàn)字符(char)、16進(jìn)制數(shù)只是在 PLC 中顯示的形式不同,實(shí)際存儲(chǔ)的是一個(gè)2進(jìn)制值。

b.通過(guò)字符 ‘1’ 和數(shù)值1(MB0的值)的16進(jìn)制數(shù)和2進(jìn)制數(shù),可見(jiàn)字符 ‘1’ 和數(shù)值1是兩種不同數(shù)據(jù)。因此,實(shí)際使用是必須注意區(qū)別。

c.下圖是 ASCII 字符(char):‘0’,‘1’,……‘E’,‘F’ 對(duì)應(yīng)的2進(jìn)制,10進(jìn)制,16進(jìn)制對(duì)應(yīng)關(guān)系的截圖。

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

圖.04

更多的 ASCII 字符對(duì)應(yīng)關(guān)系,請(qǐng)查看下面的鏈接。

ASCII 碼表鏈接:ASCII

三、使用 string 數(shù)據(jù)類(lèi)型在 HMI 上顯示漢字

例如,在某些不支持 WString 數(shù)據(jù)類(lèi)型(關(guān)于 WString 參見(jiàn):跳轉(zhuǎn)鏈接)的 HMI 設(shè)備上顯示漢字,也是可以使用 string 數(shù)據(jù)類(lèi)型顯示的。

但由于 string 數(shù)據(jù)類(lèi)型中存儲(chǔ)的漢字編碼標(biāo)準(zhǔn)為 GBK 編碼;因此,需要在 HMI 設(shè)備上選擇相應(yīng)的編碼標(biāo)準(zhǔn)。

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

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

圖.05

在線監(jiān)控時(shí)發(fā)現(xiàn)漢字無(wú)法按 Unicode 編碼方式正確顯示,設(shè)置顯示格式為16進(jìn)制數(shù),通過(guò)下圖所示的字符編碼對(duì)應(yīng)關(guān)系,發(fā)現(xiàn)其對(duì)應(yīng)的是 GBK 編碼。如下圖所示:

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

圖.06

所以,在 HMI 設(shè)備上顯示 string 數(shù)據(jù)類(lèi)型中存儲(chǔ)的漢字時(shí),需要在 HMI 上設(shè)置對(duì)應(yīng)的 GBK 編碼方式,是可以顯示漢字的。

關(guān)于16進(jìn)制數(shù)和 GBK 編碼對(duì)應(yīng)關(guān)系,可以通過(guò)如下網(wǎng)址查詢(xún):GBK

四、常問(wèn)問(wèn)題:

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

通過(guò) TIA 軟件的在線幫助,查看指令功能說(shuō)明:

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

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

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

2、HTA 和 ATH 指令的作用?

在具體的應(yīng)用中需要互相轉(zhuǎn)換字符(‘0’,‘1’,……‘E’,‘F’)和16進(jìn)制數(shù)值(16#0,1,……E,F(xiàn)),那么HTA和ATH就為轉(zhuǎn)換這兩種類(lèi)型的數(shù)據(jù)提供了方便。

以 HTA 指令為例,在 OB1 中調(diào)用 HTA 指令,實(shí)現(xiàn)如下要求的轉(zhuǎn)換:

a.W#16#12AB需要轉(zhuǎn)換為 ASCII 字符數(shù)組,使用 HTA 指令轉(zhuǎn)換結(jié)果為 CHAR#[‘1’,‘2’,‘A’,‘B’]。

b.W#16#12AB需要轉(zhuǎn)換為 ASCII 字符串,使用 HTA 指令轉(zhuǎn)換結(jié)果為 ‘12AB’ 。

如下圖所示:

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

圖.07

結(jié)果:使用 HTA 指令轉(zhuǎn)換后,數(shù)據(jù)類(lèi)型及占用字節(jié)空間發(fā)生了變化;同樣的,使用 ATH 指令可以做反向轉(zhuǎn)換,這里不再舉例說(shuō)明。

3、字符串存儲(chǔ)的 ‘a(chǎn)bcdef’,通過(guò)賦值更新為了 ‘DCBA’,為何查看字符存儲(chǔ)單元時(shí),字符 ‘e’ 和 ‘f’ 還能監(jiān)視到?該如何處理?

簡(jiǎn)單測(cè)試程序,如下圖所示:

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

圖.08

當(dāng)M0.0觸發(fā)之后,再觸發(fā)M0.2,結(jié)果如下圖所示:

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

圖.09

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

結(jié)果:字符串更新時(shí),僅更新有效字符數(shù)量的部分。

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

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

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

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

圖.10

根據(jù)表格說(shuō)明,字符串在 PLC 中的書(shū)寫(xiě)格式:‘$$ABCD$$$R$L’ 或 ‘$$ABCD$$$N’,如下圖所示:

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

圖.11

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5013

    文章

    13327

    瀏覽量

    464087
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    94

    文章

    3051

    瀏覽量

    116061
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28411

原文標(biāo)題:S71200: char 和 string 的定義

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MSC1210如何才能在程序中調(diào)用Boot ROM中的程序?

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

    SpringBean初始化順序

    中直接使用 @Autowired 定義的參數(shù),而應(yīng)該在 @PostConstruct 中調(diào)用。 例如: public class Metric { @Autowired MonitorMetric
    的頭像 發(fā)表于 11-06 16:04 ?194次閱讀
    SpringBean初始化順序

    I2S總線的定義和特點(diǎn)

    I2S(Inter-IC Sound)總線,又稱(chēng)為集成電路內(nèi)置音頻總線,是飛利浦公司(現(xiàn)為恩智浦半導(dǎo)體)為了數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn)。它廣泛應(yīng)用于音頻設(shè)備、音頻編解碼器以及數(shù)字音頻接口等領(lǐng)域,是音頻領(lǐng)域中的重要通信技術(shù)之一。以下將詳細(xì)闡述I2S
    的頭像 發(fā)表于 09-03 14:08 ?1591次閱讀

    RS485轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    器、RFID讀取器,和工業(yè)稱(chēng)重設(shè)備等接入到PROFINET網(wǎng)絡(luò)(例如西門(mén)子S71200S71500、S7400、CPU315-2P
    的頭像 發(fā)表于 07-30 11:17 ?370次閱讀
    RS485轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    ModbusRTU轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    接入到S71500、S71200、CPU315-2PN/DP、S7400等PROFINET網(wǎng)絡(luò)系統(tǒng),是串口PROFINET網(wǎng)關(guān)的一種。網(wǎng)關(guān)在PROFINET一側(cè)
    的頭像 發(fā)表于 07-30 10:50 ?330次閱讀
    ModbusRTU轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與配置詳解

    STM8S903K3定義@eeprom不能編譯通過(guò)的原因?

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

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

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

    基于DE1-SOC的String Art實(shí)現(xiàn)

    String Art起源于19世紀(jì)的數(shù)學(xué)家Mary Everest Boole的設(shè)計(jì),隨后發(fā)展成一種利用釘子和線進(jìn)行作畫(huà)的藝術(shù),主要是通過(guò)線的稠密度來(lái)表現(xiàn)不同的圖案。
    的頭像 發(fā)表于 04-09 11:02 ?506次閱讀
    基于DE1-SOC的<b class='flag-5'>String</b> Art實(shí)現(xiàn)

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

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

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

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

    char是有符號(hào)類(lèi)型還是無(wú)符號(hào)類(lèi)型?

    看一個(gè)C語(yǔ)言的筆試題,題目很簡(jiǎn)單,問(wèn)char是有符號(hào)類(lèi)型還是無(wú)符號(hào)類(lèi)型?
    的頭像 發(fā)表于 03-17 10:15 ?1279次閱讀

    鴻蒙開(kāi)發(fā)UI界面——@ohos.font (注冊(cè)自定義字體)

    字體管理中注冊(cè)自定義字體。 系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full 參數(shù): 參數(shù)名 類(lèi)型 必填 說(shuō)明 options FontOptions 是 注冊(cè)的自定義
    的頭像 發(fā)表于 02-22 16:22 ?760次閱讀

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

    了自定義配置文件實(shí)現(xiàn)文檔,但這對(duì)我不起作用。有人能指導(dǎo)我嗎? 以下是我的主要代碼供你
    發(fā)表于 01-25 08:34

    Profinet轉(zhuǎn)RS232網(wǎng)關(guān)與固定式條碼槍的應(yīng)用

    Profinet轉(zhuǎn)RS232網(wǎng)關(guān)可以實(shí)現(xiàn)RS232接口的設(shè)備與Profinet網(wǎng)絡(luò)之間的通信。這包括各種儀表、變頻器、綜保、軟啟動(dòng)器等設(shè)備,使其可以接入到S71500、S71200
    的頭像 發(fā)表于 01-11 17:09 ?486次閱讀
    Profinet轉(zhuǎn)RS232網(wǎng)關(guān)與固定式條碼槍的應(yīng)用

    Profinet轉(zhuǎn)RS232網(wǎng)關(guān)與固定式條碼槍的應(yīng)用

    Profinet轉(zhuǎn)RS232網(wǎng)關(guān)可以實(shí)現(xiàn)RS232接口的設(shè)備與Profinet網(wǎng)絡(luò)之間的通信。這包括各種儀表、變頻器、綜保、軟啟動(dòng)器等設(shè)備,使其可以接入到S71500、S71200
    的頭像 發(fā)表于 01-11 17:07 ?513次閱讀
    主站蜘蛛池模板: 三级理论片| 日韩免费在线视频| 男女一进一出抽搐免费视频| 日本最色视频| 色婷婷综合网| 双性受粗大撑开白浊| 久久午夜影视| 小雪被撑暴黑人黑人与亚洲女人 | 性欧美69| 看屁屁www视频免费观看| 久色国产| sss华人在线play| 日本69xxxxxxxx69| 97久久天天综合色天天综合色 | 91成人免费观看| 台湾一级毛片永久免费| 国产美女被艹| 午夜性| 亚洲三级电影在线播放| 性夜黄 a 爽免费看| 99久久精品国产免费| 乱好看的的激情伦小说| 亚洲第二页| 六月激情网| 亚洲欧美性另类春色| 国产1024一区二区你懂的| 国产亚洲精品美女2020久久| 日本人69xxxxxxx69| h文 超乳 奶水| 全日本爽视频在线| 欧美ww| 99视频全部免费| 久久免费视频2| 日本一级成人毛片免费观看| 热99精品视频| 色综合五月婷婷| 国产一级特黄aa大片爽爽| 成熟妇女毛耸耸性视频| 手机看片国产免费现在观看| 91大神网址| 午夜日韩视频|