羅時(shí)俊 丁勇杰
摘 要:西門子S7-300PLC系統(tǒng)時(shí)鐘在自動(dòng)控制系統(tǒng)中的應(yīng)用非常廣泛,但S7-300PLC系統(tǒng)時(shí)鐘的現(xiàn)場應(yīng)用程序設(shè)計(jì)比較復(fù)雜。文章針對(duì)S7-300PLC系統(tǒng)時(shí)鐘的應(yīng)用進(jìn)行了詳細(xì)的分析。并從S7-300PLC系統(tǒng)時(shí)鐘的設(shè)置方法,S7-300PLC系統(tǒng)時(shí)鐘讀取方法以及S7-300PLC系統(tǒng)時(shí)鐘的數(shù)據(jù)類型等方面進(jìn)行講解。同時(shí)通過工業(yè)現(xiàn)場實(shí)例結(jié)合SIMATIC Wincc flexible 2008對(duì)S7-300PLC系統(tǒng)時(shí)鐘的應(yīng)用進(jìn)行分析,希望能為相關(guān)專業(yè)技術(shù)人員提供參考。關(guān)鍵詞:西門子;S7-300PLC;系統(tǒng)時(shí)鐘;自動(dòng)化控制系統(tǒng);自動(dòng)化;西門子PLC中圖分類號(hào):U462.1? 文獻(xiàn)標(biāo)識(shí)碼:B? 文章編號(hào):1671-7988(2020)01-67-08
Abstract: The application of the Siemens S7-300PLC system clock is extremely widespread in automatic control system, but the S7-300PLC system clock is quite complex in the application of the field programming. This article has carried on the detailed analysis in view of the S7-300PLC system clock application. And explanation the plc system clock from the method of set the S7-300PLC system clock, the S7-300PLC system clocks reading method to S7-300PLC system clocks data types .Meanwhile, analyse the application of S7-300PLC system clock through the industry scene example to unifies SIMATIC Wincc flexible 2008, hoped can provide the reference for the correlation professionals.Keywords: Siemens; S7-300 PLC; System clock; Automation; Automatic control system; Siemens PLCCLC NO.: U462.1? Document Code: B ?Article ID: 1671-7988(2020)01-67-08
引言
西門子S7-300 PLC是模塊化PLC系統(tǒng),它主要由電源模塊、CPU模塊、接口模塊、信號(hào)模塊以及通訊模塊等模塊組成,能夠滿足大、中、小等不同控制規(guī)模的性能控制要求,所以它在工控行業(yè)中的應(yīng)用非常廣。
另外, S7-300PLC能夠很好的與人機(jī)界面(HMI)進(jìn)行數(shù)據(jù)交換,對(duì)控制對(duì)象進(jìn)行可視化的操作與控制。當(dāng)S7-300PLC與HMI通過相關(guān)通訊連接上并進(jìn)行相應(yīng)組態(tài)以后,用戶只需在人機(jī)界面(HMI)中輸入數(shù)據(jù),這些數(shù)據(jù)就會(huì)被傳送到S7-300PLC中,并通過PLC中編寫的控制程序進(jìn)行相關(guān)控制。
在工業(yè)現(xiàn)場控制以及工業(yè)生產(chǎn)中,時(shí)間是最為常用的參數(shù),其應(yīng)用非常廣泛。如設(shè)定某工位的起始時(shí)間和結(jié)束時(shí)間;統(tǒng)計(jì)一個(gè)班次的生產(chǎn)時(shí)間,或者每個(gè)班次時(shí)間到后生產(chǎn)的產(chǎn)品數(shù)量;自動(dòng)化設(shè)備的自動(dòng)關(guān)機(jī)時(shí)間與自動(dòng)啟動(dòng)時(shí)間控制;沖壓行業(yè)中冬季液壓油自動(dòng)加熱,液壓油溫度分季節(jié)冷卻控制等等。但在實(shí)際應(yīng)用中,由于受編程設(shè)計(jì)人員的能力、現(xiàn)場的復(fù)雜情況等因素的影響,S7-300PLC的系統(tǒng)時(shí)鐘在應(yīng)用過程中經(jīng)常會(huì)遇到較大困難。這包括不懂得如何使用系統(tǒng)時(shí)鐘功能塊、不懂得設(shè)置時(shí)間參數(shù)、不會(huì)設(shè)置PLC系統(tǒng)時(shí)鐘,無法讀取系統(tǒng)時(shí)鐘,時(shí)間參數(shù)不能被其它程序調(diào)用等等。本文將詳細(xì)闡述時(shí)間功能塊SFC0、SFC1的使用方法、時(shí)間常數(shù)的設(shè)置方法以及時(shí)間常數(shù)的存取格式等,并通過在觸摸屏SIMATIC WinCC flexible 2008上設(shè)置需求時(shí)間與S7-300PLC進(jìn)行通訊以實(shí)現(xiàn)現(xiàn)場控制來進(jìn)行講解。
1 S7-300PLC系統(tǒng)時(shí)鐘的設(shè)置方法
1.1 系統(tǒng)時(shí)鐘設(shè)置的重要性
在PLC的硬件組態(tài)中,PLC的系統(tǒng)時(shí)鐘可以在“Set Time of Day”里面找到。如圖1所示:PLC的系統(tǒng)時(shí)鐘就是Module time(模塊)時(shí)間,如果不設(shè)置該時(shí)鐘的話,系統(tǒng)時(shí)鐘默認(rèn)為PLC本體統(tǒng)一的時(shí)間,有可能是1990年或者其他不定的時(shí)間,這樣在實(shí)際應(yīng)用中是無法實(shí)現(xiàn)控制要求的。所以需要對(duì)系統(tǒng)時(shí)鐘進(jìn)行設(shè)置,以讓PLC的系統(tǒng)時(shí)鐘與我們當(dāng)前的實(shí)際北京時(shí)間相一致,以確保我們工業(yè)控制的準(zhǔn)確性。
1.2 系統(tǒng)時(shí)鐘的設(shè)置方法
1.2.1 將PLC系統(tǒng)時(shí)鐘校準(zhǔn)為工控電腦的時(shí)間的方法
現(xiàn)在很多現(xiàn)場控制均會(huì)使用“工控電腦”,以方便現(xiàn)場對(duì)PLC程序的上傳、下載、監(jiān)控以及修改等操作。這時(shí)我們可以將PLC的系統(tǒng)時(shí)鐘校準(zhǔn)為該工控電腦的系統(tǒng)時(shí)間即可。具體操作步驟 如下:
第一步:將工控電腦的系統(tǒng)時(shí)間修正為當(dāng)前的北京時(shí)間;
第二步:打開STEP7編程軟件,再打開我們需要進(jìn)行系統(tǒng)時(shí)鐘設(shè)置的PLC的程序并通過通訊與該P(yáng)LC硬件進(jìn)行連接(一般情況下工業(yè)現(xiàn)場都是連接在一起的,只需要打開該相關(guān)PLC程序即可);
第三步:根據(jù)如圖2所示的步驟打開Set Time of Day(設(shè)置時(shí)鐘)進(jìn)入圖2所示界面,圖2中的“PG/PC time”后面的時(shí)間就是工控電腦的當(dāng)前時(shí)間;
第四步:選中Take from PG/PC前面的復(fù)選框,使其變?yōu)榇蜚^的形式,然后點(diǎn)擊“應(yīng)用”,再點(diǎn)擊CLOSE退出即可。
到此時(shí),PLC系統(tǒng)時(shí)鐘就會(huì)與工控電腦的系統(tǒng)時(shí)鐘相一致,接下來就可以進(jìn)行需要的時(shí)間控制了。
1.2.2 使用S7-300PLC的SFC0“SET_CLK”設(shè)定TOD(系統(tǒng)時(shí)鐘)
1.2.2.1 概要
S7-300PLC中可以使用SFC0這個(gè)集成的專用系統(tǒng)標(biāo)準(zhǔn)功能進(jìn)行PLC系統(tǒng)時(shí)鐘的設(shè)置,通過這個(gè)設(shè)置可以將PLC系統(tǒng)時(shí)鐘精確的設(shè)置為任意想要的時(shí)間,以此來進(jìn)行所需要的程序控制。SFC0系統(tǒng)標(biāo)準(zhǔn)功能的基本形式如圖3所示:
它的使能端EN只要導(dǎo)通一個(gè)脈沖就會(huì)將PDT前面的時(shí)鐘值設(shè)置為PLC當(dāng)前的系統(tǒng)時(shí)鐘值,所以在實(shí)際應(yīng)用中在設(shè)置完系統(tǒng)時(shí)鐘后就需要將EN端斷開,以避免一直設(shè)置系統(tǒng)時(shí)鐘。輸入端PDT的數(shù)據(jù)類型為DT型(DATE_AND_TIME型),數(shù)據(jù)存儲(chǔ)在臨時(shí)存放區(qū)L區(qū)和數(shù)據(jù)塊區(qū)D區(qū)。其輸出RET_VAL為INT型,數(shù)據(jù)可存儲(chǔ)在I、Q、M、D和L區(qū),主要起返回故障代碼的作用。所以如果要通過SFC0(SET_CLK)對(duì)S7-300PLC的系統(tǒng)時(shí)鐘進(jìn)行設(shè)置,就需要定義一個(gè)數(shù)據(jù)類型為DATE_ AND_TIME的數(shù)據(jù)塊作為輸入才有效。假如直接使用中間變量M進(jìn)行賦值,SFC0是無法識(shí)別的,就會(huì)報(bào)錯(cuò),無法設(shè)置系統(tǒng)時(shí)鐘。SFC0(SET_CLK)輸入輸出詳細(xì)數(shù)據(jù)類型如圖4所示:
1.2.2.2 數(shù)據(jù)類型DATE_AND_TIME的格式
DATE_AND_TIME數(shù)據(jù)類型是復(fù)合數(shù)據(jù)類型,使用這種數(shù)據(jù)類型輸入日期和時(shí)間時(shí),以8個(gè)字節(jié)64位二進(jìn)制編碼的BCD碼格式進(jìn)行存儲(chǔ)(即4位BCD碼代表一個(gè)參數(shù))。S7- 300PLC系統(tǒng)規(guī)定DATE_AND_TIME數(shù)據(jù)類型最多可以設(shè)置的范圍是DT#1990-1-1-0:0:0.0(DT#90-1-1-0:0:0.000,最后兩個(gè)00可以省略,如果不是0就不能省略)到DT#2089-12-31- 23: 59:59.999。
下面的實(shí)例給出了日期和時(shí)間分別是2015年7月24日星期五16:12:35:619毫秒的語法。下列3種格式是可行的:
● DATE_AND_TIME#2015-07-24-16:12:35.619
● DT#2015-07-24-16:12:35.619
●? 或者DT#15-07-24-16:12:35.619(我們常用這種方式進(jìn)行定義)
64位的DT(Date_And_Time)變量類型代表的具體含義為:第0位-第6位分別代表:年、月、日、時(shí)、分、秒、毫秒,由于毫秒是3位數(shù),需要3個(gè)BCD碼來表示,所以第6位代表毫秒的百位和十位,第8個(gè)字節(jié),也就是第7位的高地址的4位(x7.4~x7.7)用來代表毫秒個(gè)位。而第8位的低地址4位(x7.0~x7.3)用來表示星期。具體如圖5所示:
另外,我們可以使用系統(tǒng)功能FC3將日期和時(shí)間格式合并為復(fù)合型數(shù)據(jù)變量DATE_AND_TIME;使用FC6提取日期;使用FC7提取星期;使用FC8提取時(shí)間以方便我們的現(xiàn)場控制。具體如圖6所示:
1.2.2.3 定義數(shù)據(jù)塊DB作為SFC0的輸入變量進(jìn)行系統(tǒng)時(shí)鐘設(shè)置
(1)在STEP7中創(chuàng)建一個(gè)DB數(shù)據(jù)塊 如圖7、圖8所示:
注意,DB數(shù)據(jù)塊的符號(hào)名必須進(jìn)行命名,要不然在程序中調(diào)用的時(shí)候無法直接全部調(diào)用整個(gè)定義的8個(gè)字節(jié)64位數(shù)據(jù)類型的DB數(shù)據(jù)塊。這是因?yàn)槲覀冏畲笾荒苷{(diào)用一個(gè)數(shù)據(jù)塊的雙字類型即:DB1.DBD0這種樣式,僅僅只有32位,所以定義了數(shù)據(jù)塊的符號(hào)名以后我們就可以調(diào)用這個(gè)符號(hào)名來調(diào)用整個(gè)64位的變量了。
(2)打開DB1在其中定義一個(gè)DATE_AND_TIME的變量(注意初始值需要手動(dòng)輸入:DT#90-1-1-0:0:0.000表示1990年1月1日0時(shí)0分0秒)如圖9所示:
(3)打開組織塊OB1,在里面編寫系統(tǒng)時(shí)鐘設(shè)置程序,如圖10所示:
圖10中,m0.0是與觸摸屏鏈接的變量,它的作用是當(dāng)m0.0導(dǎo)通時(shí)就將PDT前面變量”SET_TIME.setclock”中的設(shè)置值設(shè)置為當(dāng)前PLC系統(tǒng)的系統(tǒng)時(shí)鐘。注意,m0.0不能一直導(dǎo)通,否則系統(tǒng)時(shí)鐘的值會(huì)一直被設(shè)置為”SET_TIME. setclock”中的值,相當(dāng)于保持設(shè)置值不變,而不會(huì)是正常的可以自動(dòng)增加的時(shí)間。
1.2.2.4 在觸摸屏中組態(tài)需要設(shè)置的系統(tǒng)時(shí)鐘值
為了通過觸摸屏對(duì)PLC系統(tǒng)時(shí)鐘進(jìn)行設(shè)置,我們必須要會(huì)組態(tài)觸摸屏相關(guān)變量?,F(xiàn)在需要做的就是在觸摸屏上組態(tài)“確定”按鈕m0.0和“系統(tǒng)時(shí)鐘設(shè)置值” SET_TIME.setcl -ock。
(1)新建一個(gè)觸摸屏工程
打開SIMATIC WinCC flexible 2008,并點(diǎn)擊“新建”按鈕,選擇如圖11中所示的觸摸屏類型,然后點(diǎn)擊確定按鈕進(jìn)入新工程。
(2)在新工程中組態(tài)“系統(tǒng)時(shí)鐘設(shè)置”值 SET_TIME. setclock。
如圖12就是通過一個(gè)IO域組態(tài)一個(gè)DATE AND TIME類型的復(fù)合型變量,觸摸屏中默認(rèn)的初始值是2002年12月31日10:59:59。該變量名為:系統(tǒng)時(shí)鐘設(shè)置,它鏈接的變量為S7-300PLC中的DB1數(shù)據(jù)塊以DB1DBB0開始的8個(gè)字節(jié)的變量。
(3)當(dāng)系統(tǒng)時(shí)鐘值在觸摸屏上輸入完成后,需要將該值傳送到S7-300PLC中控制它只設(shè)置一次,所以需要組態(tài)一個(gè)“確定”按鈕,這個(gè)按鈕的鏈接變量是S7-300中的M0.0根據(jù)圖13中的程序控制要求,每一次只能讓系統(tǒng)時(shí)鐘設(shè)置一次就像正常時(shí)鐘一樣開始運(yùn)轉(zhuǎn)起來,所以需要這個(gè)控制按鈕在按下的時(shí)候設(shè)置系統(tǒng)時(shí)鐘,當(dāng)松開以后就需要停止設(shè)置,讓系統(tǒng)時(shí)鐘以我們?cè)O(shè)置的時(shí)間為起點(diǎn)開始自然運(yùn)行。具體如圖13和圖14所示:
然后,我們將組態(tài)好的觸摸屏下載到實(shí)際的觸摸屏上后,在實(shí)際的觸摸屏上進(jìn)行如圖15所示的設(shè)置:
當(dāng)點(diǎn)擊確定按鈕并放開以后,S7-300PLC系統(tǒng)時(shí)鐘的當(dāng)前值就被設(shè)置為2015年7月30日12點(diǎn)50分0秒了。通過觀察PLC中的系統(tǒng)時(shí)鐘如圖16我們可以發(fā)現(xiàn),我的電腦的實(shí)際時(shí)間是2015年7月30日14點(diǎn)11分57秒,而模塊時(shí)間,也就是系統(tǒng)時(shí)間卻為我們?cè)O(shè)置的2015年7月30日12點(diǎn)50分0秒,然后系統(tǒng)時(shí)鐘就在我們?cè)O(shè)置的時(shí)間基礎(chǔ)上開始運(yùn)行。
2 S7-300PLC系統(tǒng)時(shí)鐘的讀取方法
2.1 概述
讀取PLC系統(tǒng)時(shí)鐘,也就是通過PLC程序讀取出PLC模塊的系統(tǒng)時(shí)間,用于工業(yè)現(xiàn)場控制。前面我們已經(jīng)講解了PLC系統(tǒng)時(shí)鐘的校準(zhǔn)方法,現(xiàn)在我們就來講解PLC系統(tǒng)時(shí)鐘的讀取方法。
我們只能通過S7-300PLC的系統(tǒng)標(biāo)準(zhǔn)功能SFC1(READ_ CLK)來對(duì)S7-300PLC系統(tǒng)時(shí)鐘進(jìn)行讀取。而至于我們讀取出來的系統(tǒng)時(shí)鐘值應(yīng)該存放到什么地方呢?下面我們就來看一下SFC1程序符號(hào)中各引腳的作用:
圖17是SFC1在程序中的符號(hào)表現(xiàn)形式。
圖18是SFC1程序符號(hào)中各引腳的含義以及所要求的數(shù)據(jù)類型,其中RET_VAL返回故障代碼。SFC1的輸出CDT的變量類型為DT數(shù)據(jù)類型,也就是說這與SFC0的PDT輸入變量類型是一樣的,是DATE_AND_TIME數(shù)據(jù)類型。那我們是不是可以直接使用校準(zhǔn)系統(tǒng)時(shí)鐘時(shí)定義的數(shù)據(jù)塊DB1呢?答案是可以使用DB1,但是必須在已經(jīng)定義的DB1.DBB0~DB1.DBB8的基礎(chǔ)上重新定義一個(gè)非重復(fù)的DATE_AND_TIME數(shù)據(jù)類型變量,如可以定義DB1.DBB9~DB1.DBB16。
從圖18中我們還可以發(fā)現(xiàn),CDT輸出的變量存儲(chǔ)在數(shù)據(jù)塊D區(qū)和OB1組織塊的臨時(shí)數(shù)據(jù)存放區(qū)L區(qū)。所以我們可以讀取出來的系統(tǒng)時(shí)鐘可以存儲(chǔ)在這兩個(gè)區(qū)內(nèi)。那他們有什么區(qū)別呢?
2.2 S7-300PLC系統(tǒng)時(shí)鐘的讀取方法
2.2.1 系統(tǒng)時(shí)鐘存儲(chǔ)在L區(qū)的系統(tǒng)時(shí)鐘讀取方法
在S7-300PLC的組織塊OB1的臨時(shí)變量區(qū)域內(nèi),系統(tǒng)自動(dòng)定義有一個(gè)數(shù)據(jù)類型為DT(Date_And_Time)的變量“OB1_DATE_TIME”它是以LB12為起始地址8個(gè)字節(jié)的復(fù)合型變量,共64位,即LB12~LB19。其定義如圖19所示:
使用本方法讀取系統(tǒng)時(shí)鐘的程序如圖20所示:
讀取出來的系統(tǒng)時(shí)鐘存放在臨時(shí)存放區(qū)L區(qū)的LB12~ LB19中,現(xiàn)在通過觸摸屏設(shè)置好當(dāng)前時(shí)鐘后,讀取出來的時(shí)間可以在監(jiān)控變量里面看到,但是由于L區(qū)只能在定義它的那個(gè)功能塊里面使用,在變量監(jiān)控表里面無法監(jiān)控,所以我們通過如圖21所示的程序?qū)D12和LD16中讀取出來的時(shí)鐘傳送到全局變量MD20和MD24中進(jìn)行觀察。
從圖22中我們可以發(fā)現(xiàn),設(shè)置的系統(tǒng)時(shí)鐘和讀取出來的系統(tǒng)時(shí)鐘完全一致,這是因?yàn)槲覀冊(cè)O(shè)置完后立馬就讀取出來的數(shù)據(jù),所以完全一致。如果我們?cè)O(shè)置完時(shí)鐘后等一段時(shí)間再進(jìn)行讀取的話,那讀取的時(shí)間點(diǎn)絕對(duì)比設(shè)置的時(shí)間點(diǎn)晚。如圖23所示,讀取出來的時(shí)間已經(jīng)與設(shè)置的不一樣了。時(shí)間已經(jīng)從設(shè)置時(shí)的12點(diǎn)50分走到了讀取時(shí)的13點(diǎn)08分19秒315毫秒,最后一個(gè)數(shù)字5代表的是星期,表示今天是星期四。
2.2.2 系統(tǒng)時(shí)鐘存儲(chǔ)在D區(qū)(數(shù)據(jù)塊區(qū))的系統(tǒng)時(shí)鐘讀取方法
如果讀取出來的系統(tǒng)時(shí)鐘需要存儲(chǔ)在數(shù)據(jù)塊中,那么就需要定義一個(gè)數(shù)據(jù)塊區(qū)間用于存儲(chǔ)我們讀取出來的時(shí)鐘數(shù)據(jù)。
我們可以將這個(gè)數(shù)據(jù)塊區(qū)間定義在設(shè)置系統(tǒng)時(shí)鐘的數(shù)據(jù)塊中,當(dāng)然也可以定義在另外一個(gè)數(shù)據(jù)塊中。比如,定義在DB1中的話就需要在原來DB1.DB0~DB1.DB7的基礎(chǔ)上進(jìn)行定義,即可以定義到DB1.DB8~DB1.DB15或者其他區(qū)間。如果是另外定義一個(gè)數(shù)據(jù)塊的話就可隨便定義了。下面以定義在與設(shè)置系統(tǒng)時(shí)鐘相同的數(shù)據(jù)塊DB1中為例進(jìn)行講解。
在DB1中設(shè)置系統(tǒng)時(shí)鐘的變量setclock的下一行定義讀取系統(tǒng)時(shí)鐘的變量readclock如圖24所示:
用于讀取系統(tǒng)時(shí)鐘的變量定義好之后,現(xiàn)在我們需要做的事情就是將系統(tǒng)時(shí)鐘讀取到這個(gè)設(shè)置的變量里面,進(jìn)行現(xiàn)場控制。
從圖25中我們可以看出讀取出來的系統(tǒng)時(shí)鐘是存放在以DB1.DBX8.0為起始地址的64位數(shù)據(jù)塊中。
3 S7-300PLC系統(tǒng)時(shí)鐘在自動(dòng)控制系統(tǒng)中的應(yīng)用
本章將通過沖壓行業(yè)中的班次產(chǎn)量統(tǒng)計(jì)、能源節(jié)約和提升產(chǎn)能等三個(gè)方面來探討S7-300PLC系統(tǒng)時(shí)鐘在自動(dòng)控制系統(tǒng)中應(yīng)用。
3.1 系統(tǒng)時(shí)鐘在沖壓車間單雙班生產(chǎn)中的應(yīng)用
汽車制造的四大工藝之一就是沖壓,所以沖壓在汽車行業(yè)中占據(jù)著非常重要的地位,所有汽車零部件都需要通過沖壓成型,這是一個(gè)龐大的工程。所以精確的統(tǒng)計(jì)這些沖壓件的生產(chǎn)量就顯得非常重要了。
現(xiàn)在我們就對(duì)S7-300PLC的系統(tǒng)時(shí)鐘在單雙班生產(chǎn)產(chǎn)品統(tǒng)計(jì)中的應(yīng)用進(jìn)行分析。某公司沖壓車間根據(jù)不同的生產(chǎn)需求會(huì)進(jìn)行雙班排產(chǎn)以及單班排產(chǎn)。這時(shí)他們需要設(shè)計(jì)一個(gè)計(jì)數(shù)系統(tǒng)進(jìn)行產(chǎn)品自動(dòng)計(jì)數(shù),當(dāng)下班時(shí)可以清楚的知道當(dāng)班生產(chǎn)的總產(chǎn)品數(shù)量。
根據(jù)控制要求,現(xiàn)在設(shè)計(jì)了控制系統(tǒng)如下:
通過檢測(cè)壓力機(jī)在下死點(diǎn)的信號(hào)作為沖壓一次的計(jì)數(shù)信號(hào)來源,該系統(tǒng)設(shè)置有雙班生產(chǎn)和單班生產(chǎn)兩種模式。如果是雙班生產(chǎn)模式,那么第一班次的生產(chǎn)時(shí)間為早上8點(diǎn)到下午17點(diǎn),17點(diǎn)半產(chǎn)品計(jì)數(shù)進(jìn)行自動(dòng)清零;第二班次為18點(diǎn)到第二天凌晨2點(diǎn),產(chǎn)品計(jì)數(shù)在凌晨2點(diǎn)30分自動(dòng)清零。如果選擇的生產(chǎn)模式是單班生產(chǎn)模式,那么產(chǎn)品計(jì)數(shù)將會(huì)在午夜23:59分進(jìn)行自動(dòng)清零。
系統(tǒng)設(shè)計(jì)思路如下:
第一步,先通過程序根據(jù)北京時(shí)間設(shè)置好S7-300PLC的系統(tǒng)時(shí)鐘,再將系統(tǒng)時(shí)鐘讀取出來;
第二步,設(shè)計(jì)單雙班產(chǎn)品計(jì)數(shù)程序;
第三步,設(shè)計(jì)產(chǎn)品自動(dòng)清零程序;
第四步,組態(tài)觸摸屏控制按鍵。
3.1.1 設(shè)置系統(tǒng)時(shí)鐘和讀取系統(tǒng)時(shí)鐘程序設(shè)計(jì)
系統(tǒng)時(shí)鐘讀取出來以后,現(xiàn)在我們只需要取其中的時(shí)間進(jìn)行控制就行了,所以我們使用FC8將時(shí)間提取出來。具體程序如圖29所示:
由于FC8提取出來的時(shí)間是TIME_OF_DAY格式,所以我們無法直接在程序中看出當(dāng)前時(shí)間情況,現(xiàn)在在監(jiān)控表里面可以看出,如圖28所示:
3.1.2 設(shè)計(jì)單雙班產(chǎn)品計(jì)數(shù)程序
圖30中MW60是單班計(jì)數(shù)的產(chǎn)品件存儲(chǔ)變量,MW62是雙班計(jì)數(shù)的產(chǎn)品件存儲(chǔ)變量。
3.1.3 設(shè)計(jì)單雙班計(jì)數(shù)自動(dòng)清零程序
在進(jìn)行單班生產(chǎn)時(shí),當(dāng)?shù)搅璩?3:59分的時(shí)候進(jìn)行產(chǎn)品件自動(dòng)清零,為下一工作日的生產(chǎn)做好準(zhǔn)備。
在進(jìn)行雙班生產(chǎn)時(shí),第一班次在下午17:30分進(jìn)行產(chǎn)品自動(dòng)清零;而第二個(gè)班次則在凌晨02:30分的時(shí)候進(jìn)行產(chǎn)品自動(dòng)清零。
3.1.4 組態(tài)單雙班計(jì)數(shù)畫面
根據(jù)生產(chǎn)控制需求,我們?cè)谟|摸屏上組態(tài)單雙班生產(chǎn)時(shí)的產(chǎn)品計(jì)數(shù)畫面如圖33所示:
到這里,通過S7-300PLC系統(tǒng)時(shí)鐘控制的產(chǎn)品計(jì)數(shù)自動(dòng)清零系統(tǒng)設(shè)計(jì)完成。系統(tǒng)時(shí)鐘在類似的工業(yè)控制中應(yīng)用非常廣泛。
3.2 分季節(jié)控制離合器油溫冷卻
汽車行業(yè)的沖壓車間主要通過壓力機(jī)進(jìn)行沖壓成型,這些沖壓設(shè)備在運(yùn)行過程中主要靠離合制動(dòng)器來控制它們的運(yùn)行與停止。離合器油溫對(duì)沖壓系統(tǒng)的影響非常大,特別是對(duì)于1600噸及以上的大型沖壓設(shè)備更是如此。當(dāng)溫度過高時(shí),一般情況下超過65度時(shí)就不允許壓力運(yùn)行了,而在離合油溫過低時(shí)卻無法進(jìn)行正常的離合與制動(dòng),就有可能會(huì)出現(xiàn)數(shù)千噸壓力機(jī)制動(dòng)效果不佳產(chǎn)生打滑的現(xiàn)象。所以控制好它們的離合制動(dòng)油溫至關(guān)重要。
像我所在的江淮汽車重卡廠沖壓車間,廠家設(shè)計(jì)的離合器油溫開始冷卻的溫度都是40度,冷卻到30度又開始進(jìn)行加熱。由于公司處在安徽合肥,天氣一般是冬天特別冷,夏季特別熱。所以廠家的這種設(shè)計(jì)只符合于春季和秋季使用,在冬天的時(shí)候油溫冷卻得太早了,在夏季的時(shí)候油溫又冷卻得太晚了,這就對(duì)正常生產(chǎn)生產(chǎn)了很大的 影響。為了消除這種不合理設(shè)計(jì)。我們?cè)谠O(shè)備廠家原設(shè)計(jì)基礎(chǔ)上做了改進(jìn)——“分季節(jié)控制壓力機(jī)離合油溫加熱與冷卻控制”。
3.1節(jié)講的是利用讀取出來的系統(tǒng)時(shí)間進(jìn)行產(chǎn)品自動(dòng)清零控制,現(xiàn)在我們使用讀取出來的月份進(jìn)行離合油溫加熱與冷卻控制。根據(jù)合肥的實(shí)際情況,我們將合肥的天氣劃分為4個(gè)季節(jié),分別為天氣炎熱的夏季(6、7、8、9月)、天氣異常寒冷的濃冬季(12、1、2月)、天氣涼爽的春秋季(4、5、10月)和天氣較冷的初冬初春季(11月和3月)。
由于沒有專門用來提取系統(tǒng)時(shí)鐘月分的功能塊,所以我們無法直接利用標(biāo)準(zhǔn)功能塊進(jìn)行月分的提取??梢允褂谜麛?shù)比較的方法就可以很簡單的進(jìn)行月分提取了。
由于DB1.DBD8提取出來的是年、月、日和時(shí)四個(gè)量的BCD碼表示形式,所以首先需要將月分所在的DB1.DBB9單獨(dú)取出來,由于在S7-300PLC的指令系統(tǒng)中沒有像S7-200PLC指令系統(tǒng)中那樣直接用于字節(jié)比較的指令,所以還無法單獨(dú)使用DB1.DBB9進(jìn)行比較,而是需要使用整個(gè)的DB1.DBW8通過相關(guān)運(yùn)算并轉(zhuǎn)換為整數(shù)形式后才能進(jìn)行比較。具體如下:
從圖34中我們可以看出當(dāng)前是2015年8月份,而通過轉(zhuǎn)換以后在MW124內(nèi)就只有整數(shù)8了。下面圖35、圖36、圖37和圖38就是我們劃分的4個(gè)季節(jié)的識(shí)別程序。
下面就是通過系統(tǒng)時(shí)鐘控制的離合器油溫冷卻控制程序:
通過這樣改進(jìn)以后,車間的離合油溫可以根據(jù)季節(jié)進(jìn)行自動(dòng)的調(diào)節(jié)在多少溫度開始冷卻,防止了以前統(tǒng)一在40度時(shí)開始冷卻帶來的很多不合理現(xiàn)象。比如冬季的時(shí)候本來氣溫很低,但是離合器冷卻水閥卻在40度就開始冷卻了,由于制動(dòng)過程中產(chǎn)生的熱量與冷卻的功效相抵消后,整個(gè)離合油溫會(huì)維持在35度左右達(dá)到平衡,? ?這就導(dǎo)致離合器冷卻水閥會(huì)在整個(gè)生產(chǎn)過程中都處在運(yùn)行狀態(tài),而我們生產(chǎn)過程中只需要離合器油溫超過25度就可以了。通過以上改進(jìn)以后,冬季時(shí),當(dāng)離合油溫高于46度開始降溫,溫度降到35度停止降溫。夏季離合油溫超過35度就開始降溫,降到25度就停止降溫。而在其他時(shí)候溫度都是降到30度就停止降溫,這樣確保了整個(gè)冷卻系統(tǒng)能夠根據(jù)季節(jié)進(jìn)行自動(dòng)調(diào)節(jié),在不需要降溫的時(shí)候就停止降溫,需要降溫的時(shí)候就降溫,大大節(jié)約了能源降低了消耗。
4 結(jié)束語
總之,隨著國家工業(yè)4.0戰(zhàn)略的提出,自動(dòng)化系統(tǒng)的應(yīng)用將越來越廣泛, S7-300PLC系統(tǒng)時(shí)鐘的智能應(yīng)用也將會(huì)越來越廣泛。所以,掌握好這部分知識(shí),將會(huì)對(duì)相關(guān)專業(yè)人士在以后的工作中靈活的進(jìn)行智能控制起到很大的作用。
參考文獻(xiàn)
[1] 李文群.西門子S7-300PLC初級(jí)應(yīng)用.技成培訓(xùn)網(wǎng). p1-27.
[2] 向曉漢.西門子PLC S7-200/300/400/1200應(yīng)用案例精講.[M]化學(xué)工業(yè)出版社 p32-36.
[3] 孫承志.西門子S7-200/300/400 PLC基礎(chǔ)與應(yīng)用技術(shù).[M]機(jī)械工業(yè)出版社 p106-123.
[4] 廖常初.跟我動(dòng)手學(xué)S7-300/400 PLC.[M]機(jī)械工業(yè)出版社p179- 193.
[5] 廖常初.西門子與人機(jī)界面(觸摸屏)組態(tài)與應(yīng)用技術(shù).[M]機(jī)械工業(yè)出版社 p1-270.
[6] S7-300/400梯形圖(LAD)編程參考手冊(cè).p1-228.
[7] SIMATIC 用于S7-300 400系統(tǒng)和標(biāo)準(zhǔn)功能的系統(tǒng)軟件參考手冊(cè)p117-118, p415-426.