91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2022-07-07 17:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、char 和 string 的定義:

1、數(shù)據(jù)類型為 char (Character) 的變量長(zhǎng)度為 8 bit 位,占用1個(gè) byte 的內(nèi)存。char 數(shù)據(jù)類型將單個(gè)字符存儲(chǔ)為 ASCII 編碼形式。
通常是指計(jì)算機(jī)中使用的字母、數(shù)字和符號(hào),包括:1、2、3、A、B、C、常見(jiàn)符號(hào)等。每個(gè)字符占用空間為1字節(jié)。
2、數(shù)據(jù)類型為 string 的操作數(shù)可存儲(chǔ)多個(gè)字符,最多可包括 254 個(gè)字符。字符串中的第一個(gè)字節(jié)為總長(zhǎng)度,第二個(gè)字節(jié)為有效字符數(shù)量。
字符串(string)在存儲(chǔ)上類似字符的數(shù)組,所以它每一個(gè)元素都是可以提取的字符,如:"abcdefg"叫字符串,而其中的每個(gè)元素叫字符。

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

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

1、string 數(shù)據(jù)類型的格式
下載到 PLC 中,通過(guò)監(jiān)視表逐個(gè)查看每個(gè)字節(jié)中的值。如下圖所示:
a8cc76fc-ee1c-11ec-ba43-dac502259ad0.png
圖.02

可以看出:
a.數(shù)據(jù)類型為 string 的字符串,通過(guò)查看 DB 塊偏移地址可見(jiàn)該字符串占用256字節(jié);查看字符串第一個(gè)字節(jié),其最多存儲(chǔ)字符總數(shù)量為254個(gè)。
b.數(shù)據(jù)類型為 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)系?
如下圖所示:
a8dcab12-ee1c-11ec-ba43-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)系的截圖。
a8ed0d18-ee1c-11ec-ba43-dac502259ad0.png
圖.04

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

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

例如,在某些不支持 WString 數(shù)據(jù)類型(關(guān)于 WString 參見(jiàn):跳轉(zhuǎn)鏈接)的 HMI 設(shè)備上顯示漢字,也是可以使用 string 數(shù)據(jù)類型顯示的。
但由于 string 數(shù)據(jù)類型中存儲(chǔ)的漢字編碼標(biāo)準(zhǔn)為 GBK 編碼;因此,需要在 HMI 設(shè)備上選擇相應(yīng)的編碼標(biāo)準(zhǔn)。
如下圖所示,在 string 數(shù)據(jù)類型的起始值中定義漢字 '你好',且字符背景底色為淺黃色(編譯時(shí)會(huì)有警告信息,這是TIA軟件建議 string 數(shù)據(jù)類型中不使用漢字的友情提示),但不影響使用。
a9062b72-ee1c-11ec-ba43-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 編碼。如下圖所示:
a9188628-ee1c-11ec-ba43-dac502259ad0.png
圖.06

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

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

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

1、HTA 和 ATH 指令的輸入和輸出使用限制?
通過(guò) TIA 軟件的在線幫助,查看指令功能說(shuō)明:
指令 HTA 功能——輸入范圍為16進(jìn)制數(shù):16#0,1,……E,F,輸出范圍為由 ASCII 字符(char):'0','1',……'E','F' 組成的數(shù)組或字符串 。
指令 ATH 功能——輸入范圍為由 ASCII 字符(char):'0','1',……'E','F' 組成的數(shù)組或字符串,輸出范圍為16進(jìn)制數(shù):16#0,1,……E,F 。
注意:指令 ATH 和指令 HTA 的輸入和輸出都是受到限制的。

2、HTA 和 ATH 指令的作用?
在具體的應(yīng)用中需要互相轉(zhuǎn)換字符('0','1',……'E','F')和16進(jìn)制數(shù)值(16#0,1,……E,F),那么HTA和ATH就為轉(zhuǎn)換這兩種類型的數(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' 。
如下圖所示:
a92c28c2-ee1c-11ec-ba43-dac502259ad0.png
圖.07

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

3、字符串存儲(chǔ)的 'abcdef',通過(guò)賦值更新為了 'DCBA',為何查看字符存儲(chǔ)單元時(shí),字符 'e' 和 'f' 還能監(jiān)視到?該如何處理?
簡(jiǎn)單測(cè)試程序,如下圖所示:
a93c24e8-ee1c-11ec-ba43-dac502259ad0.png
圖.08

當(dāng)M0.0觸發(fā)之后,再觸發(fā)M0.2,結(jié)果如下圖所示:
a95b23b6-ee1c-11ec-ba43-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、如何輸入特殊字符(如:回車,換行,$ 等)?
例如,需要輸入的字符串為 '$ABCD$+回車+換行',可以參考如下表格:
a96beaf2-ee1c-11ec-ba43-dac502259ad0.png
圖.10

根據(jù)表格說(shuō)明,字符串在 PLC 中的書寫格式:'$$ABCD$$$R$L' 或 '$$ABCD$$$N',如下圖所示:
a9887348-ee1c-11ec-ba43-dac502259ad0.png
圖.11

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

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

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5332

    瀏覽量

    91603
  • 西門子PLC
    +關(guān)注

    關(guān)注

    13

    文章

    225

    瀏覽量

    18535
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    5058

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    西門子PLC如何使用Modbus 485通訊傳輸接收數(shù)據(jù)

    西門子 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站協(xié)議庫(kù)(西門子標(biāo)準(zhǔn)庫(kù)指令)。使用 Modbus RTU 主站指令庫(kù),可以讀寫 Modbus RTU 從站的數(shù)字量、模擬量 I/O 以及
    的頭像 發(fā)表于 08-19 13:52 ?5502次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>如何使用Modbus 485通訊傳輸接收數(shù)據(jù)

    宏集方案 | 如何輕松管理西門子S7 PLC?S7Comm: 與西門子 PLC 直接通信的關(guān)鍵

    西門子(Siemens)生產(chǎn)的SIMATICS7PLCSCADA領(lǐng)域發(fā)揮著至關(guān)重要的作用。眾多行業(yè),SCADA應(yīng)用都需要與這些
    的頭像 發(fā)表于 08-08 18:12 ?748次閱讀
    宏集方案 | 如何輕松管理<b class='flag-5'>西門子</b>S7 <b class='flag-5'>PLC</b>?S7Comm: 與<b class='flag-5'>西門子</b> <b class='flag-5'>PLC</b> 直接通信的關(guān)鍵

    西門子S7-300PLC MPI轉(zhuǎn)以太網(wǎng)通訊模塊840DSL數(shù)控系統(tǒng)的應(yīng)用案例

    一.行業(yè)痛點(diǎn):傳統(tǒng)PLC的通訊瓶頸 精密機(jī)械加工領(lǐng)域,西門子S7-300系列PLC因穩(wěn)定性強(qiáng)、編程靈活等特點(diǎn),長(zhǎng)期以來(lái)被廣泛應(yīng)用于數(shù)控機(jī)床的邏輯控制環(huán)節(jié)。然而,部分早期型號(hào)的S7-3
    的頭像 發(fā)表于 08-08 15:32 ?1120次閱讀
    <b class='flag-5'>西門子</b>S7-300<b class='flag-5'>PLC</b> MPI轉(zhuǎn)以太網(wǎng)通訊模塊<b class='flag-5'>在</b>840DSL數(shù)控系統(tǒng)<b class='flag-5'>中</b>的應(yīng)用案例

    plc以太網(wǎng)通訊模塊:西門子 S7-300PLC 與 S7-1200、觸摸屏及變頻器通訊案例

    一、項(xiàng)目背景與痛點(diǎn) 在當(dāng)今快速發(fā)展的工業(yè)自動(dòng)化領(lǐng)域,工廠對(duì)設(shè)備間的高效通信和數(shù)據(jù)交互有著迫切需求。某工廠現(xiàn)場(chǎng)存在一臺(tái)西門子300PLC,其僅配備MPI9針DP口,且已連接一臺(tái)西門子
    的頭像 發(fā)表于 07-29 09:51 ?1507次閱讀
    <b class='flag-5'>plc</b>以太網(wǎng)通訊模塊:<b class='flag-5'>西門子</b> S7-300<b class='flag-5'>PLC</b> 與 S7-1200、觸摸屏及變頻器通訊案例

    開(kāi)疆智能ModbusTCP轉(zhuǎn)Profient網(wǎng)關(guān)連接西門子PLC與川崎機(jī)器人配置案例

    本案例是西門子PLC與川崎機(jī)器人通過(guò)Profient轉(zhuǎn)ModbusTCP網(wǎng)關(guān)進(jìn)行通訊轉(zhuǎn)換的配置案例,西門子作為profinet主站,機(jī)器人作為ModbusTCP服務(wù)器。
    的頭像 發(fā)表于 07-26 11:14 ?1314次閱讀
    開(kāi)疆智能ModbusTCP轉(zhuǎn)Profient網(wǎng)關(guān)連接<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>與川崎機(jī)器人配置案例

    包裝機(jī)械薄膜張力穩(wěn)了!CAN轉(zhuǎn)Modbus TCP網(wǎng)關(guān)讓西門子PLC與伺服“默契配合”

    包裝機(jī)械薄膜張力控制領(lǐng)域,不同通信協(xié)議設(shè)備間的高效協(xié)同至關(guān)重要。本文介紹JH-CAN-TCP疆鴻智能CAN主站轉(zhuǎn)Modbus TCP網(wǎng)關(guān)在連接西門子PLC與伺服系統(tǒng)的應(yīng)用。
    的頭像 發(fā)表于 07-02 20:07 ?558次閱讀

    3 分鐘極速上手!西門子 PLC 無(wú)縫連接指南

    PLC數(shù)據(jù)采集 3 分鐘極速上手!西門子 PLC 無(wú)縫連接指南
    的頭像 發(fā)表于 06-17 18:02 ?2589次閱讀
    3 分鐘極速上手!<b class='flag-5'>西門子</b> <b class='flag-5'>PLC</b> 無(wú)縫連接指南

    使用西門子報(bào)文控制V90伺服驅(qū)動(dòng)器

    西門子的V90伺服驅(qū)動(dòng)器可以通過(guò)PROFINET(PN)進(jìn)行通信,并且通常與SINAMICS V90集成使用的控制器是SIMATIC S7系列PLC。西門子報(bào)文(Messages)通常指的是
    的頭像 發(fā)表于 06-17 15:58 ?3558次閱讀
    使用<b class='flag-5'>西門子</b>報(bào)文控制V90伺服驅(qū)動(dòng)器

    西門子S7-200 PLC:數(shù)據(jù)采集與遠(yuǎn)程調(diào)試上下載解決方案

    工業(yè)自動(dòng)化領(lǐng)域,西門子S7-200PLC 憑借其可靠性和性價(jià)比,廣泛應(yīng)用于各類生產(chǎn)場(chǎng)景。然而,傳統(tǒng)的數(shù)據(jù)采集和調(diào)試方式存在諸多局限,如需技術(shù)人員現(xiàn)場(chǎng)操作、設(shè)備分布廣導(dǎo)致運(yùn)維成本高、數(shù)據(jù)孤島現(xiàn)象嚴(yán)重等。御控網(wǎng)關(guān)為
    的頭像 發(fā)表于 06-10 11:55 ?899次閱讀

    如何破解三菱PLC西門子PLC的通訊難題

    工業(yè)自動(dòng)化領(lǐng)域,不同品牌PLC之間的通訊一直是工程師們關(guān)注的焦點(diǎn)。三菱PLC西門子PLC作為市場(chǎng)主流設(shè)備,常因協(xié)議差異導(dǎo)致數(shù)據(jù)交互困難。
    的頭像 發(fā)表于 06-09 17:14 ?1285次閱讀
    如何破解三菱<b class='flag-5'>PLC</b>與<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>的通訊難題

    工業(yè)智能網(wǎng)關(guān)可以采集西門子PLC

    工業(yè)智能網(wǎng)關(guān)可以采集西門子PLC的數(shù)據(jù)。物通博聯(lián)提供全面接入西門子PLC的數(shù)據(jù)采集解決方案,其工業(yè)智能網(wǎng)關(guān)支持多種網(wǎng)絡(luò)制式,可采集各種工業(yè)設(shè)備數(shù)據(jù),包括主流
    的頭像 發(fā)表于 05-26 09:14 ?1421次閱讀

    西門子伺服電機(jī)簡(jiǎn)明樣本

    西門子伺服電機(jī)簡(jiǎn)明樣本
    發(fā)表于 04-14 15:36 ?2次下載

    西門子PLC-模擬量采集計(jì)算使用方法

    西門子PLC-模擬量采集計(jì)算使用方法,很實(shí)用
    發(fā)表于 04-09 15:29 ?1次下載

    EtherCAT轉(zhuǎn)ProfiNet西門子1200PLC與伺服電機(jī)通訊案例全解

    一. 案例背景 西門子1200PLC通過(guò) 捷米特JM-ECTM-PN (EtherCAT轉(zhuǎn)ProfiNet) 網(wǎng)關(guān)模塊 將松下伺服電機(jī)(包括不限于型號(hào)MHMFO22D1U2M)或EtherCAT協(xié)議
    的頭像 發(fā)表于 03-21 09:42 ?1860次閱讀
    EtherCAT轉(zhuǎn)ProfiNet<b class='flag-5'>西門子</b>1200<b class='flag-5'>PLC</b>與伺服電機(jī)通訊案例全解

    MCGS觸摸屏與西門子S7系列PLC以太網(wǎng)通信

    隨著計(jì)算機(jī)控制技術(shù)的不斷發(fā)展,可編輯邏輯控制 器的應(yīng)用也不斷普及,成為自動(dòng)化技術(shù)的重要組成, 其中西門子 S7 系列的 PLC 我國(guó)工業(yè)控制
    的頭像 發(fā)表于 03-20 14:19 ?3948次閱讀
    MCGS觸摸屏與<b class='flag-5'>西門子</b>S7系列<b class='flag-5'>PLC</b>以太網(wǎng)通信