• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    算術(shù)運(yùn)算指令在PLC編程中的應(yīng)用

    2019-11-27 02:40:18趙金山
    通信電源技術(shù) 2019年11期
    關(guān)鍵詞:彩燈賦值字節(jié)

    趙金山

    (臨汾職業(yè)技術(shù)學(xué)院,山西 臨汾 041000)

    0 引 言

    在PLC教學(xué)中,流水燈的控制或者彩燈的移位是一個(gè)重要內(nèi)容。傳統(tǒng)方法是利用移位指令或者移位寄存器實(shí)現(xiàn),而實(shí)際控制中還可以利用算術(shù)運(yùn)算指令實(shí)現(xiàn)。

    實(shí)際教學(xué)中,臨汾職業(yè)技術(shù)學(xué)院的實(shí)訓(xùn)室采用西門子CPU222型PLC,主機(jī)自帶8個(gè)輸入端子I0.0~I(xiàn)0.7和6個(gè)輸出端子Q0.0~Q0.5。由于輸入、輸出點(diǎn)數(shù)較少,不能滿足大多數(shù)實(shí)訓(xùn)項(xiàng)目的要求,故又加了一個(gè)EM223擴(kuò)展模塊,擴(kuò)展出16個(gè)光電隔離型輸入端子和16個(gè)繼電器型輸出端子。主機(jī)與擴(kuò)展模塊之間用擴(kuò)展電纜連接。此PLC最多可以實(shí)現(xiàn)22組彩燈的循環(huán)或移位控制。本文將以輸出QB0和QB1實(shí)現(xiàn)循環(huán)控制,實(shí)現(xiàn)14組彩燈的控制。

    1 算術(shù)運(yùn)算指令

    在西門子S7-200型PLC編程軟件中,算術(shù)運(yùn)算指令可以解決PLC中出現(xiàn)的各種數(shù)學(xué)運(yùn)算問題,常用的有加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算和除法運(yùn)算。本課題中將使用乘(除)法指令解決流水燈的編程問題,下面將結(jié)合梯形圖講解指令的使用方法。

    乘/除運(yùn)算是對符號數(shù)的乘法運(yùn)算和除法運(yùn)算,包括整數(shù)乘/除運(yùn)算、雙整數(shù)乘/除運(yùn)算、整數(shù)乘/除雙整數(shù)輸出運(yùn)算和實(shí)數(shù)乘/除運(yùn)算等[1]。

    1.1 乘法指令MUL

    當(dāng)使能輸入端有效時(shí),將輸入IN1、IN2中的數(shù)據(jù)進(jìn)行乘法運(yùn)算,結(jié)果存儲(chǔ)在OUT指定的數(shù)據(jù)中[2]。就其類型而言,乘法又分為整數(shù)乘法、相乘指令和雙整數(shù)乘法等,對應(yīng)的梯形圖和相應(yīng)功能如表1所示。

    表1 乘法指令對應(yīng)的梯形圖和相應(yīng)功能

    如圖1所示,當(dāng)I0.0有效時(shí),將MW10和MW20相乘,送到MW30中。兩個(gè)輸入數(shù)據(jù)MW10、MW20和輸出數(shù)據(jù)MW30都是16位單字長整數(shù)。若運(yùn)算結(jié)果超歸16位二進(jìn)制數(shù)表示的有符號數(shù)的范圍,將會(huì)溢出。

    1.2 除法指令DIV

    當(dāng)使能輸入有效時(shí),將輸入IN1、IN2的數(shù)據(jù)進(jìn)行除法運(yùn)算,結(jié)果存儲(chǔ)到OUT指定的數(shù)據(jù)中[2]。對應(yīng)的梯形圖和相應(yīng)功能如表2所示。

    圖1 應(yīng)用舉例1

    應(yīng)用舉例,如圖2所示。當(dāng)I1.0接通時(shí),將VW100中的16位整數(shù)除以VW200中的16位整數(shù),結(jié)果輸送給OUT所指定的數(shù)據(jù)VW300,且不保留余數(shù)。因?yàn)椴槐A粲鄶?shù),除法指令一直執(zhí)行的結(jié)果是商會(huì)變成0。

    例子中的IN1、IN2和OUT的數(shù)據(jù)尋址范圍為IW、QW、MW、SMW、SW、T、C、VW、LW、AIW、AQW和常數(shù)。

    表2 除法指令對應(yīng)的梯形圖和相應(yīng)功能

    圖2 應(yīng)用舉例2

    2 PLC的編址方式

    西門子S7-200型PLC的編址有多種,如位編址、字節(jié)編址、字編址和雙字編址等都是常用的編址方式。

    2.1 位編址

    在用基本指令編程時(shí),大多數(shù)采用位編址的方式。例如,I0.0、Q1.0每個(gè)位有2種狀態(tài)——“0”和“1”,“0”表示該位為“OFF”,“1”表示該位為“ON”。

    2.2 字節(jié)編址

    字節(jié)編址的表示方法為“編程元件+字節(jié)表示符+起始字節(jié)地址”。例如:VB1表示變量寄存器第1個(gè)字節(jié),共8位,第7位是最高位,第0位是最低位,結(jié)構(gòu)如圖3所示。

    圖3 VB1結(jié)構(gòu)示意圖

    2.3 字編址

    字編址表示為“編程元件+字表示符+起始字節(jié)地址”。比如:QW0表示輸出映像寄存器,長度包含16個(gè)位,即2個(gè)字節(jié),分別是QB0和QB1,結(jié)構(gòu)如圖4所示。西門子編程軟件默認(rèn)字節(jié)QB0為高位字節(jié),QB1為低位字節(jié),即遵循“高地址、低字節(jié)”的約定。

    在使用字編址給某一個(gè)變量賦值時(shí),要注意出現(xiàn)字節(jié)重復(fù)賦值的情況。當(dāng)給同一個(gè)變量兩次賦值時(shí),位于后邊網(wǎng)絡(luò)的輸入有效。如圖5所示,用傳送指令給VW0和VW1賦值。

    圖4 QW0結(jié)構(gòu)示意圖

    圖5 用傳送指令 給VW0和VW1賦值

    網(wǎng)絡(luò)1給VW0賦值16進(jìn)制數(shù)6c19,等于給VB0賦入初值01101100、給VB1賦入初值00011001。

    網(wǎng)絡(luò)2給VW1賦值16進(jìn)制數(shù)3578,等于給VB1賦入初值00110101,給VB2賦入初值01111000。

    此時(shí),字節(jié)型數(shù)據(jù)VB1會(huì)出現(xiàn)兩個(gè)數(shù)值——00011001和00110101。由于網(wǎng)絡(luò)2在后面,根據(jù)PLC逐行掃描的工作原理,第二次輸入會(huì)刷新第一次輸入的數(shù)值,故VB1的數(shù)值實(shí)際是00110101。若將兩個(gè)網(wǎng)絡(luò)的順序?qū)φ{(diào),則VB1的實(shí)際值變?yōu)?0110101。

    通過以上例子可發(fā)現(xiàn),在使用字編址或雙字編址時(shí),要防止出現(xiàn)兩個(gè)字或兩個(gè)雙字占用同一個(gè)字節(jié)的情形,否則會(huì)引起程序錯(cuò)誤。因此,使用字編址時(shí),盡量使用VW0、VW2、VW4等偶數(shù)編號。

    除了以上編址方法以外,還有雙字編址(MD10)、其他編址方法(T37、C20)等,這里不再一一贅述。

    3 控制要求與實(shí)現(xiàn)方法

    有一組燈14個(gè)L1~L14。當(dāng)按下按鈕SB1時(shí),燈正序每隔2 s單個(gè)點(diǎn)亮并循環(huán),按下SB2時(shí),燈反序每隔2 s單個(gè)點(diǎn)亮,至L1為滅時(shí)停止。

    利用乘法指令,可以實(shí)現(xiàn)彩燈的移位或循環(huán)控制,實(shí)現(xiàn)原理如下。在PLC程序中,各種類型的數(shù)據(jù)都是以二進(jìn)制數(shù)字存儲(chǔ)。二進(jìn)制數(shù)字只有“0”和“1”兩個(gè)數(shù)值。如果某位置對應(yīng)的數(shù)字為“0”,則該位數(shù)字一定為0;若某位置對應(yīng)的數(shù)字為“1”,實(shí)際代表的數(shù)字是十進(jìn)制數(shù)字的2n,n=0,1,2,3…。即如果對應(yīng)的位置為1,相鄰高位所代表的十進(jìn)制數(shù)字是低位數(shù)字的2倍;如果將最低位賦值“1”,利用乘法指令乘以2,將會(huì)使相鄰的高位變?yōu)椤?”,而低位的數(shù)值變?yōu)椤?”。數(shù)字電路中,“1”對應(yīng)的位置代表高電平,“0”對應(yīng)的位置代表低電平。如果將對應(yīng)位置用輸出映像寄存器Q代替并接入彩燈,使用乘法指令前,最低位置對應(yīng)的彩燈會(huì)亮,其他位置都滅。乘以2后,1的位置將左移1位,而其他位置的彩燈都會(huì)處在滅的狀態(tài)。再乘以2,再左移1位……形成了流水燈的效果。

    如圖6所示,當(dāng)給QB1賦值數(shù)字1后,QB1字節(jié)代表的十進(jìn)制數(shù)字是1,從右側(cè)算起第一個(gè)位置為1,第一盞彩燈亮,其他彩燈都處于熄滅狀態(tài);利用乘法指令乘以2后,QB1的數(shù)值會(huì)變成十進(jìn)制數(shù)字2,對應(yīng)的第一個(gè)位置會(huì)變成0,第二個(gè)位置會(huì)變成1,彩燈第二盞亮,其他燈滅,彩燈左移1位;再乘以2,QB1的數(shù)值會(huì)變成4,第一個(gè)和第二個(gè)位置會(huì)變成0,第三個(gè)位置會(huì)變成1,此時(shí)第三盞燈亮、其余燈滅。以此類推,只要按乘法指令運(yùn)算,每次亮的彩燈會(huì)依次向左移動(dòng)1位。

    圖6 實(shí)現(xiàn)原理舉例

    推而廣之,給QB1乘以4,可以使彩燈左移2位;乘以8,可以使彩燈左移3位……

    3.1 確定輸入/輸出地址

    根據(jù)題目要求,確定I/O地址如表3所示。由于篇幅問題,L10~L13、L2~L7用省略號代替,對應(yīng)地址依次往后累加即可。

    表3 I/O地址

    3.2 PLC的接線

    根據(jù)I/O地址分配表,確定PLC接線如圖7所示。

    接線時(shí)要注意,SB1和SB2必須是自復(fù)位按鈕。另外,L1~ L8對應(yīng) Q1.0~ Q1.7,L9~ L14對應(yīng) Q0.0~Q0.5。這是根據(jù)PLC字編址的默認(rèn)高位和低位確定的。

    3.3 程序編制

    如圖8所示,網(wǎng)絡(luò)1的作用是系統(tǒng)開始運(yùn)行時(shí),利用I0.0給QW0賦值,使第一盞燈亮。同時(shí),為了能夠使系統(tǒng)正序循環(huán),在L14熄滅后,系統(tǒng)再次進(jìn)入循環(huán)。I0.0和Q0.6都利用正跳沿指令,防止系統(tǒng)由于按壓時(shí)間較長重復(fù)賦值。網(wǎng)絡(luò)2和網(wǎng)絡(luò)3比較簡單,分別產(chǎn)生正序和反序循環(huán)。網(wǎng)絡(luò)4和網(wǎng)絡(luò)6產(chǎn)生正序和反序脈沖,脈沖間隔2 s,寬度為一個(gè)PLC循環(huán)掃描周期。網(wǎng)絡(luò)5利用乘法指令和T37的跳變使燈循環(huán)左移。網(wǎng)絡(luò)6利用除法指令和T38的跳變使燈循環(huán)右移,間隔時(shí)間為2 s。將以上程序輸入電腦并下載至PLC,運(yùn)行就可以得到前面題目要求的現(xiàn)象。

    圖7 PLC接線情況

    圖8 程序編制示意圖

    本例中彩燈反序循環(huán)至L1后,整個(gè)系統(tǒng)停止;再次壓下SB1后,系統(tǒng)再次正向從頭開始循環(huán)。欲使彩燈反序連續(xù)循環(huán)也是可行的,只需在系統(tǒng)完成除法運(yùn)算、字QW0的數(shù)值為零時(shí),將燈L14利用賦值的方法送入定值,然后運(yùn)行除法運(yùn)算,即可使系統(tǒng)反序循環(huán)運(yùn)行。根據(jù)整數(shù)除法運(yùn)算的規(guī)律可知,當(dāng)反序亮至燈L1時(shí),QW0的數(shù)值為1,再對QW0進(jìn)行除2運(yùn)算,根據(jù)保留商但不保留余數(shù)的運(yùn)算規(guī)則,QW0的數(shù)值變成0;以后再運(yùn)行除法運(yùn)算,結(jié)果都是0。所以,在QW0數(shù)值為0時(shí),利用比較指令給QW0送入16進(jìn)制數(shù)字2000即可完成循環(huán),如圖9所示。

    圖9 應(yīng)用舉例3

    4 結(jié) 論

    在PLC的實(shí)際應(yīng)用中,解決一個(gè)任務(wù)可以采用多種方法。實(shí)際教學(xué)中,教師負(fù)責(zé)提出問題,并給出多種解決問題的途徑,學(xué)生可以利用學(xué)過的知識(shí)找到解決問題的方法。實(shí)踐證明,大多數(shù)同學(xué)能夠利用常規(guī)指令解決問題,也有部分同學(xué)找到的方法比較新穎。

    猜你喜歡
    彩燈賦值字節(jié)
    關(guān)于1 1/2 … 1/n的一類初等對稱函數(shù)的2-adic賦值
    L-代數(shù)上的賦值
    彩燈
    No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
    元宵佳節(jié)點(diǎn)彩燈
    No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
    強(qiáng)賦值幺半群上的加權(quán)Mealy機(jī)與加權(quán)Moore機(jī)的關(guān)系*
    簡談MC7字節(jié)碼
    利用賦值法解決抽象函數(shù)相關(guān)問題オ
    擺錯(cuò)了的彩燈
    大灰狼(2010年2期)2010-08-24 03:20:55
    伊通| 蕲春县| 兴山县| 永善县| 沾益县| 安国市| 涟源市| 石景山区| 和政县| 双城市| 康乐县| 顺昌县| 崇左市| 临邑县| 汝州市| 佳木斯市| 肇东市| 于田县| 边坝县| 玉屏| 平乐县| 安溪县| 马边| 开远市| 江华| 衡南县| 枝江市| 郎溪县| 仪征市| 济阳县| 瑞安市| 安乡县| 平舆县| 武宣县| 渭南市| 突泉县| 曲麻莱县| 扎鲁特旗| 定南县| 万州区| 洛浦县|