<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 用PLC系統兩線(xiàn)連接型數顯儀表的設計

用PLC系統兩線(xiàn)連接型數顯儀表的設計

作者: 時(shí)間:2008-09-16 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

可編程邏輯控制器簡(jiǎn)稱(chēng)(Programmable Logic Controller),具有編程簡(jiǎn)單、可靠性高、通用性強和使用方便等特點(diǎn),廣泛應用于工業(yè)控制中的各類(lèi)生產(chǎn)過(guò)程[1]。目前的多用指示燈來(lái)顯示生產(chǎn)過(guò)程或設備的狀態(tài)信號,或借助于專(zhuān)用的人機界面(HMI)、工業(yè)PC來(lái)顯示過(guò)程變量或設置參數。HMI和IPC不僅增加了的成本,而且無(wú)法適應高溫、高濕熱、多粉塵的工作環(huán)境?;贚ED的具有環(huán)境適應性強、顯示直觀(guān)、醒目等優(yōu)點(diǎn),可以滿(mǎn)足某些工業(yè)現場(chǎng)的特殊顯示需求。然而,如果使用PLC系統的I/O直接驅動(dòng)數碼管進(jìn)行顯示,則需要占用大量的PLC系統I/O資源。本文采用單片機和程序控制技術(shù),通過(guò)特定的傳輸時(shí)序,只需使用PLC系統的2個(gè)I/O點(diǎn)即可實(shí)現其參數顯示。

1 硬件設計

以STC89C51為核心實(shí)現的PLC系統的硬件組成如圖1所示。整個(gè)硬件系統主要由STC89C51單片機、輸入接口、程序下載接口、數碼管顯示驅動(dòng)電路、按鍵輸入(可選)和報警輸出(可選)等部分組成。STC89C51和標準80C51保持硬件結構和指令系統兼容,提高了時(shí)鐘速率,擴充了在系統編程(ISP)、在應用編程(IAP)、電源欠壓檢測與復位、看門(mén)狗復位等功能,其I/O口經(jīng)過(guò)了特殊的設計,使其在工業(yè)控制環(huán)境中具有極高的可靠性[2]。

圖1 PLC系統的硬件組成

1.1 PLC系統輸入接口

PLC系統通過(guò)兩個(gè)輸出點(diǎn)將顯示數據按照一定的時(shí)序傳給數顯儀表。PLC系統一般有繼電器出、可控硅輸出、晶體管輸出和24V直流電壓輸出等多種形式可供選擇,一般使用其晶體管輸出或24V輸出形式經(jīng)過(guò)相應的轉換電路連接數顯儀表。為了適應兩種輸出形式,采用光電耦合器統一將PLC系統的輸出信號轉換為T(mén)TL電平信號。如果PLC系統的輸出形式為24VDC,例如西門(mén)子的S7系列PLC,則PLC輸出與光電耦合器輸入側的連接如圖2所示。如果PLC系統的輸出為晶體管集電極開(kāi)路或漏極開(kāi)路輸出,如三菱的FX系列PLC,則PLC輸出與光電耦合器輸入側的連接如圖3所示。無(wú)論采用何種連接方式,轉換后進(jìn)入STC89C51單片機的信號邏輯都與PLC系統的輸出邏輯保持一致。使用光電耦合器實(shí)現信號轉換,有利于提高系統的抗干擾能力,因為干擾信號即使具有較高的電壓幅值,但其能量相對較小,形成的微弱電流一般不足以使光電耦合器導通[3]。轉換后的兩路信號分別作為數據線(xiàn)和時(shí)鐘線(xiàn),連接到單片機的兩個(gè)外中斷輸入引腳,便于使用中斷方式傳輸顯示數據。

圖2 電壓輸出型PLC接口

圖3 晶體管輸出型PLC接口

1.2 程序下載接口

借助于ISP編程功能,可以通過(guò)RS-232C接口將程序代碼從計算機下載到單片機內部的Flash中。程序下載接口一般設計為標準的RS-232接口,使用一片MAX232轉換芯片即可實(shí)現。

1.3 數碼管驅動(dòng)電路

為了確保數碼管的顯示亮度,使用兩片74HC245實(shí)現數碼管的驅動(dòng)。其中一片74HC245用于驅動(dòng)4位共陰極數碼管的段碼,其輸入和單片機的P0口連接,輸出則經(jīng)限流電阻限流后與4位數碼管的8個(gè)段碼引腳連接。另一片74HC245驅動(dòng)4位數碼管的位碼,其輸入和單片機的P1.0~P1.3連接,輸出則分別和4位數碼管的公共端連接。

2 傳輸時(shí)序

1臺數顯儀表和PLC實(shí)現數據傳輸時(shí)需占用PLC的2個(gè)輸出點(diǎn),分別用作數據線(xiàn)和時(shí)鐘線(xiàn)。由于顯示數據的傳輸是串行的,因此必須設計相應的傳輸時(shí)序。構建雙方的傳輸時(shí)序時(shí)必須充分考慮PLC系統的工作原理、輸出特性及其差異以及傳輸過(guò)程的可靠性等問(wèn)題。綜合考慮這些因素后所設計的傳輸時(shí)序如圖4所示。傳輸1次顯示數據總共需要21個(gè)時(shí)鐘周期,其中3個(gè)時(shí)鐘用于同步信號,16個(gè)時(shí)鐘用于傳輸顯示數據的4位BCD碼或特定的提示字符,2個(gè)時(shí)鐘用于傳輸2位表示小數點(diǎn)顯示位置的信息。顯示數據和小數點(diǎn)位置信息的低位在前,高位在后。例如,圖4表示傳輸的顯示數據為8951,小數點(diǎn)位置信息為10,表示小數點(diǎn)在十位之后,因此最終顯示數據為895.1。

圖4 數顯儀表和PLC系統之間的傳輸時(shí)序

由于PLC系統基于掃描原理周而復始地刷新輸入信號、執行用戶(hù)程序和輸出運行結果[4],在一個(gè)掃描周期內讓PLC系統的輸出信號發(fā)生跳變難于實(shí)現,因此圖4的一個(gè)時(shí)鐘周期需要占用PLC系統的兩個(gè)掃描周期。每次傳輸過(guò)程增設3個(gè)同步脈沖是為了提高傳輸過(guò)程的可靠性,確保PLC系統及其傳輸線(xiàn)路無(wú)論出現何種故障,都可以在故障恢復后的一個(gè)傳輸周期內正確地傳輸顯示數據。

3 軟件設計

數顯儀表的程序由初始化、外中斷0服務(wù)程序、外中斷1服務(wù)程序和定時(shí)器T0中斷服務(wù)程序4部分組成。T0每隔5ms中斷1次,在其中斷服務(wù)程序中根據接收到的顯示數據及其小數點(diǎn)位置信息完成4位數碼管的動(dòng)態(tài)顯示。外中斷0服務(wù)程序用于檢測同步信號,外中斷1服務(wù)程序用于接收16位顯示數據的BCD編碼和2位表示小數點(diǎn)顯示位置的信息。

3.1 外中斷0服務(wù)程序

外中斷0由數據信號線(xiàn)的下降沿觸發(fā),在其中斷服務(wù)程序中,如果檢測到時(shí)鐘線(xiàn)為低電平,則視為同步信號。當檢測到3個(gè)同步脈沖后,則表明收到了正確的同步信號,此時(shí)關(guān)閉外中斷0,開(kāi)啟外中斷1,借助于外中斷1服務(wù)程序接收數據。如果在前一次或前兩次中斷服務(wù)程序中已檢測同步脈沖而本次未檢測到同步脈沖,則視為無(wú)效同步信號。外中斷0服務(wù)程序的主要代碼如下:

void Int0_Srvice(void) interrupt 0

{ p33=1;

if(p33==0) SysClock++; //有效,同步脈沖加1

else SysClock=0; //無(wú)效,同步脈沖清零

if(SysClock==3)

{ //檢測到3個(gè)同步脈沖

RecEnable=1; //置允許接收標志

EX0=0; //關(guān)閉外中斷0

EX1=1; //開(kāi)放外中斷1

}}

3.2 外中斷1服務(wù)程序

外中斷1由時(shí)鐘信號線(xiàn)的下降沿觸發(fā),在其中斷服務(wù)程序中,如果查詢(xún)到已建立允許接收標志,則接收16位顯示數據的BCD碼和2位小數點(diǎn)位置信息,并將其轉換為18位并行數據,存于DispData變量中供T0中斷服務(wù)程序進(jìn)行顯示。由于顯示數據和小數點(diǎn)位置信息都是低位在前,高位在后,所以在程序中使用右移操作實(shí)現串行數據到并行數據的轉換。小數點(diǎn)位置信息為0~3時(shí),表示小數點(diǎn)分別位于數碼管的千位、百位、十位和個(gè)位之后。如果小數點(diǎn)在個(gè)位之后,則不顯示小數點(diǎn)。當接收到18位信息后,則關(guān)閉外中斷1,重新開(kāi)放外中斷0進(jìn)行下一周期的數據傳輸。外中斷1服務(wù)程序的主要代碼如下:

void Int1_Srvice(void) interrupt 2

{ if(RecEnable==1) //允許接收

{ p32=1; //檢測數據線(xiàn)電平

if(p32==1) RecData=RecData|0x40000;

RecData=RecData>>1; //實(shí)現串/并轉換

DataClock++;

if(DataClock==19) //已接收到18位數據

{ //顯示數據存于DispData中

DispData=RecData;RecData=0;

SysClock=0;DataClock=0;

RecDone=1;RecEnable=0;

EX0=1; //開(kāi)外中斷0

EX1=0; //關(guān)外中斷1

}}}

4 應用實(shí)例

利用PLC系統的(n+1)個(gè)輸出點(diǎn)可以連接n臺數顯儀表,其中1點(diǎn)用作公共時(shí)鐘線(xiàn),n點(diǎn)用作n臺數顯儀表的數據線(xiàn)。使用數顯儀表顯示PLC系統的數據或參數時(shí),還必須給PLC系統編寫(xiě)滿(mǎn)足時(shí)序要求的驅動(dòng)程序。

4.1 PLC驅動(dòng)程序設計

此處以三菱FX2N PLC系統為例,介紹PLC系統驅動(dòng)程序的編寫(xiě)方法。假設使用Y0作為數據線(xiàn),Y1作為時(shí)鐘線(xiàn),則PLC驅動(dòng)程序的梯形圖如圖5所示。程序中使用D0單元存放顯示數據,其取值范圍為0~9999,D1單元存放小數點(diǎn)位置信息,其取值范圍為0~3。占用的資源包括計數器C0~C1和中間繼電器M100~M131,可以結合用戶(hù)程序進(jìn)行相應的調整。

圖5 FX2N PLC顯示驅動(dòng)程序

4.2 多臺數顯儀表與PLC系統的連接

多臺數顯儀表與PLC系統的連接如圖6所示,圖中的1臺FX2N PLC連接了8臺數顯儀表,PLC的Y10用作公共時(shí)鐘線(xiàn),Y0~Y7分別用作8臺數顯儀表的數據線(xiàn)。PLC系統的驅動(dòng)程序和圖5類(lèi)似。由于多臺儀表的時(shí)鐘線(xiàn)是公共的,數據線(xiàn)是并行輸出的,因此多臺數顯儀表的數據刷新時(shí)間和其連接的數量無(wú)關(guān),可以確保PLC系統數據顯示的實(shí)時(shí)性。

圖5 PLC系統和多臺數顯儀表的連接

5 結論

該數顯儀表無(wú)需知曉任何PLC系統的協(xié)議,僅使用PLC系統的n+1個(gè)輸出點(diǎn)即可實(shí)現在n臺數顯儀表上顯示其數據或參數。占用較少的PLC資源,既可擴充PLC系統的外圍顯示設備,又間接地解決了HMI無(wú)法適應惡劣工作環(huán)境等實(shí)際工程問(wèn)題。該儀表已應用于垃圾發(fā)電12路遠程手操信號的顯示,應用結果表明其具有極高的可靠性和良好的可維護性。

本文作者創(chuàng )新點(diǎn):該數顯儀表解決了PLC系統直接驅動(dòng)數碼管占用太多資源的問(wèn)題,間接地解決了基于PLC系統通信口的一類(lèi)數顯儀表需要知曉通信協(xié)議等問(wèn)題。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>