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

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

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

PLC程序分析和數(shù)據(jù)下發(fā)測試教程

jf_10471008 ? 來源:jf_10471008 ? 作者:jf_10471008 ? 2023-02-06 17:56 ? 次閱讀

在億佰特介紹了西門子PLC如何通過函數(shù)塊連接MQTT服務(wù)器和發(fā)布消息,前文為大家介紹如何通過函數(shù)與函數(shù)塊實現(xiàn)MQTT云消息的訂閱,介紹到了MQTT服務(wù)器下發(fā)數(shù)據(jù)分析部分,本文接著講述PLC程序分析和數(shù)據(jù)下發(fā)測試。

PLC程序分析

每個變量的提取過程都是類似的,我們可以將其封裝為函數(shù)塊方便多次調(diào)用,先創(chuàng)建FC函數(shù)塊,選擇LAD語言,如下圖:

poYBAGPgzt6ALCKjAABrDr86Y1Q324.png

先定義輸入變量:

如下:

main_str:待解析字符串,云平臺下發(fā)的字符串;

Compare_str:解析字段,需要從云平臺提取的有效數(shù)據(jù)標(biāo)簽;

outdata_type:數(shù)據(jù)類型,解析后輸出的數(shù)據(jù)類型,0(Uint)、1(Real)、2(String);

輸出變量如下:

DONE:輸出解析狀態(tài),非零有效,為零代表輸入的“main_str”不包含“Compare_str”解析失??;

valid_value_int:解析的整形結(jié)果,非整形該輸出無效;

valid_value_real:解析的浮點數(shù)結(jié)果,非浮點該輸出無效;

valid_str:輸出的字符串,非字符串輸出無效;

pYYBAGPgzt6AZIMOAABSxEufHHU671.png

還需要定義一些中間變量,主要用來存儲轉(zhuǎn)換所需要的條件和轉(zhuǎn)換的中間結(jié)果,就不再贅述。

poYBAGPgzt-ABicIAAAsgieE5hQ499.png


上圖為判斷該輸入的待解析字符串是否存在解析字段,若有輸出位置信息,再將其轉(zhuǎn)換為相對偏移地址用于后續(xù)有效數(shù)據(jù)提取。

pYYBAGPgzuCAXVd2AAB0VoNNZJg919.png


上圖為不同類型數(shù)據(jù)調(diào)用不同的解析方法,上一章已經(jīng)介紹過原理了,LAD編程語言不太適合這種功能的實現(xiàn),使用STL語言就要簡潔的多,有機會再給大家介紹。

在創(chuàng)建一個FB(函數(shù)塊)將需要解析的字段放在一個函數(shù)塊內(nèi)方便后續(xù)維護,

poYBAGPgzuGALelUAABtl5T9l6k714.png


在飛燕平臺定義如下參數(shù)

pYYBAGPgzuKAZjzGAABcxluIOV0771.png

同樣的也需要定義一些輸出變量方便主程序?qū)⑻崛〗Y(jié)果配置給對應(yīng)設(shè)備,我這里只通過在線調(diào)試演示沒有正式設(shè)備,輸出變量定義如下:

luminance:光照強度;

luminance_set_en,是否修改,非零代表存在修改;

類似方法定義剩余的兩個變量,如下圖所示:

pYYBAGPgzuOAAvvOAACqbPmU9T4769.png

先將Mqtt函數(shù)塊收到的云平臺下發(fā)數(shù)組轉(zhuǎn)換為字符串,用于其他步驟使用;

pYYBAGPgzuSAT7IvAAAnk22e2w8641.png


調(diào)用剛才創(chuàng)建的有效數(shù)據(jù)提取函數(shù)(get_server_srt_validdata),輸入需要解析的數(shù)據(jù)和字段(“l(fā)uminance”:)以及變量類型”0“;

poYBAGPgzuWAGfbHAAA9s2JOD5A326.png

在通過變量“l(fā)uminance_set_en“判斷數(shù)據(jù)點是否存在修改,若存在則將提取到的有效數(shù)據(jù)輸出,若不存在則不進行輸出;

后面的“speed”與“DO1”采用相同的配置方法。

接下來就是在主程序中調(diào)用該函數(shù)塊實現(xiàn)MQTT訂閱消息的解析,第一步創(chuàng)建自動訂閱功能,通過下圖方法,將在請求連接后的10s自動進行訂閱;

pYYBAGPgzuWAeYXsAAAeQjUyWU0227.png


再調(diào)用解析函數(shù)塊;

poYBAGPgzuaAeuN3AAAgu7u4sPM964.png

四、數(shù)據(jù)下發(fā)測試

進入設(shè)備詳情的在線調(diào)試界面選擇屬性調(diào)試,方法采用設(shè)置發(fā)送下列字符串;

pYYBAGPgzuiAL-n8AADENdBf_LU240.png

PLC成功解析數(shù)據(jù);

poYBAGPgzuqAKLt9AAGerQcBZ_o295.png


下次為大家介紹云智能APP的制作。

審核編輯黃宇

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

    關(guān)注

    8

    文章

    5104

    瀏覽量

    126341
  • plc
    plc
    +關(guān)注

    關(guān)注

    5007

    文章

    13109

    瀏覽量

    461470
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    647

    瀏覽量

    22392
收藏 人收藏

    評論

    相關(guān)推薦

    為什么LWIP TCP客戶端測試中總是出現(xiàn)數(shù)據(jù)掉包和數(shù)據(jù)重發(fā)現(xiàn)象?

    參考發(fā)燒友網(wǎng)絡(luò)實驗中的TCP CLIENT測試移植的程序,將STM32作為客戶端,電腦作為服務(wù)器,STM32連續(xù)發(fā)送數(shù)據(jù)給服務(wù)器時,發(fā)送一定次數(shù)的數(shù)據(jù)
    發(fā)表于 08-30 04:36

    如何定位C程序的代碼和數(shù)據(jù)?

    C程序的代碼和數(shù)據(jù)如何定位的?
    發(fā)表于 09-11 05:55

    嵌入式系統(tǒng)測試教學(xué)實訓(xùn)平臺由哪幾部分組成

    設(shè)備組成嵌入式系統(tǒng)測試教學(xué)實訓(xùn)平臺主要由軟件部分和教學(xué)實驗箱組成。2.1軟件部分(嵌入式系統(tǒng)測試教學(xué)實訓(xùn)系統(tǒng))?通用嵌入式系統(tǒng)測試平臺軟件(教學(xué)版)及安裝光盤?待測件板軟件(已安裝到待測件板)?產(chǎn)品
    發(fā)表于 12-21 08:09

    北大青鳥軟件測試教程PPt

    北大青鳥軟件測試教程包含有:軟件質(zhì)量保證,測試技術(shù),測試工具,測試計劃和單元測試等等內(nèi)容。
    發(fā)表于 09-18 16:50 ?0次下載
    北大青鳥軟件<b class='flag-5'>測試教</b>程PPt

    白盒測試教程ppt

    白盒測試白盒測試概念測試覆蓋標(biāo)準(zhǔn)邏輯驅(qū)動測試基本路徑測試 白盒測試也稱結(jié)構(gòu)
    發(fā)表于 09-19 09:39 ?0次下載

    monkeyrunner測試教

    monkeyrunner工具提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設(shè)備和模擬器。通過monkeyrunner,您可以寫出一個Python程序去安裝一個Android應(yīng)用程序
    發(fā)表于 12-12 14:03 ?1756次閱讀
    monkeyrunner<b class='flag-5'>測試教</b>程

    數(shù)據(jù)和數(shù)據(jù)分析區(qū)別

    數(shù)據(jù)分析和數(shù)據(jù)分析是有區(qū)別和聯(lián)系的。這里重點關(guān)注兩者的是技術(shù)要求、使用場景、業(yè)務(wù)范圍等方面的區(qū)別和聯(lián)系。重點要區(qū)分理論研究和實際應(yīng)用兩方面區(qū)別和聯(lián)系。
    的頭像 發(fā)表于 12-19 15:39 ?1.6w次閱讀

    無線WIFI產(chǎn)品硬件測試教程資料免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是無線WIFI產(chǎn)品硬件測試教程資料免費下載包括了:1.無線局域網(wǎng)標(biāo)準(zhǔn)體系,2.無線硬件測試指標(biāo),3.無線研發(fā)測試,4.工廠生產(chǎn)測試
    發(fā)表于 03-20 08:00 ?36次下載
    無線WIFI產(chǎn)品硬件<b class='flag-5'>測試教</b>程資料免費下載

    LabVIEW用于測量和數(shù)據(jù)分析

    LabVIEW用于測量和數(shù)據(jù)分析說明。
    發(fā)表于 04-19 14:27 ?48次下載

    宇電AI808與組態(tài)王6.01通訊測試教

    宇電AI808與組態(tài)王6.01通訊測試教
    發(fā)表于 07-23 09:24 ?17次下載

    如何實現(xiàn)匯川plc在線監(jiān)控和數(shù)據(jù)采集?

    隨著智能制造的發(fā)展和技術(shù)的進步,工業(yè)自動化系統(tǒng)越來越復(fù)雜,其系統(tǒng)中涉及的各種傳感器、控制器和PLC等設(shè)備數(shù)量也不斷增加。在這種情況下,如何準(zhǔn)確、有效地對這些設(shè)備進行在線監(jiān)控和數(shù)據(jù)采集成為了一個重要
    發(fā)表于 03-27 13:31 ?1203次閱讀
    如何實現(xiàn)匯川<b class='flag-5'>plc</b>在線監(jiān)控<b class='flag-5'>和數(shù)據(jù)</b>采集?

    會充電的CANoe:PLC數(shù)據(jù)采集、分析、仿真

    OEM為了精準(zhǔn)高效的完成測試,需要支持PLC通訊的自動化測試系統(tǒng),CANoe Option Smart Charging結(jié)合相應(yīng)硬件如VH5110或者VT7970/VT7971即可實現(xiàn)PLC
    的頭像 發(fā)表于 08-04 18:00 ?980次閱讀
    會充電的CANoe:<b class='flag-5'>PLC</b><b class='flag-5'>數(shù)據(jù)</b>采集、<b class='flag-5'>分析</b>、仿真

    西門子PLC數(shù)據(jù)采集輪詢程序如何實現(xiàn)

    隨著工業(yè)4.0和智能制造的快速發(fā)展,越來越多的工廠和企業(yè)開始采用工業(yè)智能網(wǎng)關(guān)來實現(xiàn)西門子PLC數(shù)據(jù)采集輪詢程序。這種輪詢程序可以實時監(jiān)控PLC
    的頭像 發(fā)表于 09-20 16:38 ?2095次閱讀

    三菱PLC計數(shù)器和數(shù)據(jù)寄存器介紹

    三菱PLC(Programmable Logic Controller,可編程邏輯控制器)作為工業(yè)自動化領(lǐng)域的核心設(shè)備,廣泛應(yīng)用于各種生產(chǎn)線上。在PLC的編程和運行過程中,計數(shù)器和數(shù)據(jù)寄存器是兩種
    的頭像 發(fā)表于 06-18 11:32 ?3854次閱讀

    網(wǎng)絡(luò)爬蟲,Python和數(shù)據(jù)分析

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)絡(luò)爬蟲,Python和數(shù)據(jù)分析.pdf》資料免費下載
    發(fā)表于 07-13 09:27 ?1次下載