公司:重慶環(huán)潔智科技有限公司
主營:產(chǎn)品研發(fā)設計、模具加工生產(chǎn)
手機:13101395006
地址:重慶茶園經(jīng)開區(qū)美林路16號昌龍國際A9棟5樓
控制系統(tǒng)研發(fā)中如何處理系統(tǒng)設計的可重用性?
各位老鐵們,大家好,今天由我來為大家分享控制系統(tǒng)研發(fā)中如何處理系統(tǒng)設計的可重用性?,以及可重用設計模式有哪幾種的相關(guān)問題知識,希望對大家有所幫助。如果可以幫助到大家,還望關(guān)注收藏下本站,您的支持是我們最大的動力,謝謝大家了哈,下面我們開始吧!
如何有效提高Java代碼的可重用性
大量結(jié)構(gòu)、功能相近的冗余代碼不僅增加了維護上的額外成本,而且更重要的是讓代碼變得不規(guī)范。提升代碼的可重復性,首先要強調(diào)代碼規(guī)范,如規(guī)范類名、方法名、變量名、換行符、代碼寬度等,代碼復用也是提升代碼質(zhì)量的重要手段,那么如何有效的提高代碼的重用性,我總結(jié)以下幾點:
利用面向?qū)ο蟮娜筇攸c中的“繼承和封裝”,在開發(fā)過程中一定要重視封裝,把需要重復調(diào)用的代碼封裝起來放到父類中,在需要調(diào)用的時候繼承使用,這樣代碼就不會重復編寫,整體代碼是具有規(guī)范性的。
利用多態(tài)性將非基本數(shù)據(jù)類型轉(zhuǎn)化為接口類型,把所有形式的參數(shù)改為接口形式,經(jīng)過這個改動之后,參數(shù)可以是實現(xiàn)該接口的所有類的對象,而不僅僅是原來的類所創(chuàng)建的對象,由此能夠?qū)赡艽嬖诘拇罅康膶ο箢愋瓦M行操作,我們就可以進一步提高代碼的可重用能力。
另外,在開發(fā)過程中要注意是否可以重復調(diào)用一個服務接口來實現(xiàn)功能操作,而不是一個功能操作就創(chuàng)建一個接口服務,把多個功能需要的服務接口提升到上級目錄中,這樣這些功能就可以使用該接口服務的方法。
類似的代碼可以考慮封裝為工具類、父類、接口,而多個接口、父類、工具類交互、結(jié)合配置文件就形成技術(shù)框架,其中可能涉及到java反射、動態(tài)Shell腳本,甚至代碼生成機制等技術(shù)。技術(shù)框架要統(tǒng)一維護,可以通過jar包方式來復用、經(jīng)過多個項目驗證錘煉、同時跟業(yè)務場景結(jié)合,就可以(可能)萃取、打造成用于解決典型業(yè)務場景的平臺產(chǎn)品,多個平臺產(chǎn)品結(jié)合加擴展開發(fā)就可以形成特定領(lǐng)域的技術(shù)解決方案。
如何系統(tǒng)的從零開始學習PLC
PLC的基本工作原理一).PLC采用“順序掃描,不斷循環(huán)”的工作方式1.每次掃描過程。集中對輸入信號進行采樣。集中對輸出信號進行刷新。2.輸入刷新過程。當輸入端口關(guān)閉時,程序在進行執(zhí)行階段時,輸入端有新狀態(tài),新狀態(tài)不能被讀入。只有程序進行下一次掃描時,新狀態(tài)才被讀入。3.一個掃描周期分為輸入采樣,程序執(zhí)行,輸出刷新。4.元件映象寄存器的內(nèi)容是隨著程序的執(zhí)行變化而變化的。5.掃描周期的長短由三條決定。
(1)CPU執(zhí)行指令的速度
(2)指令本身占有的時間
(3)指令條數(shù)6.由于采用集中采樣。集中輸出的方式。存在輸入/輸出滯后的現(xiàn)象,即輸入/輸出響應延遲。
二).PLC與繼電器控制系統(tǒng)、微機區(qū)別
1.PLC與繼電器控制系統(tǒng)區(qū)別前者工作方式是“串行”,后者工作方式是“并行”。前者用“軟件”,后者用“硬件”。2.PLC與微機區(qū)別前者工作方式是“循環(huán)掃描”。后者工作方式是“待命或中斷”3.PLC編程方式PLC最突出的優(yōu)點采用“軟繼電器”代替“硬繼電器”。用“軟件編程邏輯”代替“硬件布線邏輯”。PLC編程語言有梯形圖、布爾助記符語言,等等。尤其前兩者為常用。PLC的分類三).按結(jié)構(gòu)分類:1.整體式:是把PLC各組成部分安裝在一起或少數(shù)幾塊印刷電路板上,并連同電源一起裝在機殼內(nèi)形成一個單一的整體,稱之為主機或基本單元、小型、超小型PLC采用這種結(jié)構(gòu)。
2.模塊式:是把PLC各基本組成做成獨立的模塊。中型、大型PLC采用這種方式。便于維修。
PLC的應用方面:1.用于開關(guān)量邏輯控制
2.用于閉環(huán)過程控制
3.PLC配合數(shù)字控制
4.用于工業(yè)機器人控制
5.用于組成多級控制系統(tǒng)。
定時器和計數(shù)器的應用程序:
1、接通/斷開延時電路(定時器用作時間繼電器)
2、閃爍電路(用定時器產(chǎn)生周期脈沖信號)
3、定時范圍的擴展
多個定時器組合電路:
如圖所示。當X0接通,T0線圈得電并開始延時,延時到T0常開觸點閉合,又使T1線圈得電,并開始延時,當定時器T1延時到,其常開觸點閉合,再使T2線圈得電,并開始延時,當定時器T2延時到,其常開觸點閉合,才使Y0接通。因此,從X0為ON開始到Y(jié)0接通共延時9000s。
電動機常用控制線路:
1.三相異步電動機起、停控制(起動、保持和停止電路)
SB1:起動按鈕;SB2:停止按鈕;
KH:熱繼電器常開觸點X402。
常閉觸點輸入信號的處理
如果輸入信號只能由常開觸點提供,梯形圖中的觸點類型與繼電器電路的觸點類型完全一致。
如果接入PLC的是輸入信號的常閉觸點,這時在梯形圖中所用的X1的觸點的類型與PLC外接SB2的常開觸點時剛好相反,與繼電器電路圖中的習慣也是相反的。建議盡可能采用常開觸點作為PLC的輸入信號。
常用基本環(huán)節(jié)梯形圖程序:
1.起動、保持和停止電路
2.三相異步電動機正反轉(zhuǎn)控制電路
3.常閉觸點輸入信號的處理
4.多繼電器線圈控制電路
5.多地控制電路
6.互鎖控制電路
7.順序起動控制電路
8.集中與分散控制電路
9.自動與手動控制電路
10.閃爍電路
11.延合延分電路
12.定時范圍擴展電路
多繼電器線圈控制電路:下圖是可以自鎖的同時控制4個繼電器線圈的電路圖。其中X0是起動按鈕,X1是停止按鈕。
多地控制電路:下圖是兩個地方控制一個繼電器線圈的程序。其中X0和X1是一個地方的起動和停止控制按鈕,X2和X3是另一個地方的起動和停止控制按鈕。
互鎖控制電路:下圖是3個輸出線圈的互鎖電路。其中X0、X1和X2是起動按鈕,X3是停止按鈕。由于Y0、Y1、Y2每次只能有一個接通,所以將Y0、Y1、Y2的常閉觸點分別串聯(lián)到其它兩個線圈的控制電路中。
順序起動控制電路:如圖所示。Y0的常開觸點串在Y1的控制回路中,Y1的接通是以Y0的接通為條件。這樣,只有Y0接通才允許Y1接通。Y0關(guān)斷后Y1也被關(guān)斷停止,而且Y0接通條件下,Y1可以自行接通和停止。X0、X2為起動按鈕,X1、X3為停止按鈕。
集中與分散控制電路:在多臺單機組成的自動線上,有在總操作臺上的集中控制和在單機操作臺上分散控制的聯(lián)鎖。集中與分散控制的梯形圖如圖所示。X2為選擇開關(guān),以其觸點為集中控制與分散控制的聯(lián)鎖觸點。當X2為ON時,為單機分散起動控制;當X2為OFF時,為集中總起動控制。在兩種情況下,單機和總操作臺都可以發(fā)出停止命令。
自動與手動控制電路:在自動與半自動工作設備中,有自動控制與手動控制的聯(lián)鎖,如圖所示。輸入信號X1是選擇開關(guān),選其觸點為聯(lián)鎖型號。當X1為ON時,執(zhí)行主控指令,系統(tǒng)運行自動控制程序,自動控制有效,同時系統(tǒng)執(zhí)行功能指令CJ,P63,直接跳過手動控制程序,手動調(diào)整控制無效。當X1為OFF時,主控指令不執(zhí)行,自動控制無效,跳轉(zhuǎn)指令也不執(zhí)行,手動控制有效。
梯形圖的設計方法:
1、繼電器控制電路轉(zhuǎn)換為梯形圖法
如果用可編程序控制器改造繼電器控制系統(tǒng),根據(jù)原有的繼電器電路圖來設計梯形圖顯然是一條捷徑。用可編程序控制器的硬件和梯形圖軟件來實現(xiàn)繼電器系統(tǒng)的功能。
這種設計方法沒有改變系統(tǒng)的外部特性,除了控制系統(tǒng)的可靠性提高之外,改造前后的系統(tǒng)沒有什么區(qū)別。這種設計方法一般不需要改動控制面板和它上面的器件,因此可以減少硬件改造的費用和改造的工作量。
思路:將PLC想象成一個繼電器控制系統(tǒng)中的控制箱。
主要步驟如下:
(1)熟悉被控設備的工藝過程和機械的動作情況,根據(jù)繼電器電路圖分析和掌握控制系統(tǒng)的工作原理。
(2)確定可編程序控制器的輸入信號和輸出負載,以及它們對應的梯形圖中的輸入繼電器和輸出繼電器的元件,畫出可編程序控制器的外部接線圖。
(3)畫出表格,表明繼電器電路圖與梯形圖中各種元器件間的一一對應關(guān)系。
(4)畫出全部梯形圖,并予以簡化和修改。
三相異步電動機正反轉(zhuǎn)控制:
分析控制要求:
★I/O分配表
★畫外部接線圖。
★畫梯形圖。
★列寫程序清單。
I/O分配表:
畫外部接線圖:
畫梯形圖:
注意事項:①必須遵守梯形圖語言中的語法規(guī)定
②可適當?shù)卦O置中間單元
③盡量減少可編程序控制器的輸入信號和輸出信號
④必須保留異步電動機正反轉(zhuǎn)的外部聯(lián)鎖電路
⑤注意外部負載所需的額定電壓
每一I/O點的平均價格在100元左右,因此減少輸人信號和輸出信號的個數(shù)是降低硬件費用的主要措施。
PLC的繼電器輸出模塊和雙向可控硅輸出模塊一般最高只能驅(qū)動額定電壓AC220V的負載,如果系統(tǒng)原來的交流接觸器的線圈是380v,應更新該類元件并將線圈額定電壓換成220V。
2、梯形圖的經(jīng)驗設計法
在一些典型電路的基礎(chǔ)上,根據(jù)被控對象對控制系統(tǒng)的具體要求,不斷修改和完善梯形圖,多次反復調(diào)試和修改梯形圖的設計方法。
特點:(1)具有試探性和隨意性;
(2)最后的結(jié)果不是唯一;
(3)設計所用的時間和質(zhì)量因設計者的經(jīng)驗而異,交付使用后維護困難。
PLC程序設計的一般步驟
①詳細了解生產(chǎn)工藝和設備對控制系統(tǒng)的要求。必要時畫出系統(tǒng)的工作循環(huán)圖或流程圖、功能圖及有關(guān)信號的時序圖。
②將所有輸入信號,輸出信號及其它信號分別列表,并按PLC內(nèi)部軟繼電器的編號范圍,給每個信號分配一個確定的編號,即編制現(xiàn)場信號與PLC軟繼電器編號對照表。
③根據(jù)控制要求設計梯形圖。圖上的文字符號應按現(xiàn)場信號與PLC軟繼電器編號對照表的規(guī)定標注。
④編寫程序清單。梯形圖上的每個邏輯元件均可相應地寫出一條命令語句,編寫程序應按梯形圖的邏輯行和邏輯元件的編排順序由上至下、自左至右依次進行。
(1)、設計實例一:送料小車在限位開關(guān)X4處裝料,10S后結(jié)束然后右行,碰到X3后停下來卸料,15S后左行,碰到X4后,又停下來裝料,這樣不停地循環(huán)工作,直到按下停機按鈕。
送料小車自動控制系統(tǒng)的梯形圖設計:
(2)、設計實例二
報警電路的PLC程序設計:
解:1)輸入/輸出接點分配見表
2)控制邏輯梯形圖見圖
3)指令程序
順序控制設計法與順序功能圖:
順序功能圖法是描述控制系統(tǒng)的控制過程、功能和特性的一種圖形。按圖形的邏輯關(guān)系對照翻譯即可得到梯形圖。
順序功能圖的組成:
步+轉(zhuǎn)向條件+有向連線+動作
功能流圖設計法的基本步驟:
1)步的劃分:分析被控對象的工作過程及控制要求,將系統(tǒng)的工作過程劃分成若干階段,這些階段成為“步”。
2)轉(zhuǎn)換條件的確定:是使系統(tǒng)從當前步進入下一步的條件。
3)功能流圖的繪制
4)梯形圖的編制
功能表圖中轉(zhuǎn)換的實現(xiàn):
步與步之間實現(xiàn)轉(zhuǎn)換應同時具備兩個條件:
①前級步必須是“活動步”;②對應的轉(zhuǎn)換條件成立。
當上述兩個條件同時具備時,才能實現(xiàn)步的轉(zhuǎn)換,即所有由有向連線與相應轉(zhuǎn)換符號相連的后續(xù)步都變成活動,而所有由有向連線與相應轉(zhuǎn)換符號相連的前級步都為不活動步。
順序控制設計法的基本思想:
順序控制設計中的順序功能圖繪制:
2、順序功能圖的基本結(jié)構(gòu)
舉例:這是一個三工位鉆床的工作臺的俯視圖。
三個工位分別完成:
(1)送料
(2)鉆孔
(3)合格品檢測
綜合實例1、鉆孔動力頭的控制
1、確定控制任務(動作要求,繪制工藝流程圖與動作順序表)。
動力頭停在處于原位,1ST被壓合
起動SB,電磁閥1YA得電,使動力頭快進
到達工位2,2ST被壓合,使電磁閥1YA、2YA都得電,動力頭工進
到達工位3,3ST被壓合,使電磁閥1YA、2YA失電,動力頭停止前進,工進延時1S,等待加工完成。
延時時間到,電磁閥3YA得電,動力頭退回。
5、程序指令表(略)
綜合實例2、十字路口交通信號燈自動控制
1、確定控制任務(動作要求,時序圖)
十字路口的交通信號燈共有12個,同一方向的兩個紅、黃、綠燈的變化規(guī)律相同,所以十字路口的交通燈控制就是一雙向(兩組)紅、黃、綠燈控制,稱之為1R、1Y、1G和2R、2Y、2G。
起動SB,南北紅燈(2R)維持60s;同時,東西綠燈(1G)亮55s后,閃爍3s滅;東西黃燈(1Y)亮2s;
然后東西紅燈(1R)維持60s;同時,南北綠燈(2G)亮55s后,閃爍3s滅;南北黃燈(2Y)亮2s……,如此循環(huán),其時序圖如圖所示。
2、PLC輸入輸出I/O分配對照表
3、PLC與外部器件的實際連接圖
4、梯形圖設計
設計方法:化整為零,采用基本電路
1)SB按鈕信號的處理
2)紅燈1R、2R交替亮60S;綠燈1G、2G閃爍3次。可用定時器產(chǎn)生周期脈沖信號電路實現(xiàn)。
本文來源于互聯(lián)網(wǎng),暖通南社整理編輯。
可重用設計模式有哪幾種
1、單例模式
這是最常用和最常見的設計模式,幾乎每個應用程序都需要用到單例模式,這種模式涉及到一個單一的類,該類負責創(chuàng)建自己的對象,當你需要一個對象來協(xié)調(diào)跨系統(tǒng)的操作時,單例模式是很好的解決方式。
顧名思義,模式用于保證一個類僅有一個實例。需要聲明一個私有構(gòu)造函數(shù),以防止從類外部實例化。另外,它需要聲明一個singleton類型的靜態(tài)字段。
publicclassSingletonDemo{
privatestaticSingletonDemoinstance=null;
privateSingletonDemo(){
}
publicstaticSingletonDemogetInstance(){
if(instance==null){
instance=newSingletonDemo();
}
returninstance;
}
}
上面的代碼中的getInstance()方法在運行時只創(chuàng)建這個類的一個實例,首選的場景:類只有一個實例,包括緩存、線程池和注冊表。
單例模式的getInstance()方法并不是線程安全的。它可以被實例化不止一次,可以通過在方法上加同步調(diào)用來解決,但是這會使方法變慢。
2、工廠模式(FactoryPattern)
這里單詞factory說的是工廠的意思,同樣的軟件工廠生產(chǎn)對象,它只是通過調(diào)用工廠方法,而不是調(diào)用特定類的構(gòu)造函數(shù)來實現(xiàn)這一點。通常,對象創(chuàng)建的過程如下:
DemoClassdemoClassObject=newDemoClass();
上述方法的問題是代碼使用了具體的對象DemoClass。使用new創(chuàng)建對象也可以,但是它將代碼緊密地耦合到了具體的類??梢酝ㄟ^如下的工廠模式解決該問題:
publicinterfaceNotification{
StringgetType();
}
publicclassCallimplementsNotification{
publicStringgetType(){
return"call"
}
}
publicclassMessageimplementsNotif
系統(tǒng)設計中的可變性原則是什么
即找到一個系統(tǒng)的可變因素,將之封裝起來。
如何進行產(chǎn)品需求設計
設計來源于生活要做好一個好的產(chǎn)品設計需要有極高的生活觀察能力從觀察細節(jié)發(fā)現(xiàn)需求從而啟發(fā)設計的靈感在這方面可以多參考日本的產(chǎn)品設計和瑞典的產(chǎn)品設計從他們的設計思維模式中啟發(fā)自己的設計靈感畢竟前期有一個產(chǎn)品作為對標是比較理想的選擇其次呢就是以解決某個問題為目標繪制出相應的手稿然后去完善他中間還要找一下所涉及工藝材料的產(chǎn)品經(jīng)理挖掘其實現(xiàn)的難點及可能性最后打版做出樣品!
構(gòu)思計算機控制系統(tǒng)的整體力案時,確定采用閉環(huán)控制時要考慮哪些
在構(gòu)思計算機控制系統(tǒng)的整體力案時,確定采用閉環(huán)控制時要考慮的因素有:
1.系統(tǒng)的穩(wěn)定性;
2.系統(tǒng)的可靠性;
3.系統(tǒng)的可控性;
4.系統(tǒng)的可調(diào)性;
5.系統(tǒng)的可維護性;
6.系統(tǒng)的可擴展性;
7.系統(tǒng)的可重用性;
8.系統(tǒng)的可測試性;
9.系統(tǒng)的可實施性;
10.系統(tǒng)的可操作性。
面向?qū)ο蟪绦蛟O計的優(yōu)缺點
面向?qū)ο蟪绦蛟O計有以下優(yōu)點:
1、易維護
采用面向?qū)ο笏枷朐O計的結(jié)構(gòu),可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。
2、質(zhì)量高
在設計時,可重用現(xiàn)有的,在以前的項目的領(lǐng)域中已被測試過的類使系統(tǒng)滿足業(yè)務需求并具有較高的質(zhì)量。
3、效率高
在軟件開發(fā)時,根據(jù)設計的需要對現(xiàn)實世界的事物進行抽象,產(chǎn)生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發(fā)的效率和質(zhì)量。
4、易擴展
由于繼承、封裝、多態(tài)的特性,自然設計出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴展,而且成本較低。
好了,本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!