PC和PLC自由口通信在數(shù)碼顯示中的應(yīng)用
1 引言
本文引用地址:http://butianyuan.cn/article/201609/303708.htm隨著可編程控制器(PLC)技術(shù)的迅速發(fā)展,PLC以其通用性強、可靠性高、抗干擾能力強、控制系統(tǒng)結(jié)構(gòu)簡單、編程方便及易于使用等優(yōu)點,在我國各個廠業(yè)控制領(lǐng)域中得到了越來越廣泛的應(yīng)用,在計算機控制系統(tǒng)中占有著重要的地位,為實現(xiàn)工業(yè)生產(chǎn)過程自動化、改善控制系統(tǒng)品質(zhì)、提高企業(yè)經(jīng)濟效益起著積極的作用。
西門子公司生產(chǎn)的s7-200系列小型PLC,以其功能強大,使用穩(wěn)定且性價比高而在中國市場上占有很重要的地位,深得用戶的喜愛。其內(nèi)部集成的通信接口為用戶提供了強大的通信功能,根據(jù)不同的協(xié)議通過接口使得PLC可與不同的設(shè)備進行通信并組成網(wǎng)絡(luò),實現(xiàn)數(shù)據(jù)傳送及控制等功能。s7-200系列PLC支持多種通信協(xié)議,其中包括西門子產(chǎn)品之間所使用的ppi協(xié)議,用于多機之間通信的mpi協(xié)議,和變頻器之間通信的uss協(xié)議,以及用戶可以白行開發(fā)的白由口協(xié)議。尤其是自由口協(xié)議,它為用戶在使用時,提供了很多方便之處。
2 系統(tǒng)硬件配置
本系統(tǒng)主要上位機、下位機、打印機和電氣控制柜等組成。系統(tǒng)采用一臺x86兼容電腦作為上位機,其配置如下:操作系統(tǒng)是windows xp專業(yè)版;處理器是英特爾celeron 2.40ghz;內(nèi)存是ddr400 1g;硬盤是希捷80g;顯示器:三星純平17英寸;光驅(qū)是三星cd-rom。系統(tǒng)還采用s7-200系列PLC作為下位機,中央處理單元為西門子公司推的PLC采用s7-200系列cpu226,該cpu在本機體中集成了2個rs-485通訊口,其性價比高,能滿足本系統(tǒng)的所有要求。
考慮到上位機的串行通信協(xié)議為rs-232標準,而西門子s7-200PLC的串行通信協(xié)議為rs-485標準,因此可以采用具有rs-232/rs485轉(zhuǎn)換功能的PC/ppi電纜將其連接起來,便可實現(xiàn)上下位機之間的串行通信的協(xié)議轉(zhuǎn)換,其硬件連接如圖1所示。
3 系統(tǒng)控制任務(wù)
3.1 上位機控制任務(wù)
(1)控制要求描述:a、b、c、d、e、f、g、h是組成0到9數(shù)字的八組數(shù)碼信號燈,數(shù)碼顯示PLC控制的任務(wù)是首先八組數(shù)碼信號燈依次亮,每組燈只亮一次,亮后熄滅,接著下一組亮,如此循環(huán)直至八組燈亮完,然后依次顯示由八組數(shù)碼信號燈組成的0到9數(shù)字,顯示9后,八組數(shù)碼信號燈依次亮,循環(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ù)上位機控制任務(wù),對PLC的輸入輸出端口分配如表1所示。
3.2 上位機監(jiān)控內(nèi)容
上位機監(jiān)控軟件的開發(fā)平臺選擇vb 6.0作為windows環(huán)境下的一種可視化編程工具,vb6.0在開發(fā)監(jiān)控系統(tǒng)方面有著界面友好、編程方便等獨特優(yōu)勢。根據(jù)上位機控制任務(wù),用vb 6.0軟件做的監(jiān)控界面如圖2所示。
我們通過運行上位機PLC程序和vb程序,實現(xiàn)對數(shù)碼顯示的控制,并通過自由口通信,促使數(shù)碼燈顏色改變,從而PLC控制信號反映在基于vb的監(jiān)控畫面上。對于監(jiān)控界面圖,信號燈亮與不亮的顏色會發(fā)生變化。當信號燈亮?xí)r,對應(yīng)的文本框顯示1;當信號燈不亮?xí)r,對應(yīng)文本框顯示0。
4 PC機與s7-200系列PLC通信設(shè)計
4.1 PC機與s7-200系列PLC通信原理
上下位機之間的通信,可通過使用PLC開發(fā)商提供的系統(tǒng)協(xié)議和網(wǎng)絡(luò)適配器來實現(xiàn),但由于其通信協(xié)議不公開,因此還必須使用PLC開發(fā)商提供的上位機組態(tài)軟件,并采用支持相應(yīng)協(xié)議的外設(shè)??梢哉f這種方式是PLC開發(fā)商為自己的產(chǎn)品量身定做的,因此難以滿足不同用戶的需求。
上下位機之間的通信,也可以使用專業(yè)的工控組態(tài)軟件,如組態(tài)王、intouch、wincc等,來實現(xiàn)上下位機之間的通信。這些組態(tài)軟件以其功能強大、界面友好、開發(fā)簡潔等優(yōu)點目前在計算機監(jiān)控領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,但其成本較高,而且在小型系統(tǒng)中使用不夠靈活。
而自由通信接口協(xié)議,可由用戶自定義通信協(xié)議,不需要增加投資,并且具有與外圍設(shè)備通信方便、易于微機控制軟件開發(fā)等特點,特別適合于小規(guī)模的計算機控制系統(tǒng)。
s7-200系列PLC的通信端口主要有兩種通信模式:ppi模式和自由口模式。ppi通信協(xié)議是西門子公司專門為s7-200系列PLC開發(fā)的一種通信協(xié)議,一般不對外開放。而自由口模式則是對用戶完全開放的。在自由口模式下通信協(xié)議是由用戶定義的。在自由口模式下PC機與PLC之間是主從關(guān)系,PC機始終處于主導(dǎo)地位,計算機通過串行口發(fā)送指令到PLC的通信端口,PLC通過rcv接收指令信息,然后對指令進行譯碼。譯碼后再調(diào)用相應(yīng)的子程序?qū)崿F(xiàn)PC機發(fā)出的指令要求并通過xmt指令返回指令執(zhí)行的狀態(tài)信息。本上下位機通信系統(tǒng)通信原理如圖3示。
4.2 PLC通信程序設(shè)計
s7-200PLC控制程序則使用step7-micro/win32編程軟件進行開發(fā)。step7-micro/win32編程軟件是基于windows的應(yīng)用軟件,功能強大,主要用于開發(fā)程序,也可用于適時監(jiān)控用戶程序的執(zhí)行狀態(tài)。s7-200PLC的cpu連續(xù)執(zhí)行用戶的程序,任務(wù)的循環(huán)寫輸出序列稱為掃描。cpu的掃描周期如圖4所示。
為了不延長cpu的機時,縮短s7-200 PLC的掃描周期,通信程序應(yīng)盡可能短小。
自由通信模式下PLC的控制程序可以使用接收中斷、發(fā)送中斷、發(fā)送指令(xmt)和接收指令(rcv)來控制通信操作。s7-200的cpu處于run模式時,能夠進行自由端口通訊。在這一模式下,用戶可以通過PLC程序來選擇協(xié)議,可以使用接收中斷、發(fā)送中斷、發(fā)送指令(xmt)和接收指令(rcv)來進行通信操作。在run模式下,對于port0(port1),當smb30協(xié)議選擇域(mm)置1(smbi30協(xié)議選擇域(mm)置1)時,便選擇了自由端口模式。在stop狀態(tài)下,自由端口模式被禁止,cpu能夠與可編程設(shè)備(如編程器)之間通信。
評論