* DESCRIPTION: DDS design BY PLD DEVICES.\r\n *\r\n * AUTHOR: Sun Yu\r\n *\r\n * HISTORY: 12/06/2002 \r\n *
標(biāo)簽: DESCRIPTION DEVICES design DDS
上傳時(shí)間: 2013-09-09
上傳用戶:jokey075
PLC 以 其 可靠性高、抗干擾能力強(qiáng)、配套齊全、功能完善、適應(yīng)性強(qiáng)等特點(diǎn),廣泛應(yīng)用于各種控制領(lǐng)域。PLC作為通用工業(yè)控制計(jì)算機(jī),是面向工礦企業(yè)的工控設(shè)備,使用梯形圖符號(hào)進(jìn)行編程,與繼電器電路相當(dāng)接近,被廣大工程技術(shù)人員接受。但是在實(shí)際應(yīng)用中,如何編程能夠提高PLC程序運(yùn)行速度是一個(gè)值得我們思考研究的問(wèn)題。1 PLC工作原理PLC 與 計(jì) 算機(jī)的工作原理基本相同,即在系統(tǒng)程序的管理下,通過(guò)運(yùn)行應(yīng)用程序完成用戶任務(wù)。但兩者的工作方式有所不同。計(jì)算機(jī)一般采用等待命令的工作方式,而PLC在確定了工作任務(wù)并裝人了專用程序后成為一種專用機(jī),它采用循環(huán)掃描工作方式,系統(tǒng)工作任務(wù)管理及應(yīng)用程序執(zhí)行都是用循環(huán)掃描方式完成的。PLC 有 兩 種基本的工作狀態(tài),即運(yùn)行(RUN)與停止(STOP)狀態(tài)。在這兩種狀態(tài)下,PLC的掃描過(guò)程及所要完成的任務(wù)是不盡相同的,如圖1所示。 PLC在RUN工作狀態(tài)時(shí),執(zhí)行一次掃描操作所的時(shí)間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產(chǎn)品則略有不同。掃描周期由內(nèi)部處理時(shí)間、輸A/ 輸出處理執(zhí)行時(shí)間、指令執(zhí)行時(shí)間等三部分組成。通常在一個(gè)掃描過(guò)程中,執(zhí)行指令的時(shí)間占了絕大部分,而執(zhí)行指令的時(shí)間與用戶程序的長(zhǎng)短有關(guān)。用戶 程 序 是根據(jù)控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對(duì)應(yīng)的程序步不同,以三菱FX2N系列的PLC為例,PLC對(duì)每一個(gè)程序步操作處理時(shí)間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個(gè)控制任務(wù)可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運(yùn)行速度,又可以保證可靠性。 提高PLC程序運(yùn)行速度的幾種編程方法2.1 用數(shù)據(jù)傳送給位元件組合的方法來(lái)控制輸出在 PL C應(yīng) 用編程中,最后都會(huì)有一段輸出控制程序,一般都是用邏輯取及輸出指令來(lái)編寫(xiě),如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個(gè)程序步。通常情況下,PLC要控制的輸出都不會(huì)是少量的,比如,有8個(gè)輸出,在條件滿足時(shí)要同時(shí)輸出。此時(shí),執(zhí)行圖2所示的程序共需17個(gè)程序步。若我們通過(guò)位元件的組合并采用數(shù)據(jù)傳送的方法來(lái)完成圖2所示的程序,就會(huì)大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來(lái)也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號(hào)來(lái)表示。位元件每4bit為一組組合成單元。如KYO中的n是組數(shù),當(dāng)n=1時(shí),K,Yo 對(duì)應(yīng)的是Y3一Yo。當(dāng)n二2時(shí),KZYo對(duì)應(yīng)的是Y7一Yo。通過(guò)位元件組合,就可以用處理數(shù)據(jù)的方式來(lái)處理位元件,圖2程序所示的功能可用圖3所示的傳送數(shù)據(jù)的方式來(lái)完成。
標(biāo)簽: PLC 程序 運(yùn)行速度 編程方法
上傳時(shí)間: 2013-11-11
上傳用戶:幾何公差
n去除C++中不容易理解的部分,如指針 n語(yǔ)法與C語(yǔ)言類似 n面向?qū)ο?n純面向?qū)ο?n對(duì)軟件工程技術(shù)有很強(qiáng)的支持.掌握面向?qū)ο蠡靖拍?n學(xué)習(xí)并理解Java基本語(yǔ)法 n運(yùn)用Java語(yǔ)言進(jìn)行簡(jiǎn)單應(yīng)用
標(biāo)簽: 分
上傳時(shí)間: 2014-01-27
上傳用戶:WMC_geophy
改進(jìn)遺傳算法-郭濤算法做最優(yōu)化問(wèn)題很管用,算法的基本思想是 先任意產(chǎn)生n個(gè)隨機(jī)數(shù),然后從n個(gè)數(shù)里隨機(jī)選擇m個(gè)數(shù),再有這m個(gè) 數(shù)合成一個(gè)新數(shù),將這個(gè)新數(shù)同n個(gè)數(shù)中間適應(yīng)值函數(shù)值的最差的比較, 如果好的話就取代最差的那個(gè),如果它比最好的還要好的話,則把最好的 也取代。如果比最差的壞,則重新合成一個(gè)新數(shù)。依次循環(huán)下去。 程序的奇妙之處是GA_crossover()函數(shù),產(chǎn)生的新數(shù)確實(shí)比較好,看看 那位大俠能改進(jìn)一下,產(chǎn)生比這跟好的數(shù)。
標(biāo)簽: 算法 郭濤算法 隨機(jī)數(shù)
上傳時(shí)間: 2015-04-10
上傳用戶:thuyenvinh
.?dāng)?shù)據(jù)結(jié)構(gòu) 假設(shè)有M個(gè)進(jìn)程N(yùn)類資源,則有如下數(shù)據(jù)結(jié)構(gòu): MAX[M*N] M個(gè)進(jìn)程對(duì)N類資源的最大需求量 AVAILABLE[N] 系統(tǒng)可用資源數(shù) ALLOCATION[M*N] M個(gè)進(jìn)程已經(jīng)得到N類資源的資源量 NEED[M*N] M個(gè)進(jìn)程還需要N類資源的資源量 2.銀行家算法 設(shè)進(jìn)程I提出請(qǐng)求Request[N],則銀行家算法按如下規(guī)則進(jìn)行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(zhuǎn)(2);否則,出錯(cuò)。 (2)如果Request[N]<=AVAILABLE,則轉(zhuǎn)(3);否則,出錯(cuò)。 (3)系統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù): AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險(xiǎn)性分配作廢,系統(tǒng)恢復(fù)原狀,進(jìn)程等待。 3.安全性檢查 (1)設(shè)置兩個(gè)工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進(jìn)程集合中找到一個(gè)滿足下述條件的進(jìn)程, FINISH[i]=FALSE NEED<=WORK 如找到,執(zhí)行(3);否則,執(zhí)行(4) (3)設(shè)進(jìn)程獲得資源,可順利執(zhí)行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進(jìn)程Finish[M]=true,則表示安全;否則系統(tǒng)不安全。
標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu) 進(jìn)程 資源
上傳時(shí)間: 2014-01-05
上傳用戶:moshushi0009
數(shù)據(jù)結(jié)構(gòu) 假設(shè)有M個(gè)進(jìn)程N(yùn)類資源,則有如下數(shù)據(jù)結(jié)構(gòu): MAX[M*N] M個(gè)進(jìn)程對(duì)N類資源的最大需求量 AVAILABLE[N] 系統(tǒng)可用資源數(shù) ALLOCATION[M*N] M個(gè)進(jìn)程已經(jīng)得到N類資源的資源量 NEED[M*N] M個(gè)進(jìn)程還需要N類資源的資源量 2.銀行家算法 設(shè)進(jìn)程I提出請(qǐng)求Request[N],則銀行家算法按如下規(guī)則進(jìn)行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(zhuǎn)(2);否則,出錯(cuò)。 (2)如果Request[N]<=AVAILABLE,則轉(zhuǎn)(3);否則,出錯(cuò)。 (3)系統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù): AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險(xiǎn)性分配作廢,系統(tǒng)恢復(fù)原狀,進(jìn)程等待。 3.安全性檢查 (1)設(shè)置兩個(gè)工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進(jìn)程集合中找到一個(gè)滿足下述條件的進(jìn)程, FINISH[i]=FALSE NEED<=WORK 如找到,執(zhí)行(3);否則,執(zhí)行(4) (3)設(shè)進(jìn)程獲得資源,可順利執(zhí)行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進(jìn)程Finish[M]=true,則表示安全;否則系統(tǒng)不安全。
標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu) 進(jìn)程 資源
上傳時(shí)間: 2013-12-24
上傳用戶:alan-ee
半數(shù)集問(wèn)題 問(wèn)題描述: 給定一個(gè)自然數(shù)n,由n開(kāi)始可以依次產(chǎn)生半數(shù)集set(n)中的數(shù)如下。 (1) n∈set(n); (2) 在n的左邊加上一個(gè)自然數(shù),但該自然數(shù)不能超過(guò)最近添加的數(shù)的一半; (3) 按此規(guī)則進(jìn)行處理,直到不能再添加自然數(shù)為止。 例如,set(6)={6,16,26,126,36,136}。半數(shù)集set(6)中有6個(gè)元素。 編程任務(wù): 對(duì)于給定的自然數(shù)n,編程計(jì)算半數(shù)集set(n)中的元素個(gè)數(shù)。
標(biāo)簽: 61611
上傳時(shí)間: 2015-06-01
上傳用戶:netwolf
某單位需要完成N項(xiàng)任務(wù),恰好有N個(gè)人可承擔(dān)這些任務(wù)。由于每人的專長(zhǎng)不同,個(gè)人完成任務(wù)不同,所需成本也不同。若第i個(gè)人完成第將j項(xiàng)任務(wù)的成本為C(i,j),問(wèn)題是如何分配這些工作任務(wù),使總成本最小? 這類問(wèn)題為指派問(wèn)題。
標(biāo)簽: 單位
上傳時(shí)間: 2015-06-08
上傳用戶:Yukiseop
實(shí)現(xiàn)阿克曼函數(shù)并統(tǒng)計(jì)遞歸調(diào)用次數(shù) Counting times of recursion calling 1. 問(wèn)題描述 定義阿克曼遞歸函數(shù): ACK(0,n)=n+1 n>=0 ACK(m,0)=ACK(m-1,1) m>=1 ACK(m,n)=ACK(m-1,ACK(m,n-1)) m,n>0 2. 基本要求 讀入m、n,輸出ACK(m,n)的值,并統(tǒng)計(jì)遞歸調(diào)用次數(shù)。
標(biāo)簽: recursion Counting calling times
上傳時(shí)間: 2015-06-11
上傳用戶:hgy9473
2的16次冪正整數(shù)d與n,編寫(xiě)計(jì)算d-1 (mod n) 的程序; 2、對(duì)于三個(gè)不超過(guò)2的16次冪正整數(shù)a、e與n,編寫(xiě)計(jì)算ae (mod n) 的程序。 在上述程序基礎(chǔ)上寫(xiě)出下列程序: (1) 對(duì)給定的10000以內(nèi)數(shù)判定其是否為素?cái)?shù); (2) 進(jìn)行ElGamal體制的加密與簽名。
上傳時(shí)間: 2013-12-25
上傳用戶:stvnash
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1