工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

如何通過組態(tài)王實現(xiàn)對stm32的控制及查詢接收數(shù)據(jù)?

如何通過組態(tài)王實現(xiàn)對stm32的控制及查詢接收數(shù)據(jù)?

2018/5/8 11:36:23

一、上位機組態(tài)王

1、建立I/O變量。

首先說一下I/O變量和內(nèi)存變量的區(qū)別及用法:I/O變量是指組態(tài)王可以與外部數(shù)據(jù)交換的變量,能和下位機進(jìn)行數(shù)據(jù)交換。這個數(shù)據(jù)是雙向的,動態(tài)的。內(nèi)存變量是指不需要和外部應(yīng)用程序進(jìn)行數(shù)據(jù)交換,只在組態(tài)王內(nèi)部進(jìn)行數(shù)據(jù)交換。

建立I/O變量。

下面分析一下這個變量對應(yīng)發(fā)送給stm32的報文格式,寄存器選擇4****,讀寫屬性為只讀,功能碼為03(讀取保持寄存器)****為查詢命令的起始地址,數(shù)據(jù)類型是查詢命令請求的數(shù)據(jù)的數(shù)量,這里用的USHORT 這是請求1個數(shù)據(jù)(16位整數(shù))。這樣組態(tài)王下發(fā)給的報文為 01 03 00 00 00 01 84 0A;  01:設(shè)備地址 ;03 :功能碼; 00 00:寄存器地址; 00 01(驅(qū)動的變量的寄存器通道號(寄存器范圍),是按照以1為起始地址的。對于以0為起始地址的設(shè)備,定義變量應(yīng)該加1。例如,如果某設(shè)備的一個變量在數(shù)據(jù)4區(qū),為40100,如果地址是從1開始,對應(yīng)變量定義為40100;如果地址是從0開始,定義為40101。):請求數(shù)據(jù)數(shù); 84 0A:crc校驗碼;這是組態(tài)王燒的標(biāo)準(zhǔn)modbus-rtu驅(qū)動。所以這樣發(fā)。(自己通過虛擬串口和串口助手接收的數(shù)據(jù)分析,以上全為自己總結(jié)發(fā)現(xiàn)不具有標(biāo)準(zhǔn)性,如有不如請指出)下面貼上modbus標(biāo)準(zhǔn)協(xié)議報文格式:

組態(tài)王下發(fā)查詢命令,單片機應(yīng)答,這樣就可以實現(xiàn)單片機向組態(tài)王顯示數(shù)據(jù)。至于stm32怎么應(yīng)答數(shù)據(jù)及程序,接下來有時間更新。

建立畫面及數(shù)據(jù)顯示文本

選擇模擬值輸出:

這樣stm32寫完了modbus驅(qū)動程序就可以與組態(tài)王實現(xiàn)通訊。(注意波特率);

組態(tài)王下發(fā)控制stm32

這里我們使用05功能碼,使用0寄存器。

建立I/O變量:

貼上05功能碼的modbus-rtu協(xié)議報文

在stm32寫好05功能碼的代碼,變可以實現(xiàn)將設(shè)定值傳到下位機實現(xiàn)對燈、步進(jìn)電機等用電器控制。

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

2025中歐綠色建筑工業(yè)化論壇9月北京啟幕 全球智慧共推建筑產(chǎn)業(yè)“雙碳”轉(zhuǎn)型

喜訊!華強電子網(wǎng)榮獲“2025年中國產(chǎn)業(yè)互聯(lián)網(wǎng)創(chuàng)新企業(yè)”

深入實施“人工智能+”行動 浪潮軟件集團(tuán)看好人工智能+工業(yè)質(zhì)檢廣闊前景,持續(xù)布局線纜行業(yè)智能質(zhì)檢

海爾新增2家卓越級智能工廠,總數(shù)品類行業(yè)雙第一

深度剖析格力打破磁懸浮壓縮機國外壟斷,底氣來自對自主創(chuàng)新的堅守!