基于PLC的自動(dòng)化制造系統(tǒng)外文翻譯、中英文翻譯、外文文獻(xiàn)翻譯_第1頁
基于PLC的自動(dòng)化制造系統(tǒng)外文翻譯、中英文翻譯、外文文獻(xiàn)翻譯_第2頁
基于PLC的自動(dòng)化制造系統(tǒng)外文翻譯、中英文翻譯、外文文獻(xiàn)翻譯_第3頁
基于PLC的自動(dòng)化制造系統(tǒng)外文翻譯、中英文翻譯、外文文獻(xiàn)翻譯_第4頁
基于PLC的自動(dòng)化制造系統(tǒng)外文翻譯、中英文翻譯、外文文獻(xiàn)翻譯_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

屆本科畢業(yè)設(shè)計(jì) (論文 )外文 文獻(xiàn)翻譯 學(xué) 院: 專 業(yè): 姓 名: 學(xué) 號(hào): 外文出處: Automating Manufacturing Systems with PLCs 附 件: 1、外文翻譯 2、外文原文 1 附錄 1:外文資料翻譯譯文 基于 PLC 的自動(dòng)化制造系統(tǒng) 15.梯形圖邏輯函數(shù) 主題: 數(shù)據(jù)處理、 數(shù)學(xué)運(yùn)算 、 數(shù)據(jù)轉(zhuǎn)換 、 陣列操作 、 統(tǒng)計(jì) 、 比較 、 布爾量運(yùn)算等函數(shù) 設(shè)計(jì)實(shí)例 宗旨: 理解基本函數(shù) ,允許計(jì)算和比較 了解使用了內(nèi)存文件的數(shù)組函數(shù) 15.1 介紹 梯行圖邏輯輸入觸點(diǎn)和輸出線圈之間允許簡(jiǎn)單的邏輯 判斷。這些函數(shù)把基本的梯形圖邏輯延伸到其他控制形式中。例如,附加的定時(shí)器和計(jì)數(shù)器允許基于事件的控制。在下圖 15.1 中有一個(gè)較長(zhǎng)的關(guān)于這些函數(shù)的表。這包括了組合邏輯和事件函數(shù)。 本章將會(huì) 研究數(shù)據(jù)處理和數(shù)值的邏輯 。 下一章將介紹表、程序控制和一些輸入和輸出函數(shù)。剩下的函數(shù)會(huì)在后面的章節(jié)中討論 圖 15.1 基本 PLC 函數(shù)分類 組合邏輯函數(shù) 繼電器觸點(diǎn) 線圈 事件函數(shù) 計(jì)時(shí)顯示 計(jì)數(shù)顯示 數(shù)據(jù)處理函數(shù) 移動(dòng) 數(shù)學(xué)運(yùn)算 轉(zhuǎn)換 數(shù)字邏輯函數(shù) 布爾量運(yùn)算 比較 列表函數(shù) 轉(zhuǎn)移入棧 /出棧 序列發(fā)生器 程序控制函數(shù) 分支 /循環(huán) 立即輸入 /輸出 錯(cuò)誤 /中斷檢測(cè) 輸入輸出函數(shù) PID 通訊 高速計(jì)數(shù)器 字符串函數(shù) 2 大多數(shù)的函數(shù)會(huì)使用 PLC 的存儲(chǔ)單元獲取值 、 儲(chǔ)存值和跟蹤函 數(shù)狀態(tài)。一般大部分函數(shù)當(dāng)輸入值是“真”時(shí),會(huì)被激活。但是,有些函數(shù),如延時(shí)斷開定時(shí)器,可以在無輸入時(shí),保持激活狀態(tài)。其它的函數(shù)僅當(dāng)輸入由“假”變“真”時(shí),才會(huì)被執(zhí)行,這就是所謂的上升沿觸發(fā)。想想,一計(jì)數(shù)器僅僅是輸入由“假”變“真”時(shí)才會(huì)計(jì)數(shù),輸入為“真”狀態(tài)的持續(xù)時(shí)間并不影響函數(shù)動(dòng)作。而下降沿觸發(fā)函數(shù)僅當(dāng)輸入由“真”變“假”時(shí)才會(huì)觸發(fā)。多數(shù)函數(shù)并非邊沿觸發(fā):除非有規(guī)定說明函數(shù)不是邊沿觸發(fā)。 標(biāo)簽:我并沒有像說明書或者軟件里那樣準(zhǔn)確的畫出這些函數(shù)。因?yàn)?這樣會(huì)節(jié)省空間并且易于閱讀,但是所有的必要信息我都給出了 。 15.2 數(shù)據(jù)處理 15.2.1 傳遞函數(shù) 有兩種基本的傳遞函數(shù); MOV(值 ,操作數(shù) ) -把值傳遞到指定的存儲(chǔ)位置。 MVM(值 ,標(biāo)號(hào) ,操作數(shù) ) -把值傳遞到指定的存儲(chǔ)位置,但是用標(biāo)號(hào)來指定一個(gè)傳遞的位。 這個(gè) MOV 函數(shù)從一個(gè)存儲(chǔ)空間取出一個(gè)值放置到另外一個(gè)存儲(chǔ)空間里。下圖 15.2 給出了 MOV 的基本用法。當(dāng) A 為“真”, MOV 函數(shù)把一個(gè)浮點(diǎn)數(shù)從原操作數(shù)傳遞到操作數(shù)存儲(chǔ)位置。原操作數(shù)地址中的數(shù)據(jù)沒有改變。當(dāng) B 為“真”時(shí),原操作數(shù)中的浮點(diǎn)數(shù)將被轉(zhuǎn)換成整數(shù)存儲(chǔ)在操作數(shù)存儲(chǔ)區(qū)中。浮點(diǎn)數(shù)會(huì)被四舍五入成整數(shù)。當(dāng) C 為“真”時(shí),整數(shù)“ 123”將被存儲(chǔ)在整數(shù)文件 N7:23 中。 M O V原 操 作 數(shù) F 8 : 0 7操 作 數(shù) N 7 : 2 3M O V原 操 作 數(shù) 1 2 3操 作 數(shù) N 7 : 2 3M O V原 操 作 數(shù) F 8 : 0 7操 作 數(shù) F 8 : 2 3 標(biāo)簽:當(dāng)函數(shù)值改變時(shí),除了輸入與輸出,其值是瞬間改變的。試想: 3 圖 15.2 中,如果 ABC 都為“真”,那么 F8:23 的值將會(huì)在下一個(gè)指令到來前 就變化。這與輸入輸出掃描只發(fā)生在邏輯掃描之前或者之后不同。 圖 15.2 MOV 的基本用法 下圖 15.3 給出了更多更復(fù)雜的 MOV 函數(shù)用法。當(dāng) A 為“真”時(shí),第一個(gè)模塊將會(huì)把值“ 123”送入 N7:0,同時(shí)第二個(gè)模塊將會(huì)把值“ -9385”從 N7:1 送到 N7:2 中(這個(gè)值之所以為負(fù)數(shù),是因?yàn)槲覀兪褂昧?2S 的 compliment)。對(duì)于基本的 MOV 函數(shù)使用中,二進(jìn)制數(shù)值不是必要的;但是在 MVM 函數(shù)中,二進(jìn)制數(shù)值卻是必要的。這個(gè)模塊中從 N7:3 移動(dòng)二進(jìn)制數(shù)值到 N7:5 中。 但是這些“位”在 N7:4 中仍為“ ON”, 操作數(shù)的其他位將不會(huì)受到影響 。請(qǐng)注意:N7:5 的第一位 N7:5/0 在指令執(zhí)行前后仍為“ ON” ,但是在 N7:4 中卻不同, MVM函數(shù)當(dāng)應(yīng)用在個(gè)別二進(jìn)制位的處理中時(shí)非常有用,但是處理實(shí)數(shù)卻是用處不大了。 M O V原 操 作 數(shù) 1 3 0d e s t N 7 : 0M O V原 操 作 數(shù) N 7 : 1d e s t N 7 : 2M V M原 操 作 數(shù) N 7 : 3標(biāo) 號(hào) N 7 : 4d e s t N 7 : 5M V M原 操 作 數(shù) N 7 : 3標(biāo) 號(hào) N 7 : 4d e s t N 7 : 6 之前數(shù) 據(jù) 之后數(shù)據(jù) 地址 二進(jìn)制 十進(jìn)制 二進(jìn)制 十進(jìn)制 N7:0 B#0000000000000000 0 B#0000000010000010 130 N7:1 B#1101101101010111 -9385 B#1101101101010111 -9385 N7:2 B#1000000000000000 -32768 B#1101101101010111 -9385 N7:3 B#0101100010111011 22715 B#1101100010111011 -10053 N7:4 B#0010101010101010 10922 B#0010101010101010 10922 N7:5 B#0000000000000001 1 B#00001000101010 2219 N7:6 B#1101110111111111 B#1101110111111111 4 標(biāo)簽:標(biāo)號(hào)的概念非常重要,并且也可以用在其他函數(shù)中。標(biāo)號(hào)允許指令改變一個(gè)二進(jìn)制數(shù)據(jù)的其中四位,而不用改變它的全部數(shù)值。當(dāng)你 使用二進(jìn)制數(shù)據(jù)中的位來表示聲明,模式或者狀態(tài)等內(nèi)容時(shí),你會(huì)很希望這么做。圖 15.3 是 MOV 和MVM 函數(shù)對(duì)二進(jìn)制數(shù)值的操作例子 圖 15.3MOV 和 MVM 函數(shù)的使用實(shí)例 15.2.2 數(shù)學(xué)函數(shù) 數(shù)學(xué)函數(shù)將檢索一個(gè)或多個(gè)值 ,執(zhí)行一個(gè)操作然后把結(jié)果儲(chǔ)存在內(nèi)存中。圖 15.4 展示的是一個(gè) ADD 函數(shù)從 N7:4 和 F8:35 中讀取數(shù)據(jù)操,把他們轉(zhuǎn)換成操作數(shù)的地址格式,把兩個(gè)浮點(diǎn)數(shù)相加,結(jié)果儲(chǔ)存在 F8:36 中。該函數(shù)有兩個(gè)原操作數(shù)記做“原操作數(shù) A” 、 “原操作數(shù) B”。對(duì)于該函數(shù)來說原操作數(shù)順序可以改變,但是這對(duì)于“減法函數(shù)”或 “除法函數(shù)”等其他操作來說卻不一定正確,下面列出了其他一些基本的數(shù)學(xué)函數(shù)。其中的一些,如“取負(fù)”是一元的函數(shù),也就是說它只有一個(gè)原操作數(shù)。 加原 操 作 數(shù) A N 7 : 0 4原 操 作 數(shù) B F 8 : 3 5操 作 數(shù) F 8 : 3 6 加(值 1,值 2,操作數(shù)) -累加兩個(gè)值 減(值 1,值 2,操作數(shù)) -值 1 減值 2 給操作數(shù) 乘(值 1,值 2,操作數(shù)) -值 1 乘值 2 給操作數(shù) 除(值 1,值 2,操作數(shù)) -值 1 除值 2 給操作數(shù) 取反(值,操作數(shù)) -將值取反送給操作數(shù) 清除(值) -將值存儲(chǔ)區(qū)清零 標(biāo)簽:為 了節(jié)省空間上圖給出了函數(shù)的縮略符號(hào),例如函數(shù) ADD(值 1,值 2,操作數(shù))需要兩個(gè)原操作數(shù),并把值存入操作數(shù)。為了減少描述函數(shù)時(shí)的空間這些符號(hào)將被用在很多地方 圖 15.4 數(shù)學(xué)函數(shù) 圖 15.5 列出了數(shù)學(xué)函數(shù)的用法,多數(shù)函數(shù)的執(zhí)行會(huì)給出我們期待的結(jié)果,第二個(gè) ADD 函數(shù)從 N7: 3 中取了一個(gè)值,加 1 然后送入原操作數(shù),這就是通常所說的“自加”操作。第一個(gè) DIV,執(zhí)行操作整數(shù) 25 除以整數(shù) 10,結(jié)果四舍五入 5 為最接近的整數(shù),這時(shí),結(jié)果被儲(chǔ)存在 N7:6 中。 NEG 指令取走了新數(shù)“ -10”,而不是源數(shù)據(jù)“ 0”,從 N7:4 取出的數(shù) 據(jù)符號(hào)被取反,結(jié)果存入 N7:7。 地址 之前值 之后值 N7:0 10 10 N7:1 25 25 N7:2 0 35 N7:3 0 1 N7:4 0 -10 N7:5 0 250 N7:6 0 3 N7:7 0 10 N7:8 100 0 F8:0 10.0 10.0 F8:1 25.0 25.0 F8:2 0 2.5 F8:3 0 2.5 圖 15.5 數(shù)學(xué)函數(shù)例子 標(biāo)簽:調(diào)用,整數(shù)范圍從 -32768 到 32767 并且沒有小數(shù)。 圖 15.6 列出了更多的高級(jí)函數(shù) 。這個(gè)列表包括基本的三角函數(shù) 、 取絕對(duì)值函數(shù) 、 對(duì)數(shù)函數(shù) 、 取二次方根函數(shù)。最后一個(gè)函數(shù) CPT 能接受表達(dá)式并且可以執(zhí)行一個(gè)復(fù)雜的運(yùn)算。 ACS(值 ,操作數(shù) ) - 反余弦 COS(值 ,操作數(shù) ) - 余弦 ASN(值 ,操作數(shù) ) - 反正弦 SIN(值 ,操作數(shù) ) - 正弦 ATN(值 ,操作數(shù) ) -反正切 TAN(值 ,操作數(shù) ) - 正切 6 XPY(值 1,值 2,操作數(shù) ) - X 的 Y 次冪 LN(值 ,操作數(shù) ) - 自然對(duì)數(shù) LOG(值 ,操作數(shù) ) - 以 10 為底的對(duì)數(shù) SQR(值 ,操作數(shù) ) - 開二次方根 CPT(操作數(shù) ,表達(dá)式 ) - 做運(yùn)算 圖 15.6 高級(jí)數(shù)學(xué)函數(shù) 圖 15.7 展示的是把表達(dá)式轉(zhuǎn)化成梯形圖邏輯。轉(zhuǎn)換的第一步是把表達(dá)式的變量存入 PLC 中沒被使用過的存儲(chǔ)區(qū)中。接下來擁有很多嵌套運(yùn)算的方程就可以被轉(zhuǎn)化,例如 LN 函數(shù)。這時(shí) LN 函數(shù)的運(yùn)算結(jié)果被保存在其他存儲(chǔ)空間中,之后會(huì)被調(diào)用。其它的一些操作會(huì)應(yīng)用在相似的情況下。(注意:這些方程可能應(yīng)用在其他場(chǎng)合中,占用更少的存儲(chǔ)空間。) 給 定 方 程指 定 存 儲(chǔ) 圖 15.7 用梯形圖表示的方程 和圖 15.7 中一樣的方程被應(yīng)用于圖 15.8 所 示的 CPT 函數(shù)中。存儲(chǔ)區(qū)也和上 7 圖使用的一樣。該表達(dá)式被直接輸進(jìn)了 PLC 程序中。 圖 15.8 利用 CPT 函數(shù)計(jì)算 數(shù)學(xué)函數(shù)可以導(dǎo)致諸如溢出,進(jìn)位等狀態(tài)標(biāo)識(shí)位變化,注意要盡量避免出現(xiàn)像“溢出”這樣的問題。但是使用浮點(diǎn)數(shù)時(shí)這種問題會(huì)少一點(diǎn)。而整數(shù)極易出現(xiàn)這樣的問題,因?yàn)樗鼈兪艿?-32768 32767 這樣一個(gè)數(shù)據(jù)范圍的限制。 15.2.3 轉(zhuǎn)換函數(shù) 梯形圖中的轉(zhuǎn)換函數(shù)列在了圖 15.9 中。例子中的函數(shù)將會(huì)從 D 存儲(chǔ)區(qū)讀取一個(gè) BCD 碼數(shù)據(jù),然后把它轉(zhuǎn)換為浮點(diǎn)數(shù)存儲(chǔ)在 F8:2 中。其它的函數(shù)將把二進(jìn)制負(fù)數(shù)轉(zhuǎn)換成 BCD 碼 數(shù)據(jù),下面的函數(shù)也包含了弧度數(shù)和角度的轉(zhuǎn)化。 TOD(value,destination) 把 BCD 碼轉(zhuǎn)換為二進(jìn)制數(shù) FRD(value,destination) - 把二進(jìn)制值轉(zhuǎn)換為 BCD 碼 DEG(value,destination) 把弧度數(shù)轉(zhuǎn)換為度數(shù) RAD(value,destination) - 把度數(shù)轉(zhuǎn)換為弧度數(shù) 圖 15.9 轉(zhuǎn)換函數(shù) 圖 15.10 給出了轉(zhuǎn)換函數(shù)的例子。這些函數(shù)讀取一個(gè)源數(shù)據(jù)后,開始轉(zhuǎn)換,結(jié)束后儲(chǔ)存結(jié)果。 TOD 函數(shù)轉(zhuǎn)換成 BCD 碼將會(huì)出現(xiàn)“溢出”錯(cuò)誤。 8 地址 之前值 之后值 N7:0 0 1793 N7:1 548 548 F8:0 3.141 3.141 F8:1 45 45 F8:2 0 180 F8:3 0 0.785 D9:0 0000 0000 0000 0000 0000 0101 0100 1000 D9:1 0001 0111 1001 0011 0001 0111 1001 0011 圖 15.10 轉(zhuǎn)換例子 15.2.4 矩陣函數(shù) 矩陣可以儲(chǔ)存多列數(shù)據(jù)。在 PLC 中這將是一系列的整數(shù)數(shù)字,浮點(diǎn)數(shù)或者 其它類型的數(shù) 據(jù)。例如,假定我們測(cè)量和保存一塊封裝芯片的重量時(shí)要使用浮點(diǎn)數(shù)存儲(chǔ)區(qū) F8:20。每十分鐘要讀取一次重量數(shù)據(jù),并且一小時(shí)后找出平均重量。這一節(jié)我們將聚焦于矩陣中多組數(shù)據(jù)的處理技術(shù),也就是說明書中所謂的“塊”。 15.2.4.1-統(tǒng)計(jì) 這些函數(shù)也是可以處理統(tǒng)計(jì)數(shù)據(jù)的。圖 15.11 列出了這些函數(shù),當(dāng) A 變?yōu)椤罢妗?AVE 函數(shù)的轉(zhuǎn)換操作從存儲(chǔ)區(qū) F8:0 開始,并算出四個(gè)數(shù)的平均值??刂谱?R6:1 被用來跟蹤運(yùn)算的進(jìn)程,并判斷運(yùn)算何時(shí)結(jié)束。這些運(yùn)算還有其它的一些是邊沿觸發(fā)的。該次運(yùn)算可能會(huì)需要經(jīng)過多個(gè)掃描周期才能完成。運(yùn)算結(jié)束 后,平均值被儲(chǔ)存在 F8:0 中,同時(shí) R6:1/DN 位被置 ON。 圖 15.11 統(tǒng)計(jì)函數(shù) AVE(開始值 ,操作數(shù) ,控制字 ,長(zhǎng)度 ) 求平均值 STD(開始值 ,操作數(shù) ,控制字 ,長(zhǎng)度 ) 求標(biāo)準(zhǔn)差 SRT(開始值 ,控制字 ,長(zhǎng)度 ) 排列一串值 9 如圖 15.12 給出的統(tǒng)計(jì)函數(shù)例子,它擁有一個(gè)有四個(gè)字長(zhǎng)從 F8:0 開始的數(shù)組數(shù)據(jù)。每次執(zhí)行平均值運(yùn)算的結(jié)果儲(chǔ)存在 F8:4 中,標(biāo)準(zhǔn)差 儲(chǔ)存在 F8:5 中。一系列數(shù)值被存放在從 F8:0 到 F8:3 的按升序排列的存儲(chǔ)區(qū)中。為防止出現(xiàn)數(shù)據(jù)覆蓋現(xiàn)象,每個(gè)函數(shù)都應(yīng)該有自己的控制存儲(chǔ)器。同時(shí)觸發(fā)該函數(shù)與其他運(yùn)算不是一個(gè)明智的選擇,因?yàn)樵谟?jì)算期間該函數(shù)會(huì)移動(dòng)數(shù)據(jù),這會(huì)導(dǎo)致錯(cuò)誤的結(jié)果。 地址 之前 A 導(dǎo)通后 B 導(dǎo)通后 C 導(dǎo)通后 F8:0 3 3 3 1 F8:1 1 1 1 2 F8:2 2 2 2 3 F8:3 4 4 4 4 F8:4 0 2.5 2.5 2.5 F8:5 0 0 1.29 1.29 圖 15.12 統(tǒng)計(jì)運(yùn)算 旁白:這些函 數(shù)允許 SPC(統(tǒng)計(jì))數(shù)據(jù)控制中的實(shí)數(shù)運(yùn)算。僅 有的不是這樣的 PLC 函數(shù)是隨機(jī)函數(shù),它允許出現(xiàn)隨機(jī)樣本數(shù)據(jù)。 15.2.4.2-塊操作 圖 15.13 給出了最基本的塊函數(shù)。這個(gè) COP 函數(shù)將會(huì)拷貝從 N7:50 到 N7:40擁有十個(gè)數(shù)據(jù)的數(shù)組。 FAL 函數(shù)將會(huì)通過一個(gè)表達(dá)式執(zhí)行數(shù)學(xué)運(yùn)算。 FSC 函數(shù)通過使用表達(dá)式允許數(shù)組之間進(jìn)行比較。 FLL 函數(shù)會(huì)利用一個(gè)數(shù)據(jù)把塊存儲(chǔ)區(qū)填充起來。 10 COP(開始值 ,操作數(shù) ,長(zhǎng)度 ) 拷貝一個(gè)數(shù)據(jù)塊 FAL(控制字 ,長(zhǎng)度 ,模式 ,操作數(shù) ,表達(dá)式 ) 為得到一個(gè)多重值而執(zhí)行基本的數(shù)學(xué)運(yùn)算 FSC(控制字 ,長(zhǎng)度 ,模式 ,操作數(shù) ,表達(dá)式 ) 為得到一個(gè)多重值而作一個(gè)比較 FLL(值 ,操作數(shù) ,長(zhǎng)度 ) 把一個(gè)單一值拷貝到一個(gè)數(shù)據(jù)塊 圖 15.13 塊操作函數(shù) 圖 15.14 顯示的是擁有不同地址模式的 FAL 函數(shù)使用例子。第一個(gè) FAL 函數(shù)將會(huì)執(zhí)行下列運(yùn)算: N7:5=N7:0+5, N7:6=N7:1+5, N7:7=N7:2+5, N8:7=N7:3+5, N7:9=N7:4+5. 第二個(gè) FAL 函數(shù)中在表達(dá)式值之前缺少“ #”標(biāo)識(shí),因此運(yùn)算將變?yōu)椋?N7:5=N7:0+5, N7:6=N7:0+5, N7:7=N7:0+5, N8:7=N7:0+5, N7:9=N7:0+5. 當(dāng) B 為真,且為模式 2 時(shí)該指令在每次掃描周期到來時(shí)執(zhí)行兩個(gè)運(yùn)算。最后一個(gè) FAL 運(yùn)算的結(jié)果為: N7:5=N7:0+5, N7:5=N7:1+5, N7:5=N7:2+5, N7:5=N7:3+5, N7:5=N7:4+5. 最后一個(gè)操作貌似沒什么用處,但是請(qǐng)注意,該運(yùn)算是增值的。在 C上升沿到來時(shí)該運(yùn)算都會(huì)執(zhí)行一次。每次掃描周期經(jīng)過時(shí),這幾個(gè)運(yùn)算將執(zhí)行所有的 5個(gè)操作一次。 用來指示每次掃描運(yùn)算的編號(hào),而插入一個(gè)號(hào)碼也是有可能的。由于有較大的數(shù)組, 運(yùn)算時(shí)間可能會(huì)很長(zhǎng),同時(shí)嘗試每次掃描時(shí)執(zhí)行所有運(yùn)算也將會(huì)導(dǎo)致看門狗超時(shí)錯(cuò)誤。 11 圖 15.14 文本代數(shù)函數(shù)例子 15.3 邏輯函數(shù) 15.3.1 數(shù)值比較 圖 15.15 所示為比較函數(shù),先前的函數(shù)塊是輸出,它取代了輸入聯(lián)系。例子展示的是比較兩個(gè)浮點(diǎn)數(shù)大小的函數(shù) EQU。如果數(shù)值相當(dāng),則輸出位 B3:5/1 為真,否則為假。其他形式的相等函數(shù)也裂了出來。 EQU(值 1,值 2) 相等 NEQ(值 1,值 2) 不相等 LES(值 1,值 2) 小于 LEQ(值 1,值 2) 小于等于 GRT(值 1,值 2) 大于 GEQ(值 1,值 2) 大于等于 CMP(表達(dá)式) 比較兩值是否相等 MEQ(值,符號(hào),臨界值) 使用一個(gè)符號(hào)來比較值是否相等 LIM(低限,值,高限) 檢測(cè)值是否在范圍內(nèi) 圖 15.15 比較函數(shù) 圖 15.16 展示了六個(gè)基本的比較函數(shù)。圖右邊是比較函數(shù)的操作例子, 12 圖 15.16 比較函數(shù)例子 圖 15.16 中的梯形圖程序在圖 15.17 中又用 CMP 函數(shù)表達(dá)了一遍,該函數(shù)可以使用文本表達(dá)式。 13 圖 15.17 使用 CMP 函數(shù)的等價(jià)表述 表達(dá)式可以被用來做許多復(fù)雜運(yùn)算,如圖 15.18 所示。表達(dá)式將會(huì)判斷 F8:1是否介于 F8:0 和 F8:2 之間。 圖 15.18 一個(gè)更加復(fù)雜的比較函數(shù) LIM 和 MEQ 函數(shù)如圖 15.19 所示。前三個(gè)函數(shù)將會(huì)判斷待檢測(cè)值是否處在范圍內(nèi)。如果上限值大于下限值且待測(cè)值介于限值之間或者等于限值,那么輸出為真。如果下限值大于上限值,則只有待測(cè)值在范圍之外時(shí)輸出值才為真。 14 地址 十進(jìn)制(之前值) 二進(jìn)制(之前值) 二進(jìn)制(之后值) N7:0 1 0000000000000001 0000000000000001 N7:0 5 0000000000000101 0000000000000101 N7:0 11 0000000000001011 0000000000001011 N7:0 15 0000000000001111 0000000000001111 N7:0 8 0000000000001000 0000000000001000 N7:0 0 0000000000000000 0000000000001101 圖 15.19 復(fù)雜的比較函數(shù) 上 限下 限 上 限下 限 圖 15.20LIM 函數(shù)的線段表示 圖 15.20 展示的線段可以幫助我們判斷待測(cè)數(shù)值 是否在限值內(nèi)。 在圖 15.21中使用 FSC指令進(jìn)行文件與文件的比較也是被允許的。該指令使用了控制字 R6:0。它將解釋表達(dá)式 10次,做兩次比較在每次邏輯掃描中(模式 2)。 15 比較為: F8:10F8:0 , F8:11F8:0 然后 F8:12F8:0 , F8:13F8:0 然后 F8:14F8:0 , F8:15F8:0 然后 F8:16F8:0 , F8:17F8:0 然后是 F8:18F8:0 , F8:19F8:0 。函數(shù)將會(huì)繼續(xù)執(zhí)行除非發(fā)現(xiàn)一個(gè)錯(cuò)誤狀態(tài)或者完成比較。如果比較完成沒有 發(fā)現(xiàn)錯(cuò)誤狀態(tài)那么輸出 A將為“真”。在一個(gè)掃描周期中該模式也會(huì)一直執(zhí)行所有比較。或者當(dāng)函數(shù)前面的輸入為真時(shí)就更新增量 -在這種情況下輸入為一條線,而一直為真。 F S C控 制 字 R 6 : 0長(zhǎng) 度 1 0位 置 0模 式 2表 達(dá) 式 # F 8 : 1 0 F 8 : 0 圖 15:21 使用表達(dá)式的文件比較 15.3.2 布爾函數(shù) 圖 15.22 顯示的是 布爾代數(shù)函數(shù) 。函數(shù)顯示從位存儲(chǔ)單元獲取數(shù)據(jù)字,執(zhí)行一個(gè) AND 操作,把結(jié)果儲(chǔ)存在一個(gè)新的位邏輯單元。這些函數(shù)都是面向“字”層面的運(yùn)算。 執(zhí)行布爾運(yùn)算的能力,該能力允許不止單一位上的邏輯運(yùn)算。 AND(值 1,值 2,操作數(shù) ) 二進(jìn) 制“與”函數(shù) OR(值 1,值 2,操作數(shù) ) 二進(jìn)制“或”函數(shù) NOT(值 1,值 2,操作數(shù) ) 二進(jìn)制“非”函數(shù) XOR(值 1,值 2,操作數(shù) ) 二進(jìn)制“異或”函數(shù) 圖 15.22 布爾函數(shù) 圖 15.23 展示了布爾函數(shù)的使用。前三個(gè)函數(shù)需要兩個(gè)參數(shù),最后一個(gè)函數(shù)只需要一個(gè)參數(shù)。 與函數(shù)只有兩個(gè)操作數(shù)同時(shí)為真結(jié)果位才會(huì)被置 ON。或函數(shù)只要兩個(gè)操作數(shù)中任意一個(gè)為 ON,那么它就將結(jié)果位置 ON。異或函數(shù)兩操作數(shù)中有且僅有一個(gè)為 ON 那么結(jié)果位才會(huì)被置 ON。非函數(shù)將字中所有位取反。 16 附錄 2:外文原文 Automating Manufacturing Systems with PLCs 15.LADDER LOGIC FUNCTIONS Topics: Functions for data handling, mathematics, conversions, array operations, statistics, comparison and Boolean operations. Design examples Objectives: To understand basic functions that allow calculations and comparisons To understand array functions using memory files 15.1INTRODUCTION Ladder logic input contacts and output coils allow simple logical decisions. Functions extend basic ladder logic to allow other types of control. For example, the addition of timers and counters allowed event based control. A longer list of functions is shown in Figure 15.1. Combinatorial Logic and Event functions have already been covered. This chapter will discuss Data Handling and Numerical Logic. The next chapter will cover Lists and Program Control and some of the Input and Output functions. Remaining functions will be discussed in later chapters. 17 C o m b i n a t o r i a l L o g i c - r e l a y c o n t a c t s a n d c o i l sE v e n t s - t i m e r i n s t r u c t i o n s - c o u n t e r i n s t r u c t i o n sD a t a H a n d l i n g - m o v e s - m a t h e m a t i c s - c o n v e r s i o n sN u m e r i c a l L o g i c - b o o l e a n o p e r a t i o n s - c o m p a r i s o n sL i s t s - s h i f t r e g i s t e r s / s t a c k s - s e q u e n c e r sP r o g r a m C o n t r o l - b r a n c h i n g / l o o p i n g - i m m e d i a t e i n p u t s / o u t p u t s - f a u l t / i n t e r r u p t d e t e c t i o nI n p u t a n d O u t p u t - P I D - c o m m u n i c a t i o n s - h i g h s p e e d c o u n t e r s - A S C I I s t r i n g f u n c t i o n s Figure 15.1 Basic PLC Function Categories Most of the functions will use PLC memory locations to get values, store values and track function status. Most function will normally become active when the input is true. But, some functions, such as TOF timers, can remain active when the input is off. Other functions will only operate when the input goes from false to true, this is known as positive edge triggered. Consider a counter that only counts when the input goes from false to true, the length of time the input is true does not change the function behavior. A negative edge triggered function would be triggered when the input goes from true to false. Most functions are not edge triggered: unless stated assume functions are not edge triggered. N O T E : I d o n o t d r a w f u n c t i o n s e x a c t l y a s t h e y a p p e a r i n m a n u a l sa n d p r o g r a m m i n g s o f t w a r e . T h i s h e l p s s a v e s p a c e a n d m a k e s t h e i n s t r u c t i o n ss o m e w h a t e a s i e r t o r e a d . A l l o f t h e n e c e s s a r y i n f o r m a t i o n i s g i v e n . 18 15.2 DATA HANDLING 15.2.1 Move Functions There are two basic types of move functions; MOV(value,destination) - moves a value to a memory location MVM(value,mask,destination) - moves a value to a memory location, but with a mask to select specific bits. The simple MOV will take a value from one location in memory and place it in another memory location. Examples of the basic MOV are given in Figure 15.2. When A is true the MOV function moves a floating point number from the source to the destination address. The data in the source address is left unchanged. When B is true the floating point number in the source will be converted to an integer and stored in the destination address in integer memory. The floating point number will be rounded up or down to the nearest integer. When C is true the integer value of 123 will be placed in the integer file N7:23. N O T E : w h e n a f u n c t i o n c h a n g e s a v a l u e , e x c e p t f o r i n p u t s a n d o u t p u t s , t h e v a l u e i s c h a n g e d i m m e d i a t e l y . C o n s i d e r F i g u r e 1 5 . 2 , i f A , B a n d C a r e a l l t r u e , t h e n t h e v a l u e i n F 8 : 2 3 w i l l c h a n g e b e f o r e t h e n e x t i n s t r u c t i o n s t a r t s . T h i s i s d i f f e r e n t t h a n t h e i n p u t a n d o u t p u t s c a n s t h a t o n l y h a p p e n b e f o r e a n d a f t e r t h e l o g i c s c a n . 19 Figure 15.2 Examples of the MOV Function A more complex example of move functions is given in Figure 15.3. When A becomes true the first move statement will move the value of 130 into N7:0. And, the second move statement will move the value of -9385 from N7:1 to N7:2. (Note: The number is shown as negative because we are using 2s compliment.) For the simple MOVs the binary values are not needed, but for the MVM statement the binary values are essential. The statement moves the binary bits from N7:3 to N7:5, but only those bits that are also on in the mask N7:4, other bits in the destination will be left untouched. Notice that the first bit N7:5/0 is true in the destination address before and after, but it is not true in the mask. The MVM function is very useful for applications where individual binary bits are to be manipulated, but they are less useful when dealing with actual number values. 20 15.2.2 Mathematical Functions Mathematical functions will retrieve one or more values, perform an operation and store the result in memory. Figure 15.4 shows an ADD function that will retrieve values from N7:4 and F8:35, convert them both to the type of the destination address, add the floating point numbers, and store the result in F8:36. The function has two sources labelled source A and source B. In the case of ADD functions the sequence can change, but this is not true for other operations such as subtraction and division. A list of other simple arithmetic function follows. Some of the functions, such as the negative function are unary, so there is only one source. 21 Figure 15.4 Arithmetic Functions An application of the arithmetic function is shown in Figure 15.5. Most of the operations provide the results we would expect. The second ADD function retrieves a value from N7:3, adds 1 and overwrites the source - this is normally known as an increment operation. The first DIV statement divides the integer 25 by 10, the result is rounded to the nearest integer, in this case 3, and the result is stored in N7:6. The NEG instruction takes the new value of -10, not the original value of 0, from N7:4 inverts the sign and stores it in N7:7. 22 Figure 15.5 Arithmetic Function Example A list of more advanced functions are given in Figure 15.6. This list includes basic trigonometry functions, exponents, logarithms and a square root function. The last function CPT will accept an expression and perform a complex calculation. 23 Figure 15.6 Advanced Mathematical Functions Figure 15.7 shows an example where an equation has been converted to ladder logic. The first step in the conversion is to convert the variables in the equation to unused memory locations in the PLC. The equation can then be converted using the most nested calculations in the equation, such as the LN function. In this case the results of the LN function are stored in another memory location, to be recalled later. The other operations are implemented in a similar manner. (Note: This equation could have been implemented in other forms, using fewer memory locations.) 24 Figure 15.7 An Equation in Ladder Logic The same equation in Figure 15.7 could have been implemented with a CPT function as shown in Figure 15.8. The equation uses the same memory locations chosen in Figure 15.7. The expression is typed directly into the PLC programming software. Figure 15.8 Calculations with a Compute Function Math functions can result in status flags such as overflow, carry, etc. care must be taken to avoid problems such as overflows. These problems are less common when using floating point numbers. Integers are more prone to these problems because they are limited to the range from -32768 to 32767. 25 15.2.3 Conversions Ladder logic conversion functions are listed in Figure 15.9. The example function will retrieve a BCD number from the D type (BCD) memory and convert it to a floating point number that will be stored in F8:2. The other function will convert from 2s compliment binary to BCD, and between radians and degrees. Figure 15.9 Conversion Functions Examples of the conversion functions are given in Figure 15.10. The functions load in a source value, do the conversion, and store the results. The TOD conversion to BCD could result in an overflow error. 26 Figure 15.10 Conversion Example 15.2.4 Array Data Functions Arrays allow us to store multiple data values. In a PLC this will be a sequential series of numbers in integer, floating point, or other memory. For example, assume we are measuring and storing the weight of a bag of chips in floating point memory starting at #F8:20 (Note the # for a data file). We could read a weight value every 10 minutes, and once every hour find the average of the six weights. This section will focus on techniques that manipulate groups of data organized in arrays, also called blocks in the manuals. 15.2.4.1 - Statistics Functions are available that allow statistical calculations. These functions are 27 listed in Figure 15.11. When A becomes true the average (AVE) conversion will start at memory location F8:0 and average a total of 4 values. The control word R6:1 is used to keep track of the progress of the operation, and to determine when the operation is complete. This operation, and the others, are edge triggered. The operation may require multiple scans to be completed. When the operation is done the average will be stored in F8:4 and the R6:1/DN bit will be turned on. Figure 15.11 Statistic Functions Examples of the statistical functions are given in Figure 15.12 for an array of data that starts at F8:0 and is 4 values long. When done the average will be stored in F8:4, and the standard deviation will be stored in F8:5. The set of values will also be sorted in ascending order from F8:0 to F8:3. Each of the function should have their own control memory to prevent overlap. It is not a good idea to activate the sort and the other calculations at the same time, as the sort may move values during the calculation, resulting in incorrect calculations. 28 15.2.4.2 - Block Operations A basic block function is shown in Figure 15.13. This COP (copy) function will copy an array of 10 values starting at N7:50 to N7:40. The FAL function will perform mathematical operations using an expression string, and the FSC function will allow two arrays to be compared using an expression. The FLL function will fill a block of memory with a single value. 29 Figure 15.13 Block Operation Functions Figure 15.14 shows an example of the FAL function with different addressing modes. The first FAL function will do the following calculations N7:5=N7:0+5, N7:6=N7:1+5, N7:7=N7:2+5, N8:7=N7:3+5, N7:9=N7:4+5. The second FAL statement does not have a file # sign in front of the expression value, so the calculations will be N7:5=N7:0+5, N7:6=N7:0+5, N7:7=N7:0+5, N8:7=N7:0+5, N7:9=N7:0+5. With a mode of 2 the instruction will do two of the calculations for every scan where B is true. The result of the last FAL statement will be N7:5=N7:0+5, N7:5=N7:1+5, N7:5=N7:2+5, N7:5=N7:3+5, N7:5=N7:4+5. The last operation would seem to be useless, but notice that the mode is incremental. This mode will do one calculation for each positive transition of C. The all mode will perform all five calculations in a single scan. It is also possible to put in a number that will indicate the number of calculations per scan. The calculation time can be long for large arrays and trying to do all of the calculations in one scan may lead to a watchdog time-out fault. 30 15.3 LOGICAL FUNCTIONS 15.3.1 Comparison of Values Comparison functions are shown in Figure 15.15. Previous function blocks were outputs, these replace input contacts. The example shows an EQU (equal) function that compares two floating point numbers. If the numbers are equal, the output bit B3:5/1 is true, otherwise it is false. Other types of equality functions are also listed. 31 Figure 15.15 Comparison Functions The example in Figure 15.16 shows the six basic comparison functions. To the right of the figure are examples of the comparison operations. Figure 15.16 Comparison Function Examples The ladder logic in Figure 15.16 is recreated in Figure 15.17 with the CMP function that allows text expressions. 32 Figure 15.17 Equivalent Statements Using CMP Statements Expressions can also be used to do more complex comparisons, as shown in Figure 15.18. The expression will determine if F8:1 is between F8:0 and F8:2. Figure 15.18 A More Complex Comparison Expression The LIM and MEQ functions are shown in Figure 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論