天天看點

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

本資料由深圳市綜科智控科技開發有限公司編輯整理,深圳市綜科智控科技開發有限公司是一家專注于生産與研發工業智能自動化裝置及軟體系統、工業物聯網裝置及軟體系統的高新技術企業。公司緻力于為客戶提供從前端資料采集、傳感器接入、IO控制、人機互動的一整套系統及方案,幫助客戶實作其自動化裝置及物聯網裝置的本地或者遠端分布式控制與管理。産品涵蓋:【可程式設計io控制器/采集器】、【資料采集DTU/RTU】、【物聯網IOT網關】、【通訊聯網路由器/交換機/放大器/中繼器】、【PLC】、【人機互動系統】。廣泛用于:【工業智能自動化】、【物聯網】、【機器視覺】、【數字工廠】、【智慧農業】、【污水處理】、【環境監控】、【智慧交通】、【智能倉儲物流&AGV】、【智慧城市】、【智能樓宇】、【安防監控】、【電力監控】、【無人值守】、【智能儲物櫃】、【智慧醫療行業】...

一、 PLC程式設計

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)
一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)
一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

PLC是采用“順序掃描,不斷循環”的方式進行工作的。即在PLC運作時,CPU根據使用者按控制要求編制好并存于使用者存儲器中的程式,按指令步序号(或位址号)作周期性循環掃描,如無跳轉指令,則從第一條指令開始逐條順序執行使用者程式,直至程式結束,然後重新傳回第一條指令,開始下一輪新的掃描,在每次掃描過程中,還要完成對輸入信号的采樣和對輸出狀态的重新整理等工作。

PLC的一個掃描周期必經輸入采樣、程式執行和輸出重新整理三個階段。

PLC在輸入采樣階段:首先以掃描方式按順序将所有暫存在輸入鎖存器中的輸入端子的通斷狀态或輸入資料讀入,并将其寫入各對應的輸入狀态寄存器中,即重新整理輸入,随即關閉輸入端口,進入程式執行階段。

PLC在程式執行階段:按使用者程式指令存放的先後順序掃描執行每條指令,經相應的運算和處理後,其結果再寫入輸出狀态寄存器中,輸出狀态寄存器中所有的内容随着程式的執行而改變。

輸出重新整理階段:當所有指令執行完畢,輸出狀态寄存器的通斷狀态在輸出重新整理階段送至輸出鎖存器中,并通過一定的方式(繼電器、半導體或晶間管)輸出,驅動相應輸出裝置工作。

PLC的使用者程式,是設計人員根據控制系統的工藝控制要求,通過PLC程式設計語言的編制規範,按照實際需要使用的功能來設計的。隻要使用者能夠掌握某種标準程式設計語言,就能夠使用PLC在控制系統中,實作各種自動化控制功能。

根據國際電工委員會制定的工業控制程式設計語言标準(IEC1131-3),PLC有五種标準程式設計語言:梯形圖語言(LD)、指令表語言(IL)、功能子產品語言(FBD)、順序功能流程圖語言(SFC)、結構文本化語言(ST)。這五标準程式設計語言,十分簡單易學。

梯形圖語言

梯形圖語言是PLC程式設計中最常用的程式設計語言。它是與繼電器線路類似的一種程式設計語言。由于電氣設計人員對繼電器控制較為熟悉,是以,梯形圖程式設計語言得到了廣泛的歡迎和應用。 梯形圖程式設計語言的特點是:與電氣操作原理圖相對應,具有直覺性和對應性;與原有繼電器控制相一緻,電氣設計人員易于掌握。 梯形圖程式設計語言與原有的繼電器控制的不同點是,梯形圖中的能流不是實際意義的電流,内部的繼電器也不是實際存在的繼電器,應用時,需要與原有繼電器控制的概念差別對待。

指令表語言

指令表程式設計語言是與彙編語言類似的一種助記符程式設計語言,和彙編語言一樣由操作碼和操作數組成。在無計算機的情況下,适合采用PLC手持程式設計器對使用者程式進行編制。同時,指令表程式設計語言與梯形圖程式設計語言圖一一對應,在PLC程式設計軟體下可以互相轉換。圖3就是與圖2PLC梯形圖對應的指令表。 指令表程式設計語言的特點是:采用助記符來表示操作功能,具有容易記憶,便于掌握;在手持程式設計器的鍵盤上采用助記符表示,便于操作,可在無計算機的場合進行程式設計設計;與梯形圖有一一對應關系。其特點與梯形圖語言基本一緻。

功能子產品圖語言

功能子產品圖語言是與數字邏輯電路類似的一種PLC程式設計語言。采用功能子產品圖的形式來表示子產品所具有的功能,不同的功能子產品有不同的功能。功能子產品圖程式設計語言的特點是:以功能子產品為機關,分析了解控制方案簡單容易;功能子產品是用圖形的形式表達功能,直覺性強,對于具有數字邏輯電路基礎的設計人員很容易掌握的程式設計;對規模大、控制邏輯關系複雜的控制系統,由于功能子產品圖能夠清楚表達功能關系,使程式設計調試時間大大減少。

順序功能流程圖語言

順序功能流程圖語言是為了滿足順序邏輯控制而設計的程式設計語言。程式設計時将順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行配置設定,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框内含有用于完成相應控制功能任務的梯形圖邏輯。這種程式設計語言使程式結構清晰,易于閱讀及維護,大大減輕程式設計的工作量,縮短程式設計和調試時間。用于系統的規模校大,程式關系較複雜的場合。順序功能流程圖程式設計語言的特點:以功能為主線,按照功能流程的順序配置設定,條理清楚,便于對使用者程式了解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作程式設計時,由于機械互鎖造成使用者程式結構複雜、難以了解的缺陷;使用者程式掃描時間也大大縮短。

結構文本化語言

結構化文本語言是用結構化的描述文本來描述程式的一種程式設計語言。它是類似于進階語言的一種程式設計語言。在大中型的PLC系統中,常采用結構化文本來描述控制系統中各個變量的關系。主要用于其他程式設計語言較難實作的使用者程式編制。

結構化文本程式設計語言采用計算機的描述方式來描述系統中各種變量之間的各種運算關系,完成所需的功能或操作。大多數PLC制造商采用的結構化文本程式設計語言與BASIC語言、PASCAL語言或C語言等進階語言相類似,但為了應用友善,在語句的表達方法及語句的種類等方面都進行了簡化。 結構化文本程式設計語言的特點:采用進階語言進行程式設計,可以完成較複雜的控制運算;需要有一定的計算機進階語言的知識和程式設計技巧,對工程設計人員要求較高。直覺性和操作性較差。

二、 電腦程式設計

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)
一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

語言彙總

  工業程式設計語言:A+ | Ada | 彙編語言| B |Brain| C++ | C++ |C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon |ObjecTIve-C|Ocaml| Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# |Visual Basic .NET|易語言

  腳本程式設計語言:AcTIonScript | JavaScript | JScript |Nuva| PostScript | VBScript | lua

  學術程式設計語言:APL/J | Haskell | Logo | ML |pascal|Prolog | Scheme | SAC

  其他程式設計語言:ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula

  語言發展

  計算機主要是由兩大部分構成的,硬體和軟體,硬體就不用解釋了,你的主機、顯示器等等都屬于硬體,但是光有硬體電腦是沒有辦法使用的,除非你拿機箱當櫃子用!呵呵!是以就必須有軟體支援!軟體又分為系統軟體,也就是你經常用的作業系統,WIN XP,Win 2000等等!再就是通用軟體和應用軟體。計算機語言也有一個發展過程,從最開始的計算機語言,也就是011010111,那個時候程式設計恐怕是非常痛苦的事,因為你要會用0和1表示一切!後來逐漸發展,把一些常用的指令用英語單詞表示出來,形成了彙編語言,這個時候也是比較痛苦的,你要記住那些單詞的含義不說,還必須告訴計算機每一步要怎麼做,而計算機又是一個非常笨的東西,你掉一個步驟他就罷工!而且彙編語言的可移植性差,也就是說你在這台電腦上寫的程式到另一台電腦上可能就不能用了。之後為了友善軟體移植,進階語言誕生了,進階語言不要求程式員掌握計算機的硬體運作,隻要寫好上層代碼,編譯軟體會将進階語言翻譯成彙編語言,然後再将彙編語言轉化成計算機語言,進而在計算機中執行。是以,程式員使用進階語言寫得代碼可以移植到其他計算機執行,而不用考慮計算機硬體的特性。

  語言使用方向

  想設計一款美觀的Web應用

  JavaScript可使網站看起來更棒,同時存在大量可相容的架構,如Ember、Angular、Backbone等,它們都可以幫你組織、構造相容不同浏覽器的Web應用。目前,JavaScript正逐漸成為主要的企業級程式設計語言。

  JavaScript可在幾乎所有的浏覽器上運作,可同時用來編寫前端與後端服務。無論你開發什麼應用,JavaScript是必須的語言,而你也不用考慮應用采用的是何種後端技術。

  需要快速開發原型

  如果你是設計師,想學習後端程式設計技術以測試應用,那Ruby和Python将是不錯的選擇。這兩門語言已入選2013年最流行工作技巧Top 5。

  學習Python,可以利用Learn Python The Hard Way網站上的資源,學習Ruby,可以登陸Codecademy中的Ruby子欄目。

  想建構一個Android應用

  開發Android應用,最多使用Java語言。

  你可以在Windows和Mac上開發Android應用,之後購買廉價的裝置來測試你的應用。随着Andriod正逐漸占領移動市場,越來越多的開發者正選擇從Android開始入手。

  Udacity上免費的JavaScript程式設計課程很适合初學者。一旦你掌握到Java,就可以登入官方Android開發者網站,學習如何建立第一個Android項目。

  想開發一款iOS應用

  在Mac上,你可以使用ObjecTIve-C開發可運作于iPhone、iPad、iPod上的iOS應用。與Android相比,iOS的碎片化程式更低,開發者很容易建立通用的應用。

除了Object-C,開發iOS應用還需要免費工具Xcode和iOS軟體開發工具包。你可以用Apple提供的開發者教程,或登入到Code School網站中的iOS子頻道學習iOS開發

三、 手機app程式設計

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

 随着智能手機的普及,各種手機APP也不斷推出,從餐飲到支付再到娛樂,給我們的生活帶來了很大的便利和樂趣。

那麼問題來了,一款手機APP是如何開發出來的呢?

首先,開發APP的第一步就是需求整理,這時我們需要把APP的主要功能、所屬行業、使用者群體、使用者需求痛點整理出來,剛開始這些想法可能會非常混亂,是以咱們就需要通過思維導圖用圖文結合的方式把這些想法整理出來。如果你有産品經理這方面的經驗,那就再好不過了,但是對于普通人來說,最好還是尋求專業人士的幫助。

接着就是預算評估了。開發一個APP的成本是不固定的,它會根據APP的精細程度,功能需求,是否需要購買伺服器等因素來判斷,是以你在開發APP前要考慮清楚自己的APP究竟有多少人使用、自己的公司和産品究竟需要多少功能。然後還要看公司現金流是否充足,再來判斷自己有多少預算花在APP的開發上。

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

第三步就是軟體原型設計。在這一步我們需要規劃一下這個APP的大緻頁面是怎麼樣的,例如圖示位置分布,主要功能是怎樣的,點選後會觸發什麼動畫?一共有幾級菜單?各個菜單之間的互動邏輯是什麼。這一切都要用Axure或者墨刀做成原型圖,友善後續的開發設計。這一步對專業性的要求也比較大,是以最好也要尋找專業人士的幫助。

第四步就到了APP的UI設計。在确定好原型圖後,設計師會根據原型圖進行上色,布局的調整,互動邏輯的優化、再根據不同的手機系統和不同的螢幕進行适配。

一文了解plc程式設計、電腦程式設計、手機APP程式設計、組态程式設計、雲程式設計(上)

然後就到了最重要的環節——開發。程式員會根據功能需求撰寫代碼。一個完整的APP大緻分為三個部分,分别為伺服器端、APP端、web管理端,程式員要不斷對APP進行優化,包括軟體的流暢度、伺服器的網絡排程和優化,給使用者最好的體驗。最後再進行測試,沒問題了就可以投入使用了。後期還會對軟體進行版本疊代和維護。

目前主流的手機APP分兩類,一類是基于蘋果(IOS)系統的APP;另一類是基于安卓(Android)系統的APP,兩種不同系統的APP所使用的開發工具及程式設計語言完全不一樣。

1)、基于蘋果(IOS)系統的APP

要開發蘋果系統的APP,需使用蘋果公司的xcode開發工具,通常是使用Objective-C或Swift語言開發,Objective-C是C語言衍生出來的,繼承了C語言的特性,屬于面向對象的語言。會C語言的話可以直接使用Objective-C程式設計,差異很小,若遇到不懂的再查資料。還有就是蘋果新推出的Swift語言,非常好用。

2)、基于安卓(Android)系統的APP

安卓系統APP使用Java語言進行開發,Java語言已經流行了20幾年,目前還保持這這種勢頭,經久不衰。如果想做安卓系統APP必須先掌握Java語言,對于有C語言基礎的人來說,學習Java還是較容易的。

繼續閱讀