白話工控——劍思庭帶你認(rèn)識(shí)工控
劍思庭,軟件工程碩士,曾開發(fā)過(guò)各種廠商dcs和plc系統(tǒng)及智能儀表相對(duì)應(yīng)的opcserver軟件包;曾利用s7300/400系統(tǒng)開發(fā)過(guò)多個(gè)行業(yè)工藝控制系統(tǒng);曾用SIMATIC IT技術(shù)為化工廠開發(fā)過(guò)MES管理系統(tǒng)和生產(chǎn)調(diào)度指揮系統(tǒng);曾利用WINCC開發(fā)過(guò)在線設(shè)備管理系統(tǒng);并獲得過(guò)多項(xiàng)技術(shù)認(rèn)證,例如Profibus總線認(rèn)證、Controllogix產(chǎn)品認(rèn)證等等。今天將用一些簡(jiǎn)單易懂的詞語(yǔ),帶大家來(lái)認(rèn)識(shí)工控,了解什么是現(xiàn)場(chǎng)總線,組態(tài)軟件的構(gòu)造,SFC的含義,冗余和熱備的區(qū)別。
白話用戶需求的重要性
說(shuō)到用戶需求是什么呢,通俗地說(shuō)就是自控項(xiàng)目中客戶想要達(dá)到的效果和東西。而專業(yè)上來(lái)說(shuō),也就是客戶對(duì)自控系統(tǒng)提出的自己的要求標(biāo)準(zhǔn),這個(gè)要求標(biāo)準(zhǔn)根據(jù)自己的使用目的、工藝、用途等可以提出自己的要求。自控集成商依據(jù)客戶的需求進(jìn)行自控設(shè)計(jì)(或確認(rèn)自己已經(jīng)完成設(shè)計(jì)的項(xiàng)目能符合需方的要求)。 作為自控工程師在做項(xiàng)目之前這是過(guò)程是一定要洗禮的,弄清楚客戶想要干什么和結(jié)果,是自控工程師首要任務(wù)。大家該說(shuō)這還不簡(jiǎn)單!人家要什么我們就給人家編什么,其實(shí)不然不要小看了這個(gè)過(guò)程,十分重要,它是一個(gè)項(xiàng)目的龍頭,如果它出了偏差后面設(shè)計(jì)和執(zhí)行再正確也是枉然。在現(xiàn)實(shí)情況中我們會(huì)發(fā)現(xiàn)存在這樣一種情況,那就是一個(gè)自控工程師在現(xiàn)場(chǎng)把在家里寫的程序全部推翻在現(xiàn)場(chǎng)重新寫了一份,實(shí)在讓人感嘆技術(shù)勞動(dòng)力的脆弱。 其實(shí)很多自控項(xiàng)目雖說(shuō)沒(méi)有一個(gè)到了現(xiàn)場(chǎng)不改變的但是也絕不會(huì)出現(xiàn)全部重寫的現(xiàn)象。這是為什么呢,其實(shí)這就是需求分析沒(méi)有分析透徹,客戶一般都是從事工藝設(shè)計(jì)和生產(chǎn)的,他們并不是直接了解自控的系統(tǒng),即使說(shuō)出來(lái)他所能知道同一個(gè)自控名詞也有可能表達(dá)不同結(jié)果。同樣名字不同的地域就會(huì)出現(xiàn)不同的結(jié)果,同理在自控項(xiàng)目中工藝認(rèn)為的一個(gè)自控詞語(yǔ)概念并非我們理解的概念,況且就是同一個(gè)專業(yè)還會(huì)出現(xiàn)不同的理解方式。 那需求該如何做呢?說(shuō)簡(jiǎn)單很簡(jiǎn)單,說(shuō)不簡(jiǎn)單也很難。你需要把客戶的工藝思想挖掘出來(lái),而變成自控行業(yè)能夠理解的要求。按道理來(lái)說(shuō)用戶提出來(lái)的需求應(yīng)該是系統(tǒng)的,也就是我們能夠看懂的,但是往往這只是一種理想,要知道客戶是我們的衣食父母,客戶很多招標(biāo)書都是由系統(tǒng)集成商來(lái)寫的,所以現(xiàn)實(shí)情況很殘酷。客戶可能不能跟你說(shuō)清楚他的需求,這個(gè)時(shí)候你就需要按照客戶提供的只言片語(yǔ),慢慢勾勒出來(lái)一個(gè)他想要的自控系統(tǒng)輪廓,經(jīng)常會(huì)出現(xiàn)類似《開心辭典》一樣情形,我們提出問(wèn)題后列舉四種方式或者情況,然后業(yè)主選擇和他最接近的那一種。我個(gè)人理解一定要在需求階段把用戶的需求細(xì)化到極致,這樣可以很方便躲避項(xiàng)目中技術(shù)難題(給不能實(shí)現(xiàn)或者不好實(shí)現(xiàn)的技術(shù)難題消滅在萌芽狀態(tài))和給驗(yàn)收和尾款帶來(lái)順利之門。在舉個(gè)例子,用戶在需求中會(huì)提出來(lái)要當(dāng)工藝參數(shù)超限要聲光報(bào)警,就是這么簡(jiǎn)單的一句話,這里邊變化很大。工藝超限,大家都可以理解,就是PV大于或者小于了ALARM這個(gè)時(shí)候就要產(chǎn)生報(bào)警,但是聲光報(bào)警的方式太多了,上位機(jī)可以發(fā)出報(bào)警聲音、組態(tài)畫面可以動(dòng)態(tài)閃爍報(bào)警信息、控制機(jī)柜DO可以驅(qū)動(dòng)報(bào)警器發(fā)出聲音和LED燈的報(bào)警指示。這就牽扯到兩種不同設(shè)計(jì)和實(shí)現(xiàn)方式,雖然不會(huì)牽扯太多的費(fèi)用但是一旦采用了前者方式在改成后者,就需要硬件上有些變動(dòng),這都是大家(我們和業(yè)主)不愿意看到的。所以很有必要在用戶需求的文件上附加上技術(shù)需求附件(雙方簽字有效的),這樣可以讓你在項(xiàng)目實(shí)施中不會(huì)處于來(lái)回變動(dòng)當(dāng)中。 以下我將share我在日常當(dāng)中所用的部分用戶需求文檔模板供大家參考(這個(gè)模板是我做工程的時(shí)候保留下來(lái)其中一種),這里以SCADA系統(tǒng)為例。由于文字較多我只列出來(lái)文檔目錄和描述,如果大家需要詳細(xì)模板可以向我來(lái)函索要!(QQ :79867128 Email:jiansiting@gmail.com)
REVISION HISTORY 5
1.0 INTRODUCTION 6
1.1. PURPOSE 6
1.2. ORIGIN AND CONTEXT 6
1.3. SCOPE 7
1.4. DOCUMENT ORGANIZATION 8
2.0 OVERVIEW 9
2.1. BACKGROUND 9
2.1.1. Project Overview 9
2.1.2. Facility Overview 10
2.1.3. Automation Overview 12
2.2. GENERAL SYSTEM FUNCTIONS 14
2.3. SIMULATION SYSTEM 14
2.4. EXCLUSIONS AND FUTURE CONSIDERATIONS 14
3.0 OPERATIONAL REQUIREMENTS 16
3.1. FUNCTIONS 16
3.1.1. Process Monitoring 16
3.1.2. Alarm Management 17
3.1.3. Basic Control 19
3.1.4. Equipment Phase Control 23
3.1.5. Batch Management 24
3.1.6. Historical Data Collection and Retention 25
3.1.7. Other Monitoring and Control Features 26
3.1.8. Modes of Operation 26
3.1.9. Performance and Timing 28
3.1.10. Response to Failures 29
3.1.11. Security 30
3.1.12. Safety 30
3.2. DATA 31
3.2.1. Preliminary Data Definitions 31
3.2.2. Capacity Requirements 32
3.2.3. Access Speed 33
3.2.4. Archive Requirements 34
3.2.5. Data Security and Integrity 34
3.3. USER INTERFACES 36
3.3.1. General 36
3.3.2. Process Monitoring 40
3.3.3. Batch Management Interfaces 45
3.3.4. Alarm Management Interfaces 46
3.3.5. PCS Status Interface 48
3.3.6. Programming and Configuration Interfaces 49
3.3.7. Recipe Management Interface 49
3.3.8. Reports 5049
3.4. REMOTE PCS ACCESS 50
3.5. INTERFACES WITH OTHER SYSTEMS 50
3.5.1. Intelligent Process Interfaces 50
3.5.2. Other Process Control Systems 5150
3.5.3. Other Computerized Systems 5150
3.5.4. Shared Resources 51
3.6. ENVIRONMENT 51
3.6.1. Layout 51
3.6.2. Physical Conditions 5251
4.0 CONSTRAINTS 54
4.1. PROJECT CONSTRAINTS 54
4.1.1. Schedule 54
4.1.2. Procedural Constraints 54
4.2. COMPATIBILITY 55
4.2.1. Hardware Standards and Preferences 55
4.2.2. COTS Software Standards and Preferences 56
4.2.3. PCS Configuration and Integration Standards 57
4.2.4. PCS User Interface Standards 58
4.2.5. PCS Programming Standards 59
4.3. MAINTENANCE 60
5.0 LIFE-CYCLE 60
5.1. DEVELOPMENT 60
5.2. TESTING 60
5.3. DELIVERY 60
5.3.1. Documentation 60
5.4. SUPPORT 62
5.4.1. Start-up Support (list available options) 62
5.4.2. Post Start-up Support (list post-startup support available) 62
6.0 GLOSSARY 63
6.1. TERMINOLOGY 63
6.2. ACRONYMS 65
白話冗余和熱備的區(qū)別
冗余其實(shí)是一個(gè)很寬泛的技術(shù)概念,而不是大家理解中的技術(shù)方法,冗余原始概念是重復(fù)配置系統(tǒng)的一些部件,當(dāng)系統(tǒng)發(fā)生故障時(shí),冗余配置的部件介入并承擔(dān)故障部件的工作,由此減少系統(tǒng)的故障時(shí)間。冗余按類型分為主動(dòng)和被動(dòng)形式,所謂主動(dòng)和被動(dòng)主要是主從切換的能動(dòng)性上來(lái)分析,主動(dòng)冗余是可以主動(dòng)切換,就是可以隨時(shí)自行切換;被動(dòng)冗余是指當(dāng)正在運(yùn)行的組件壞掉或者不正常的時(shí)候才會(huì)切換到備用組件,其中也包括用戶手動(dòng)或者用戶程序切換方式,按照功能來(lái)分又分成Hot standby、Warm standby 和 Cold standby,整理以后見(jiàn)下圖:
冷備用,其實(shí)說(shuō)白了就是backup,他是通過(guò)備份所有正常運(yùn)行的組件放在一旁或者倉(cāng)庫(kù)里,等運(yùn)行的組件壞了以后更換新的組件來(lái)完成系統(tǒng)的正常運(yùn)行,這個(gè)冗余時(shí)間和更換時(shí)間息息相關(guān)。這種冷備用方式很少去關(guān)注響應(yīng)時(shí)間,并且需要運(yùn)維人員干預(yù)操作。舉個(gè)例子,一套PLC運(yùn)行系統(tǒng),在做備件時(shí)做了完全的配置備件,當(dāng)PLC在運(yùn)行時(shí)因?yàn)橐雇砝纂姲l(fā)現(xiàn)有一塊AI卡件燒毀了,運(yùn)維人員馬上把系統(tǒng)斷電,然后更換卡件,在上電運(yùn)行,這就是一個(gè)完整的cold standby的過(guò)程,至于其中耽誤的時(shí)間,只能視運(yùn)維人員的對(duì)系統(tǒng)的熟練程度而定并且必須被動(dòng)接受。
2、Warm standby
溫備用,是兩套完全一樣的配置組件,一個(gè)正常運(yùn)行被視為主,另一個(gè)帶機(jī)并不運(yùn)行備用被視為從,每隔一段時(shí)間,主從的內(nèi)容相互交換一次,當(dāng)運(yùn)行組件出現(xiàn)故障,備用組件才會(huì)運(yùn)行承擔(dān)工作。舉個(gè)例子,西門子的300軟冗余系統(tǒng),兩臺(tái)微處理器的冗余方式就是溫備,主處理器控制系統(tǒng)的輸入和輸出(I / O),而備用處理器上電和主處理器停止控制過(guò)程中的等待時(shí)間。當(dāng)發(fā)生這種情況,備用處理器承擔(dān)的I / O控制,并采取指定的主處理器,處理器允許脫機(jī)成為次要處理器,并可以在不犧牲過(guò)程控制維護(hù)。
在正常操作中,主處理器提供定期更新的備用處理器。這些更新通常發(fā)生在每個(gè)程序掃描結(jié)束,并可能在任何時(shí)間只涉及了部分?jǐn)?shù)據(jù)。因此,當(dāng)轉(zhuǎn)換發(fā)生時(shí),備用處理器可以工作過(guò)的數(shù)據(jù)不完整,因?yàn)樗赡軙?huì)采取一些備用處理器程序掃描追上來(lái)這里的主要是前轉(zhuǎn)換。這可能有助于在轉(zhuǎn)換過(guò)程中顛簸。
從硬件的角度來(lái)看,溫,熱冗余系統(tǒng)幾乎相同,所以很容易混淆。
熱備用,是兩套完全一樣的組件,全部都是上電并運(yùn)行的狀態(tài),兩個(gè)組件同時(shí)進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)處理和計(jì)算,只是主組件擔(dān)任輸出控制任務(wù),兩個(gè)組件實(shí)時(shí)交互,當(dāng)主從切換的時(shí)候必須完成無(wú)擾動(dòng)切換。而且熱備組件系統(tǒng)是隨時(shí)切換同時(shí)檢測(cè)組件狀態(tài)并報(bào)告。
熱備系統(tǒng)即使在一瞬間也不能讓系統(tǒng)go down,當(dāng)主從切換的時(shí)候,需要完成系統(tǒng)通訊消息和數(shù)據(jù)更新以及堆棧的同步,從而苛刻實(shí)現(xiàn)程序執(zhí)行的速度和堆棧段內(nèi)容都是一致的,為了確保熱備系統(tǒng)的操作正確性,全部數(shù)據(jù)需要實(shí)時(shí)主從交互,其交互方法有兩種,第一種就是常規(guī)的掃描和傳輸方法,這種技術(shù)早期被施耐德的PLC廣泛使用,首先先是在程序掃描結(jié)束后傳輸所改變的內(nèi)容,首先程序掃描時(shí)間是程序執(zhí)行和傳輸?shù)臅r(shí)間組合,這也就是PLC的執(zhí)行周期為什么有時(shí)間周期定義之說(shuō)了,這樣就不是每次把PLC內(nèi)全部程序進(jìn)行交互,減少同步任務(wù)復(fù)合,但當(dāng)從plc內(nèi)沒(méi)有程序的時(shí)候,主plc會(huì)把全部?jī)?nèi)容同步過(guò)去,但這個(gè)過(guò)程只是上電或者首次運(yùn)行時(shí)候做一次比較。這種熱備方式是一種經(jīng)典和準(zhǔn)確的熱備方法,并且這種方法延續(xù)至今。
第二種方法就是異步傳輸方法,在異步傳輸,主系統(tǒng)中在其電路有兩個(gè)獨(dú)立的微處理器。第一個(gè)微處理器執(zhí)行程序。在執(zhí)行結(jié)束,所有數(shù)據(jù)被傳遞給第二個(gè)微處理器。這第二個(gè)微處理器處理所有的傳輸任務(wù),而第一個(gè)微處理器執(zhí)行下一個(gè)程序掃描。因此,一個(gè)微處理器是執(zhí)行,而另一種是傳輸?shù)絺溆锰幚砥鞯臄?shù)據(jù)。 由于這種從主處理器輔助處理器的數(shù)據(jù)傳輸是異步的程序掃描,它隨時(shí)的數(shù)據(jù)傳輸,而不會(huì)影響程序執(zhí)行和系統(tǒng)負(fù)荷。這種熱備異步傳輸?shù)姆绞绞茿B的Contrologix一項(xiàng)技術(shù),他的冗余配置中主從系統(tǒng)各有三個(gè)CPU,第一個(gè)就是執(zhí)行程序的CPU,第二個(gè)就是起到數(shù)據(jù)總線的背板CPU,第三個(gè)就是同步模塊RM的CPU,所以他的任務(wù)被分配在多個(gè)CPU當(dāng)中。
最后還是要說(shuō)一下,其實(shí)大家理解中的冗余技術(shù)其實(shí)就是熱備的方法,因?yàn)閭鹘y(tǒng)DCS進(jìn)入大家視野比較早,DCS廠家把冗余概念做到了極致,它把兩套物理硬件在邏輯上封裝成為一個(gè)獨(dú)立體,所以造成很多技術(shù)人員認(rèn)為只有物理上兩個(gè)組件但在邏輯上是一個(gè)組件被稱為冗余,邏輯上是兩個(gè)組件的叫做熱備。
白話SFC
SFC的歷史
SFC是一個(gè)英文字母的縮寫,它的英文全稱是Sequential Function Chart,中文名字叫做順序功能流程圖。SFC的歷史來(lái)源于傳統(tǒng)的DCS系統(tǒng),當(dāng)年HONEYWELL的TDC2000和橫河的uXL都提供各自順序控制工具,TDC2000使用CL語(yǔ)言一種類似Basic語(yǔ)言的方式來(lái)完成順序控制而uXL使用順控表以一種填表方式來(lái)完成。時(shí)至近代隨著混合型DCS的走入自控時(shí)代,大型PLC廠商和DCS廠商都紛紛提供了基于windows平臺(tái)使用SFC工具。并且SFC進(jìn)入了工業(yè)控制編程語(yǔ)言形成了國(guó)際化標(biāo)準(zhǔn),這就是IEC61131-3的標(biāo)準(zhǔn)。
SFC的構(gòu)成
SFC主要是一種可視化并且支持拖拽形式的組態(tài)方式,它的主要構(gòu)成包括四部分,分別是步(STEP)、轉(zhuǎn)換(Transition)、行為(Action)、鎖(interlock)的功能。
SFC的白話
SFC的這種語(yǔ)言編程形式對(duì)于沒(méi)有接觸過(guò)的人來(lái)說(shuō)可能有點(diǎn)抽象,還是延續(xù)我以前一貫的敘述方式,SFC的執(zhí)行更類似炒菜一個(gè)過(guò)程。
步驟(STEP)就是像是炒菜中的每一個(gè)步驟
過(guò)渡(Transition)就像是炒菜中每個(gè)步驟的前提條件
行為(Action)就像是炒菜中的每個(gè)動(dòng)作
鎖(interlock)就像是炒菜中事故的掌控
炒菜開始,首先進(jìn)入準(zhǔn)備步驟,然后產(chǎn)生切菜和切蔥姜行為,然后進(jìn)入一個(gè)條件判斷,這個(gè)條件是判斷菜切好了嗎?蔥姜切好了嗎?如果切好了就進(jìn)入點(diǎn)火步驟,如果沒(méi)有切好就一直等待。進(jìn)入點(diǎn)火步驟以后就進(jìn)行點(diǎn)火和放油行為并且啟動(dòng)一個(gè)延時(shí),然后等待這個(gè)延時(shí)然后判斷火是不是點(diǎn)著了?油有沒(méi)有放進(jìn)去,判斷油溫符合要求嗎?如果這仨個(gè)條件都符合就進(jìn)入炒菜步驟,如果不符合就一直等到延時(shí)超時(shí)啟動(dòng)趕緊中斷炒菜這個(gè)過(guò)程(鎖的功能)可能出現(xiàn)煤氣灶點(diǎn)不著火或者油有問(wèn)題。進(jìn)入炒菜這個(gè)步驟之后,就要產(chǎn)生把蔥姜和菜還有鹽和味精放入鍋內(nèi)進(jìn)行攪拌這些行為,并且啟動(dòng)一個(gè)計(jì)時(shí),然后進(jìn)入判斷等待這個(gè)計(jì)時(shí)是否到時(shí)條件,如果計(jì)時(shí)到時(shí)就進(jìn)入出鍋這個(gè)步驟,如果沒(méi)有到時(shí)就繼續(xù)等待。進(jìn)入出鍋步驟以后就產(chǎn)生了把炒好的菜放到碟子里這個(gè)行為,然后又一次產(chǎn)生一個(gè)循環(huán)繼續(xù)炒下一個(gè)菜。在這個(gè)炒菜過(guò)程中一直監(jiān)控燃?xì)庠罨鹗欠裾#蜏厥欠襁^(guò)高,菜的火候是否過(guò)老,一旦發(fā)生上述條件任何一個(gè)出現(xiàn)問(wèn)題,就進(jìn)入關(guān)火端鍋下灶(鎖程序)。
SFC的IEC描述
經(jīng)過(guò)上述描述我想大概有了一些思路上的理解了,那么下面我就用IEC61131-3語(yǔ)言在描述一遍。
步(STEP)用矩形框表示,描述了被控系統(tǒng)的每一特殊狀態(tài)。SFC中的每一步的名字應(yīng)當(dāng)是唯一的并且應(yīng)當(dāng)在SFC中僅僅出現(xiàn)一次。一個(gè)步可以是激活的,也可以是休止的,只有當(dāng)步處于激活狀態(tài)時(shí),與之相應(yīng)的動(dòng)作才會(huì)被執(zhí)行,至于一個(gè)步是否處于激活狀態(tài),則取決于上一步及過(guò)渡。
過(guò)渡(Transition)表示從一個(gè)步到另一個(gè)步的轉(zhuǎn)化,這種轉(zhuǎn)化并非任意的,只有當(dāng)滿足一定的轉(zhuǎn)換條件時(shí),轉(zhuǎn)化才能發(fā)生。轉(zhuǎn)換條件可以用ST、LD或FBD來(lái)描述。轉(zhuǎn)換定義可以用ST、IL、LD或FBD來(lái)描述。過(guò)渡用一條橫線表示,可以對(duì)過(guò)渡進(jìn)行編號(hào)。
動(dòng)作(action)每一步是用一個(gè)或多個(gè)動(dòng)作(action)來(lái)描述的。動(dòng)作包含了在步被執(zhí)行時(shí)應(yīng)當(dāng)發(fā)生的一些行為的描述,動(dòng)作用一個(gè)附加在步上的矩形框來(lái)表示。每一動(dòng)作可以用IEC的任一語(yǔ)言如ST、FBD、LD或IL來(lái)編寫。每一動(dòng)作有一個(gè)限定(Qulifier),用來(lái)確定動(dòng)作什么時(shí)候執(zhí)行;標(biāo)準(zhǔn)還定義了一系列限定器(Qulifier),精確地定義了一個(gè)特定與步相關(guān)的動(dòng)作什么時(shí)候執(zhí)行。
鎖(interlock)表示通過(guò)ST、FBD、LD或IL列舉一系列用戶判斷條件,來(lái)監(jiān)控整體SFC的執(zhí)行,一旦用戶條件滿足,SFC就中斷執(zhí)行進(jìn)入一種HOLD保持狀態(tài),等待用戶處理SFC執(zhí)行的狀態(tài)。
白話組態(tài)軟件
最近碰上了一個(gè)沈鼓的自控調(diào)試技術(shù)人員,我們?cè)诼飞吓收勂饋?lái)。他向我問(wèn)起監(jiān)控組態(tài)軟件到底是什么,到底里邊有什么?當(dāng)時(shí)我也是一愣,很少有人會(huì)問(wèn)起組態(tài)軟件是什么并且有什么,因?yàn)檫@個(gè)圈子里這些問(wèn)題應(yīng)該入門知識(shí),但是經(jīng)過(guò)了解才發(fā)現(xiàn)很多從事機(jī)械自動(dòng)化或者工廠自動(dòng)化還真不了解組態(tài)軟件到底有什么由什么組成,他們往往偏門于PLC、變頻、伺服等,最多也就是接觸最簡(jiǎn)單的HMI。
下面我來(lái)講一下監(jiān)控組態(tài)軟件,首先聲明我不算是這方面的專家,也只是略知一二。監(jiān)控組態(tài)軟件主要是以下幾方面組成。
1、實(shí)時(shí)數(shù)據(jù)庫(kù)
實(shí)時(shí)數(shù)據(jù)庫(kù),顧名思義就是一種處理和存儲(chǔ)實(shí)時(shí)數(shù)據(jù)的數(shù)據(jù)庫(kù),它分為兩種構(gòu)成模式,第一種就是利用開發(fā)工具直接開發(fā)二進(jìn)制文件模式,自己開發(fā)sql引擎,建立索引以及配置文件等機(jī)制,例如IFIX;另外一種就是依托于成熟的關(guān)系數(shù)據(jù)庫(kù),把實(shí)時(shí)數(shù)據(jù)放在二進(jìn)制文件中但sql引擎,索引,以及配置文件都利用關(guān)系數(shù)據(jù)庫(kù)等機(jī)制,例如WINCC。
2、內(nèi)核通訊
說(shuō)起內(nèi)核通訊一般談及組態(tài)軟件很少涉及,因?yàn)樗且环N根本看不見(jiàn)摸不著但具有決定組態(tài)軟件的構(gòu)架。市面上比較流行就是兩種通訊框架,一種是與實(shí)時(shí)數(shù)據(jù)庫(kù)通訊為核心框架,圖形界面、腳本、通訊驅(qū)動(dòng)等都是圍繞實(shí)時(shí)數(shù)據(jù)庫(kù)來(lái)完成相應(yīng)功能,另一種就是消息通訊為核心框架的,這種框架就是類似SOA構(gòu)架,首先建立通信數(shù)據(jù)元素,把所有用于訪問(wèn)的數(shù)據(jù)格式包含在其中,然后通過(guò)消息發(fā)布出去,是那個(gè)組件接受那個(gè)組件完成相應(yīng)的指令,消息通訊在今天的組態(tài)軟件行業(yè)里也分為內(nèi)存消息型和端口消息型,內(nèi)存消息性就是利用MFC的在內(nèi)存中消息來(lái)同志別的組件,其優(yōu)點(diǎn)就是快速和穩(wěn)定缺點(diǎn)就是所有組件不能脫離一臺(tái)機(jī)器,這也是國(guó)內(nèi)很多組態(tài)軟件廠商最初的手法,而端口消息型,就是利用sock的端口進(jìn)行消息通訊,不管是不是在本機(jī)一概采用端口通訊,這樣的優(yōu)點(diǎn)就是把可以把很多組件分布到每臺(tái)機(jī)器上,其中CS和BS構(gòu)架就用利用這種機(jī)制,缺點(diǎn)就是消息元素復(fù)雜,指令繁多,需要謹(jǐn)慎考慮其健壯性。
3、圖形界面
圖形界面其實(shí)沒(méi)有什么好說(shuō),就是圖形顯示,圖形繪制、報(bào)警、曲線,報(bào)表等,但是從市面上來(lái)說(shuō)它們分為基于VC6中MFC開發(fā)的和.net fm開發(fā)的,從界面來(lái)說(shuō)mfc開發(fā)的速度快,穩(wěn)定性高,但界面簡(jiǎn)單,畫質(zhì)不是很絢麗,.net開發(fā)的界面絢麗,3d動(dòng)感性強(qiáng)再結(jié)合GDI+,那就是界面中利器,而他的確定就是運(yùn)行速度慢,另外對(duì)于安裝機(jī)器的配置要求較高。
4、腳本
腳本算是組態(tài)軟件中的靈魂,多數(shù)組態(tài)軟件一看腳本就可以分辨出來(lái)高中底端產(chǎn)品,腳本分為編譯型和解釋性,編譯型需要在組態(tài)軟件沒(méi)有運(yùn)行之前,就把語(yǔ)句編譯一邊,然后嵌套在框架的函數(shù)和事件中,例如WINCC的C腳本,另外一種就是解釋型,它是在組態(tài)軟件運(yùn)行之中被語(yǔ)法解釋器邊解釋邊運(yùn)行,例如IFIX的VBA腳本。對(duì)于市面上可以看到腳本分為自定義、VB類、C類和其他類,自定義腳本例如intouch、組態(tài)王、力控;VB類例如IFIX的VBA、RSVIEW的VBA、杰控的VBS;C類例如WINCC的ASCI c、九易思的C#;其他有一些組態(tài)軟件利用開源的腳本引擎例如TCL LUA等。底端腳本多數(shù)是采用自定義腳本,它的可擴(kuò)展性很有限而且依賴于廠商自己的開發(fā)能力,中端腳本就是采用c腳本和開源腳本,它的成熟技術(shù)應(yīng)該很廣當(dāng)時(shí)不方便普及和掌握,對(duì)于一些常用訪問(wèn)技巧,例如訪問(wèn)關(guān)系數(shù)據(jù)庫(kù),API以及DLL和控件不是很方便,而高端腳本則首推VBA系列,高效的訪問(wèn)工具、成熟的控件資源以及強(qiáng)大的API調(diào)用。
5、通訊驅(qū)動(dòng)
通訊驅(qū)動(dòng)則相應(yīng)發(fā)展比較緩慢,這也是因?yàn)樗鼘?shí)在是太成熟了,先說(shuō)說(shuō)它的框架結(jié)構(gòu)都是采用封裝通訊框架和開發(fā)數(shù)據(jù)流方式結(jié)合,也就是說(shuō)開發(fā)人員不需要懂得組態(tài)軟件的框架結(jié)構(gòu)以及如何把數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)庫(kù)變量,只需要安裝給出的框架,把數(shù)據(jù)流拆包解包和打包放入指定的結(jié)構(gòu)緩沖區(qū)內(nèi)就可以了。再說(shuō)說(shuō)驅(qū)動(dòng),一提到驅(qū)動(dòng)它應(yīng)該是兩部分組成第一部分就是接口另外一部分就是協(xié)議,先說(shuō)第一部分接口對(duì)于組態(tài)軟件的生存平臺(tái)PC來(lái)說(shuō),接口其實(shí)就是RS232/485/422,USB,TCP/IP(wifi)和板卡這幾個(gè)種類,而對(duì)于另一部分的協(xié)議來(lái)說(shuō),那就太多了我就簡(jiǎn)單些介紹幾種modbus rtu/asci/tcp,profibus,opc,s7等太多了,因?yàn)樵O(shè)備廠商的增多就以為協(xié)議的增多。
6、接口開發(fā)工具
接口開發(fā)工具其實(shí)就是組件開發(fā)工具,它是一種開發(fā)工具包,是寄宿在組態(tài)軟件本身開發(fā)工具(vc/VS。net)上的一個(gè)框架向?qū)В眠@些框架或者向?qū)Э梢酝ㄟ^(guò)開發(fā)工具開發(fā)出來(lái)基于組態(tài)軟件的擴(kuò)展組件,方便組態(tài)軟件的功能擴(kuò)展和客戶訂制,例如關(guān)系數(shù)據(jù)庫(kù)和實(shí)時(shí)數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出的組件等,另外也可以開發(fā)局基于圖形界面的圖形組件。
7、WEB發(fā)布
WEB發(fā)布算是一種近年來(lái)十分流行的一個(gè)組態(tài)軟件功能,因?yàn)镾CADA市場(chǎng)和MES市場(chǎng)的擴(kuò)大,使得廠級(jí)化管理越來(lái)越流行,也成為組態(tài)軟件廠商熱炒概念中的一部分,因?yàn)閣eb的使用,可以讓用戶利用普通PC的IE瀏覽器就可以看到組態(tài)軟件的圖形界面和實(shí)時(shí)數(shù)據(jù)而讓大多數(shù)的業(yè)主得到認(rèn)同。web的發(fā)布技術(shù)基本上是三種方式,第一種activeX方式,一般這種WEB方式多數(shù)組態(tài)軟件是采用vc6開發(fā)的,它直接封裝一個(gè)圖形瀏覽exe在com組件中,當(dāng)用戶ie瀏覽的時(shí)候會(huì)提示安裝一個(gè)插件,然后這個(gè)exe就安裝在客戶pc上,通過(guò)IE調(diào)用exe,用就可以看到組態(tài)界面,這種也就是被稱為準(zhǔn)WEB方式它的優(yōu)點(diǎn)就是速度快因?yàn)樗褂胏s模式缺點(diǎn)就是必須開用戶指定端口一旦遇到路由器就不能看到,另外一種就是通過(guò)java方式,就是把用戶組態(tài)的工程通過(guò)java重新轉(zhuǎn)換一邊,這種技術(shù)的優(yōu)點(diǎn)就是無(wú)論你使用什么網(wǎng)絡(luò)設(shè)備管理網(wǎng)絡(luò)只要能開發(fā)80端口就可以看到數(shù)據(jù),缺點(diǎn)數(shù)據(jù)刷新較慢但是可以接受的那種另外就是它需要重新編寫一邊組態(tài)軟件比較耗時(shí),然后發(fā)布出去。最后一種就是.net的web service技術(shù),毋庸置疑他當(dāng)然是最強(qiáng)大的,但是你的框架開發(fā)工具就必須使用.net。
白話現(xiàn)場(chǎng)總線
說(shuō)起現(xiàn)場(chǎng)總線,這項(xiàng)技術(shù)不能說(shuō)是這兩年自控領(lǐng)域討論最廣的話題,但也能算得上自控廠商相互角逐爭(zhēng)奪市場(chǎng)一項(xiàng)技術(shù)。從siemens早在10年前全球推廣的profibus到近年來(lái)profinet,再到emerson推廣的FF以及rockwell的推廣的devicenet和ethernet/ip,其實(shí)自動(dòng)化廠商心里很清楚,誰(shuí)掌握了現(xiàn)場(chǎng)總線,誰(shuí)就掌握了標(biāo)準(zhǔn),誰(shuí)掌握了標(biāo)準(zhǔn),誰(shuí)就掌握了市場(chǎng)誰(shuí)就是技術(shù)領(lǐng)頭羊。那現(xiàn)場(chǎng)總線到底是什么,對(duì)于自動(dòng)化技術(shù)人員又能帶來(lái)什么呢?
現(xiàn)場(chǎng)總線,主要是由物理通訊形式+通訊協(xié)議+網(wǎng)絡(luò)調(diào)度機(jī)制這三部分組成。 物理通訊形式,我想大家理解起來(lái)不會(huì)很難,其實(shí)就是RS485、RS232、RS422、TCP/IP這幾種物理通訊形式。將來(lái)可能會(huì)出現(xiàn)無(wú)線,但是現(xiàn)在無(wú)線技術(shù)的通訊穩(wěn)定性和行業(yè)和國(guó)家還沒(méi)有形成一些規(guī)范,所以未來(lái)幾年也不會(huì)大量使用無(wú)線作為現(xiàn)場(chǎng)總線。
通訊協(xié)議,通訊協(xié)議對(duì)于自控人來(lái)說(shuō)并不陌生,但是很少有人深刻理解和掌握,現(xiàn)場(chǎng)總線的協(xié)議,主要是每個(gè)現(xiàn)場(chǎng)總線站點(diǎn)需要通訊數(shù)據(jù)以何種形式通過(guò)通訊形式傳輸。 網(wǎng)絡(luò)調(diào)度機(jī)制,大家可能覺(jué)得通訊協(xié)議和網(wǎng)絡(luò)調(diào)度機(jī)制是不是一回事,其實(shí)他并不是一回事,這是現(xiàn)場(chǎng)通訊特點(diǎn),普通總線只是關(guān)鍵通訊數(shù)據(jù),而現(xiàn)場(chǎng)總線要支持帶有時(shí)間標(biāo)簽和優(yōu)先級(jí),也就是這個(gè)調(diào)度機(jī)制主要是保證通訊數(shù)據(jù)的實(shí)時(shí)性和及時(shí)性。
在這里不妨舉個(gè)例子:現(xiàn)場(chǎng)總線等同于生活中交通系統(tǒng)通訊形式=交通上水陸空通訊協(xié)議=交通上的交通規(guī)則網(wǎng)絡(luò)調(diào)度=交通上交警指揮系統(tǒng) 生活中人們不論何種方式出行,都不會(huì)離開水陸空這三種形式,而不論作何種交通工具,都是要遵守交通規(guī)則。只有遵守交通規(guī)則才能正常行駛并到達(dá)指定地點(diǎn),而交警的工作就要解決在正常運(yùn)行當(dāng)中一些由于干擾造成的交通擁堵,交警主要是來(lái)解決擁堵,并保證關(guān)鍵道路的通行,并有效地實(shí)施了交通上的優(yōu)先級(jí)。 我想經(jīng)過(guò)這樣的介紹,大家應(yīng)該對(duì)于現(xiàn)場(chǎng)總線有一個(gè)梗概性的了解。那對(duì)于自控人員現(xiàn)場(chǎng)總線又能給我們帶來(lái)什么呢?可能大家對(duì)于這個(gè)技術(shù)還沒(méi)有“山雨欲來(lái)風(fēng)滿樓”的感覺(jué),現(xiàn)場(chǎng)總線技術(shù)確實(shí)改變了傳統(tǒng)總線控制思維,常規(guī)的總線控制都是由一個(gè)主控CPU通過(guò)總線把子站數(shù)據(jù)拿過(guò)來(lái)進(jìn)行計(jì)算,然后根據(jù)結(jié)果再通過(guò)總線把控制要求下發(fā)給另一子站,這樣其實(shí)就是浪費(fèi)總線帶寬的資源,通過(guò)現(xiàn)場(chǎng)總線技術(shù),可以把控制分散到各個(gè)子站,而每個(gè)子站有時(shí)數(shù)據(jù)采集的終端和執(zhí)行者,這樣可以有效地減輕中央CPU的負(fù)擔(dān),并且改變常規(guī)的控制模式,以前很多人都說(shuō)現(xiàn)場(chǎng)總線可以節(jié)省大量布線成本,其實(shí)線纜成本是有一些但絕不是現(xiàn)場(chǎng)總線技術(shù)為之存在的理由,它是一種改變常規(guī)控制的革新式技術(shù),它把控制的核心通過(guò)總線技術(shù)下放到各個(gè)站點(diǎn),在總線上的各個(gè)通訊站點(diǎn),不再是數(shù)據(jù)采集和控制執(zhí)行的終端,而是具有控制邏輯的大腦。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。