西門(mén)子SCL編程實(shí)例-計(jì)算設(shè)備運(yùn)行時(shí)間
前面我們介紹了西門(mén)子SCL編程入門(mén)的系列基礎(chǔ)教程,今天這篇文章我們做實(shí)例講解——計(jì)算設(shè)備的運(yùn)行時(shí)間;

說(shuō)明:本例程使用博途V14開(kāi)發(fā)環(huán)境,PLC為CPU 1214C;
思路如下:
-
創(chuàng)建用戶(hù)自定義數(shù)據(jù)類(lèi)型:MyEquipment;
-
創(chuàng)建全局?jǐn)?shù)據(jù)塊:myEquipmentData;
-
在啟動(dòng)組織塊(OB100)中獲取系統(tǒng)時(shí)間;
-
創(chuàng)建功能:FC_Running_Time_Caculate(FC1),用于計(jì)算設(shè)備運(yùn)行時(shí)間;
-
在主程序塊(OB1)中調(diào)用FC_Running_Time_Caculate,計(jì)算設(shè)備的實(shí)際運(yùn)行時(shí)間;
下面來(lái)具體實(shí)現(xiàn):
1、創(chuàng)建用戶(hù)自定義數(shù)據(jù)類(lèi)型
用戶(hù)自定義數(shù)據(jù)類(lèi)型可以把不同的數(shù)據(jù)類(lèi)型組織到一起,當(dāng)需要修改的時(shí)候只需要在定義中進(jìn)行修改,其它已經(jīng)引用的數(shù)據(jù)會(huì)自動(dòng)修改,非常適合于程序的模塊化設(shè)計(jì)。
本例程我們定義數(shù)據(jù)類(lèi)型:MyEquipment,包括如下成員:
-
number:整數(shù)類(lèi)型,設(shè)備的編號(hào);
-
status:字節(jié)類(lèi)型,設(shè)備的狀態(tài),0=關(guān)機(jī);1=開(kāi)機(jī);
-
starting_time:DTL類(lèi)型,設(shè)備的開(kāi)機(jī)時(shí)間;
-
running_time:Time類(lèi)型,設(shè)備的運(yùn)行時(shí)間;
如下圖所示:

2、創(chuàng)建全局?jǐn)?shù)據(jù)塊
創(chuàng)建全局?jǐn)?shù)據(jù)塊myEquipmentData,新建名稱(chēng)為"equipment_data"的數(shù)組,數(shù)據(jù)類(lèi)型為"myEquipment",如下圖所示:

3、在系統(tǒng)啟動(dòng)塊中獲取系統(tǒng)時(shí)間
添加啟動(dòng)組織塊(Startup),在變量聲明區(qū)聲明變量:tmp_system_time和tmp_return_int,如下圖所示:

在代碼區(qū)對(duì)全局?jǐn)?shù)據(jù)塊的設(shè)備數(shù)組進(jìn)行初始化,代碼如下圖:

4、創(chuàng)建功能FC_Running_Time_Caculate
創(chuàng)建功能FC_Running_Time_Caculate來(lái)計(jì)算系統(tǒng)的運(yùn)行時(shí)間
FC的形式參數(shù):
輸入:equip,類(lèi)型為:MyEquipment;
輸出:running_time,類(lèi)型為:Time;
臨時(shí)變量:tmp_return_value;tmp_system_time;tmp_caculate_time;
如下圖所示:

代碼區(qū)通過(guò)獲取當(dāng)前系統(tǒng)時(shí)間,減去設(shè)備啟動(dòng)時(shí)的時(shí)間,就得到設(shè)備的運(yùn)行時(shí)間,如下圖所示:

5、主程序調(diào)用
在主程序中調(diào)用FC_Running_Time_Caculate來(lái)計(jì)算實(shí)際的運(yùn)行時(shí)間,并將數(shù)值存放到全局?jǐn)?shù)據(jù)塊的設(shè)備運(yùn)行時(shí)間中。代碼如下:

好了,這就是SCL語(yǔ)言編寫(xiě)的一個(gè)實(shí)際例程。在該例程中我們使用了用戶(hù)自定義數(shù)據(jù)類(lèi)型、數(shù)組、模塊化設(shè)計(jì)等內(nèi)容,你可以好好體會(huì)下。
對(duì)了,我的新書(shū)《西門(mén)子S7-200 SMART PLC應(yīng)用技術(shù)》已經(jīng)出版了。如果你感興趣可以點(diǎn)擊左下角【閱讀更多】查看詳細(xì)介紹。
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計(jì)算焓和比熱容 2020-08-31
-
CAD外部參照無(wú)法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
