DSQC 539
DSQC 539
過來人經(jīng)驗分享:新手學習PLC編程的建議
我原本是化工專業(yè)畢業(yè)的,后因工作需要,加之個人興趣,才轉行搞儀表、機械。十年前,我剛開始使用PLC時,也是一頭霧水。仗著自己對硬件、工程知識的熟悉,和對組態(tài)軟件的粗淺了解,硬著頭皮接下了任務。當時已經(jīng)來不及接受培訓,相關資料極其缺乏,僅有的參考資料是一本英文的S7-200手冊,以及西門子上找到的一些全西文的示例,總算在三個月內完成了系統(tǒng)的構建、軟件的編寫工作。期間走彎路、出故障是家常便飯,經(jīng)常搞得我茶飯不思,而且還由于操作不慎燒毀過一臺PLC。
1、編程需要堅強的毅力和足夠的耐心
人各有所長。有些人把編程看作一項冗長而枯燥的工作;有些人把編程看作一項趣味的智力游戲。如果你是前者,強烈建議你遠離這份工作。畢竟編程工作是對人的毅力和耐心的挑戰(zhàn)。我所在實驗室中,很多學生看到我編程序就會驚訝于我面對這一堆堆符號所表現(xiàn)出的專注。其實,這是興趣使然。興趣使我具備了足夠的毅力和耐心。
2、編程需要敢于實踐的信心
我曾經(jīng)教過一個學生學AutoCAD,我對她的*要求就是實踐。我告訴她:你隨便怎么操作,大不了一張圖重畫;zui壞的結果是系統(tǒng)崩潰,沒關系,系統(tǒng)重做,再來;只要電腦沒被砸了,怎么都行。兩年后,我再看到她做的CAD圖紙,也自嘆不如。
3、編程需要有縝密的邏輯思維
編程本身就是一種邏輯思維過程。在高級語言中,使用zui多的是ifthenelse、select這些條件判別語句,這就是邏輯中的因果關系。PLC程序就是由這些因果關系組成的:判別條件是否成立,進而決定執(zhí)行相應的指令。zui初的PLC是用來替代繼電器邏輯電路的,所以繼承了繼電器電路以觸點作為觸發(fā)條件的描述方式。
4、*的相關知識
PLC的程序是直接作用于對象的具體工藝過程,那么對對象具體工藝過程的理解是非常重要的的。我在與用戶的交流過程中,會用我所掌握的UnitOperation的知識分析用戶的工藝過程,協(xié)助用戶整理過程控制中的各個邏輯關系,甚至包括各種儀表、硬件的配置。這得益于我原本所學的專業(yè)。當然,不能要求所有搞PLC程序的工程師都有我這樣的經(jīng)歷。但是有兩門知識卻是*的:一是過程儀表的硬件知識,包括傳感器、變送器(二次儀表)和PLC本身,這是構建控制系統(tǒng)的基礎;二是過程控制理論,包括各種控制模型的原理和應用,其中zui重要的是二位調節(jié)和PID調節(jié)模型。
5、養(yǎng)成良好的編程習慣
每個人編程都會有不同的習慣和特點,不能強求*。但是一些好的習慣還是應該為大多數(shù)人所遵循。一是理順邏輯關系、時序關系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號表。
zui后,PLC提供了豐富的指令、模塊,比單片機方便了很多。但是初學者編程時應盡量先使用簡單的指令達到目的。盡管看上去有點土,卻不失為一個入門的好途徑,且對你理解那些較為復雜的指令會有幫助。具備了一定經(jīng)驗后,應該考慮掌握復雜指令的應用,以及程序的優(yōu)化。
TU830V1 3BSE013234R1
TU831 3BSE008530R1
TU831V1 3BSE013235R1
TU835V1 3BSE013236R1
TU836V1 3BSE013237R1
TU837V1 3BSE013238R1
TU838 3BSE008572R1
TU839 3BSE046966R1
TU841 3BSE020848R1
TU847 3BSE022462R1
TU890 3BSC690075R1
TU891 3BSC840157R1
1SBP260020R1001 07CR41 07cr41-l22
1SBP260052R1001 IMMK14N1
1SNA645524R2300 OBROC
200-APB12
200-IA8 S200-IA8
200-IE8 490176097, S200-IE8
200-IT8
200-TB3T 490176065
200C-IB10xOB6P 492960133
200C-IB16 492933501
200C-IE8 492933801
200C-OB16P 492933701
3BDH000032R1 FI830F
3BSC950192R1 TK850V007
AI210 492953101
AI801 3BSE020512R1
AI810 3BSE008516R1
AI820 3BSE008544R1
AI830 3BSE008518R1
AI830A 3BSE040662R1
AI835 3BSE008520R1, AI835A
AI845 3BSE023675R1
AI890 3BSC690071R1
AI895 3BSC690087R1
AM811F 3BDH000050R1
AO801 3BSE020514R1
AO810 3BSE008522R1
AO810V2 3BSE038415R1
AO820 3BSE008546R1
AO845 3BSE023676R1
AO845A 3BSE045584R1
AO895 3BSC690087R1
CI801 3BSE022366R1
CI810A
CI810V1 3BSE008584R1
CI810V2
CI820 3BSE013200R1
CI820-1 3BSE013201A1
CI820V1 3BSE025255R1
CI830 3BSE013252R1
CI840 3BSE022457R1
CI840A 3BSE041882R1
CI854 3BSE025347R1
CI854A 3BSE030221R1
CI854AK01 3BSE030220R1
DFM02
DI210 492953401
DI801 3BSE020508R1
DI810 3BSE008508R1
DI814 3BUR001454R1
DI820 3BSE008512R1
DI821 3BSE008550R1
DI821Z 3BSE035380R1
DI830 3BSE013210R1
DI890 3BSC690073R1
DO210 492953501
DO801 3BSE020510R1
DO802 3BSE022364R1
DO810 3BSE008510R1
DO814 3BUR001455R1
DO820 3BSE008514R1
DO890 3BSC690074R1
DP820 3BSE013228R1
DP840 3BSE028926R1
EI803F 3BDH000017R1
EI813F 3BDH000022R1
FI810F 3BDH000030R1
ABB Advant-800xA
FIO100 PHBFIO10010000