新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ModBUS協(xié)議通訊的應(yīng)用

ModBUS協(xié)議通訊的應(yīng)用

作者: 時(shí)間:2012-06-09 來源:網(wǎng)絡(luò) 收藏

引言

在燃?xì)庑顭崾礁G爐控制系統(tǒng)中,不僅需要將溫度、壓力、流量等模擬參數(shù)進(jìn)行采集、計(jì)算控制輸出至執(zhí)行器,同時(shí)還應(yīng)將火焰狀態(tài)、電磁閥狀態(tài)、換相閥狀態(tài)進(jìn)行采集,隨時(shí)控制點(diǎn)火器點(diǎn)火,并進(jìn)行周期性換相,換相周期會根據(jù)溫度的不同而變化。面對眾多參量的采集控制,需要建立時(shí)變系統(tǒng)和非線性系統(tǒng)的狀態(tài)空間表達(dá)式進(jìn)行復(fù)雜的多相關(guān)變量的運(yùn)算,得到穩(wěn)定輸出以控制相關(guān)變量。事實(shí)上,取得大量數(shù)據(jù),建立相應(yīng)數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)分析,單靠低端的數(shù)字控制設(shè)備難以完成。通常的做法是信號的數(shù)據(jù)采集、濾波、簡單PID運(yùn)算、輸出量、及輸出量的互鎖由低端控制器完成。為了完成上述功能,我們采用ABB公司生產(chǎn)的PLC,配置如下:

名稱 數(shù)量 描述

07KT51 1塊 50CPU,8DI,6DO

XM06B5 2塊 Extension I/O,4AI,2AO

XK08F1 1塊 Extension I/O,4DI,6DO

PLC軟件采用AC31 SOFTWARE,上位機(jī)程序用VB編制,實(shí)現(xiàn)與上位工控機(jī)通訊的過程中需要使用MODBUS協(xié)議。本文重點(diǎn)介紹其通訊實(shí)現(xiàn)的過程。

一、 MODBUS簡介

MODBUS協(xié)議是應(yīng)用于電子控制器的一種通訊語言。利用這個協(xié)議,控制器相互之間(例如485、232C等),控制器通過網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間進(jìn)行通訊。它定義了一種控制器能認(rèn)識使用的消息結(jié)構(gòu),而不管它們是通過何種網(wǎng)絡(luò)實(shí)現(xiàn);描述的是控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵錯并記錄;制定了消息域格局和內(nèi)容的公共格式。

MODBUS通訊實(shí)現(xiàn)有兩種傳輸模式(ASCII或RTU),ABB公司的50系列PLC產(chǎn)品采用的是RTU(遠(yuǎn)程終端單元)模式,在消息中的每個8Bit字節(jié)包含兩個4Bit的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。

1、代碼系統(tǒng):

· 8位二進(jìn)制,十六進(jìn)制數(shù)0...9,A...F

· 消息中的每個8位域都是一個兩個十六進(jìn)制字符組成每個字節(jié)的位

· 1個起始位

· 8個數(shù)據(jù)位,最小的有效位先發(fā)送

· 1個奇偶校驗(yàn)位,無校驗(yàn)則無

· 1個停止位(有校驗(yàn)時(shí)),2個Bit(無校驗(yàn)時(shí))

· 錯誤檢測域 CRC(循環(huán)冗長檢測)

2、基于RS485的MODBUS通訊格式為:


它定義了在這些網(wǎng)絡(luò)上連續(xù)傳輸?shù)南⒍蔚拿恳晃?,以及決定怎樣將信息打包成消息域和如何解碼。

3、其查詢回應(yīng)周見下圖:


(1)查詢 查詢消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息。例如功能代碼03是要求從設(shè)備讀保持寄存器并返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告之從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量。錯誤檢測域?yàn)閺脑O(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉