組態王和stm32之間通訊筆錄
組態王是亞控科技開發的一款上位機軟體,上位機是一種軟體只能在電腦上執行,對控制的裝置而言沒有任何意義,和MCU通訊進行資料交換,最終還是由MCU控制裝置執行
上位機主要是現實作用,之所以能控制MCU是某個按鈕或資料經過通訊連結到MCU的相應地址從而改變MCU程式資料狀態控制裝置,上位機可以更直觀的控制裝置,可以代替按鈕和儀表顯示。如果裝置離開上位機照樣可以執行,如果離開MCU裝置就執行不了了。
建立新組態王工程的一般過程是:
1.設計圖形介面(定義畫面)2.定義裝置
3.構造資料庫(定義變數)
4.建立動畫連線
5.執行和除錯
通訊方式:序列口和上位機交換資料
傳輸協議:ASCLL通訊協議,內容簡單,但由於其傳輸資料型別的侷限性大,可用於傳輸資料的暫存器較少,並且要需要經過複雜的資料型別轉換,。
,ModbusRTU協議---基於訊息佇列的協議,協議通過監測相應的訊息來完成對應功能。
初步設想,在下位機程式初始化時配置好裝置地址、波特率以及校驗方式,同時在組態王上建立裝置時選擇PLC/莫迪康/ModbusRTC/com,引數的配置要與下位機的保持一致。
更新中。。
今天組態王和stm32微控制器終於成功了。
首先組態王方面
第一步、建立工程
第二步、新建I/0口裝置,並配置其波特率,校驗位,資料位,停止位,波特率和微控制器相同。選擇莫迪康- modbusRTU
第三步、定義變數
開啟資料字典,雙擊新建按鈕。
連線裝置選擇剛剛新建的裝置,暫存器選擇40001,(可以參考幫助文件)確定按鈕,搞定。
第四步、新建畫面,建立文字。
第五步、執行系統,畫面切換view模式。成功。
小結:在此過程中,我遇到很多麻煩。我首先測試了,組態王和串列埠助手的通訊,串列埠傳送modbus協議格式報文,當串列埠收到組態王發過來的資料然後傳送報文,組態王可以收到串列埠助手資料。(這需要仔細研究協議格式,crc校驗需要正確,波特率校驗位也要一致)。此過程中用到虛擬串列埠軟體vspd,及crc校驗生成器。如果組態王和串列埠助手未能成功還可以進行在組態王測試I/o口裝置
2、以上成功後,可以按照modbus協議除錯微控制器程式碼,微控制器和串列埠助手實現報文格式通訊,最後將虛擬串列埠刪掉,連線組態王串列埠,最後終於成功了。
3、另外次過程中還有其他收穫,例如modscan32MODBUS測試的使用。在這就不列舉了。
自我認知:革命尚未成功,同志仍需努力。希望高手指出不足。也希望和朋友繼續學習繼續探討解決問題。附上我的企鵝號:2013462220