戚博碩 孫佳陽
【摘要】 S7- 200PLC是西門子公司開發(fā)的具有高性價(jià)比的微型可編程控制器,該控制系統(tǒng)具有配置靈活、可靠性高、結(jié)構(gòu)開放、控制能力強(qiáng)、體積小、抗干擾能力強(qiáng)等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制領(lǐng)域。本文以西門子S7- 200PLC為例,對西門子S7- 200PLC自由口串行通信模式進(jìn)行了詳細(xì)的闡述,并分析了自由口串行通信實(shí)現(xiàn)的方式。
【關(guān)鍵詞】 西門子S7- 200PLC 自由口串行通信 通信模式
德國西門子公司生產(chǎn)的S7系列的可編程控制器就是為了滿足人們對工業(yè)控制的要求生產(chǎn)出來的。該系列包括用于小型化控制系統(tǒng)的S7-200PLC、用于控制中型系統(tǒng)的S7—300PLC及用于控制大型系統(tǒng)的S7-400PLC。其中,S7-200PLC是集電源、CPU及I/O于一體的集成型小型單元式PLC。其具有非常豐富的功能配置以及優(yōu)秀的通信能力,用戶操作起來非常容易上手,系統(tǒng)工作的穩(wěn)定性和可靠性非常強(qiáng),目前已經(jīng)在相關(guān)領(lǐng)域中取得了巨大的成功。因此,本文以西門子S7-200PLC為例,對西門子S7-200PLC自由口串行通信模式進(jìn)行了詳細(xì)的闡述,并分析了自由口串行通信實(shí)現(xiàn)的方式,對人們了解西門子S7-200PLC自由口串行通信具有一定作用。
一、自由口通信模式概述
西門子S7-200PLC的通信端口有PPI模式和自由口模式這兩種常用的通信模式。其中PPI模式通信協(xié)議是西門子公司根據(jù)S7-200PLC的特點(diǎn)專門開發(fā)的,一般情況下只對西門子內(nèi)部生產(chǎn)的產(chǎn)品使用。與PPI模式完全不同的是自由口模式,它完全對外開放,在這種模式下,用戶可以根據(jù)自己的需要對通信協(xié)議進(jìn)行定義。
目前,許多公司使用的第三方設(shè)備都支持自由口通信模式。西門子S7-200PLC可以通過選擇自由口通信模式的方式達(dá)到控制串口通信的目的。而且,利用自由口通信模式可以使計(jì)算機(jī)與S7-200PLC之間的通信變得更加穩(wěn)定和高效。
西門子S7-200PLC為了實(shí)現(xiàn)自由口模式的通信功能,使用的寄存器主要有SM130、SMB30以及具有特殊功能的寄存器。用戶可以利用這些寄存器來設(shè)置系統(tǒng)的通訊方式,并利用它們對系統(tǒng)進(jìn)行有效管理。S7-200PLC與計(jì)算機(jī)在通信過程中,為了防止通信道的擁擠,一般會將計(jì)算機(jī)和PLC分成主機(jī)和從機(jī)兩部分,從機(jī)不能越過主機(jī)發(fā)送信息。自由口通信模式除了在計(jì)算機(jī)和PLC之間使用之外,還可以在PLC與PLC之間使用。
二、西門子S7-200PLC自由口串行通信的實(shí)現(xiàn)
在自由口串行通信模式中,用戶可以自行對系統(tǒng)的奇偶校驗(yàn)等參數(shù)進(jìn)行設(shè)置,并通過發(fā)送/接收終端、發(fā)送/接收指令等操作來實(shí)現(xiàn)對通信端口的控制。用戶通過發(fā)送指令可以使發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù)得到激活,數(shù)據(jù)緩沖區(qū)的首數(shù)據(jù)表明了發(fā)送指令的長度,數(shù)據(jù)緩沖區(qū)的容量可以達(dá)到255個(gè)字符,當(dāng)指令發(fā)送完成后程序自動中斷。接收指令可以使數(shù)據(jù)實(shí)現(xiàn)初始化或使接收信息過程中斷,存儲在緩沖區(qū)信息的最大容量為255個(gè)字符。在接收指令的過程中,如果有一個(gè)程序接受完成,則在接收的最后一個(gè)字符后面生成中斷程序。由于自由口串行通信協(xié)議可以支持多種形式的數(shù)據(jù)通信,因此,用戶可以利用控制字符的中斷與否來控制數(shù)據(jù)的接收。
計(jì)算機(jī)與S7- 200 PLC自由口串行通信的實(shí)現(xiàn)是利用計(jì)算機(jī)來發(fā)出操作指令, S7-200PLC在接到計(jì)算機(jī)發(fā)送的命令后根據(jù)命令做出響應(yīng)。在計(jì)算機(jī)與S7- 200PLC自由口串行通信實(shí)現(xiàn)的過程中,由于PLC采用的485端口的串行通信標(biāo)準(zhǔn)是半雙工模式的,在這種模式下S7- 200PLC發(fā)送命令和接收命令的操作不能同步實(shí)行,否則會出現(xiàn)通信錯(cuò)誤從而造成嚴(yán)重的后果。因此,自由口串行通信模式在制定的過程中,要將發(fā)送命令和接收命令的操作分割開來,避免兩個(gè)命令同時(shí)執(zhí)行。S7- 200 PLC作為響應(yīng)命令的下位機(jī),在通信過程中接收到命令之后首先要判別命令的地址碼是否與本機(jī)地址碼相符。只有在地址碼相符的情況下,上位機(jī)和下位機(jī)才能實(shí)現(xiàn)通信。如果地址碼與本機(jī)不符,則繼續(xù)執(zhí)行掃描通信數(shù)據(jù)的操作。S7- 200 PLC在接收到結(jié)束符之前,必須對接收到的每個(gè)字符進(jìn)行甄別,以判斷其是否為結(jié)束符。自由口串行通信的軟件設(shè)計(jì)中,主要的設(shè)計(jì)部分為PC軟件和PLC梯形圖。
三、結(jié)語
西門子S7- 200 PLC利用自由口串行通信實(shí)現(xiàn)數(shù)據(jù)信息的交換,其不僅具有功能完備、價(jià)格低廉等優(yōu)點(diǎn),而且支持多種形式的通信模式。S7- 200 PLC在工業(yè)自動化領(lǐng)域的廣泛應(yīng)用,很好地解決了工業(yè)控制系統(tǒng)中數(shù)據(jù)采集和數(shù)據(jù)分析的難題,大大降低了企業(yè)控制系統(tǒng)研發(fā)的費(fèi)用,使工業(yè)自動化的程度大大提高。
參考文獻(xiàn)
[1] 許毅,熊文龍,雷 靜.基于PC與S72200實(shí)現(xiàn)自由通信協(xié)議的研究[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2002,26(4):513-515
[2] 李臣友.論S7—200系列PLC自由口通信的實(shí)現(xiàn)[J].計(jì)算機(jī)工程應(yīng)用技術(shù)2010,(7):5915-5916,5919
[3] 范逸之,江賢文,陳立元.C++ Builder與RS-232串行通信控制[M].北京:清華大學(xué)出版社,2002