




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
6.3遠程I/O模塊的設(shè)計能力目標:
認知工業(yè)自動化產(chǎn)品中的遠程I/O模塊,在理解的基礎(chǔ)上掌握其主要功能,并完成產(chǎn)品主要功能的設(shè)計。任務(wù)要求:
繪制遠程I/O模塊的仿真電路,并完成STM32單片機程序的設(shè)計,要求實現(xiàn)如下功能:(1)模塊具備4個數(shù)字量輸入和4個數(shù)字量輸出;(2)能與組態(tài)軟件(比如MCGS)、支持Modbus_RTU通信協(xié)議的PLC(比如三菱FX3U)配合實現(xiàn)遠程I/O控制。6.3.1遠程I/O模塊簡介遠程I/O模塊也叫分布式I/O模塊,顧名思義是一種能夠?qū)崿F(xiàn)遠距離I/O控制的自動化裝置。如下圖所示,PLC和遠程I/O掛在同一個總線上。遠程I/O模塊無需編寫程序,只需要設(shè)定好通信參數(shù)即可使用,可以看成是對PLC的I/O點的延伸或者擴充。
國外品牌的遠程I/O模塊,出于商業(yè)利益,只支持自家自動化產(chǎn)品,兼容型較差。
國產(chǎn)品牌的遠程I/O模塊,由于起步較晚,為了爭奪市場份額,采用通用型通信協(xié)議,兼容型較好。6.3.2CRC校驗
數(shù)據(jù)在傳遞過程中,由于環(huán)境干擾等因素收發(fā)數(shù)據(jù)的一致性往往得不到保證,因此常用的做法是對數(shù)據(jù)包進行校驗,如果通不過校驗,則將整個數(shù)據(jù)包丟棄。計算數(shù)據(jù)包校驗值添加校驗值到數(shù)據(jù)包末尾發(fā)送數(shù)據(jù)包接收數(shù)據(jù)包重新計算數(shù)據(jù)包校驗值與原校驗值比較繼續(xù)解析數(shù)據(jù)包丟棄數(shù)據(jù)包相同不同數(shù)據(jù)發(fā)送端:數(shù)據(jù)接收端:CRC(CyclicRedundancyCheck,循環(huán)冗余校驗)校驗是一種主流的數(shù)據(jù)校驗技術(shù),常用的CRC校驗有如下六種版本:●CRC-8●CRC-12●CRC-16(?)●CRC-CCITT●CRC-32●CRC-32C
在接下來介紹的Modbus_RTU通信協(xié)議中,我們會用到CRC-16校驗方式。
由于CRC校驗算法原理十分復雜,因此本課程不做深入介紹,僅提供校驗程序,讀者直接調(diào)用校驗碼生成函數(shù)即可。
(演示CRC校驗相關(guān)程序的使用方法)6.3.3Modbus_RTU概述Modbus協(xié)議是由美國modicon公司(現(xiàn)已被施耐德公司收購)于1979年提出的一種可用于工業(yè)現(xiàn)場的總線協(xié)議。Modbus協(xié)議僅定義了數(shù)據(jù)鏈路層協(xié)議,可用于RS-232、RS-422、RS-485等串行總線。Modbus協(xié)議分為Modbus_RTU(√本次任務(wù)選擇)、Modbus_ASCII(×不講)兩種,本教材僅介紹Modbus_RTU協(xié)議。
Modbus協(xié)議采用如圖所示一主多從式拓撲結(jié)構(gòu),主站對從站主動輪詢,從站被動應(yīng)答。Modbus通信數(shù)據(jù)包格式如圖所示,其中ADU(ApplicationDataUnit,應(yīng)用數(shù)據(jù)單元)即完整數(shù)據(jù)包,由1個字節(jié)的地址域、PDU(ProtocolDataUnit,協(xié)議數(shù)據(jù)單元)和2個字節(jié)的差錯校驗碼構(gòu)成。地址域即從站地址,差錯校驗碼即CRC-16校驗碼。
Modbus協(xié)議的功能本質(zhì)上就是主站對從站存儲單元的讀寫,從站存儲單元有兩類:
◆線圈(Coil),即布爾變量(Bit)
◆寄存器(register),即十六位無符號數(shù)據(jù)(Word)
(P.S:實際上,布爾變量還分為離散輸入(DiscretesInput,只讀)和線圈(Coil,讀寫)兩種,寄存器變量還分為輸入寄存器(InputRegister,只讀)和保持寄存器(HoldingRegister,讀寫)兩種,這里僅介紹線圈和保持寄存器兩種)功能碼代表了主站對從站存儲單元不同的讀寫行為,長度1個字節(jié),如下表所示?!白x(多個)線圈”指令,完整的指令格式如表所示。說明:◆地址域,由1個字節(jié)構(gòu)成,即Modbus從站地址,范圍0~247(248~255保留);
◆起始地址,由2個字節(jié)構(gòu)成,即第一個線圈的地址,范圍0000H~FFFFH;
◆線圈數(shù)量,由2個字節(jié)構(gòu)成,即從第一個線圈開始連續(xù)若干個線圈,范圍1~2000;
◆校驗碼,由兩個字節(jié)構(gòu)成,即CRC校驗碼;◆字節(jié)數(shù),由1個字節(jié)構(gòu)成,即后面記錄線圈狀態(tài)的字節(jié)的個數(shù);◆線圈狀態(tài),由N個字節(jié)構(gòu)成,每個字節(jié)記錄了8個線圈狀態(tài),“0”代表“OFF”狀態(tài),“1”代表“ON”狀態(tài)。
主站命令:地址域功能碼0x01起始地址H起始地址L線圈數(shù)量H線圈數(shù)量L校驗碼H校驗碼L從站響應(yīng):地址域功能碼0x01字節(jié)數(shù)線圈狀態(tài)(N個字節(jié))校驗碼H校驗碼L
下面是一個請求“讀線圈”20-38(Hex:0013H~0025H)的實例:
其中:
將輸出27~20的狀態(tài)表示為十六進制字節(jié)值CDH,或二進制11001101B;
在最后的數(shù)據(jù)字節(jié)中,將輸出狀態(tài)38-36表示為十六進制字節(jié)值05H,或二進制00000101B。線圈地址2726252423222120線圈狀態(tài)11001101線圈地址×××××383736線圈狀態(tài)00000101注意,這里不是從0014H~0026H“寫單個線圈”指令,完整的指令格式如表所示。說明:◆地址域,由1個字節(jié)構(gòu)成,即Modbus從站地址,范圍0~247(248~255保留);◆線圈地址,由2個字節(jié)構(gòu)成,即地址范圍為0x0000~0xFFFF;◆線圈狀態(tài),由2個字節(jié)構(gòu)成,0x0000代表“OFF”狀態(tài),0xFF00代表“ON”狀態(tài);◆校驗碼,由2個字節(jié)構(gòu)成,即CRC校驗碼。值得注意的是,“寫單個線圈”指令的從站響應(yīng)數(shù)據(jù)包格式與主站命令數(shù)據(jù)包格式完全相同。主站命令:地址域功能碼0x05線圈地址H線圈地址L線圈狀態(tài)H線圈狀態(tài)L校驗碼H校驗碼L從站響應(yīng):地址域功能碼0x05線圈地址H線圈地址L線圈狀態(tài)H線圈狀態(tài)L校驗碼H校驗碼L
下面是一個請求“寫單個線圈”
173(Hex:00ACH)的實例:
注意,這里不是00ADH6.3.4仿真電路的繪制為了保護單片機,遠程I/O模塊的輸入與輸出接口與單片機的GPIO引腳需要進行隔離設(shè)計,下面兩張圖分別是1路輸入隔離電路(左)和1路輸出隔離電路(右)。
為了提高電路仿真執(zhí)行效率,仿真時必須將隔離電路簡化。如下圖所示,仿真電路中,用按鈕模擬數(shù)字量輸入,用LED模擬數(shù)字量輸出。6.3.5任務(wù)程序的編寫
本次任務(wù)需要用到的新的API函數(shù)有:①HAL_UART_Transmit_IT
串口發(fā)送函數(shù)(帶中斷)例程://將數(shù)組dat中的第一個元素通過串口1發(fā)送并開中斷if(HAL_UART_Transmit_IT(&huart1,dat,1)!=HAL_OK){Error_Handler();}
②
HAL_UART_TxCpltCallback
串口發(fā)送完畢回調(diào)函數(shù)例程://串口1發(fā)送完畢回調(diào)voidHAL_UART_TxCpltCallback(UART_HandleTypeDef*huart){ if(huart==&huart1){…}}
本次任務(wù)中,需要用到兩個軟件:組態(tài)軟件“MCGS嵌入版”、“凌一”PLC模擬器
(1)MCGS嵌入版
MCGS嵌入版是用來組態(tài)“昆侖通態(tài)”觸摸屏的軟件,軟件使用免費,軟件自帶模擬器,因此可以利用模擬器來模擬觸摸屏的運行。沒有學過的同學,可以直接調(diào)用筆者配置好的工程文件,值得注意的是,MCGS中Modbus線圈的地址不是從0開始,而是從0x0001開始,存在一個偏移量,如下圖所示。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淮北平原夏大豆增密抗逆優(yōu)高產(chǎn)栽培技術(shù)
- 紅螯螯蝦池塘綠色健康養(yǎng)殖技術(shù)
- 企業(yè)如何數(shù)字化轉(zhuǎn)型物流管理及試題及答案
- CPMP學習方法分享試題及答案
- 急性心肌梗死合并消化道出血管理要點2025
- 國際物流師知識體系的全面探討試題及答案
- 生物分類學的基本原則試題及答案
- 數(shù)學 第四冊(五年制高職) 課件 第二章 立體幾何
- 2025年液體制劑機械合作協(xié)議書
- 2024年CPSM考試注意事項試題及答案
- 《法蘭克福學派》課件
- Chapter6WhenIwaslittle(課件)朗文英語世界三年級下冊
- 蘭州大學學生駕駛摩托車及其他機動車輛家長知情同意書
- 產(chǎn)后恢復操指導的操作流程及考核評分標準
- 2023年CSCO免疫檢查點抑制劑臨床應(yīng)用指南解讀
- 山東義能煤礦有限公司礦山地質(zhì)環(huán)境保護與土地復墾方案
- 裝修合同清單與裝修合同示本
- 綜合布線系統(tǒng)方案設(shè)計
- 防止架橋機傾覆措施
- flow-3d軟件水利應(yīng)用介紹3dhydraulics
- 智能停車場系統(tǒng)中英文對照外文翻譯文獻
評論
0/150
提交評論