在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费

首頁 > 文章中心 > 程序編程

程序編程

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇程序編程范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

程序編程

程序編程范文第1篇

關鍵詞:ZeroMQ;多線程編程;阻塞;無鎖編程

1、多線程編程的挑戰(zhàn)

自摩爾定律提出以來,CPU主頻一直以指數(shù)級的速度在增長。為了充分利用硬件性能,改善程序體驗,軟件業(yè)廣泛采用了多線程編程技術。但是由于多個線程是動態(tài)運行的,使得這類程序的編寫和調(diào)試異常困難[1-2]。與單線程程序相比,軟件開發(fā)人員往往需要付出數(shù)十倍的精力。近幾年,隨著CPU主頻逐漸逼近物理極限,芯片工業(yè)逐步向多核發(fā)展,但新增加的CPU性能無法全面發(fā)揮出來。除了像Erlang[3]這樣的少數(shù)語言外,絕大多數(shù)編程語言,包括C和C++,并沒有提供對于并發(fā)編程的支持。在傳統(tǒng)多線程編程技術中,采用加鎖以及信號量的方式來實現(xiàn)線程同步。這樣的方式存在如下一些問題:(1)編寫以及維護這類代碼代價非常高昂。根據(jù)經(jīng)驗估算,編寫多線程代碼的成本是編寫單線程代碼成本的10~100倍;(2)這類方法很難擴展到更多線程。大多數(shù)多線程應用使用2個線程(例如典型的生產(chǎn)者消費者線程),有一些會用到3個或者4個。這表明對于一個有著16個或者更多核心的CPU,其硬件性能沒有充分利用起來;(3)即便代碼是多線程的,它往往也不能受益于多核CPU,因為不同的線程間經(jīng)常彼此阻塞。開發(fā)者很難發(fā)現(xiàn)精巧的多線程程序實際上已經(jīng)退化成了一個單線程;(4)即便在最理想的情況下,應用程序被設計成避免大范圍使用加鎖操作,還是很難擴展到超過10個核心的CPU上。隨著線程數(shù)以及CPU核數(shù)的增加,硬件資源的利用率會急劇下降;(5)線程被換入CPU中會引發(fā)程序的上下文切換,以及CPU緩沖區(qū)中的內(nèi)容失效,這也將極大地影響整個程序的執(zhí)行效率。為了避免加鎖導致的阻塞,最新的編程理論提出了無鎖算法來實現(xiàn)數(shù)據(jù)共享。該算法需要用到硬件指令集中的“比較以及交換原子操作”[4]來避免加鎖。為了達到無鎖編程的準確性以及安全性,程序員需要具備硬件以及編譯器方面的知識背景。無鎖編程技術雖然提高了軟件性能,但是其高度復雜性使得軟件開發(fā)過程充滿了挑戰(zhàn),所以這樣的技術目前并沒有獲得廣泛的使用。

2、ZeroMQ消息中間件技術

ZeroMQ是由iMatix公司開發(fā)的一款開源的消息中間件。最初的設計目標是在股票交易系統(tǒng)中實現(xiàn)極快的數(shù)據(jù)交換,所以性能是設計的首要考慮因素。ZeroMQ看起來像是一套嵌入式的網(wǎng)絡鏈接庫,但工作起來更像是一個并發(fā)式的框架。它可以在多種協(xié)議中傳輸消息,如線程間、進程間、TCP、廣播等。開發(fā)人員可以據(jù)此構建多種連接模式,如:-訂閱、任務分發(fā)、請求-應答等。它對幾乎所有主流語言均可支持,并能在幾乎所有的操作系統(tǒng)上運行。ZeroMQ目前已經(jīng)在很廣泛的范圍內(nèi)獲得使用,包括:金融服務、游戲開發(fā)、嵌入式系統(tǒng)、科學研究,以及航天系統(tǒng)中。為了達到高性能,ZeroMQ采用了兩項核心技術來實現(xiàn)高效的消息傳輸,分別為并發(fā)模型和無鎖隊列。

2.1ZeroMQ的并發(fā)模型

為了充分利用CPU的多核特性,ZeroMQ被設計成完全避免使用鎖,從而使得每個線程能夠全速運行。線程之間的通信采用基于事件的異步消息發(fā)送模式,即經(jīng)典的參與者模式。它為每一個CPU核啟動一個工作線程,從而避免了當兩個線程共享一個核時所做的線程上下文切換操作(見圖1)。ZeroMQ的內(nèi)部對象緊密地與特定工作線程綁定到一起。這樣就不需要使用任何臨界區(qū)、鎖,以及信號量等同步操作。并且每個ZeroMQ內(nèi)部對象與特定的CPU核也是關聯(lián)的,這樣也避免了上下文切換,有效利用CPU緩存區(qū)機制。這種設計避免了傳統(tǒng)多線程開發(fā)所面臨的諸多問題,因為線程之間不再需要共享對象。不過在該設計中,需要提供一個調(diào)度器。調(diào)度器采用基于事件驅動的方式管理ZeroMQ內(nèi)部對象,從而避免了在整個循環(huán)中去檢測對象,也避免了對象長時間地占用CPU這種情況。這樣,整個系統(tǒng)工作在異步模式下,所有的對象以狀態(tài)機的方式運行。

2.2ZeroMQ的無鎖隊列

為了保證并發(fā)操作,ZeroMQ使用了無鎖隊列在用戶線程以及ZeroMQ工作線程之間交換數(shù)據(jù)。無鎖隊列中用到無鎖算法,該算法不依賴操作系統(tǒng)所提供的鎖以及信號量等機制實現(xiàn)數(shù)據(jù)共享,但是需要依賴CPU提供的原子操作。無鎖算法本質(zhì)上并不是“無鎖”的,只是它的鎖是在硬件層面上實現(xiàn)。此外,無鎖隊列的兩個特別設計使得其擁有很高的性能。第一個特點是:每個隊列對應一個寫線程和一個讀線程(見圖2)。在一個寫線程對應多個讀線程的通信環(huán)境下,ZeroMQ將創(chuàng)建多個隊列。這種讀寫之間一一對應的模式,加上無鎖操作,使得無鎖隊列的實現(xiàn)非常高效。第二個特點是:采用批處理的方法來寫入或者讀取消息。雖然無鎖編程算法比傳統(tǒng)的基于信號量的算法更高效,但是CPU的原子操作很費時,特別是當CPU的多個核之間存在競爭時。為了解決這個問題,ZeroMQ采用了批處理的方法來應對。假設從網(wǎng)絡上收到了一個數(shù)據(jù)包,其中包含了10個小消息。為了將這些消息寫入無鎖隊列中去,需要使用10次原子操作。ZeroMQ采用的方式是,先將單個消息保存到一個預寫區(qū)域中,累積到一定數(shù)目后,使用一次原子操作,一起寫入隊列中;類似地,在讀取時也應用了預讀取緩沖區(qū)。

3、ZeroMQ性能驗證

3.1測試方法

通過對ZeroMQ工作原理的分析,知道其性能無疑會超過傳統(tǒng)多線程方法的。但是這樣的性能差距到底有多大,需要通過實驗來分析。ZeroMQ作為消息中間件可以在多種應用場合傳遞消息。其中的線程間通信模式,使得其可以很好地用于多線程應用程序。在其多種消息傳遞模型中,任務分發(fā)的消息模式特別適合典型的生產(chǎn)者-消費者這種應用形式。傳統(tǒng)多線程編程方法采用了互斥鎖以及信號量來實現(xiàn)生產(chǎn)者-消費者線程之間的數(shù)據(jù)共享。每一個生產(chǎn)者線程與一個消費者線程作為一個線程對。線程的執(zhí)行時間以生產(chǎn)者線程開始工作,到消費者線程處理完最后一個數(shù)據(jù)之間的時間間隔作為該線程對的執(zhí)行時間。多線程情況下,將各個線程對的執(zhí)行時間做相加處理。在每次測試期間,指定采用ZeroMQ的方法與采用傳統(tǒng)多線程的方法這兩種程序所處理的消息數(shù)是相等的。對不同條件下的執(zhí)行時間進行統(tǒng)計,從而比較哪種方法性能更優(yōu)。

3.2性能分析

通過測試,分別采用兩種方法的多線程程序所用的時間如表1所示。表1中的數(shù)據(jù)是在一個采用了超線程技術的2核i5CPU上執(zhí)行結果。從表1中可以看出,采用ZeroMQ的多線程編程方法比采用傳統(tǒng)的方法在各種情況下性能均占優(yōu)勢,這表明其對于并發(fā)編程有更好的支持。此外,在與其他主流消息隊列,比如:RabitMQ、ActiveMQ以及MSMQ的性能比較中,ZeroMQ也大幅勝出??紤]到ZeroMQ在軟件開發(fā)以及調(diào)試上的便利性,采用其進行多線程軟件開發(fā)將帶來巨大的成本優(yōu)勢。

4、結語

隨著CPU內(nèi)核數(shù)越來越多,如何有效地發(fā)揮硬件運算能力成為越來越重要的任務。傳統(tǒng)的基于加鎖以及信號量做線程同步的方法已經(jīng)越來越不適應性能要求;最新的基于無鎖算法的編程技術雖然能夠提升性能,但是實現(xiàn)的過程非常復雜,使得軟件開發(fā)充滿了挑戰(zhàn)性。ZeroMQ這一消息中間件很好地彌補了性能與易用性之間的鴻溝,使得普通開發(fā)人員也可以編寫出高性能、可靠的軟件產(chǎn)品。

參考文獻

[1]葉崧,姚健東.基于ZeroMQ&JSON的分布式測控系統(tǒng)消息通信架構設計[J].現(xiàn)代電子技術,2014(2):105-109.

[2]張俊帥.多線程技術在數(shù)據(jù)通信中的應用[J].科技創(chuàng)新與應用,2016(11):87.

[3]蒲鳳平,陳建政.基于ZeroMQ的分布式系統(tǒng)[J].電子測試,2012(7):24-27.

程序編程范文第2篇

關鍵詞:計算機應用程序;編程模型;發(fā)展

計算機的運行主要是通過計算機硬件和應用程序相互協(xié)調(diào)來實現(xiàn)的,從這兩個部分可以看出,任何部分都不能缺少,然而應用程序這一方面是計算機的心臟,決定著計算機的運行和計算,計算機開始運行時,先是把對應的信息和數(shù)據(jù)錄入計算機,這時計算機的儲存器會對這些信息進行識別和儲存,然后計算機會啟動計算功能對數(shù)據(jù)進行計算,最后把所得結果運用用戶可以查看的方法保存在硬盤中,這樣有助于用戶對其查看和計算,對于應用程序的結構,一般包括數(shù)據(jù)保存、邏輯和桌面操作等,然而不同部分的性能相比較也是不同的,所以,必須根據(jù)相關程序來運行計算機。

1單層模型

計算機經(jīng)過了很長時間的發(fā)展,自從計算機誕生以來的很長時間里,計算機都包括兩個硬件板塊,其中一個板塊是計算機的主機系統(tǒng),另外一個板塊是次要部分,計算機應用程序和以及硬件系統(tǒng)儲存在主機部分,這就是單層應用模型,然而這種類型道德計算機性能不高,不能滿足用戶使用計算機的各種需要,所以,在接下來的發(fā)展過程中這種類型的計算機慢慢被淘汰了。

2雙層模型

在計算機應用程序前進歷程中,因為單層模型性能不高,不能滿足用戶的需要,所以,出現(xiàn)了使用雙層模型的計算機,這種模型的基本原理其實就是對計算機進行創(chuàng)新,把主機板塊劃分為兩個部分,其中一個結構是服務器, 另一個結構是客戶端。對于服務器,其功能主要是搜集和處理數(shù)據(jù)和信息,并展示在計算機服務器上面,對于信息和數(shù)據(jù)的反映在計算機桌面,需要借助客戶端來實現(xiàn)。雙層模型相比較單層應用模型,雙層模型有很多優(yōu)點,在形式方面有著一定的相同,計算機的處理形式相比更完善,工作效率得到了較大的提高,達到了計算機正常運行的目的。然而雙層模型在使用的時候,也會出現(xiàn)一些問題,這說明其存在一些不足有待完善,所以,繼續(xù)完善是一種正常的趨勢。

3多層模型

多層模型是基于雙層模型的發(fā)展而出現(xiàn)的,通過較長時間的研究和分析,創(chuàng)新性的把雙層模型的優(yōu)點完美加入到了多層模型中,還依靠現(xiàn)論和科學技術來完善計算機的運行方式和計算機性能,多層模型主要解決了雙層模型存在的問題,這些問題包括不穩(wěn)定和不安全,讓計算機實現(xiàn)了快速運行,運行起來非常靈活,此外,還彌補了操作方面的不足,通過多層模型可以看出,該模型使用的是模塊分開方式,這使得計算機使用和維護起來非常方便,而且存儲器與事務之間的交流越來越頻繁,可以進行信息和數(shù)據(jù)的交換,能夠實現(xiàn)不利用其他渠道來得到需要的信息和數(shù)據(jù),這種模型的優(yōu)點使得其在計算機應用中穩(wěn)固了地位,不但沒有被淘汰還得到了人們的認可,但是,隨著科學技術的進步,人們的生活水平得到了快速提升,因此,這種模型必然會隨著時間的推移而被再次創(chuàng)新或者直接淘汰。

4分布式模型

通過觀察計算機應用程序多層模型的使用情況,我們可以知道,這種模型的基本原理中的上層為下層提供服務,還有上層控制和調(diào)節(jié)下層,這一方式有可能會縮短計算機的使用壽命,所以,相關技術人員非常重視這個問題,如果想提升計算機的性能和運行效率,在完善的時候,應該依據(jù)有關規(guī)則和程序分解應用程序的代碼,接下來遵循著計算機工作規(guī)律準確確定應用程序代碼的功能,在保持現(xiàn)存計算機功能的情況下,又增添了新功能,然而需要借助分解對象才可以實現(xiàn)。

5基于萬維網(wǎng)的多層模型

隨著萬維網(wǎng)的快速發(fā)展,因特網(wǎng)也得到了快速發(fā)展,因特網(wǎng)具有的功能表現(xiàn)出較大的復雜性,包括數(shù)據(jù)和信號的方式等,具體的說,萬維網(wǎng)應用程序具備的特征比較顯眼,一般可以通過以下幾方面來說明:(1)通過萬維網(wǎng)創(chuàng)建的計算機編程模型的使用桌面比較簡化,可以使用便捷的搜索系統(tǒng)完成搜索工作,快速發(fā)現(xiàn)軟件所在的位置和使用的操作模式,而且,因特網(wǎng)在其中起著非常顯著的作用。(2)這個基于萬維網(wǎng)的多層模型的使用使得管理人員的工作更加簡單,管理人員可以把一些操作系統(tǒng)安裝在系統(tǒng)中實現(xiàn)搜索,不用依靠其他系統(tǒng)來開展搜索工作,這樣,使得花費在系統(tǒng)維護上面的費用大幅度被減少,而且工作效率也獲得了快速提高。(3)研究人員可以借助萬維網(wǎng)技術來有效做好發(fā)明工作,在制作網(wǎng)頁的時候,只需要借助有關的工具就可以開展工作,不會使得工作變得很復雜,關于應用開發(fā),舊式的使用單獨的軟件包方式出現(xiàn)的部分應用程序慢慢的被應用到了互聯(lián)網(wǎng)中,采用出租服務的形式為用戶提供服務,這不但提升了研發(fā)效率,還使得研發(fā)工作不再那么繁瑣。

6結論

伴隨著計算機的快速發(fā)展和信息技術的不斷進步,我們發(fā)現(xiàn)無論是在生活中還是在工作上都有計算機的參與,人們對計算機具備的功能提出了越來越高的要求,這樣引起了應用程序編程模型向著更高方向發(fā)展,本文以計算機應用程序編程模型的發(fā)展探討為題,對其所有的發(fā)展環(huán)節(jié)進行了細致的研究,發(fā)展環(huán)節(jié)包括單層模型、雙層模型、多層模型、分布式模型以及以萬維網(wǎng)為視角的多層模型,由于人們對計算機越來越依賴,未來計算機應用程序編程模型會繼續(xù)發(fā)展下去。

參考文獻:

[1]李紅巖.計算機應用程序編程模型的發(fā)展探討[J].電子制作,2014(20):71.

[2]高書豪.計算機應用程序編程模型的發(fā)展探討[J].硅谷,2014(07):157-158.

[3]譚曦.論計算機應用程序編程模型的發(fā)展[J].電腦與信息技術,2001(02):51-53.

[4]羅新建.計算機應用程序編輯模型的發(fā)展[J].數(shù)字技術與應用,2013(08):89.

[5]王執(zhí)源.計算機應用程序編程模型發(fā)展方向探析[J].信息與電腦(理論版),2016(17):55-56.

程序編程范文第3篇

關鍵詞:PLC;結構化;給排水

1 引言

隨著現(xiàn)代工業(yè)發(fā)展進程的不斷加快,工業(yè)自動化控制技術發(fā)揮著越來越大的作用,PLC控制系統(tǒng)的應用也日益廣泛。PLC程序設計的水平優(yōu)劣往往決定著工程能否及時竣工投產(chǎn),工業(yè)設備能否充分發(fā)揮其設計生產(chǎn)能力。傳統(tǒng)的PLC編程方式程序繁瑣冗長,結構不清晰,不利于控制程序在多個項目中的重復使用。如何迅速、優(yōu)質(zhì)地編制符合不同設備工藝特點,參數(shù)的PLC程序,對工業(yè)控制系統(tǒng)的及時完工,提高自動化控制水平具有較大的意義。本文結合給排水行業(yè)常用設備及工藝程序的編寫,對結構化編程在PLC中的應用進行了初步的探索,取得了較理想的效果。

2 PLC程序設計方法簡介

常見的程序設計方法分為三種:線性化方法、模塊化方法以及結構化方法[1]。

線性化編程方法:將所有的程序代碼全部放在一個程序塊中,如對S7-300/400來說,在OB1中寫入數(shù)據(jù)采集、設備控制、臺時統(tǒng)計等全部用戶程序。該方法與PLC所代替的繼電器控制電路類似,系統(tǒng)按照順序處理各條指令。它適用于小型設備配套PLC的編程,對于大中型項目則顯得程序結構不清晰,同時由于需要對不同設備編制大量類似的代碼,導致代碼冗長,難以調(diào)試和維護。

模塊化編程方法:將程序根據(jù)不同功能需求分成不同的塊,每個功能的控制指令在各自的塊內(nèi),OB1按順序調(diào)用每個塊。該方法程序結構清晰,便于調(diào)試和維護,但僅將功能按塊分配,加以有條件的調(diào)用,故雖然CPU效率得到提高,但代碼冗長、調(diào)試困難的缺點未得到明顯改善。

結構化編程方法:將復雜的自動化任務分割成過程相關的功能或可多次處理的小任務,以提供可以用于類似任務的通用的程序代碼,這樣更易于控制復雜任務。而這些小任務以相應的程序段表示,稱為塊。只需要在調(diào)用程序塊時針對不同的設備和工藝流程代入不同的參數(shù)或地址,即可實現(xiàn)不同設備的控制,無須多處重復輸入相同功能的代碼。當需要對功能進行修改時只需要修改程序塊即可,提高了編程的效率和可靠性。

3 結構化編程方法設計實例

在實際應用中,在對給排水行業(yè)通用設備和工藝進行詳細分析的基礎上,針對典型設備和工藝分別編制了水泵、儀表、閥門、泵站水泵調(diào)度、自動加藥等不同的控制模塊,使高效開發(fā)PLC程序在給排水行業(yè)的應用成為可能。下面以變頻水泵及泵站的水泵調(diào)度為例來介紹結構化編程方法。

3.1 變頻水泵功能塊

變頻水泵是給排水行業(yè)最常見的設備,其調(diào)用如圖2所示。

圖2為變頻水泵控制塊的調(diào)用實例,該FB的輸入輸出參數(shù)如圖3示。

功能塊接口參數(shù)共分為三種類型:輸入(INPUT);輸出(OUTPUT);輸入輸出(IN_OUT)。其中輸入?yún)?shù)主要有:遠程信號,上電信號,運行信號,水泵故障,電回路故障,變頻器故障,頻率輸入等;輸出參數(shù)主要有:開??刂?,頻率控制輸出,實際運行頻率等;輸入輸出類型參數(shù)主要有:變頻電機狀態(tài),變頻電機控制命令,電機臺時及開停次數(shù)統(tǒng)計,頻率設定值等。

輸入輸出類型參數(shù)可由人工或自控程序在功能塊外部進行賦值,也可由本功能塊內(nèi)部邏輯進行修改。其中的State、Command等參數(shù)均為WORD類型,其每一位分別代表了不同的含義。

該功能塊包含了除電流外的變頻水泵常見的絕大部分信號處理及控制功能,對于部分實際工程中未使用的參數(shù),可通過直接設置默認值或空置的方式進行處理。水泵電流可通過專門的模擬量處理程序塊進行數(shù)據(jù)轉換和上下限報警判斷,當電流超過上下限設定值時發(fā)出報警信號(過流、欠流)傳送給變頻水泵功能塊,從而實現(xiàn)水泵的電流超限保護功能。

3.2 泵站水泵調(diào)度功能塊

污水廠一般具有進水泵房、中間提升泵站、出水泵房等工藝段,其水泵控制模式基本相同,都是根據(jù)液位的變化來調(diào)節(jié)運行的水泵頻率和臺數(shù),調(diào)泵時又要考慮單臺設備的運行臺時和啟停間隔等因素。其基本原理介紹如下:

泵站的液位控制一般采用根據(jù)液位分段啟停泵的模式,不同的液位分別對應當前需要開泵的臺數(shù),同時具備死區(qū)保護功能,停泵液位設定值比啟泵液位設定值略低,以防止特殊情況下水泵的頻繁啟停[2]。

水泵的啟停選擇需要考慮以下幾個條件:

(1)熱備狀態(tài)。PLC首先檢測水泵上電情況,遠程狀態(tài),控制模式,故障情況等,當以上條件均滿足時認為該泵處于熱備狀態(tài),可被自控程序進行開停調(diào)度。

(2)平衡調(diào)泵。累計運行時間最短的泵優(yōu)先被啟動,運行時間最長的泵優(yōu)先停止,使每臺泵運轉時間大致相等。當運行時間相同時,按泵的順序啟停。

(3)啟動間隔保護??刂瞥绦蚴姑恳慌_泵每小時起動次數(shù)少于6次,兩次起動間隔≥10分鐘,且不論何種情況,不同時起動2臺及2臺以上水泵。

在實際應用中,根據(jù)分段啟泵原理以及低水位保護等條件編制泵站自控功能塊,計算當前需要開泵臺數(shù)。根據(jù)上述三條件,編制了水泵啟停調(diào)度選擇功能塊,用于選擇當前需要啟動的水泵編號。兩功能塊配套使用,可快速完成泵站自動調(diào)泵程序的編制工作。限于篇幅,本處不再詳述其具體實現(xiàn)過程。

程序編程范文第4篇

【關鍵詞】程序設計 梯形圖 經(jīng)驗法

由于可編程控制器的控制功能以程序的形式出現(xiàn),所以程序設計是一個重要環(huán)節(jié)。梯形圖是可編程序控制器的重要程序設計方法。一般應用程序設計可以分為經(jīng)驗設計法、邏輯設計法、順序功能圖設計法等。本文以工作臺自動往返循環(huán)工作為例主要介紹采用經(jīng)驗設計法進行梯形圖程序設計。

由于生產(chǎn)過程控制要求的復雜程度不同,可將程序按結構形式分為模塊化程序和基本程序。

基本程序既可以作為獨立程序控制簡單的生產(chǎn)工藝過程,也可以作為組合模塊結構中的單元程序;依據(jù)計算機程序的設計思想,基本程序的結構方式只有三種:順序結構、條件分支結構和循環(huán)結構。

模塊化程序:把一個總的控制目標程序分成多個具有明確子任務的程序模塊,分別編寫和調(diào)試,最后組成一個完整總任務的完整程序。這種方法稱為模塊化程序設計

經(jīng)驗設計法需要設計者掌握大量的基本程序。這些基本程序例如電動機正反轉聯(lián)鎖控、斷開延時和接通延時控制程序、警燈閃爍控制程序等。

我們以工作臺自動往返循環(huán)工作來進行說明。

1 設計要求

(1)自動循環(huán)工作。

(2)點動控制。

(3)單循環(huán)運行,即工作臺前進、后退一次循環(huán)后停在原位。

(4)8次循環(huán)計數(shù)控制。即工作臺前進、后退為一個循環(huán),循環(huán)8次后自動停在原位。

2 分析控制要求

(1)工作臺前進與后退是通過電動機正反轉來控制的,所以要用電動機正反轉這一基本程序;

(2)工作臺工作方式有點動控制和自動控制兩種方式,可以采用程序(軟件的方法)實現(xiàn)兩種運行方式的轉換。

(3)工作臺有單循環(huán)和多次循環(huán)兩種工作狀態(tài),可以采用控制開關來選擇。

(4)多次循環(huán)因要限定循環(huán)次數(shù),所以選擇計數(shù)器來進行控制。

3 分配I/O點

PLC控制系統(tǒng)I/O分配,依據(jù)生產(chǎn)流水線從前到后,I/O點數(shù)由小到大,盡可能把一個系統(tǒng)、設備或部件的I/O信號集中編制,以利于維護。表1為本例的I/O分配地址表。

4 控制程序設計

4.1 基本控制環(huán)節(jié)的程序

本控制要求的對象是工作臺,工作方式有前進和后退。電動機正轉時,使工作臺前進,電動機反轉時,使工作臺后退,因此基本控制程序是正反轉控制程序。

4.2 實現(xiàn)自動往返功能的程序設計

工作臺前進過程中撞塊壓合SQ2后,SQ2動作,X6常閉觸點應先斷開Y0線圈,使工作臺停止前進,后X6的常開觸點再接通Y1線圈,使工作臺后退,完成工作臺由前進轉為后退的動作,同理,撞塊壓合SQ1后,工作成由后退轉為前進的動作,因此在圖(1)中加入二個限位開關,如圖(2)所示。

4.3 實現(xiàn)點動控制功能和單循環(huán)控制功能程序設計

根據(jù)點動的概念可知,如果在上述梯形圖中解除自鎖,就能實現(xiàn)點動控。所以利用開關SA1來選擇點動和自動控制。SA1閉合后實現(xiàn)點動,SA1斷開,實現(xiàn)自動控制。

單循環(huán)工作方式是指啟動按鈕按下后,工作臺由原位前進,當撞塊壓合SQ2后由工作臺前進轉為后退,后退到原位后撞塊壓合SQ1后,使工作臺停在原位。如果撞塊壓合SQ1后,則X5常閉觸點斷開,使Y1線圈失電,工作臺停止后退。在X5常開觸點閉合后,只要不使Y0線圈得電,工作臺就不會前進,這樣便實現(xiàn)了單循環(huán)控制。如圖(3)所示。

根據(jù)上面這個例子,我總結出經(jīng)驗法設計梯形圖的一般規(guī)律:

(1)根據(jù)控制要求,設計出基本程序;

(2)逐步補充完善程序;使其能完生滿足控制要求;

(3)設置必要的聯(lián)鎖保護程序。

PLC控制系統(tǒng)的程序設計是一個步驟有序的系統(tǒng)工程,要想做到熟練自如,需要反復實踐和練習。設計的每一步,都要依靠平時所積累的程序設計經(jīng)驗來設計程序。

參考文獻

[1]張夢欣.可編程序控制器及其應用[M].中國勞動社會保障出版社,2006.

程序編程范文第5篇

關鍵詞:可編程程序控制器;特點;工作原理;電器控制;應用

中圖分類號:TP314 文獻標識碼:A 文章編號:1006-8937(2016)18-0074-02

1 可編程程序控制器(PLC)

1.1 可編程程序控制器(PLC)簡介

可編程程序控制器作為一種現(xiàn)代化自動控制裝置,其結構復雜多變,囊括了計算機技術、自動化技術、智能化技術、通訊技術等多種技術,通過用計算機處理器對程序進行操作和控制,不僅可以提高設備的工作效率和安全性,還可應用于新產(chǎn)品的開發(fā)與建設。

1.2 可編程程序控制器(PLC)的特點

可編程程序控制器采用的是一種數(shù)字電子化操作控制系統(tǒng),具有操作簡便性、使用可靠性高和抗干擾力強等優(yōu)點。因此,廣泛的應用在電器控制系統(tǒng)當中,其優(yōu)勢主要體現(xiàn)在以下幾方面。

1.2.1 降低操作難度,易于掌控

梯形圖語言作為PLC的基礎編程語言,具有辨識度高、具體形象、使用便利等優(yōu)點,降低了工作人員的操作難度。對工業(yè)生產(chǎn)中的電器控制系統(tǒng)進行了改進與完善,提高了工作效率。

1.2.2 系統(tǒng)程序功能完整

隨著科技和社會地不斷發(fā)展,可編程程序控制器(PLC)的功能也日益完善。除原本的基礎功能外,它還具有自動診斷功能、智能化功能、遠程輸入和輸出功能、定時功能、計算功能、圖形顯示功能和動態(tài)組合顯示功能等,系統(tǒng)控制從離散性轉變到連續(xù)性的流程模式,提高了設備的控制技術水平和控制質(zhì)量。

1.2.3 安全可靠性高

相比傳統(tǒng)的電器控制器,PLC系統(tǒng)中植入了抗干擾的系統(tǒng)體系,可進行電波過濾、電波干擾、光電隔離等,在不良環(huán)境中還可進行集中采樣并輸出,提高了設備對惡劣環(huán)境的適應性,增強其抗干擾能力,為系統(tǒng)的穩(wěn)定運行提供保障。當設備出現(xiàn)運行故障時,可編程程序控制器可啟動自我診斷系統(tǒng),對發(fā)生故障的位置進行精確定位,有利于電器維修工作的開展。PLC的故障處理流程,如圖1所示。

1.2.4 降低了生產(chǎn)成本,提高收益

可編程程序控制器的控制盤比傳統(tǒng)的繼電器體積縮小了近一半,減少了配線的使用,不僅體積大大縮小,而且降低了生產(chǎn)成本的投入,大大提高了經(jīng)濟收益,推動了現(xiàn)代工業(yè)自動化的發(fā)展進程。

1.2.5 適用范圍廣

現(xiàn)可編程程序控制器已具有較為完善的產(chǎn)品體系,有各有型號的產(chǎn)品可供用戶選擇,具有很強的通用性,擴大了可編程程序控制器的使用范圍。

2 工作流程

作為現(xiàn)代電器控制系統(tǒng)支柱之一的可編程程序控制器,擁有很強的抗干擾功能和精準的故障自我診斷及修復功能,既保障了設備運營的安全可靠性,又提高了電器控制的技術水平。可編程程序控制器為了更好地適應到電器控制系統(tǒng)當中,在其設計中大大提高了設備的通用性。PLC的工作流程具體如下:

首先,輸入功能進行信息的錄入。PLC的系統(tǒng)做出指令,根據(jù)現(xiàn)場的實際情況進行實時準確錄入和讀取。

其次,運算系統(tǒng)的運行。PLC按照操作者發(fā)出的指令進入邏輯及算法程序,對指定的輸入指令進行計算。

最后,邏輯控制功能的操作。根據(jù)對以上給出的邏輯運算結果進行指定系統(tǒng)傳達,使相應的系統(tǒng)做出用戶所需要的功能反應,完成控制器的整個工作流程。

可編程程序控制器在工作過程中按照連續(xù)掃描式的工作方式對各個指令進行分步進操作,整個掃描工作內(nèi)容包含了樣點輸入、系統(tǒng)處理、通訊處理、結果輸出等,具有運行速率快、數(shù)據(jù)處理精確度高等優(yōu)點,大大提高了工作效率。

3 可編程程序控制器的運用

可編程程序控制器在電器控制系統(tǒng)中有著重要的作用。因此,加強可編程程序控制器的系統(tǒng)裝備,保證電器控制系統(tǒng)處于安全、高效的工作狀態(tài),更好地服務社會和人民大眾。實踐表明,由于可編程程序控制器系統(tǒng)完善、技術過硬、可靠性高等諸多優(yōu)勢,以使其迅速在電器控制中占領市場。

3.1 開關量的邏輯控制

不同于傳統(tǒng)的繼電器電路,可編程程序控制器對設備的開關量控制從原本的單臺設備轉變?yōu)檎麄€生產(chǎn)流水線的設備控制模式,如組合機床和生產(chǎn)線等,大大減少了工業(yè)生產(chǎn)成本的投入資金,提高了工作效率,有利于實現(xiàn)最大化的經(jīng)濟效益。

3.2 對運動物體的控制

可編程程序控制器具有對圓周及直線運動軌跡的電器設備進行控制的能力。PLC針對物體的運動軌跡,啟動傳感器操作系統(tǒng)對其軌道的運行速度及運動方向進行系統(tǒng)控制,如可實現(xiàn)對電梯、機器人、機床的控制操作。

3.3 主要參數(shù)的處理

現(xiàn)代大多數(shù)產(chǎn)品的生產(chǎn)都是依靠電器控制系統(tǒng)完成的,生產(chǎn)過程中需要對溫度、濕度、壓強、速度、液體流速及高度等主要參數(shù)的變化進行及時錄入及監(jiān)測,這個環(huán)節(jié)工作量大且非常復雜,但可編程程序控制器可通過D/A轉換器進行及時處理,提高了編程控制器的準確度及工作效率。

3.4 總分式控制系統(tǒng)

這種電器控制方式是通過設置一臺主可編程程序控制器,通過其對各個設備進行集中監(jiān)控操作,負責各個設備間的信息連接與傳遞。總分式控制系統(tǒng)分工明確,統(tǒng)一由可編程程序控制器發(fā)出指令操作,可使各個設備各司其職,避免了單一設備間的信息傳遞不準確、操作復雜等缺點。同時,當其中一個程序控制要求發(fā)生改變時,可編程程序控制器可及時對設備發(fā)出指令,使全部設備終止運行,提高工作效率。

3.5 多層次獨立控制系統(tǒng)

這種電器控制方式是對每個控制對象都配備一個可編程程序控制器,通過多層次間的可編程程序控制器進行信息的傳遞及指令的下達。多層次獨立電器控制方式可對每個控制對象的信息進行詳細掌握,提高控制的精確度。除此之外,當某一PLC設備發(fā)生故障時,不會對其他控制對象產(chǎn)生影響,可將受害損失降低到最小。

4 結 語

在科技快速發(fā)展的今天,人們應該提高對可編程程序控制器的認識,不斷探索與研究,尋找出更好地提高可編程程序控制器的相關控制措施,將可編程程序控制器的穩(wěn)定性、安全性、高效性提高到最大程度。提高可編程程序控制器的應用水平,為我國電器控制的質(zhì)量提供了保障,不斷提高我國電器控制領域的發(fā)展步伐。

參考文獻:

安吉县| 招远市| 德阳市| 涟水县| 榆树市| 肥西县| 台北县| 兰溪市| 湘潭市| 仪征市| 竹山县| 甘南县| 中西区| 肇东市| 贵南县| 合肥市| 丰台区| 洪泽县| 新巴尔虎右旗| 山阳县| 宜宾县| 云林县| 报价| 宝兴县| 恩施市| 滦平县| 晋江市| 焉耆| 政和县| 晋州市| 汉沽区| 会同县| 福鼎市| 嘉禾县| 海兴县| 富宁县| 栾城县| 井陉县| 平江县| 阳朔县| 格尔木市|