plc的編程語言與一般計算機語言相比,具有明顯的特點,它既不同于高級語言,也不同與一般的匯編語言,它既要滿足易于編寫,又要滿足易于調試的要求。目前,還沒有一種對各廠家產品都能兼容的編程語言。如三菱公司的產品有它自己的編程語言,omron公司的產品也有它自己的語言。但不管什么型號的plc,其編程語言都具有以下特點:
1. 圖形式指令結構:程序由圖形方式表達,指令由不同的圖形符號組成,易于理解和記憶。系統(tǒng)的軟件開發(fā)者已把工業(yè)控制中所需的獨立運算功能編制成象征性圖形,用戶根據(jù)自己的需要把這些圖形進行組合,并填入適當?shù)膮?shù)。在邏輯運算部分,幾乎所有的廠家都采用類似于繼電器控制電路的梯形圖,很容易接受。如西門子公司還采用控制系統(tǒng)流程圖來表示,它沿用二進制邏輯元件圖形符號來表達控制關系,很直觀易懂。較復雜的算術運算、定時計數(shù)等,一般也參照梯形圖或邏輯元件圖給予表示,雖然象征性不如邏輯運算部分,也受用戶歡迎
2. 明確的變量常數(shù):圖形符相當于操作碼,規(guī)定了運算功能,操作數(shù)由用戶填人,如:k400,t120等。plc中的變量和常數(shù)以及其取值范圍有明確規(guī)定,由產品型號決定,可查閱產品目錄手冊。
3. 簡化的程序結構:plc的程序結構通常很簡單,典型的為塊式結構,不同塊完成不同的功能,使程序的調試者對整個程序的控制功能和控制順序有清晰的概念。
簡化應用軟件生成過程:使用匯編語言和高級語言編寫程序,要完成編輯、
1. 編譯和連接三個過程,而使用編程語言,只需要編輯一個過程,其余由系統(tǒng)軟件自動完成,整個編輯過程都在人機對話下進行的,不要求用戶有高深的軟件設計能力。
2. 強化調試手段:無論是匯編程序,還是高級語言程序調試,都是令編輯人員頭疼的事,而plc的程序調試提供了完備的條件,使用編程器,利用plc和編程器上的按鍵、顯示和內部編輯、調試、監(jiān)控等,并在軟件支持下,診斷和調試操作都很簡單。
總之,plc的編程語言是面向用戶的,對使用者不要求具備高深的知識、不需要長時間的專門訓練。
十年前,我剛開端使用plc時,也是一頭霧水。仗著自己對硬件、工程知識的熟習,和對組態(tài)軟件的淺顯懂得,硬著頭皮接下了任務。當時已經(jīng)來不迭接收培訓,相關材料極其缺少,僅有的參考材料是一本英文的s7-200手冊,以及西門子網(wǎng)站上找到的一些全西文的示例,總算在三個月內實現(xiàn)了系統(tǒng)的構建、軟件的編寫工作。期間走彎、出故障是粗茶淡飯,哺乳期偏頭痛吃什么藥哺乳期吃什么寶寶健康。常常搞得我茶飯不思,而且還因為操作不慎過一臺plc。所以我無比理解那些剛入門的網(wǎng)友兩手抓瞎的感到。
在此,我想粗略的總結一下本人的學習之,供網(wǎng)友們參考。
1、編程需要的毅力和足夠的耐煩
人各有千秋。有些人把編程看作一項漫長而干燥的工作;有些人把編程看作一項趣味的智力游戲。如果你是前者,強烈你闊別這份工作。究竟編程工作是對人的毅力和耐煩的挑釁。我所在試驗室中,良多學生看到我編程序就會驚奇于我面對這一堆堆符號所表示出的。實在,這是興致使然。興致使我具備了足夠的毅力和耐心。經(jīng)由無數(shù)次失敗后,當看到一個個符號按我的思整潔的排列,plc按我的要求井井有條的運行時,興趣得到了極大的滿意,猶如買通了一個游戲的關口。所以,我告知這些學生:你們看到的是一堆單調怪異的符號,我看到的卻是一群熱忱奔放的舞者,而我則是她們的導演。
2、編程需要敢于實際的
我曾經(jīng)教過一個學生學autocad,我對她的獨一請求就是實際。我告知她:你隨意怎么操作,大不了一張圖重畫;最壞的是系統(tǒng),不要緊,體系重做,再來;只有電腦沒被砸了,怎么都行。兩年后,我再看到她做的cad圖紙,也自嘆不如。
同樣情理,只有一直地在plc上運行這些指令,察看運行的結果,才干弄清plc指令的作用。許多初學者對plc一臉的迷茫,往往是出于一種害怕,擔心裝備。而這些害怕是沒有任何情理的。細心的瀏覽手冊是異常重要的,但是僅靠讀書是成不了一個工程師的。更何況手冊上的內容并非八面玲瓏。我在接觸到那些不熟習的指令時,愛好獨自編一個小程序,讓plc運行。而后一一修正條件,視察運行的microwin為用戶供給了無比好的手段,omron,反過來再從新理解手冊的描寫,這樣就可以十分直觀的理解這些指令的作用和使用辦法。不用擔憂自己寫的程序會有什么問題,會影響plc的畸形工作。程序有不問題,只有讓plc運行了能力發(fā)現(xiàn)。而發(fā)明問題并解決問題就是對自己才能的進步。撇開硬件操作不談,單就軟件來說,我還真沒有碰到過因為軟件問題而plc的事。在這里不必擔憂繼電器電接錯線可能造成的效果。所以,勇敢的實踐是plc編程的必由之。
當然,勇敢實踐并不是操作,而是必需遵守必要的標準。還有一個要留神的,在程序未經(jīng)牢靠性證明之前,千萬不要掛接負載,免得造成不用要的。數(shù)字量的輸出有l(wèi)ed顯示;而模仿量處置可以采取一些硬件或軟件模仿手腕來解決,mitsubishi。
3、編程須要有周密的邏輯思維
編程自身就是一種邏輯思維過程。在高等語言中,使用最多的是ifthenelse、select這些前提判斷語句,這就是邏輯中的關系。plc程序就是由這些關系組成的:判斷條件是否成破,進而決議執(zhí)行相應的指令。最初的plc是用來替換繼電器邏輯電的,所以繼續(xù)了繼電器電以觸點作為觸發(fā)條件的描寫方法。在plc中,以虛構觸點取代了繼電器的金屬觸點,而繼電器電所的邏輯關系仍是被完全的保存下來。即便引入了繼電器電難以勝任的數(shù)值處置過程,plc從基本上還是在執(zhí)行一個個關系。所以,理順對象的各個事件之間的邏輯關系,是編程之前必需精心做好的籌備工作。我在接到一項任務后,第一件事就是整頓出一份邏輯關系圖,與用戶重復,獲得用戶的認可,而后才真正進入程序的編寫過程。
4、不可或缺的相干知識
plc的程序是直接作用于對象的詳細工藝進程,那么對對象詳細工藝過程的懂得是十分主要的的。我在與用戶的交換過程中,會用我所控制的unitoperation的知識剖析用戶的工藝過程,幫助用戶過程掌握中的各個邏輯關聯(lián),甚至包含各種儀表、硬件的配置。這得益于我底本所學的專業(yè)。當然,歐姆龍,不能請求所有搞plc程序的工程師都有我這樣的閱歷。然而有兩門常識卻是不可或缺的:一是進程儀表的硬件知識,包括傳感器、變送器二次儀表和plc自身,這是構建體系的基本;二是過程把持實踐,包含各種把持模型的原理跟利用,其中最主要的是二位調節(jié)跟pid調節(jié)模型。pid調節(jié)是目前用得最普遍的過程掌握手腕,且變更多端。學習pid最好的方式就是讀書。簡直所有講授過程的書籍都有對于pid的內容,多讀基原形關的書籍對懂得pid是很有好處的。我發(fā)明不少網(wǎng)友在進入plc范疇時,缺少這些相干知識。這并不恐怖;恐怖的是當事者不能靜下心來補充常識的缺點。咱們不要學校不教學這些內容,而是要重視本人如何去學習這些知識。工作中碰到的很多問題是學校里沒講過的,這不能成為咱們謝絕工作的理由,而應當以踴躍的立場去應答這些問題。我的領會是,為懂得決工作中的問題而學習的知識,比課堂上學的貨色更輕易記住。
5、養(yǎng)成良好的編程習慣
每個人編程都會有不同的習慣和特色,不能一致。然而一些好的習慣仍是應當為大多數(shù)人所遵守。一是理順邏輯關聯(lián)、時序關系,編制程序框圖;二是調配主程序、子程序和中止程序;三是調配存放器,編制存放器符號表。
plc編程更瀕臨于單片機,或者說plc就是模塊化的單片機。因而plc的良多操作都是直接針對寄存器的,假如在程序中涌現(xiàn)分歧理的寄存器地址重疊,必定會呈現(xiàn)不可料想的。編制寄存器符號表不僅可以防止上述問題microwin會有問題提醒,而且可以使程序具備更好的可讀性。這和vb中定義變量有殊途同歸之處。
vb編程中關注的是事件,不強調主程序和子程序的觀點,由于vb主程序的工作是由pc的操作系統(tǒng)實現(xiàn)的。plc則不然。plc程序是以主程序為的,cpu一直的履行主程序,只有觸發(fā)前提成破時才會調用子程序或中斷程序。即子程序和中止程序所履行的義務不是全時須要的。假如把這些義務都放在主程序中會無故增添主程序的工作量,下降程序的效力。這點和單片機的編程思是一致的。子程序的應用可以使全部程序的邏輯更清楚。而且子程序能夠離開編寫、調試,最后“裝置”到主程序上。這樣你能夠一個一個解決問題。
plc編程,無論是lad,抑或stl,都不如vb那么直觀、有趣,更不如cad那么形象。但比單片機的匯編語言的可視性強多了。對初學者,lad梯形圖的編程絕對直觀,更輕易上手。
最后,plc供給了豐盛的指令、模塊,比單片機便利了許多。但是初學者編程時應盡量先應用簡略的指令到達目標。只管看上去有點土,卻不失為一個入門的好道,且對你理解那些較為龐雜的指令會有輔助。具備了必定教訓后,應該斟酌把握龐雜指令的運用,以及程序的優(yōu)化。本文章由:整理發(fā)布!