最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

西門子SCL語言編程實(shí)例——循環(huán)調(diào)用電機(jī)!

2023-11-08 14:55 作者:電氣小百科  | 我要投稿

導(dǎo)讀

西門子結(jié)構(gòu)化編程可將不同的控制任務(wù)劃分為不同的控制區(qū)域,相同控制功能數(shù)量眾多的設(shè)備可利用具備多重背景的FB功能塊重復(fù)調(diào)用來解決,使程序簡潔、清晰、合理,易讀性強(qiáng),更改方便,為以后系統(tǒng)的升級(jí)改造提供了極大的便利。SCL語言的應(yīng)用,更是大大減小了程序代碼的占用空間,使西門子PLC能容納更大的程序,控制更大的系統(tǒng)。下面就舉一實(shí)例加以說明。


01所需軟件及硬件

博途V15編程軟件及仿真軟件、西門子1215CPU一臺(tái)、網(wǎng)線一條。

*注:如無PLC實(shí)物,可用仿真軟件做測試*


02項(xiàng)目描述

順豐、京東、郵政等大型物流企業(yè)的中轉(zhuǎn)場的輸送分揀系統(tǒng)大都是由數(shù)量眾多、結(jié)構(gòu)各異的皮帶機(jī)再加上數(shù)臺(tái)高效分揀機(jī)組成。因輸送分揀的路向繁多,皮帶機(jī)往往分為不同的線體,每條線體包含若干條皮帶以應(yīng)對(duì)不同的路向或最終匯集到分揀機(jī)以滿足其大處理量的要求,因此皮帶機(jī)的自動(dòng)控制是中轉(zhuǎn)場控制系統(tǒng)極其重要的一環(huán)。下面的例子以控制一條線體為例加以說明。


該實(shí)例為利用SCL語言編寫的控制程序,控制一條線體當(dāng)中的5條皮帶啟停。說明:

1、此例主要的目的是使大家掌握編程的方法,不是控制的邏輯,因此每條皮帶的控制與起保停類似。具體的控制邏輯要根據(jù)實(shí)際的需求編寫;

2、實(shí)際現(xiàn)場一條線體往往不止5條皮帶,這里為了測試監(jiān)控方便只用5條,但利用SCL語言編寫控制再多數(shù)量的皮帶,再多的線體,代碼并不會(huì)增加,只是改下數(shù)量而已,后面會(huì)有描述;

3、這個(gè)例子可使大家借一斑而窺全豹,初步認(rèn)知具有多重背景FB塊的使用魅力。


03程序編寫

1、創(chuàng)建新項(xiàng)目

實(shí)際生產(chǎn)中配方的數(shù)據(jù)已經(jīng)定好,打開博途V15軟件,創(chuàng)建一個(gè)名為“SCL循環(huán)調(diào)用電機(jī)”的項(xiàng)目,組態(tài)一臺(tái)固件版本為4.2的1215CPU,如下圖1所示:

▲圖1▲



2、創(chuàng)建自定義數(shù)據(jù)類型

將默認(rèn)的SBR0子程序重命名為配方處理,創(chuàng)建自定義數(shù)據(jù)類型可把我們從編寫大量符號(hào)表變量的工作中解脫出來,變量越多,效果越明顯。在這個(gè)項(xiàng)目中我們創(chuàng)建一個(gè)名為“motordata”數(shù)據(jù)類型的變量,如下圖2所示。該數(shù)據(jù)類型包含4個(gè)布爾變量,分別是皮帶電機(jī)的啟動(dòng)、停止、故障和運(yùn)行變量。

▲圖2▲



3、創(chuàng)建全局DB塊

創(chuàng)建全局DB塊的目的是為了給五臺(tái)皮帶電機(jī)FB塊的形參賦實(shí)參,而DB塊建了個(gè)符號(hào)名為motor的數(shù)組變量,數(shù)組元素5個(gè),每個(gè)元素的類型為“motordata”,即我們一開始自定義的數(shù)據(jù)類型,這樣我們就不必在DB塊里去一個(gè)個(gè)的輸5臺(tái)電機(jī)的變量。節(jié)省了時(shí)間,提高了效率。圖中顯示了電機(jī)1(Motor【0】)展開的變量,如下圖3所示:

▲圖3▲



4、編寫電機(jī)啟停程序

該程序編寫相對(duì)簡單,這里為了測試或仿真方便,只寫了簡答的類似起保停的控制邏輯,實(shí)際的控制要根據(jù)具體要求來編寫。新建名為“Mrun”的塊FB1,該段程序用SCL編寫,如下圖4所示:

▲圖4▲



5、編寫電機(jī)調(diào)用程序

這是該例子的核心部分,在項(xiàng)目中新建FB塊,命名為DYMrun,程序的變量表與代碼如下圖5所示:

▲圖5▲



創(chuàng)建全局DB塊的目的是為了給五臺(tái)皮帶電機(jī)FB塊的形參賦實(shí)參,在靜態(tài)參數(shù)中分別建立“dymrun”和“i”兩個(gè)變量,“dymrun”為數(shù)組變量,用FB1作為數(shù)組元素的數(shù)據(jù)類型,對(duì)應(yīng)5臺(tái)電機(jī);“i”為循環(huán)調(diào)用指針,整數(shù)類型,分別指向不同的皮帶電機(jī)。如程序所示,i為0到4,如果電機(jī)數(shù)量更多,比如12臺(tái),那么把4改為11即可。代碼很簡單,就是一個(gè)FOR循環(huán)語句,重要的是把全局DB塊DB1的數(shù)組變量正確賦值到FB1(Mrun)各形參管腳。要理解上述程序需要掌握UDT、SCL、數(shù)組、結(jié)構(gòu)化編程等等知識(shí)點(diǎn)。


04測試效果

在主程序中調(diào)用FB2,為照顧沒有實(shí)體PLC的學(xué)員,我們用仿真進(jìn)行演示。新建一個(gè)監(jiān)控表,監(jiān)控表輸入了Motor0和Motor2兩個(gè)電機(jī)的變量。主程序及測試的結(jié)果如下圖6所示:


▲圖6▲



▲圖7▲




▲圖8▲



▲圖9▲



圖7中Motor0的啟動(dòng)信號(hào)為true,其運(yùn)行信號(hào)也為true,證明程序?qū)?,如兩個(gè)紅框內(nèi)容所示,Motor2也是一樣,如兩個(gè)藍(lán)色框內(nèi)容所示;圖8為復(fù)位啟動(dòng)信號(hào)后,Motor0和Motor2因已自鎖仍繼續(xù)運(yùn)行;圖9為Motor0按下停止信號(hào),其運(yùn)行也停止,而Motor2因?yàn)榘l(fā)生故障使電機(jī)停止運(yùn)行。其余的幾臺(tái)請(qǐng)有興趣的學(xué)員自行測試。


總結(jié):SCL語言類似高級(jí)語言,因其代碼簡單易用,占存儲(chǔ)空間少以及強(qiáng)大的數(shù)據(jù)處理能力,成為未來編程語言的首選,想成為編程高手一定要熟練掌握。本案例拋磚引玉,希望能對(duì)大家學(xué)習(xí)SCL有所幫助。

來源:技成培訓(xùn)網(wǎng),作者:技成-何曉剛,未經(jīng)授權(quán)不得轉(zhuǎn)載!


粉絲福利

微信掃碼領(lǐng)64本西門子PLC電子書籍

微信掃碼領(lǐng)64本電子書


西門子SCL語言編程實(shí)例——循環(huán)調(diào)用電機(jī)!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
澄江县| 甘洛县| 修武县| 南汇区| 临朐县| 宁乡县| 蓬溪县| 贵阳市| 梓潼县| 兴业县| 博湖县| 固原市| 保山市| 万安县| 连云港市| 新巴尔虎右旗| 花莲县| 三江| 建水县| 凤凰县| 安乡县| 芦溪县| 海林市| 延边| 大英县| 巴里| 九龙城区| 吴忠市| 方山县| 昂仁县| 淳安县| 萨嘎县| 博乐市| 安阳县| 康保县| 平远县| 晋城| 德保县| 全州县| 双城市| 荔浦县|