A. 編程步驟有四步
提示:
科學的PLC編程步驟其實很簡單,但往往大多數工程師就是認為簡單而忽略很多細節。細節的忽略,必然會在以後出現問題。想避免日後的問題,只有好好的遵守規則,沒有規矩不成方圓,plc編程一樣有其自身的規矩。
第一步:閱讀產品說明書
第一步看起來再簡單不過了,但很多工程師都做不到。認為這一步是浪費時間,甚至只從供貨方培訓來了解設備。
仔細閱讀說明書是編程的第一步,首先要閱讀安全守則,知道哪些執行機構可能會對人身造成傷害,哪些機構間最容易發生撞擊,當發生危險時如何解決,這些最致命的問題都在安全守則中,為什麼不去看呢?
此外,關於設備每個元件的特性,使用方法,調試方法也在說明書中,不去閱讀,即使程序正確,如果元件沒有調試好,設備一樣不能工作。再有,所有的電路圖、氣動液壓迴路圖、裝配圖也在說明書中,不去閱讀它怎麼知道沒種元件可以做何種改造呢。
第二步:根據說明書,檢查I/O
檢查I/O,俗稱「打點」。檢查I/O的方法很多,但是一定要根據說明書提供的地址依次進行檢查,在絕對安全的情況下來檢查。
在檢查輸入點時,一般輸入信號無非是各種感測器,如電容、電感、光電、壓阻、超聲波、磁感式和行程開關等感測器。檢查這些元件比較簡單,根據元件說明將工件放在工位上,或是移動執行機構檢查感測器是否有信號即可。當然,不同的設備檢測的方式可能不同,這要看具體情況而定了。
但是在檢查輸出信號時就要格外小心了。如果是電驅動產品,必須在安全情況下,尤其是保證設備不會發生撞擊前提下,讓執行機構的驅動器得電,檢查執行機構是否能夠運動。如果是液壓或氣動執行機構,同樣在安全情況下手動使換向閥得電,從而控制執行機構。在檢查輸出信號時,不論執行機構的驅動方式是什麼,一定要根據元件說明書,首先要保證設備和人身安全,要注意並不是所有設備的執行機構都可以通電測試的,所以有時個別的輸出信號可能無法手動測試。
無論是輸入還是輸出裝置,當感測器有信號或執行機構的驅動裝置得電後,必須同時檢查PLC上的I/O模塊指示燈是否也點亮。很多設備中,輸入輸出信號是通過接線端子與PLC連接,有時接線端子的指示燈有信號 ,但不能保證由於連接導線內部斷路,而PLC上相應的地址沒有信號接通。這一點要特別注意。
在測量輸入輸出信號後,要同時將測量的地址記錄下來,保證信號地址和說明書中一致。如有不同,再次測量設備地址,多次測量仍然不一致,先聯系設備廠家,因為此時不能保證廠家提供的地址沒有錯誤。
第三步:打開編程軟體,進行硬體配置,並將I/O地址寫在符號表中
不同的PLC使用不同的編程軟體。但是對於任何一種軟體來說,編程前的第一步就是進行硬體組態,根據實際PLC的類型建立硬體配置及相應的通訊配置。硬體組態完成後,將之前在紙上記錄下來的I/O地址寫在軟體的符號表中。由於軟體不同,對於符號表的定義可能不同,但一般的軟體都有該功能,這一步是至關重要的。在編寫符號表時,不僅要把設備輸入輸出的絕對地址寫正確,最好再給每個地址命名並添加註釋,這對後面的編程會非常方便。不需要在編程時每次都查詢絕對地址,只要填寫命名好的名稱即可。當然,這也取決於軟體是否具備此功能。
第四步:寫出程序流程圖
在編程之前,一定要在草稿上寫出程序的流程圖。一個完整的程序,應該包括主程序、停止程序、急停程序、復位程序等部分,如果軟體允許,應該將各個程序按「塊」的形式編寫,即一個程序是一個塊,最終將每個塊按需求來調用即可。
PLC最擅長的就是處理順序控制,在順序控制中主流程是核心,一定要確保制定好的流程是正確的,要在草稿上仔細檢查。如果主流程存在問題,當程序被PLC執行後,很可能發生撞擊,損壞設備或對人身造成危險。
B. 關於java編程,模塊該怎麼放
Java中的變數一般分為類變數(也就是所謂的全局變數),實例變數和局部變數。對於類變數,用static關鍵字聲明,它屬於類所有,在程序運行期間,內存中只有一份,多個相同類型的類共享這個變數,類變數在類中聲明並且最好在聲明的同時給它賦值;對於實例變數,也是在類中聲明,並且最好在構造器中給其賦值。實例變數顧名思義只有存在實例的時候,實例變數才能存在,所以每一個實例都應該有自己的實例變數,一個實例變數被改變了,不會影響到同一個類的其他實例變數;對於局部變數,在方法中聲明的或作為形參的變數都是局部變數,局部變數顧名思義就是在局部起作用的變數,程序運行完局部變數所在塊(也就是大括弧之間這一段),局部變數就銷毀了。另外局部變數還有靜態局部變數,大括弧結束後,它不會銷毀,它與應用程序的整個生命周期綁在一起,也就是說,整個應用程序銷毀了,它才會銷毀掉。至於非要較真變數該放到什麼地方,一方面,由變數類型決定,另一方面,有需求決定。
Java中的組件狹義上來講,一般是能夠獨立完成某項業務功能的模塊。這種模塊封裝的很好,可以直接拿來用,組件自己提供介面對外服務。它存放位置一般是一個獨立的功能包中(例如Java的AWT和Swing組件),或者是一個服務架構中(例如Java中的EJB)。
對象創建可以是在一個類中,也可以是在一個方法中。這里的方法不分main啟動方法和普通方法。
以上所說的方法和對象放到哪個裡面會更好?一句話:由需而定。放到哪個地方能最好滿足需求,那麼那個地方就是最好的地方。
這里你所闡述的主方法應該就是main方法。main方法是Java應用程序的啟動入口,當然要放置那些能夠啟動這個應用程序的方法、變數和對象。
一般編程先寫那些部分後寫那些部分啊?對於Java編程,再寫之前要先從整體上抽象,認真考慮需求中哪些名詞能夠抽象成類,哪些動詞能夠抽象成方法。以及類與類之間有哪些關聯。
亘古不變的真理:多敲代碼,多思考,熟能生巧。遲早有一天你會對Java編程游刃有餘。
C. c語言中 關於函數的聲明所放的位置,有的是在main之前,有的是在它之後,為什麼呢有什麼區別
如果放在main之前,就可以直接定義這個函數:
void func(int arg) {
...;
}
main() {
func();
}
如果定義放在main之後就要在main之前先聲明這個函數:
void func(int);
main() {
func();
}
void func(int arg) {
...;
}
D. 編程的文檔是在寫代碼之前還是在寫代碼之後
可以說是在編程過程中所寫的。比如一個程序的如干函數,每寫完一個函數可以寫一個與之相關的文檔進行說明,用來讓用戶能夠更好的了解程序的應用和編程合作人員的理解
E. 學習編程的一般步驟是什麼
學習編程,從何入手?
1、計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
2、電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
3、計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
4、目前通用的編程語言有兩種形式:匯編語言和高級語言。
5、匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
6、高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
7、高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
8、高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
9、編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
《編程語言,你選哪一個》
雖然不是每個人都會成為編程高手,但你在使用軟體的時候,也許會冷不丁地冒出個問號:這些神奇的軟體是怎麼編出來的?而對那些將投身於此的「大蝦小蝦」們,接下去的可能是:我什麼時候也能編出個更好的軟體來?好吧,那從哪裡開始呢?編程語言名錄繁多,選擇一個適合自己的編程語言,是你首先要邁出的一步。
你了解最常見的編程語言嗎?你知道最流行的程序開發環境嗎?
你知道Basic、Pascal、C、C++和Jave家族這些常見的編程語言各自都有什麼優點嗎?如果你對這些都不是很清楚的話,那麼下面這一部分你可不能錯過。
基礎篇
Basic:
Basic是一種非常適合初學者學習的編程語言。它簡單易懂,其命令和語句一般都是英文單詞或縮寫,易於理解,便於記憶。只要具有一些英語知識的人都可以很快地掌握它。擴展地Basic語言常見地有:BASICA、GWBASIC、Quick Basic、Ture Basic和Turbo Basic。其中比較好的是Turbo Basic,它是一種可編譯的語言,所以它的速度更快、效率更高。Turbo Basic不僅保持了Basic語言一貫的比較容易學習的特點,還具有像PASCAL語言那樣嚴謹的基本控制結構。
Pascal:
Pascal語言是一門結構化的語言,它具有豐富的數據類型和控制結構,簡明易懂,所以特別適合與教學。Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。在Pascal的各個版本中,尤以Turbo Pascal的功能最為強大。如今,在許多學校的計算機語言課上,學的都是Pascal語言,用的都是Turbo Pascal。
C:
C語言作為系統描述語言,既可以用來寫系統軟體,有可以用來寫應用軟體,自然受到廣大用戶的喜愛。C語言有許多優點,它靈活性好、效率高、實用性強,而且對硬體的控制能力很強。人們常把C語言稱作中級語言,意指它是一門介於高級語言和匯編語言之間的語言。
C++:
隨著軟體規模的不斷擴大,人們發現,使用傳統的「數據結構+演算法」的結構化編程模式已經難以適應軟體的發展了。這時,「面向對象+消息」的程序設計思想便逐漸被人們所注意。對於C語言,人們發現當C語言程序的規模超過5萬行時,程序就變得難以調試和維護。這時,將面向對象的思想引入C語言變成了程序員的共同心願。於是,C++語言便應運而生了,它以C語言為基礎,引入了面向對象的思想,成為目前最流行的編程語言之一。
Java:
如果要用一句話來描述Java,那就是「一種簡單的、面向對象的、解釋型的、健壯的、安全的、結構中立的、可移植的、高性能的、多線程的、動態的語言」。同是面向對象的語言,Java與C++相比更加安全而且具有更高的可移植性。Java程序需要在安裝有Java虛擬機的平台上執行。要求在Java應用程序運行時每一步都強制執行安全措施,這必然會導致編譯執行速度下降,但魚與熊掌不可兼得,畢竟Java已經如此強大了。
JavaScript & Java Applet:
Java是一種具有獨立功能得強大得語言,與網路沒有必然得聯系;相比之下,JavaScript和Java Applet就更適合在網頁中開發和使用。JavaScript被稱為Java的腳本程序,是Java程序的簡化。通過編程,你可以根據需要動態地創建你的主頁。JavaScript是一種解釋型的語言,所以程序不需要進行預編譯,只有當程序被執行時才被轉化為可執行代碼。
與前者相比,Java Applet才更像是一個程序。它是一類被嵌入到Web頁中的由與Java兼容的瀏覽器控制執行的程序,Java Applet程序需要事先被編譯成class文件,然後將它導入到網頁中由瀏覽器控制執行。
如果能熟練地掌握這兩種語言,你的網頁一定會增色不少。
SQL語言:
SQL語言簡稱「結構化查詢語言」,它結構簡潔、功能強大、簡單易學,如今無論是像Oracle、Sybace、Informix、SQL Server這些大型的資料庫管理系統,還是像Visual Foxpro、PowerBuilder這些微機上資料庫開發系統,都支持SQL語言作為查詢語言。
開發篇
當前在不同的程序設計領域都有各自的一些著名的軟體開發工具,我們今天就先把目光投向VB、VC、Delphi、C++ Builder、PowerBuilder這些大哥大級的開發工具上吧。
Visual Basic:
VB除了有強大得資料庫編程能力,還引入了面向對象得程序設計思想。它功能強大,學習簡單。而且,VB還引入「控制項」的概念,使得大量已經編好得VB程序可以被我們直接拿來使用,就像搭積木一樣簡單。如今,VB已經有了6.0版。對於初學者來說,用VB編程是一件很容易上手的事。
Visual C++:
Visual C++可以說是為專門的程序設計人員而推出的。它的功能在當前的程序設計工具中可以說是最強大的,可以說沒有VC做不到的,只有你想不到的。
Delphi:
以Object Pascle為基礎,擴充了面向對象的能力,並且完美地結合了可視化的開發手段。Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高於其它產品生成的程序。它還是真正的面向對象的編程語言,人們預測Delphi將會成為可視化編程的主流環境。
C++ Builder
CB是將C++的面向對象與可視化緊密結合起來的一個強大的、開發效率高的集成開發環境。CB的兼容性極強,它支持OWL 、VCL和MFC這三種常見的類庫。在BC和VC下通過的程序幾乎不用做任何修改就可以在CB下編譯通過。可以說CB是VC強有力的競爭者。
PowerBuilder:
PowerBuilder是新一代資料庫應用開發工具,它支持應用系統同時訪問多種資料庫。PowerBuilder是完全可視化的資料庫開發工具,它提供了大量控制項,大大加快了項目的開發速度。其編程語言叫做PowerScript,也是一種高級的、結構化的編程語言。PowerBuilder適合初學者快速學習資料庫開發,是一種適用面非常廣的開發工具。
方案一 Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發工具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
結論:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
方案二 Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。
缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。
結論: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。
方案三 C語言 & Visual C++
優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。
缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它過於專業
結論: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。
方案四 C++語言 & C++ Builder
優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。
缺點
由於推出的時間太短,關於它的各種資料還不太多。
結論:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。
方案五 SQL語言 & Power Builder
對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。
F. 西門子200plc編程之後是編譯之前備份還是編譯之後備份是什麼格式
這個什麼時候備份都可以,而且備份也很簡單,只需要將生成的.mwp格式的文件復制出來一份就行了。我一般是每次修改程序之前備份一下,也就是復制出一份,然後在復制出來的上面修改程序,以防修改錯了,無法還原。至於真正的備份存檔,是等到全部都調試好了,不需要修改了,然後復制出一份,作為備份,這種時候的備份不僅僅是編譯好了,而且是下載到PLC里運行無誤了的。至於格式自然就是程序生成的.mwp格式了。
望採納。。。。。
G. 學習編程的順序
1:如果你能夠熟練的使用Windows的話,你就可以開始你的程序生涯了!
2:首先從C語言開始。有的朋友可能認為C語言太難了,應該從VB開始。雖然,對於一個初學者來說,用一些控制項堆砌成一個小軟體,是有一些成就感,但是,基礎才是最重要的!C語言對於數據類型的描敘,遠比VB裡面說的更為全面,清楚,明白,而這些卻是編程中的根本!
3:學C語言,從數據類型,基本表達式,再到條件語句,循環語句,然後學習函數,再加上一些簡單的數組知識,就可以了!一句話,到現在為止,你只要理解結構化程序設計的思想也就夠了!
4:有了以上的基礎,就要開始學匯編了。匯編開始的時候是很難,那些各種各樣的寄存器,分段的內存地址,是很難理解,可是這些知識理解了以後,後面的內容就簡單了,學習8086的那些指令,再加上一些偽操作,還有DOS和BIOS中斷的調用,就可以看懂書上的匯編程序了。(著重是理解演算法,對於後面的那些匯編的應用有興趣的可以看一下!)到此,你應該會對計算機的理解更深一層!
5:有了匯編的基礎,再來學習C語言中的精華部分----指針,可謂如魚得水了。現在你要對C語言全全面面的學一遍了,譚版的教材要從頭到尾認認真真的看兩遍以上。
6:學完以上的內容,有必要研究一下數據結構了,線性表,堆棧,隊列,樹,圖,二叉樹,等等,都要滾瓜爛熟!(最好是清華嚴蔚敏老師的那本教材)
7:請時刻記住:浮躁是學習編程的大忌!
8:現在,你應該學習一些資料庫的知識,還有一些常用的演算法了!
9:如果以上的知識你都學精通的話,就可以開始C++的課程了,找本C++上手的書,用一個星期的時間大概了解一下C++,然後找一本VC上手的書,再花一個星期的時間學習VC的界面和用法,就可以做一些簡單的應用了!
10:要想學好VC,沒有扎實的C++知識是不行的,以下書籍是VC程序員必須翻的爛熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++
深入淺出MFC。
11:深刻理解C++面向對象的思想!
12:編程的時候,出錯是難免的,所以,MSDN一定要熟練使用;好的代碼風格會使調試的時候,更加簡單的查錯,所以,一定要養成良好的編程風格!
13:如果你嚴格的走好了以上的每一步,你才踏上了編程的門檻,可以混口飯吃了!
至於在以後,編譯原理,操作系統,還有軟體工程等等基礎知識,是必不可少的!
14:如果現在再來學習JAVA,C#等別的語言的話,應該是觸類旁通,拿來就用了,
到此,你才可以稱得上是一個高手!
H. 像數據結構、演算法、軟體工程這方面的知識是在學習編程語言之前學習,還是之後
先學編程、結構演算法都是為編程服務的。要不然你看不懂這些數據結構·~
I. 請教學習編程的順序與方法
商業用途基本都是命令式語言。內容基本都是同一個東西。區別就是上手的難易
先從VB,C#這種開始吧,上手很容易。
Delphi也可以,但是用的人不多了。
然後java吧。java也是個簡單的語言,但是發展出來的概念太多,所以工業應用很復雜。
這個時候你C基本上就會的差不多了。
最後是C++,雖然在這之前你就會以為自己會C++了,但是真正學學你才會發現它的難度。
ruby,perl,python,php, javascript那些,你在這個時候,簡單記記語法就可以對別人說自己會了。haskell ocaml之類你得有FP的基礎,看你有沒有興趣了。
這是傳統路線。這樣折騰下來,十來年也就過去了。這個時候,你還想編程么?
---------------------------------------------------
現在的熱門:
C#, C/C++(永恆的需求), Java, F#(新興,前途未知), PHP, Python, Ruby.(可能有遺漏)
---------------------------------------------------
先學C是另一個思路,也是一般學校里教學的思路,樓下幾位(我修改完就是樓上了)的觀點都是這樣,但是我不是特別推薦。 C 不難學,但是容易使人糾結於一些細枝末節,忽略了編程本身。當然你的掌控能力好的話也是沒問題的。
---------------------------------------------------
編程需要數學好實際上是需要思維的邏輯性。而思維邏輯性強的人往往數學比較好。數學知識本身在初期並不重要。之後如果想要進一步研究,可以看看Aho的那本《Foundations of Computer Science》,前提是需要有一定的編程基礎。
就先這些吧。還有問題可以用「問題補充」