工業機器人用什麼語言編程的?

工業機器人用什麼語言編程的,plc在工控中主要用來幹什麼。


美本電氣工程,在學校曾經研究過一段單片機以及在工業上的應用的一些相關知識,但是研究不深,不對之處還請指出~~

工業機器人的編程語言

由於之前並沒有任何計算機領域的背景,所以當時的教授建議我從Pascal語言入手。Pascal的結構簡單易懂,相對於其他語言上手快一點。唯一的缺點就是Pascal語言稍微有一點過時,不過作為工業機器人語言入門來說還是很棒的,語言是過時的,核心的演算法還是不變噠~

了解了Pascal之後,需要知道的是不同公司的機器人運用的編程語言都是不一樣的:比如機械臂領域實力強勁的ABB公司,用的語言系統叫做RAPID;來自於德國的KUKA,語言和公司名字一樣也叫做KUKA,此外還有VAL3、AS等等其他語言。很多語言在互聯網上都能找到專業的學習資料,自學起來非常方便。

PLC工控中的作用

PLC的實際應用非常豐富,每一個工業控制系統都會運用到PLC。比如在流水線上通過邏輯計算來控制每一個生產環節機器的開關啊,隨時隨地自動調節電流電壓、溫度和壓力種種變數啊。個人認為PLC最為關鍵的功能是本身帶有的信號檢測系統,出了故障能夠第一時間排查,極大的提升系統穩定性。

能力有限,只能幫你到這兒啦~


工業機器人編程語言 

1、BASIC/Pascal

  BASIC和Pascal是我最早學過的兩種編程語言。不過這並不是我把它們列在這裡的原因。對於幾種工業機器人語言,它們是基礎,下面說明一下。 BASIC是為初學者設計的(BASIC是縮寫,BeginnersAll-PurposeSymbolicInstrucTIonCode),它讓初學者可以從一種非常簡單的編程語言開始學習。Pascal旨在鼓勵好的編程習慣,還引入了結構,例如指針,這讓Pascal成為從BASIC到更複雜語言的一塊「敲門磚」。如今,這兩種語言如果要說是好的「日常使用」程序語言,那是有點過時了。不過如果你準備做很多底層編碼或是想要熟悉一下其它工業機器人編程語言,學習一下還是有用的。

  2、工業機器人編程語言

  幾乎每一個機器人製造商都開發了他們自己專有的機器人編程語言,這成了工業機器人行業中的一個問題。通過學習Pascal,你會熟悉它們中的一部分。但是每次開始使用新的機器人時,你還得學習一種新的編程語言。

  最近幾年,ROS行業已經開始提供更標準化的替代語言給程序員。但是如果是一個技術人員,你仍然更可能不得不使用製造商的編程語言。

  3、LISP

  LISP是世界上第二古老的編程語言(FORTRAN更古老,但只早了一年)。相比今天提到很多其它編程語言,它的應用並不廣泛。不過在人工智慧編程領域它還是相當重要的。ROS的一部分是用LISP寫的,雖然你不需要掌握這個來使用ROS。

  4、硬體描述語言(HDLs)

  硬體描述語言一般是用來描述電氣的編程方式。這些語言對於一些機器人專家來說是相當熟悉的,因為他們習慣 FPGAs(FieldProgrammableGateArrays)編程。FPGAs能讓你開發電子硬體而無需實際生產出一塊硅晶元,對於一些開發來說,這是更快更簡易的選擇。如果你沒有開發電子原型產品,你也許永遠不會用HDLs。即便如此,還是有必要了解一下這種編程語言,因為它們和其它編程語言差別很大。一個重點:HDLs所有的操作是並發的,而不是基於處理器的編程語言的順序操作。

  5、Assembly

  Assembly讓你能在0和1數位上進行編程。基本上這是最底層的編程語言。就在最近,最底層的電子需要Assembly進行編程。隨著Arduino和其它如微控制器的崛起,現在你可以使用C/C++在底層方便地編程了。這意味著Assembly對於大多數機器人專家來說也許會變得更不必要了。

  6、MATLAB

  MATLAB以及和它相關的開源資源,比如Octave,一些機器人工程師特別喜歡,它被用來分析數據和開發控制系統。還有一個非常流行的機器人工具箱 ——MATLAB。我知道一些僅僅使用MATLAB就能開發出整個機器人系統的專家。如果你想要分析數據,產生高級圖像或是實施控制系統,你也許會想學習 MATLAB。

  7、C#/.NET

  C#是微軟提供的專用編程語言。我把C#/.NET放在這裡,主要是因為微軟機器人開發員工作包(Microsoft RoboTIcs Developer Studio),這個包的主要開發語言是C#。如果你準備用這個系統,那麼你很可能必須要用C#。

  8、Java

  作為一位電子工程師,我總是對一些計算機科學學位課程將Java作為第一種編程語言讓學生們學習感到驚訝。Java對程序員隱藏了底層存儲功能,這讓它比起一些語言(如C語言)來說,編寫要容易些,但這也意味著你會更少地理解底層代碼的運行邏輯。如果你有計算機科學背景並轉到機器人學(很多人是這樣的,特別是在研究領域),你也許已經學過Java。像C#和MATLAB,Java是一種解釋性語言,這意味著它不會被編譯成機器代碼。相反,Java虛擬機在運行時解釋指令。使用Java,理論上讓你可以在不同的機器上運行相同的代碼,這得感謝Java虛擬機。在實踐中,這不總是可行的,有時會導致代碼運行緩慢。但是Java在一部分機器人學中非常流行,因此你也許需要它。

  9、Python

  近年來,學習Python的人有一個巨大的回潮,特別是在機器人領域。其中一個原因可能是Python(和C++)是ROS中兩種主要的編程語言。與 Java不同,Python的重點是易用性,Python不需要很多時間來做常規的事情,如定義和強制轉換變數類型。這些在編程裡面本是很平常的事。另外,Python還有大量的免費庫,這意味著當你需要實現一些基本的功能時不必「重新發明輪子」。而且因為Python允許與C/C++代碼進行簡單的綁定。這就意味著代碼繁重部分的性能可以植入這些語言,從而避免性能損失。隨著越來越多的電子產品開始支持「開箱即用」Python(與 RaspberryPi一道),我們可能會在機器人中看到更多Python。

  註:The Raspberry Pi FoundaTIon:英國一個小型的慈善組織,成立的宗旨在於推廣科技,而非以銷售技術來營利。

  10、C/C++

  最後我們到了排名第1的機器人編程語言!許多人認為C和C++對新入行的機器人學家是一個很好的起點。為什麼?因為很多硬體庫都使用這兩種語言。這兩種語言允許與低級別的硬體進行交互,允許實時性能,是非常成熟的編程語言。現如今,你可能會使用C++比C多,因為前者具有更多的功能。C++基本上是C的一種延伸。首先學一點C會很有用,特別是當你發現一個硬體庫是用C編寫的。C/C++並不是像Python或MATLAB那樣簡單易用。同樣用C來實現相同的功能會需要大量時間,也將需要更多行代碼。但是,由於機器人非常依賴實時性能,C和C++是最接近我們機器人專家「標準語言」的編程語言。

PLC

現代工業隨著科技的進步高速發展,控制系統也不斷的得到更新和改善。隨著PLC系統的完善和規模化的形成,PLC控制系統已經基本上取代了繼電器和接觸器等傳統控制系統,被廣泛應用在模量控制、位置控制、監控、調速、數據管理和通訊等各個與現代工業相關的領域。

1.PLC控制開關量

2.PLC控制模擬量

3.PLC對系統的集中控制

4.PLC對電動機變頻調速的控制


工業機器人使用的都是類計算機語言的系統,其編譯系統都是廠家自己開發的。所謂「類」,就是語法類似,但是並不是該語言。比如:ABB機器人的語言被稱為RAPID,其語法類似Pascal,比如用「Var"來聲明變數,「:=」用來「賦值」,「AND」表示邏輯「與」,等等。學習機器人語言要搞清楚它的指令、數據類型、語句和程序結構,和計算機編程道理上是相通的。

PLC的全稱是「Programmable Logic Controller」,即「可編程邏輯控制器」。早期的PLC偏重於邏輯控制,它取代了接線複雜的繼電器控制系統,簡化了控制系統的設計與實現;現在的PLC除了能進行邏輯運算與控制,還能處理模擬量、接收高速脈衝、向外輸出脈寬信號、進行串口(RS232、RS422、RS485等)通信、乙太網通信等等,功能非常強大。

很多廠家都有自己的PLC產品,比較著名的有西門子、羅克韋爾、三菱等等。


這是兩個問題。

淺顯回答後一個

首先你要知道plc是啥。plc全稱可編程邏輯控制器,從名字就可以看出,一:它是控制器,二:它可編程
(邏輯這個可以忽略,這是為了讓plc縮寫和PC區分故意加上去的)

首先,它是控制器,控制什麼?工業部件的動力來源是電動機,電動機什麼時候動,動多少,轉速多大,影響工業機械的運動行為和軌跡。但是電機一般只有驅動器,驅動器接受數字信號輸入,以驅動電動機運轉。誰提供數字信號呢? plc

其次,它可編程,這很簡單,它本質上也就是個計算器系統,有自己的CPU,io單元等。

既然它能編程,那麼就得說明白,它能接受的編程語言,現在常用的plc編程語言主要是 梯形圖,也有類似彙編那樣的指令和basic這樣的高級語言,這些都是人為設計的。

總之,實際上plc也就是個專用版的計算器系統,它的作用就是控制工業電機使工業機械按照指定狀態工作


以上是大學本科內容
順便at本科同學來指正 @凱申快遞


我在加拿大學計算機,本科,現在剛好是機器人課的第一學期的最後一節課的最後幾分鐘,由於是第一學期,所以也不算是什麼工業機器人,機器人的本體就是。。。一輛車,巴掌大。
用的語言是Aseba,麻雀雖小,五臟俱全。在編程適當的情況下可以對聲音,溫度,周圍的物體以及重力的方向做出反應。

偏題是肯定的啦,但一切都是從基礎開始的嘛

下學期就要開始接觸一些更複雜的東西了


不同品牌不同的的編程語言。用的最為廣泛的機器人品牌就是ABB。他用的變成演算法是Rapid編程。這個品牌入門容易,但是深入很難,指令全英文,要是不會點英文都不敢出來走江湖。至於PLC是電氣控制系統,在工業製造中用的最廣。學習PLC要學習電工相關知識。


工業機器人底層是c需要來實現各種功能邏輯指令,在應用層面各家封裝的各有千秋!


佔個坑,有空就來回答。


先說plc 比較簡單 plc就是在自動化工業現場裡面處理簡單邏輯關係的儀器

工業機器人的話 姑且理解為六軸通用工業機器人

那基本上控制協議是一家一個樣的 看工程師怎麼編的啦

而且工業機器人的所謂編程 只是執行腳本 高級一點的可能帶一點簡單邏輯

跟編程沒有太密切的關係


我只用過發那科和庫卡的的機器人,這兩款機器人都有各自的機器人語言,庫卡機器人用的語言是KRL(庫卡機器人語言)語言,跟C語言非常類似,而發那科機器人的編程語言則更加簡單了,他不用像C語言一樣還要定義變數等,一般看看編程手冊都會編。
PLC(可編程邏輯控制器),機器人一般都是PLC的從站,是整個工位的控制中心。


plc。。。哈哈哈哈。。德力西


深圳富士康用VFP寫那些工業機器人的程序(有沒有覺得有點鬼畜?)


PLC

而且不同品牌的PLC的語法不盡相同。


PLC啊。。。相當於生產線的腦袋吧~


半路出家的PLC程序猿都不知到底用的啥,只用過西門子和AB。


推薦閱讀:

TAG:編程 | 工業化 | 電氣工程及其自動化專業 | 工業機器人 |