C語言學習趣事_你不知道的C語言應用

來源:互聯網
上載者:User

一、引

       我一直不明白“文人相輕”是什麼意思,也許就是說:文人清客之間互相瞧不起的事情吧。但對於我來說,文人相輕就是表示:無知者無畏。

無論你的某一方面的語言學的怎麼樣,怎麼樣的牛逼,你可以眼光狹窄,你可以只看到你專註的領域,但是你不可以心胸狹窄;眼光狹窄的你

可以專註某一個領域,你一樣可以成為大家;但是如果你心胸狹窄的話,就算成為大家,也不會是一個令人欽佩的大家。

     我是一個學自動化的,對於電腦科學有著獨特的愛好,或者說是對可以自己創造東西有著特殊的愛好,因為學電腦編程可以不需要很多的

硬體設施就可以看到自己創造的東西;而從事自動化,雖然也編程,但是如果沒有一些特殊的硬體,編寫的程式基本也就沒有任何用處,基本上

沒有人會在自己家裡裝一個PLC什麼的來實現自動控制, 當然如果你認為需要,你也可以自己這麼搞;但是電腦就不一樣,現在很多的家庭都有

自己的電腦,尤其是手機更是普及的一塌糊塗。

  我一直在各大論壇潛水,比方說Chinaunix、CSDN、51CTO、Itlab之類的,經常可以看到linux和win陣營的人互相開罵,還有就是各種語言之

爭,經常可以看到C語言的使用者詬病C++,同樣也可以看到C++的使用者詬病C,各種Javaer和C#er們互相開罵,反正就是很多這樣類似的事情。

感覺真是無聊。

  很多時候,很多人都瞧不起VB的使用者,但是VB的應用場合真的是很廣,我就從自動化的角度出發來說吧:

1、工業控制監控畫面

  在西門子WinCC中有VBS指令碼(還有今天要說的另一個指令碼C指令碼),WinCCFlexible中有VBS指令碼, 在Intouch中有類似的C指令碼,在Rockwell的

HMI畫面有VB指令碼,同樣在霍尼韋爾的HMI中有類似的指令碼;並且應用廣泛;

2、調試變頻器可以使用指令碼, 這個比較複雜,需要對變頻器的運行參數非常瞭解,才能用指令碼。DriverMonitor和DriverWindow都有自己的指令碼,其他

的大體也有。

3、在數控中也可以使用VB指令碼來控制系統,目前西門子大部分的數控系統使用的是Win體系的作業系統;也有用Linux的,不過不多,而且介面和操作習慣

已經改的和Win基本一樣了。

     我只能說:文人相輕就是無知者無畏。你可以有不同的性見,但是你不能強制別人接受你的性見;也許可以看看這本書《持不同性見者》,我還記得裡面的

一句話: 玫瑰除了不是玫瑰,玫瑰可以是任何東西。這句話是說女人的,這本書也是寫女人的,裡面有很多的有意思的詞語,比方說:女人的身體造反。

 

二、題

1、工控領域的C應用

  很多IT人士,可能認為C語言只能在電腦、單片機之類的開發中應用,殊不知在工業控制領域C語言的開發也非常有潛力,在西門子的開發中C語言實在是

一個非常強有力的開發工具,比其他任何語言都具有優勢, 彙編快但是太複雜,C++勉強可以用,但是速度實在是慢,VB應用雖然廣泛,但是基本沒有也行,而

在一些控制已耗用時間在us(微秒)級的應用時,C似乎是唯一的選擇。

  在Step 7中有單獨的C語言開發包,可以使用。 在熱軋、冷軋的一些開發過程中(比較高端的應用是TDC,稍微低一點的是S7400加工藝板開發),很多人用

C和STL(彙編層級)做過實驗(非大神級的人員,但是都是領域中的高手,對於大神來說語言不是問題), 用C開發的程式運行比STL運行更快,而且容易理解。雖然

實際開發應用中的TDC程式用CFC/SFC;S7程式用LAD/STL/FBD;但是很多精密和高速的控制用C開發成可以在CFC/SFC或者LAD/STL/FBD中可以使用的FC/FB

,然後再被調用; 這裡當然可以用SCL,SCL的速度比LAD/STL/FBD快(SCL比STL快是因為編譯過程會最佳化邏輯,通常人的邏輯有時候會有一些瑣碎的無用的操作

C語言比STL快的原因大體也是這個)而實際上CFC/SFC是通過SCL編譯的(這裡要插一句,SCL是一個類PASCAL的編譯器,使用的語言結構也是類Pascal的)。

  在WinCC中可以用C開發指令碼,用C開發的指令碼比VBS的快,給大家看看圖:

  上面就是一個典型的WinCC下C動作。接下來看一段C代碼:

  大家有沒有感覺這寫個很熟悉啊

 

2、Matlab中的C開發

  很多人也許聽說過matlab,或者使用過Matlab;但是我估計大部分人都不知道matlab其實還可以作為一個軟體開發工具來使用,可以開發圖形介面程式,

從本質來講Matlab是一個C語言的編譯器。

  實際上在很多工業開發過程中,很多時候都可以用Matlab來模擬系統,比方說要類比熱軋、冷軋輥的應力分析,通常是沒有這個硬體設施來讓人類比的,這

個時候就可以做一個高階的數學模型進行類比,從而產生想要的資料和圖形。

     下面上張圖給大家看看:

  注意最後一句: integrate with C  C++ fortran  com  and  java;  整合C、C++、Fortran、com和Java。

  其實在matlab中還有很多功能,比方說什麼ls、dir、mkdir等一系列系統管理類的命令可以執行。

 

三、結語  

  當青蛙跳出井的時候,才會發現天地原來這麼廣闊。

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.