3HAC5577-1
3HAC5577-1
一套完整的PLC程序,并不僅僅是使系統(tǒng)能夠運行起來這么簡單,它也需要完整的注釋、精良的架構(gòu)、良好的可擴展性、完備的報警保護系統(tǒng)、運行前的模擬系統(tǒng)。下面就以STEP7的經(jīng)驗和大家分享一下。
一、完整的注釋
在自動化領(lǐng)域,控制設(shè)備的競爭激烈程度,大家有目共睹,各個大魚小蝦,拼命的宣傳自己的產(chǎn)品??纱蠹彝耍绦蛞彩亲约旱漠a(chǎn)品,而作為一件有產(chǎn)品屬性的程序,怎么可能不穿衣服,就光禿禿的騎馬上陣呢?
程序的注釋,起碼應(yīng)該有以下三個方面(STEP7為例):
1、系統(tǒng)注釋:整套程序的版權(quán)公司和此套程序用途
2、程序塊注釋:此程序塊的主要用途和作者
3、段注釋:此段代碼的用途
4、變量注釋:重要性不再多言
而至于保密性的考慮,我覺得應(yīng)該再程序的加密算法或者塊的加密上考慮,而不應(yīng)該用減少注釋這種小聰明來實現(xiàn)。
二、精良的架構(gòu)
PLC程序無論控制的是一個設(shè)備或者是以一套系統(tǒng),在程序編寫之前都應(yīng)該按照功能或者區(qū)域設(shè)計好整個PLC程序系統(tǒng)的結(jié)構(gòu),尤其是幾個人共用一套PLC系統(tǒng)的時候,一般來說結(jié)構(gòu)應(yīng)包括以下部分:
1、公共組織程序區(qū):OB1、OB35、OB81....等(STEP7)
2、設(shè)備功能程序區(qū):一些現(xiàn)成的可以多次調(diào)用的程序塊,如單向電機、雙向電機、模擬量轉(zhuǎn)換
3、公共程序區(qū):通訊功能、模擬量采集、數(shù)字量采集
4、功能區(qū):如液壓站功能區(qū)、入爐輥道功能區(qū)、出爐輥道功能區(qū)
5、報警功能區(qū):根據(jù)需要或者在各個功能區(qū)后面,或者單獨獨立出來
6、數(shù)據(jù)塊區(qū):根據(jù)功能,劃分成有規(guī)律的數(shù)據(jù)區(qū)
一個良好的結(jié)構(gòu),可以使人很容易看明白整套程序,具備良好的可讀性
三、良好的擴展性
許多程序可能在進現(xiàn)場之前都已經(jīng)編好,但是到了現(xiàn)場,可能還需要添加另外的程序,為了避免打亂整套系統(tǒng)的結(jié)構(gòu),我們需要在每個功能區(qū)預(yù)留一定的空間作為備用。
四、完備的報警保護系統(tǒng)
我們的PLC系統(tǒng)往往用于工業(yè)環(huán)境中,每一次的事故都會造成或大或小的損失,為了做到事故預(yù)處理或者在事故中將損失降到zui小,我們必須重視PLC的報警和保護,在此將其摘出來作為系統(tǒng)的一個重要組成部分。
五、PLC程序模擬系統(tǒng)
為了保證現(xiàn)場的調(diào)試進度或者給客戶展示,我們往往在進現(xiàn)場之前,要對自己的程序進行全自動的模擬。為此我們需要在程序中加入模擬程序部分,模擬程序部分在正常現(xiàn)場運行之后斷開。為了使程序具備模擬功能,需要做以下工作:
1、將實際的PLCI/O點轉(zhuǎn)換為PLC的中間變量或者數(shù)據(jù)塊變量
2、根據(jù)工藝要求編寫各個設(shè)備的模擬程序
IEMMU02
IEMMU04
IEMMU11
IEMMU12
IEMMU21
IEMMU22
IEPAF01
IEPAF02
IEPAS01
IEPAS02
IEPDP01
IEPDS01
IEPDS02
IEPEP03
IEPMU01
IIADP01
IIADP02
IIEDI01
IIMCL01
IIMCP01
IIMCP02
IIMKM01
IIMKM01A
IIMKM02
IIMKM02A
IIMLM01
IIMPM01
IIMPM02
IIMRM02
IIMSM01
IISAC01
IMAMM03
IMAOM01
IMASI02
IMASI03
IMASI13
IMASI23
IMASM01
IMASM03
IMASM04
IMASO01
IMASO11
IMBLK01
IMCIS02 IMCIS02R
IMCIS12
IMCIS22
IMCOM03
IMCOM04
IMCPM01
IMCPM02
IMDER01
IMDSI02
IMDSI12
IMDSI13
IMDSI14
IMDSI15
IMDSI22
IMDSM04
IMDSM05
IMDSO01
IMDSO02
IMDSO03
IMDSO04
IMDSO14
IMDSO15
IMFAI01
IMFBS01
IMFCS01
IMFEC11
IMFEC12
IMHSS02
IMMFC03
IMMFC04
IMMFC05
IMMFP01
IMMFP02
IMMFP03
IMMFP03B
IMMFP11
IMMFP12 IMMFP12R
IMMPI01
IMMPI02
IMPCC01
IMQRS22
IMRIO02
IMSET01
IMSPM01
INBIM02