RM新时代有限公司

          1. 歡迎光臨入喜工業(yè)控制技術(shù)(上海)有限公司
            當前位置
            首頁(yè) > 新聞中心
            西門(mén)子關(guān)于使用BLKMOV指令由BYTE轉換位字符串的疑問(wèn)
            2021/7/6 10:39:13
            西門(mén)子關(guān)于使用BLKMOV指令由BYTE轉換位字符串的疑問(wèn)

            請問(wèn)可位大神,在DB塊中,有一個(gè)區間是BYTE【120】,此區間是PC傳送給PLC的,并且內容應該是一串字符串。此時(shí)我使用了BLKMOV將BYTE[120]這個(gè)區間傳送到另一個(gè)我定義的STRING[120]的區間,轉換位字符串。這里有兩個(gè)問(wèn)題:一是聽(tīng)說(shuō)前兩個(gè)BYTE是字符串的最長(cháng)長(cháng)度和有效長(cháng)度,從第三個(gè)BYTE開(kāi)始才是字符串內容,但是我實(shí)際試下來(lái)好像并非如此,從第一個(gè)BYTE開(kāi)始就是內容了,請問(wèn)這是怎么回事?第二個(gè)問(wèn)題是究竟從BYTE【120】傳到STRING【120】他里面的內部規則是什么樣子的?


            圖片說(shuō)明:

                       

            1、你說(shuō)的是通訊是系統加的數據流的頭和尾,接收后頭尾自動(dòng)刪除了,所以你看不到這個(gè)信息,除非你自己寫(xiě)通訊功能。
            2、它是一一對應的
            首先需要厘清2個(gè)問(wèn)題:
            1、BLKMOV指令,僅僅以“塊BLOCK”為單位搬運數據,沒(méi)有轉換數據類(lèi)型的功能,是一個(gè)空間對另一個(gè)空間的存儲內容(二進(jìn)制序列)的復制,不涉及數據類(lèi)型。
            2、字節BYTE并不等同CHAR。CHAR字符在計算機上存儲,是以其ASCII碼存儲的,占一個(gè)字節BTYE。換句話(huà)說(shuō),任何一個(gè)字符CHAR有一個(gè)BYTE數據與之對應。但并不是所有的byte類(lèi)型數據都有與之對應的字符,如00H,進(jìn)行ASCII碼轉換是空操作,沒(méi)有對應任何字符。
            因此,你在A(yíng)rray of Byte到String進(jìn)行轉換時(shí),必須確認每個(gè)字節的值的有效性。
            3、字符數組,不等同于字符串。字符數組是字符(ASCII碼)為元素的一個(gè)隊列。而字符串,除了這個(gè)隊列外,在隊列之前還必須有兩個(gè)字節用于申明:這個(gè)隊列允許的最大長(cháng)度是多少,當前實(shí)際長(cháng)度是多少,多了兩個(gè)字節。
            再回到你的問(wèn)題,建議分兩步實(shí)現:
            1、BLKMOV的目標操作數,修改為:P#DB1074.DBX956.0為P#DB1074.DBX958.0后移兩個(gè)字節。
            2、對DB1074.DBb957賦值120.

            用 Chars_TO_Strg 指令。
            如圖是數據定義、以及測試的示例
            資料
            https://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/07-Program/03-instruction/02-Extend/02-String.htm


            圖片說(shuō)明:

              

            聯(lián)系方式
            CONTACT US

            電話(huà):13818569113      15721373211

            郵箱:fushidianji@139.com

            網(wǎng)址:http://xiangtai88.cn

            地址:上海青浦區北青公路7171號111-112室

            用手機掃描二維碼關(guān)閉
            RM新时代有限公司
                          1. RM新时代还出款吗 RM新时代是正规平台吗 RM新时代APP官网 新时代RM官方网站下载 RM新时代官方网站