【前言】
1969年第一臺(tái)可編程控制器產(chǎn)生后,經(jīng)過30多年的發(fā)展,現(xiàn)在可編程控制器已經(jīng)成為最重要、最可靠、應(yīng)用場合最廣泛的工業(yè)控制微型計(jì)算機(jī)。可編程控制器應(yīng)用于廣播發(fā)射機(jī)可實(shí)現(xiàn)廣播發(fā)射機(jī)的自動(dòng)開關(guān)機(jī)及采集并監(jiān)控發(fā)射機(jī)的各個(gè)參數(shù),出現(xiàn)異態(tài)時(shí)報(bào)警,有備用還能實(shí)現(xiàn)自動(dòng)倒備份。這樣便能實(shí)時(shí)發(fā)現(xiàn)發(fā)射機(jī)的異常,及時(shí)處理,降低停播率,能很好的保證節(jié)目的安全、優(yōu)質(zhì)播出,并能大大減輕發(fā)射機(jī)的值班任務(wù)。
【關(guān)鍵字】
自動(dòng)控制發(fā)射機(jī)可編程控制器 PLC siemence S7-200 V3.1 STEP 7 MicroWIN SP1
可編程控制器(Programmable Controller)簡寫成 PLC,其中 L為邏輯(Logic)的意思,第一臺(tái)可編程控制器是1969年在美國面世的。經(jīng)過30多年的發(fā)展,現(xiàn)在可編程控制器已經(jīng)成為最重要、最可靠、應(yīng)用場合最廣泛的工業(yè)控制微型計(jì)算機(jī)??删幊炭刂破魇且环N數(shù)字運(yùn)算操作的電子系統(tǒng),專為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì);它采用一類可編程的存儲(chǔ)器,用于其內(nèi)部存儲(chǔ)程序,執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、記數(shù)和算術(shù)操作等面向用戶的指令;并通過數(shù)字式或模擬式輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過程??删幊炭刂破骷捌溆嘘P(guān)外部設(shè)備,都按易于與工業(yè)控制系統(tǒng)聯(lián)成一個(gè)整體、易于擴(kuò)充其功能的原則設(shè)計(jì)。可編程控制器具有諸多優(yōu)點(diǎn):(1)PLC的生產(chǎn)廠家都著力于提高可靠性的指標(biāo)。(2)PLC還具有編程方便、易于使用的優(yōu)點(diǎn)。(3)PLC控制功能極強(qiáng),除基本的邏輯控制、定時(shí)、計(jì)數(shù)、算術(shù)運(yùn)算等功能外,配合特殊功能模塊還可實(shí)現(xiàn)點(diǎn)位控制、PID運(yùn)算、過程控制、數(shù)字控制等功能,為方便工廠管理又可以與上位機(jī)通信,通過遠(yuǎn)程模塊可以控制遠(yuǎn)方設(shè)備。(4)PLC的擴(kuò)展以及與外部聯(lián)接極為方便。所以可編程控制器應(yīng)用于廣播發(fā)射機(jī)可實(shí)現(xiàn)廣播發(fā)射機(jī)的自動(dòng)開關(guān)機(jī),及采集并監(jiān)控發(fā)射機(jī)的各個(gè)參數(shù),出現(xiàn)異態(tài)時(shí)報(bào)警,有備用還能實(shí)現(xiàn)自動(dòng)倒備份。這樣便能實(shí)時(shí)發(fā)現(xiàn)發(fā)射機(jī)的異常,及時(shí)處理,降低停播率,能很好的保證節(jié)目的安全、優(yōu)質(zhì)播出,并能大大減輕發(fā)射機(jī)的值班任務(wù)。
要用PLC實(shí)現(xiàn)廣播發(fā)射機(jī)的自動(dòng)控制,要全面考慮許多因素,以我開發(fā)過的“DX-600中波發(fā)射機(jī)自動(dòng)控制系統(tǒng)”為例,我將整個(gè)系統(tǒng)設(shè)計(jì)分為以下四個(gè)步驟。
首先要確定PLC的控制及監(jiān)視范圍。分析發(fā)射機(jī)需要監(jiān)視的指標(biāo),以及需要自動(dòng)控制的操作,比如入射功率取樣、反射功率取樣、水位取樣、電源取樣、開機(jī)操作、關(guān)機(jī)操作、升功率操作、降功率操作等。采樣點(diǎn)多少和控制范圍的確定依發(fā)射機(jī)的不同而不同。接著要選擇適當(dāng)?shù)腜LC,一方面選擇多大容量的PLC;另一方面選擇什么公司的PLC以及外圍設(shè)備。對第一個(gè)問題,首先要對發(fā)射機(jī)進(jìn)行詳細(xì)分析,把所有的I/O點(diǎn)找出來,包括開關(guān)量I/O和模擬量I/O以及這些點(diǎn)的性質(zhì)。I/O點(diǎn)的性質(zhì)主要指它們是直流信號還是交流信號,電壓多大,是采樣點(diǎn)還是輸出控制點(diǎn),輸出是用繼電器型還是用晶體管或是可控硅型。知道這些以后,就可以定下選用多少點(diǎn)和I/O是什么性質(zhì)的PLC了。對于第二個(gè)問題,則有以下幾個(gè)方面考慮:a、功能方面。b、價(jià)格方面??删幊炭刂破鞯闹鳈C(jī)選定后,一般還要選擇模擬量采集模塊,模塊的多少依據(jù)模擬量的多少而定。顯示設(shè)定單元視需要選擇與否。在本例“DX-600中波發(fā)射機(jī)自動(dòng)控制系統(tǒng)”中,經(jīng)分析該系統(tǒng)需要17路開關(guān)量輸出、11路開關(guān)量輸入、6路模擬量采集,故采用了SIMATIC S7-226型PLC,兩快EM-23模擬量采集模塊。SIMATIC S7-226支持24路開關(guān)量輸入,16路開關(guān)兩輸出,每塊EM-231支持4路模擬量輸入點(diǎn),兩塊就相當(dāng)于8路模擬量輸入點(diǎn),完全能滿足系統(tǒng)需要,并且為日后的系統(tǒng)擴(kuò)展升級留有了空間。
2、PLC的I/O地址分配
輸入/輸出信號在PLC接線端子上的地址分配是進(jìn)行PLC控制系統(tǒng)設(shè)計(jì)的基礎(chǔ)。對于軟件設(shè)計(jì)來說,I/O地址分配以后才可以進(jìn)行編程;對于PLC的外圍接線來說,只有I/O地址確定以后,才可以繪制電氣接線圖、裝配圖。I/O地址的分配最好能將類似的信號點(diǎn)分配連續(xù)的I/O地址,同時(shí)把I/O點(diǎn)的名稱、代碼和地址以表格的形式列寫出來。初學(xué)者往往不會(huì)注重這些,開發(fā)過實(shí)際項(xiàng)目就會(huì)知道這將為以后的維護(hù)升級工作帶來很大的方便。下圖例出了本文實(shí)例《DX-600中波發(fā)射機(jī)自動(dòng)控制系統(tǒng)》中部分I/O點(diǎn)的表格,供大家參考。
3、發(fā)射機(jī)監(jiān)控系統(tǒng)的硬件和軟件設(shè)計(jì)
系統(tǒng)設(shè)計(jì)包括硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)。硬件系統(tǒng)設(shè)計(jì)主要包括PLC及外圍線路的設(shè)計(jì)、電氣線路的設(shè)計(jì)等。軟件系統(tǒng)設(shè)計(jì)主要指編制PLC監(jiān)控程序,有些系統(tǒng)還包括上位機(jī)程序的編寫,比如在本例中就包括上位機(jī)程序。硬件系統(tǒng)設(shè)計(jì)主要是設(shè)計(jì)出電氣控制系統(tǒng)原理圖,電氣控制元器件的選擇等,在這里硬件設(shè)計(jì)不做詳細(xì)闡述,主要給大家闡述軟件設(shè)計(jì)的步驟和過程。在PLC程序設(shè)計(jì)時(shí),除I/O地址列表外,還要把在程序中用到的中間繼電器、定時(shí)器、計(jì)數(shù)器(PLC中的軟元件)和存儲(chǔ)單元以及它們的作用或功能列寫出來,以便程序的編寫和閱讀。下面結(jié)合我開發(fā)過的“ DX-600中波發(fā)射機(jī)自動(dòng)控制系統(tǒng)”具體介紹廣播發(fā)射機(jī)自動(dòng)控制系統(tǒng)PLC程序的編寫及調(diào)試。
西門子S7-200CPU的編程軟件為 V3.1 STEP 7 MicroWIN SP1。該軟件是基于windows 的應(yīng)用軟件,它支持32位windows95,Windows98和WindowsNT操作系統(tǒng)。他支持STL編輯器、階梯圖編輯器和 FBD三中編輯器。你可以選擇自己熟悉的編輯器。為端子號分配地址是編程的第一部,實(shí)際編程時(shí)為了增加程序的可讀性,常用帶有實(shí)際含義的符號作為編程元件代號,而不是直接用元件在主機(jī)的直接地址。例如編程中的“高功率開機(jī)”作為編程元件代號,而不用Q0.1。符號表可用來建立自定義符號與直接地址之間的對應(yīng),并可附加注釋,有利于程序結(jié)構(gòu)清晰易讀,以及日后軟件的維護(hù)更新,在實(shí)際的開發(fā)中應(yīng)該注重這點(diǎn),它往往能起到事半功倍的效果。按監(jiān)控系統(tǒng)要完成的任務(wù)PLC程序可分為三個(gè)主要部分:l、廣播發(fā)射機(jī)及附屬設(shè)備(比如空調(diào)等)的自動(dòng)開與自動(dòng)關(guān);2、模擬量的采集監(jiān)控以及開關(guān)量的采集監(jiān)控;3、與上位機(jī)通信,實(shí)現(xiàn)校時(shí)、數(shù)據(jù)的顯示、參數(shù)的設(shè)置和故障記錄等。
1、廣播發(fā)射機(jī)及附屬設(shè)備的自動(dòng)開與自動(dòng)關(guān):要實(shí)現(xiàn)發(fā)射機(jī)的自動(dòng)開關(guān)機(jī),首先必須向PLC提供發(fā)射機(jī)的開關(guān)機(jī)時(shí)間表,該時(shí)間表的存儲(chǔ),應(yīng)保證當(dāng)PLC斷電的情況下不丟失。所以把它放入數(shù)據(jù)快可確保數(shù)據(jù)的穩(wěn)定。PLC內(nèi)部有自己的系統(tǒng)日期和時(shí)鐘,PLC可通過相應(yīng)的指令讀實(shí)時(shí)時(shí)鐘和設(shè)定實(shí)時(shí)時(shí)鐘。PLC內(nèi)部用8個(gè)字節(jié)表示日期和時(shí)鐘,他們都用BCD碼表示,從低到高分別表示年、月、日、小時(shí)、分鐘、秒,第7個(gè)字節(jié)為0,第8字節(jié)表示星期。值得注意的是系統(tǒng)不會(huì)檢查、核實(shí)時(shí)鐘各量的正確與否,所以在設(shè)置時(shí)鐘和日期時(shí)必須確保輸入的數(shù)據(jù)是正確的,還有,不能同時(shí)在主程序和中斷程序中使用讀寫時(shí)鐘指令,否則,產(chǎn)生非致命錯(cuò)誤,中斷程序中的實(shí)時(shí)時(shí)鐘指令將不被執(zhí)行。在編寫發(fā)射機(jī)自動(dòng)開關(guān)機(jī)程序段時(shí),程序應(yīng)該不斷的讀取系統(tǒng)時(shí)鐘,并與數(shù)據(jù)塊中的開關(guān)機(jī)時(shí)間表進(jìn)行比較,如果與時(shí)間表中的時(shí)間吻合則執(zhí)行相應(yīng)的操作如開機(jī)、關(guān)機(jī)等,在本例中我用READ_RTC指令讀出PLC的內(nèi)部時(shí)鐘,接著用BCD_I將BCD碼的PLC時(shí)鐘轉(zhuǎn)換為十進(jìn)制PLC時(shí)鐘,再拿它與數(shù)據(jù)區(qū)中的開關(guān)機(jī)時(shí)間表比較,如果吻合則執(zhí)行相應(yīng)操作。
2、模擬量的采集監(jiān)控以及開關(guān)量的采集監(jiān)控:發(fā)射機(jī)模擬量的采集可通過EM231、EM232或EM235模擬量輸入輸出模塊來實(shí)現(xiàn)。在本例中采用的是EM231,可通過DIP開關(guān)設(shè)置模擬量的輸入范圍,單極性:滿量程輸入0到10V、分辨率2.5mV;滿量程輸入0到5V、分辨率1.25mV;滿量程輸入0到20mA、分辨率5μA;雙極性:滿量程輸入負(fù)5V到正5V、分辨率2.5mV;滿量程輸入負(fù)2.5V到正2.5V、分辨率1.25mV,根據(jù)實(shí)際需要設(shè)定響應(yīng)的檔位,如還不能滿足則采樣點(diǎn)要經(jīng)過電路或儀器轉(zhuǎn)換成合適的信號。要實(shí)現(xiàn)模擬量的監(jiān)控就必須提供上限和下限,模擬量的上下限應(yīng)該和開關(guān)機(jī)時(shí)間表一起放入數(shù)據(jù)快,程序應(yīng)不斷的取的模擬量的值并與數(shù)據(jù)塊中的上下限比較,如果越限則報(bào)警或執(zhí)行相應(yīng)的操作。開關(guān)量的監(jiān)控相對簡單,不需要擴(kuò)展模塊,從PLC取得高低電位后直接可進(jìn)行判斷,有一點(diǎn)值得注意,為了防止干擾,模擬量應(yīng)取多次的平均值,開關(guān)量的檢測用延時(shí)接通電路。這樣能很好的避免誤報(bào)警和誤操作。在本例《DX-600中波發(fā)射機(jī)自動(dòng)控制》系統(tǒng)中,模擬量由于開始沒有取多次平均值經(jīng)常出現(xiàn)誤報(bào)警,開關(guān)量也偶爾出現(xiàn)誤報(bào)警,通過對模擬量多次取平均值、開關(guān)量采用10毫秒延遲電路后得到解決。
3、與上位機(jī)通信,實(shí)現(xiàn)校時(shí)、數(shù)據(jù)的顯示、參數(shù)的設(shè)置和故障記錄等:PLC與上位機(jī)通信可采用自由通訊協(xié)議,自由通信口(Freeport Mode)方式是S7-200PLC的一個(gè)很有特色的功能。S7-200 PLC的自由通信,即用戶自己定義通信協(xié)議,波特率最高為38.4KB/s。它使S7-200 PLC可以與上位 PC機(jī)進(jìn)行通信。PC機(jī)的RS-232可通過PC/PPI電纜與 S7-200 PLC連接起來進(jìn)行自由通訊。與PC連接后,PLC程序可以通過使用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)和接收指令(RCV)對通訊口操作。在自由通訊口模式下,通訊協(xié)議完全由用戶程序控制,協(xié)議的制定依系統(tǒng)不同而不同,在“DX-600中波發(fā)射機(jī)自動(dòng)控制”系統(tǒng)中為保證數(shù)據(jù)傳輸?shù)恼_無誤,還采用了一種數(shù)據(jù)校驗(yàn)機(jī)制,把要傳輸?shù)臄?shù)據(jù)塊中的各字節(jié)做“與”操作,得到的“和”作為校驗(yàn)字節(jié)。此種校驗(yàn)方法有簡單實(shí)用等特點(diǎn)。通過SMB30(口 0)或SMB130(口1)允許自由口模式,而且只有在CPU處于RUN模式時(shí)才能允許。當(dāng)CPU處于STOP模式時(shí),自由通訊口停止,通訊口轉(zhuǎn)換成正常的PPI協(xié)議操作。通過與PC的通訊,PLC把采集到的數(shù)據(jù)發(fā)送到PC上位機(jī),這樣上位機(jī)程序經(jīng)過響應(yīng)處理就能實(shí)現(xiàn)數(shù)據(jù)的圖形顯示。發(fā)射機(jī)的開關(guān)機(jī)時(shí)間表、模擬量的上下限也能很方便的通過上位來修改,而不必修改PLC程序。PLC的時(shí)鐘也能通過上位機(jī)來設(shè)置(校時(shí))。另外,通過上位機(jī)還可以定時(shí)抄表、記錄故障的發(fā)生時(shí)間、類型,停播的時(shí)間等等,方便技術(shù)人員維護(hù)發(fā)射機(jī)。上位機(jī)程序的編寫可通過任一款可視化編程軟件如 VB,VC,C++Builder等,建議用C++Builder,它有功能強(qiáng)大,易學(xué)等特點(diǎn)。
4、發(fā)射機(jī)監(jiān)控系統(tǒng)的調(diào)試
系統(tǒng)調(diào)試分模擬調(diào)試和聯(lián)機(jī)調(diào)試。模擬調(diào)試可借助于模擬開關(guān)和 PLC輸出端的輸出指示燈進(jìn)行;需要模擬信號I/O時(shí),可用電位器和萬用表配合進(jìn)行。調(diào)試時(shí),可利用上述外圍設(shè)備模擬各種現(xiàn)場開關(guān)和傳感器狀態(tài),然后觀察PLC的輸出邏輯是否正確。如果有錯(cuò)
誤則修改后反復(fù)調(diào)試。S7-200不但能在PC機(jī)上編程,還可在PC上直接進(jìn)行模擬調(diào)試。聯(lián)機(jī)調(diào)試時(shí),可把編制好的程序下載到現(xiàn)場的PLC中。有時(shí)PLC也許只有這一臺(tái),這時(shí)要把PLC安裝到控制柜相應(yīng)的位置上。調(diào)試時(shí)一定要先將主電路斷電。只對控制電路進(jìn)行調(diào)試即可。通過現(xiàn)場聯(lián)機(jī)調(diào)試信號的接入常常還會(huì)發(fā)現(xiàn)軟硬件中的問題,經(jīng)過反復(fù)測試系統(tǒng)后,才能最后交付使用。
本例“DX-600自動(dòng)控制系統(tǒng)”投入使用后,的確大大減輕了值班任務(wù),而且能及時(shí)發(fā)現(xiàn)一些人工值班不易發(fā)現(xiàn)的故障,通過上位機(jī)對發(fā)射機(jī)的實(shí)時(shí)數(shù)據(jù)及故障記錄都能很好的保存,供技術(shù)人員維護(hù)用。