① C語言入門什麼是編程語言
學習編程語言之前,首先要搞清楚「編程語言」這個概念。
很小的時候,父母就教我們開口說話,也教我們如何理解別人講話的意思。經過長時間的熏陶和自我學習,我們竟然在不知不覺中學會了說話,同時也能聽彎和懂其他小朋友說話的意思了,我們開始向父母要零花錢買零食和玩具、被欺負了向父母傾訴……
我們說的是漢語,是「中國語言」,只要把我們的需求告訴父母,父母就會滿足,我們用「中國語言」來控制父母,讓父母做我們喜歡的事情。
「中國語言」有固定的格式,每個漢字代表的意思不同,我們必須正確的表達,父母才能理解我們的意思。例如讓父母給我們10元零花錢,我們會說「媽媽給我10塊錢吧,我要買小汽車」。如果我們說「10元給我汽車小零花錢媽媽」,或者「媽媽給我10億人民幣,我要買F-22」,媽媽就會覺得奇怪,聽不懂我們的意思,或者理解錯誤,責備我們。
我們通過有固定格式和固定詞彙的「語言」來控制他人,讓他人為我們做事情。語言有很多種,包括漢語、英語、法語、韓語等,雖然他們的詞彙和格式都不一樣,但是可以達到同樣的目的,我們可以選擇任意一種語言去控制他人。
同樣,我們也可以通過」語言「來控制計算機,讓計算機為我們做事情,這樣的語言就叫做編程語言(Programming Language)。
編程語言也有固定的格式和詞彙,我們必須經過學習才會使用,才能控制計算機。
編程語言有很多種,常用的有C語言、C++、Java、C#、PHP、JavaScript等,每種語言都有自己擅長的方面,例如:
C語言和C++主要用於PC軟體開發、底層開發、單片機和嵌入式系統;
Java和C#不但可以用來開發軟體,還可以用來開發網站後台程序;
PHP主要用來開發網站後台程序;
JavaScript 主要負責網站的前端工作(現在也有公司使用 Node.js 開發網站後台)。
可以將不同的編程語言比喻成各國語言,為了表達同一個意思,可能使用不同的語句。例如,表達「世界你好」的意思:
漢語:世界你好;
英語:Hello World
法語:Bonjour tout le monde
在編程語言中,同樣的操作也可能使用不同的語句。例如,在屏幕上顯示「XX電子社區」:
C語言:puts("XX電子社區");
PHP:echo "XX電子社區";
Java:System.out.println("XX電子社區");
編程語言類似於人類語言,由直觀的詞彙組成,我們很容易就能理解它的.意思,例如在C語言中,我們使用puts這個詞讓計算機在屏幕上顯示出文字;puts 是 output string(輸出字元串)的縮寫。
使用 puts 在屏幕上顯示「XX電子社區」:
puts("XX電子社區");我們把要顯示的內容放在("和")之間,並且在最後要有;。你必須要這樣寫,這是固定的格式。
激搭總結:編程語言是用來控制計算機的一系列指令(Instruction),它有固定的格式和詞彙(不同編程語言的格式和詞彙不一樣),必須遵守,否則就會出錯,達不到我們的目的。
C語言(C Language)是編程語言的一種,學習C語言,主要是學習它的格式和詞彙。下面是一個C語言的完整例子,它會讓計算機在屏幕上顯示」XX電子社區「。
這個例子主要演示C語言的一些固有格式和詞彙,看不懂的讀者不必深究,也不必問為什麼是這樣,後續我們會逐步給大家講解。
#include
int main(){
puts("XX電子社區");
return 0;
}
這些具有特定含義的詞彙、語句,按照特定的格式組織在一起,就構成了源代碼(Source Code),也稱源碼或代碼(Code)。
那麼,C語言肯定規定了源代碼中每個詞彙、語句的含義,也規定了它們該如何組織在一起,這就是語法(Syntax)。它與我們學習英語時所說的「語法」類似,都規定了如何將特定的詞彙和句子組織明鬧拿成能聽懂的語言。
編寫源代碼的過程就叫做編程(Program)。從事編程工作的人叫程序員(Programmer)。程序員也很幽默,喜歡自嘲,經常說自己的工作辛苦,地位低,像農民一樣,所以稱自己是」碼農「,就是寫代碼的農民。也有人自嘲稱是」程序猿「。
② 如何自學PLC
1、門外漢階段
此階段建議看一些基礎的東西,如什麼是PLC( Programmable Logic Contro|ler可編程式控制制器),基本原理是什麼、可以應用在哪些地方之類的,反正就是對它能有個整體的了解。
PLC就相當於人的大腦,各種檢測原件(輔入信號)就好比人的眼睛、耳朵、鼻子,執行原件(輸出信號就是手腳,PLC通過收集信號,然後通過邏輯運算(大腦思考判斷),指揮執行原件動作。
2、初級入門
PLC種類很多,就說西門子吧。首先你需要一台電腦,配置一般就行,市面上主流配置就可以了,CPU(指PLQ就不用了:其次,安裝編程軟體Step7(簡稱S刀),版本建議54以上,現在我們做項目都是用5.5版本的。
軟體安裝完以後,就可以開始入門之旅了。建議裝在虛擬機中,與正常使用的系統分開。
一是因為軟體啟動會有很多服務,影響電腦性能
二是編程軟體容易被殺毒及其他軟體破壞,導致無法使用,重裝軟體太過麻煩
①、開始入門當然就是梯形圖了(在此插句,之前看到有人說梯形圖落後,企業已經不用了,表示反對!語言無優劣,編程有技巧,本人在冶金行業央企工作,上億的項目都會用到梯形圖,大家不要認為簡單就無用)先編寫簡單的小程序,比如紅綠燈、運輸帶、小車之類的都是只有幾行的程序,這時候用到的都是開關量,也就是0和1的邏輯,學會用 PLC SIM做模擬,會了模擬,什麼是輸入(Q),什麼是輸出(Q),什麼是中間變數(M),就都理解了,前面說的小程序秒懂,此階段一天時間就差不多了。
②、學習數據的處理,包括數據的傳輸,轉換,其中涉及到數據類型等基礎知識,如果是工科學生學過C語言應該很容易,數據處理中需要用到很多基礎功能塊,像加減乘除這些塊一看就知道啥功能,比如move那些看不懂的塊,按F1看幫助,幫助寫的可能很復雜,多看幾遍就明白了,看完最好自己做筆記,記成自己容易理解的(各種復雜的塊,長篇的英文幫助,這個階段是最容易讓人失去學習興趣和動力的,一定要堅持住)。數據處理也可以用模擬器模擬,很直觀。
③、前面說的都是零件,學的差不多就可以開始功能和功能塊。塊類似於子程序,使我們的程序結構化,簡化程序組織,便於修改、查錯、調試,簡單舉個例子
你有一千個燈泡要控制開關,他們的控制邏輯相同,雖說每個控製程序只需要短短幾行,但每個都寫這么幾行那就是幾千行,非累吐血不可。這時候塊的用武之地就來了,根據控制邏輯編寫一個燈泡的控製程序,只把I/O作為介面做成功能塊,然後對於每個燈泡調用這個功能塊就好了。也就是說把零件拼成了部件,有需要就直接用部件。如果單體控製程序特別復雜,有多大好處你懂得。
軟體中有自帶的系統功能和功能塊,學習這些塊還是要找F1幫忙,自己做好筆記。
3、入門階段
此階段就需要學會編輯人機界面了,人機界面可以顯示設備運行狀態,也可以對設備進行控制。畫面種類也很多,就說西門子自家的wncc吧。
我們做工程都是用 wincc70以上的版本了,但自學的話不建議安裝7.0及以上版本,原因是對電腦硬體要求高,一般機器跑起來很吃力。推安裝 wincc62版本,此版本功能完全能滿足你學習需要,五年前的電腦就能跑的起來。軟體很好找,英語不好的建議下載中文版。
安裝完編輯界面就是這個樣子,不是說軟體復雜,是雜!
入門成功相當於什麼水平?大學畢業的水平吧,可以找工作了!什麼樣的工作?電氣維護、比如水站、液壓站之類以控制泵閥為主的區域。當然你去了以後是要學習硬體的,逐步邁向中級階段。
三、避免進入學習誤區
對於很多在工廠從事維修保養的電工、想從事自動化行業的畢業生來說,PLC是繞不開的坎。可苦於沒有相關經驗,更沒有前輩帶路,再加上現在大師專家滿天飛,導致走了很多彎路,為此特意整理一些誤區,希望能給大家帶來幫助。
1、糾結品牌
這是最常見的問題了,經常在後台留言上有人如此提問,入門是學習三菱plc還是西門子plc好?我有三菱的基礎了,多久能學會西門子PLC?
如何選擇PLC絕大多數情況是根據自己實際生活中的接觸而定,工作中接觸的三菱多就學三菱,反之就學西門子。
歐美品牌就學西門子,亞洲品牌就學三菱。值得一提的是,當你從未接觸過PLC,想簡單易上手可以選擇三菱,想學目前市場應用最廣泛的可以選擇西門子。
2、不動手找資料
這個也是很常見的,在佳途的學員社群裡面可以下載各種PLC的編程手冊,仔細閱讀裡面的帖子就會發現有很多都是你需要的資料,千萬不要遇到問題先開口問別人要,正確的做法應該是先主動去尋找,利用互聯網強大的搜索功能,找到你需要的內容。
在自己無法找到想要的內容時,再去向老師請教學習。切記張口就來,找的過程不僅僅是鍛煉個人收集信息的能力,也是鍛煉你獨立解決問題的能力,同時也能體會到資料的來之不易。
3、有了資料不看
當你獲取了資料,希望能認真仔細的閱讀,而不是讓資料睡覺。這也是和第二條相通的,自己辛苦找到了才會好好珍惜、好好觀看。
4、不去認真學習基礎
學習任何東西都是從基礎開始的,基礎沒有就去學,別總想著一蹴而就。
同樣,學習PLC也是從電工基礎開始的,你讓一個鉗工學PLC?他連直流電交流電都搞不懂,那還不是從如何區分直流電交流電開始?
PLC的基礎包括,電工基礎(直流電,交流電,開關按鈕,繼電器等元器件),計算機基礎(基本計算機原理,二進制,十六進制,位元組,字等常識)以及機械,液壓,氣動等等。
還是那句話,不會我們可以學,沒基礎就去學基礎。
5、思維模式固定,不能舉一反三,觸類旁通
這是最可怕的,所謂的工作經驗,就是不斷的舉一反三,完善自己的知識結構和儲備,而不是簡單機械的時間積累。
你弄十年自鎖互鎖和弄一個月自鎖互鎖是一樣的。學習了PLC,就要用PLC的思維方式,不要老想著邏輯線路轉換成梯形圖,這是不對的,因為兩者雖然有關系,但本質是不一樣的,工作機理也有差別。最好的方法就是多去看別人寫的程序,多學多實踐,。
6、多練習模塊化編程,不要拘泥於一種程序語言
有些學了三菱PLC,又沒認真思考的人,一看西門子的程序,主要是S7-300、S7-1200、S7-1500的程序一臉懵逼,這都什麼啊,這是PLC嗎?怎麼和我以前看到的不一樣,怎麼都是FB?
這其實是模塊化的編程方法,是PLC的發展趨勢。這種方式的優點非常之多,特別是對於大型工程,分布式工程,以及未來的信息化工廠,是非常便捷的。而且對於系統擴展,設備移植,也是很方便的,大家多多少少都要理解。