李瑋
【摘要】本文采用ADAM-4000系列的I/O模塊和PC機(jī)構(gòu)成RS-485網(wǎng)絡(luò)結(jié)構(gòu),要實(shí)現(xiàn)相關(guān)的通信功能,必需要完成對(duì)通信協(xié)議的設(shè)計(jì)。Modbus是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中常用的一種通信協(xié)議。本系統(tǒng)以此為基礎(chǔ)進(jìn)行協(xié)議設(shè)計(jì)。
【關(guān)鍵詞】串口通信;傳輸協(xié)議;照明監(jiān)控
引言
本監(jiān)控系統(tǒng)采用的RS-485總線,對(duì)校園照明過(guò)程集中監(jiān)控、操作、管理和分散控制。通信過(guò)程是通過(guò)RS-485總線和面向字符型的通信協(xié)議進(jìn)行連接。串行通信接口是計(jì)算機(jī)系統(tǒng)常用的一種串口通信方式,它是一種標(biāo)準(zhǔn)擴(kuò)展接口,串行接口一般包含RS-232/RS-422/RS-485。它的概念較為簡(jiǎn)單:即按位(bit)發(fā)送和接收字節(jié),常用的串口用于ASCII碼字符傳輸,距離最遠(yuǎn)可達(dá)1200m。由于串口通信采用異步方式,所以端口在一根線上發(fā)送數(shù)據(jù)的同時(shí),還可以在另一根線上接收數(shù)據(jù)。
一、照明監(jiān)控系統(tǒng)的總體架構(gòu)和功能實(shí)現(xiàn)
本系統(tǒng)采用研華公司開(kāi)發(fā)的ADAM-4000系列的I/O模塊來(lái)實(shí)現(xiàn)通信功能。首先使用ADAM-4520模塊實(shí)現(xiàn)RS-232到RS-485通信的轉(zhuǎn)換,再構(gòu)建一個(gè)RS-485網(wǎng)絡(luò),使通信距離從15米延伸為1200米,網(wǎng)絡(luò)能夠覆蓋整個(gè)監(jiān)控范圍。除此外還將使用ADAM-4017和ADAM-4050,分別實(shí)現(xiàn)模擬量輸入和數(shù)字量輸出功能。系統(tǒng)構(gòu)成如題1所示。
硬件功能的具體要求如下:
定時(shí)讀取電流值和電壓值:本系統(tǒng)使用ADAM-4017實(shí)時(shí)監(jiān)控電壓值,要求以間隔2s的方式讀取電流和電壓的測(cè)量值。
電壓報(bào)警測(cè)量功能:本系統(tǒng)使用ADAM-4017實(shí)時(shí)監(jiān)控電壓值的同時(shí)也監(jiān)控電壓值是否有異常??刂齐妷旱淖兓ㄟ^(guò)傳感器轉(zhuǎn)換為0V~+5V的電壓信號(hào)送入模擬通道0通道,當(dāng)檢測(cè)電壓小于程序設(shè)定的下限值,計(jì)算機(jī)輸出控制信號(hào),使得監(jiān)控值有藍(lán)色變?yōu)榧t色,即電壓下限報(bào)警;當(dāng)檢測(cè)電壓大于計(jì)算機(jī)設(shè)定的上限值,輸出控制信號(hào),使得監(jiān)控值有藍(lán)色變?yōu)榧t色,即電壓上限報(bào)警。
開(kāi)關(guān)量輸入輸出功能:使用ADAM-4050進(jìn)行數(shù)字量的輸出控制。主要是控制燈組的開(kāi)關(guān)燈情況。輸出線路中主要用于控制繼電器開(kāi)關(guān)轉(zhuǎn)換,當(dāng)輸出為1時(shí)開(kāi)關(guān)閉合,燈組打開(kāi);輸出為0時(shí)開(kāi)關(guān)打開(kāi),燈組關(guān)閉。
在RS-485總線上還要安裝一個(gè)智能電表,主要目的是讀取電量和電費(fèi)。
二、串行通信協(xié)議簡(jiǎn)介
常用的串口通信速率為:9600或19200或38400B/S。數(shù)據(jù)格式:1起始位,8數(shù)據(jù)位,1停止位,校驗(yàn)方式位。校驗(yàn)方式有:無(wú)校驗(yàn)、奇校驗(yàn)、偶校驗(yàn)。
ASCII模式的數(shù)據(jù)幀協(xié)議數(shù)據(jù)包格式如圖2所示。在消息中的兩個(gè)ASCII字符發(fā)由8Bit字節(jié)構(gòu)成并發(fā)送。消息中字的最大發(fā)送時(shí)間間隔可以長(zhǎng)達(dá)1秒,即在相鄰字符發(fā)送間隔大于1秒后。接收設(shè)備才會(huì)認(rèn)為傳輸出現(xiàn)錯(cuò)誤。
ASCII字符采用的代碼系統(tǒng)是十六進(jìn)制,所以消息中的任何一個(gè)ASCII字符都用一個(gè)十六進(jìn)制字符組成來(lái)表示。
起始位由一個(gè)字節(jié)構(gòu)成,使用的是“:”字符(ASCII碼表示為:3AH)。
結(jié)束符由兩個(gè)字節(jié)構(gòu)成,使用的回車換行符結(jié)束(ASCII碼表示為:0DH,0AH)。
地址域由兩個(gè)字節(jié)構(gòu)成,從設(shè)備地址是0…247(十進(jìn)制),其中0作為廣播地址。
功能域由兩個(gè)字節(jié)構(gòu)成,可能的代碼范圍是1…255(十進(jìn)制)。
數(shù)據(jù)域是由兩個(gè)十六進(jìn)制數(shù)集合構(gòu)成的,范圍00…FF。
錯(cuò)誤檢測(cè)使用LRC(縱向冗長(zhǎng)檢測(cè))方法,針對(duì)消息內(nèi)容計(jì)算得出檢測(cè)結(jié)果,字符計(jì)算中不包括起始使用的冒號(hào)符和結(jié)束位使用的回車換行符。
字符在標(biāo)準(zhǔn)的Modbus系列網(wǎng)絡(luò)傳輸時(shí),如果消息需要連續(xù)傳輸,那么每個(gè)字符或字節(jié)是以從左到右即從最低有效位到最高有效位開(kāi)始傳輸?shù)摹?/p>
三、系統(tǒng)中傳輸協(xié)議的設(shè)計(jì)
ADAM-4050主要功能是控制系統(tǒng)中的開(kāi)關(guān)燈情況,在系統(tǒng)設(shè)計(jì)中每個(gè)教室都要使用一個(gè)ADAM-4050,因此對(duì)其進(jìn)行設(shè)備地址設(shè)置:0x01—0xFF。根據(jù)教室的實(shí)際情況每個(gè)教室連接4組燈組,因此使用ADAM-4050的0到3的引腳,如果為1則表示開(kāi)燈,如果是0則表示關(guān)燈。開(kāi)關(guān)燈控制協(xié)議設(shè)計(jì)如表1、表2所示。
ADAM-4017是8腳的模擬量輸出控制模塊,主要用來(lái)監(jiān)控教室中電壓電流的情況,每個(gè)教室中安裝一個(gè)ADAM-4017,其中第一引腳用來(lái)檢測(cè)電壓,其余引腳用來(lái)檢測(cè)電流,但是教室中只有4組燈組,因此只使用其中四個(gè)引腳,根據(jù)實(shí)際情況使用第二個(gè)到第五個(gè)引腳,即1~4編號(hào)的引腳。電壓檢測(cè)控制協(xié)議設(shè)計(jì)如表3所示。
電流檢測(cè)控制協(xié)議設(shè)計(jì)如表4所示。
在本系統(tǒng)中只有一個(gè)智能電表用來(lái)讀取整個(gè)校區(qū)的電費(fèi)和電量值,電表只需傳輸相應(yīng)的電量幀給上位機(jī),上位機(jī)根據(jù)要求計(jì)算出相應(yīng)的電費(fèi)。DLT_645-2007_多功能電能表遵循中華人民共和國(guó)電力行業(yè)標(biāo)準(zhǔn)的電能表通信協(xié)議,其協(xié)議設(shè)計(jì)應(yīng)用如表5、表6、表7所示。
四、結(jié)束語(yǔ)
本文對(duì)串行通信技術(shù)及其傳輸協(xié)議進(jìn)行了技術(shù)介紹。確定了該照明監(jiān)控系統(tǒng)使用的通信I/O模塊和智能電表。以串口通信協(xié)議為基礎(chǔ),設(shè)計(jì)了本系統(tǒng)中的監(jiān)控中心與通信模塊之間的數(shù)據(jù)傳輸協(xié)議。