技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > PC和PLC自由口通信在數(shù)碼顯示中的應(yīng)用

PC和PLC自由口通信在數(shù)碼顯示中的應(yīng)用

時(shí)間:2018-03-06 10:40:47來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語(yǔ):?s7-200系列plc支持多種通信協(xié)議,其中包括西門(mén)子產(chǎn)品之間所使用的ppi協(xié)議,用于多機(jī)之間通信的mpi協(xié)議,和變頻器之間通信的uss協(xié)議,以及用戶(hù)可以白行開(kāi)發(fā)的白由口協(xié)議。尤其是自由口協(xié)議,它為用戶(hù)在使用時(shí),提供了很多方便之處。

1引言

隨著可編程控制器(plc)技術(shù)的迅速發(fā)展,plc以其通用性強(qiáng)、可靠性高、抗干擾能力強(qiáng)、控制系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、編程方便及易于使用等優(yōu)點(diǎn),在我國(guó)各個(gè)廠(chǎng)業(yè)控制領(lǐng)域中得到了越來(lái)越廣泛的應(yīng)用,在計(jì)算機(jī)控制系統(tǒng)中占有著重要的地位,為實(shí)現(xiàn)工業(yè)生產(chǎn)過(guò)程自動(dòng)化、改善控制系統(tǒng)品質(zhì)、提高企業(yè)經(jīng)濟(jì)效益起著積極的作用。

西門(mén)子公司生產(chǎn)的s7-200系列小型plc,以其功能強(qiáng)大,使用穩(wěn)定且性?xún)r(jià)比高而在中國(guó)市場(chǎng)上占有很重要的地位,深得用戶(hù)的喜愛(ài)。其內(nèi)部集成的通信接口為用戶(hù)提供了強(qiáng)大的通信功能,根據(jù)不同的協(xié)議通過(guò)接口使得plc可與不同的設(shè)備進(jìn)行通信并組成網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)傳送及控制等功能。s7-200系列plc支持多種通信協(xié)議,其中包括西門(mén)子產(chǎn)品之間所使用的ppi協(xié)議,用于多機(jī)之間通信的mpi協(xié)議,和變頻器之間通信的uss協(xié)議,以及用戶(hù)可以白行開(kāi)發(fā)的白由口協(xié)議。尤其是自由口協(xié)議,它為用戶(hù)在使用時(shí),提供了很多方便之處。

2系統(tǒng)硬件配置

本系統(tǒng)主要上位機(jī)、下位機(jī)、打印機(jī)和電氣控制柜等組成。系統(tǒng)采用一臺(tái)x86兼容電腦作為上位機(jī),其配置如下:操作系統(tǒng)是windowsxp專(zhuān)業(yè)版;處理器是英特爾celeron2.40ghz;內(nèi)存是ddr4001g;硬盤(pán)是希捷80g;顯示器:三星純平17英寸;光驅(qū)是三星cd-rom。系統(tǒng)還采用s7-200系列plc作為下位機(jī),中央處理單元為西門(mén)子公司推的plc采用s7-200系列cpu226,該cpu在本機(jī)體中集成了2個(gè)rs-485通訊口,其性?xún)r(jià)比高,能滿(mǎn)足本系統(tǒng)的所有要求。

考慮到上位機(jī)的串行通信協(xié)議為rs-232標(biāo)準(zhǔn),而西門(mén)子s7-200plc的串行通信協(xié)議為rs-485標(biāo)準(zhǔn),因此可以采用具有rs-232/rs485轉(zhuǎn)換功能的pc/ppi電纜將其連接起來(lái),便可實(shí)現(xiàn)上下位機(jī)之間的串行通信的協(xié)議轉(zhuǎn)換,其硬件連接如圖1所示。

3系統(tǒng)控制任務(wù)

3.1上位機(jī)控制任務(wù)

(1)控制要求描述:a、b、c、d、e、f、g、h是組成0到9數(shù)字的八組數(shù)碼信號(hào)燈,數(shù)碼顯示plc控制的任務(wù)是首先八組數(shù)碼信號(hào)燈依次亮,每組燈只亮一次,亮后熄滅,接著下一組亮,如此循環(huán)直至八組燈亮完,然后依次顯示由八組數(shù)碼信號(hào)燈組成的0到9數(shù)字,顯示9后,八組數(shù)碼信號(hào)燈依次亮,循環(huán)下去,示意如下:

a→b→c→d→e→f→g→h→abcdef→bc→abdeg→abcdg→

bcfg→acdfg→acdefg→abc→abcdefg→abcdfg→a→b→c……

(2)i/o分配:根據(jù)上位機(jī)控制任務(wù),對(duì)plc的輸入輸出端口分配如表1所示。

3.2上位機(jī)監(jiān)控內(nèi)容

上位機(jī)監(jiān)控軟件的開(kāi)發(fā)平臺(tái)選擇vb6.0作為windows環(huán)境下的一種可視化編程工具,vb6.0在開(kāi)發(fā)監(jiān)控系統(tǒng)方面有著界面友好、編程方便等獨(dú)特優(yōu)勢(shì)。根據(jù)上位機(jī)控制任務(wù),用vb6.0軟件做的監(jiān)控界面如圖2所示。

我們通過(guò)運(yùn)行上位機(jī)plc程序和vb程序,實(shí)現(xiàn)對(duì)數(shù)碼顯示的控制,并通過(guò)自由口通信,促使數(shù)碼燈顏色改變,從而plc控制信號(hào)反映在基于vb的監(jiān)控畫(huà)面上。對(duì)于監(jiān)控界面圖,信號(hào)燈亮與不亮的顏色會(huì)發(fā)生變化。當(dāng)信號(hào)燈亮?xí)r,對(duì)應(yīng)的文本框顯示1;當(dāng)信號(hào)燈不亮?xí)r,對(duì)應(yīng)文本框顯示0。

4pc機(jī)與s7-200系列plc通信設(shè)計(jì)

4.1pc機(jī)與s7-200系列plc通信原理

上下位機(jī)之間的通信,可通過(guò)使用plc開(kāi)發(fā)商提供的系統(tǒng)協(xié)議和網(wǎng)絡(luò)適配器來(lái)實(shí)現(xiàn),但由于其通信協(xié)議不公開(kāi),因此還必須使用plc開(kāi)發(fā)商提供的上位機(jī)組態(tài)軟件,并采用支持相應(yīng)協(xié)議的外設(shè)??梢哉f(shuō)這種方式是plc開(kāi)發(fā)商為自己的產(chǎn)品量身定做的,因此難以滿(mǎn)足不同用戶(hù)的需求。

上下位機(jī)之間的通信,也可以使用專(zhuān)業(yè)的工控組態(tài)軟件,如組態(tài)王、intouch、wincc等,來(lái)實(shí)現(xiàn)上下位機(jī)之間的通信。這些組態(tài)軟件以其功能強(qiáng)大、界面友好、開(kāi)發(fā)簡(jiǎn)潔等優(yōu)點(diǎn)目前在計(jì)算機(jī)監(jiān)控領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,但其成本較高,而且在小型系統(tǒng)中使用不夠靈活。

而自由通信接口協(xié)議,可由用戶(hù)自定義通信協(xié)議,不需要增加投資,并且具有與外圍設(shè)備通信方便、易于微機(jī)控制軟件開(kāi)發(fā)等特點(diǎn),特別適合于小規(guī)模的計(jì)算機(jī)控制系統(tǒng)。

s7-200系列plc的通信端口主要有兩種通信模式:ppi模式和自由口模式。ppi通信協(xié)議是西門(mén)子公司專(zhuān)門(mén)為s7-200系列plc開(kāi)發(fā)的一種通信協(xié)議,一般不對(duì)外開(kāi)放。而自由口模式則是對(duì)用戶(hù)完全開(kāi)放的。在自由口模式下通信協(xié)議是由用戶(hù)定義的。在自由口模式下pc機(jī)與plc之間是主從關(guān)系,pc機(jī)始終處于主導(dǎo)地位,計(jì)算機(jī)通過(guò)串行口發(fā)送指令到plc的通信端口,plc通過(guò)rcv接收指令信息,然后對(duì)指令進(jìn)行譯碼。譯碼后再調(diào)用相應(yīng)的子程序?qū)崿F(xiàn)pc機(jī)發(fā)出的指令要求并通過(guò)xmt指令返回指令執(zhí)行的狀態(tài)信息。本上下位機(jī)通信系統(tǒng)通信原理如圖3示。

4.2plc通信程序設(shè)計(jì)

s7-200plc控制程序則使用step7-micro/win32編程軟件進(jìn)行開(kāi)發(fā)。step7-micro/win32編程軟件是基于windows的應(yīng)用軟件,功能強(qiáng)大,主要用于開(kāi)發(fā)程序,也可用于適時(shí)監(jiān)控用戶(hù)程序的執(zhí)行狀態(tài)。s7-200plc的cpu連續(xù)執(zhí)行用戶(hù)的程序,任務(wù)的循環(huán)寫(xiě)輸出序列稱(chēng)為掃描。cpu的掃描周期如圖4所示。

為了不延長(zhǎng)cpu的機(jī)時(shí),縮短s7-200plc的掃描周期,通信程序應(yīng)盡可能短小。

自由通信模式下plc的控制程序可以使用接收中斷、發(fā)送中斷、發(fā)送指令(xmt)和接收指令(rcv)來(lái)控制通信操作。s7-200的cpu處于run模式時(shí),能夠進(jìn)行自由端口通訊。在這一模式下,用戶(hù)可以通過(guò)plc程序來(lái)選擇協(xié)議,可以使用接收中斷、發(fā)送中斷、發(fā)送指令(xmt)和接收指令(rcv)來(lái)進(jìn)行通信操作。在run模式下,對(duì)于port0(port1),當(dāng)smb30協(xié)議選擇域(mm)置1(smbi30協(xié)議選擇域(mm)置1)時(shí),便選擇了自由端口模式。在stop狀態(tài)下,自由端口模式被禁止,cpu能夠與可編程設(shè)備(如編程器)之間通信。

plc程序分為主程序和中斷程序。主程序完成初始化通訊口、開(kāi)中斷、判斷、發(fā)送數(shù)據(jù)等功能,中斷程序完成接收和發(fā)送數(shù)據(jù)的功能。接收指令(rcv)啟動(dòng)或終止接收信息功能,必須為接收操作指定開(kāi)始和結(jié)束條件。發(fā)送指令(xmt)在自由口模式下依靠通信口發(fā)送數(shù)據(jù)。

初始化通信程序:

ldsm0.0

movb16#05,smb30////初始化自由口:sm30=“ppdbbbmm”=16#05=0000

0101

movb16#b0,smb87////初始化rcv信息控制字符:sm87=16#b0=10110000

movb16#0a,smb89////設(shè)定信息結(jié)束字符為“16#0d”(smb89=“16#0d”)

movw+5,smw90////設(shè)置空閑線(xiàn)超時(shí)時(shí)間為5ms(smw90=5)

movb100,smb94////設(shè)置最大字符數(shù)為100(smb94=100)

atchint_0,23////連接中斷0到接收結(jié)束事件

atchint_2,9////連接中斷2到發(fā)送結(jié)束事件

eni////允許用戶(hù)中斷

rcvvb100,0////執(zhí)行接收指令,接收緩沖區(qū)指向vb100

4.3vb通信程序設(shè)計(jì)

上位機(jī)通信軟件是在vb環(huán)境下開(kāi)發(fā)的,vb語(yǔ)言是基于windows操作系統(tǒng)的面向?qū)W習(xí)對(duì)象的程序設(shè)計(jì)語(yǔ)言。因vb具有強(qiáng)大的圖形顯示功能,可以很容易地開(kāi)發(fā)出界面良好、滿(mǎn)足用戶(hù)需求的windows標(biāo)準(zhǔn)風(fēng)格的圖形界面。vb帶有專(zhuān)門(mén)管理串行通信的mscomm串行端口控件,程序員在利用該控件時(shí),只需設(shè)置、監(jiān)視其屬性和事件,即可完成對(duì)串行口的初始化和數(shù)據(jù)的傳輸工作,實(shí)現(xiàn)plc與pc串行通信。要完成通信必須設(shè)置mscomm的如下相關(guān)屬性值:

(1)commport:設(shè)置或傳回通信連接端口代號(hào)。

(2)settings:設(shè)置初始化參數(shù),以字符串的形式設(shè)置或傳回連接速度、奇偶校驗(yàn)、數(shù)據(jù)位和停止位等參數(shù)。

(3)portopen:設(shè)置或傳回通信連接端口的狀態(tài)。

(4)input:從輸入寄存器傳回并移除字符。

(5)output:將一個(gè)字符串寫(xiě)入輸出寄存器。

(6)inputlen:指定由串行端口讀入的字符串長(zhǎng)度。

(7)inbuffercount:傳回在接收寄存器中的字符數(shù)。

用vb編制的部分通信程序如下:

程序過(guò)程名:mscomm1_oncomm。它的作用:完成上位計(jì)算機(jī)(vb監(jiān)控程序)與下位機(jī)(plc)之間的串行通信。程序如下:

privatesubmscomm1_oncomm()

staticscomsasstring

dims1asstring

ifmscomm1.commevent=comevreceivethen

s1=mscomm1.input

if(s1=chr(&h1b))and(len(scoms)》2)then

scoms=“”

else

ifs1《》chr(&hd)then

scoms=scoms&s1

else

callmysave(scoms)

endif

endif

endif

endsub

程序過(guò)程名:mysave。它的作用:對(duì)從下位機(jī)(plc)傳輸?shù)缴衔粰C(jī)(vb監(jiān)控軟件)的數(shù)據(jù)進(jìn)行初始化處理。程序如下:

privatesubmysave(scomsasstring)

scoms=trim(scoms)

scoms=mid(scoms,1,10)

fori=1to8

text1(i).text=mid(scoms,i,1)

nexti

fori=0to1

text2(i).text=mid(scoms,i+9,1)

nexti

endsub

程序過(guò)程名:form_load。它的作用:完成窗體載入時(shí)的程序設(shè)置。

privatesubform_load()

timer1.enabled=true

timer1.interval=100

withmscomm1

.commport=1

.settings=“19200,n,8,1”

.inputmode=cominputmodetext

.rthreshold=1

.inputlen=1

endwith

ifmscomm1.portopen=falsethen

mscomm1.portopen=true

endif

endsub

5結(jié)束語(yǔ)

本文介紹了用可視化編程語(yǔ)言vb實(shí)現(xiàn)pc機(jī)與s7-200plc之間的數(shù)據(jù)通訊技術(shù)及實(shí)現(xiàn)方法,研討基于自由口通信模式的上下位機(jī)通信方式,通過(guò)分析其通信流程,開(kāi)發(fā)相應(yīng)的通信程序,并將其應(yīng)用于數(shù)碼顯示監(jiān)控系統(tǒng)中,實(shí)現(xiàn)了生產(chǎn)過(guò)程的自動(dòng)控制,還有可視化的操作界面,充分體現(xiàn)了人機(jī)交互的優(yōu)勢(shì)。實(shí)踐證明,這種通信方式簡(jiǎn)單,可靠,實(shí)時(shí)性好、成本低、便于調(diào)試,這種通信方式也可以應(yīng)用于其它相關(guān)的通信場(chǎng)合,具有普遍和現(xiàn)實(shí)工程意義。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:電廠(chǎng)鍋爐補(bǔ)水處理PLC控制系統(tǒng)...

下一篇:PLC、變頻器接線(xiàn)圖大全

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢(xún)采購(gòu)咨詢(xún)媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)