![第4章S7-200SMART的功能指令_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/e5938bcb-1e75-458c-ac2a-77e9349bd7c0/e5938bcb-1e75-458c-ac2a-77e9349bd7c01.gif)
![第4章S7-200SMART的功能指令_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/e5938bcb-1e75-458c-ac2a-77e9349bd7c0/e5938bcb-1e75-458c-ac2a-77e9349bd7c02.gif)
![第4章S7-200SMART的功能指令_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/e5938bcb-1e75-458c-ac2a-77e9349bd7c0/e5938bcb-1e75-458c-ac2a-77e9349bd7c03.gif)
![第4章S7-200SMART的功能指令_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/e5938bcb-1e75-458c-ac2a-77e9349bd7c0/e5938bcb-1e75-458c-ac2a-77e9349bd7c04.gif)
![第4章S7-200SMART的功能指令_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/e5938bcb-1e75-458c-ac2a-77e9349bd7c0/e5938bcb-1e75-458c-ac2a-77e9349bd7c05.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第4章章 S7-200 SMART的功能指令的功能指令 4.1 功能指令概述功能指令概述4.1.1 怎樣學習功能指令怎樣學習功能指令 功能指令分為較常用的指令、與數(shù)據(jù)的基本操作有關的指令、與PLC的高級應用有關的指令和用得較少的指令。 初學功能指令時,首先可以按指令的分類瀏覽所有的指令。初學者沒有必要花大量的時間去熟悉功能指令使用中的細節(jié),應重點了解指令的基本功能和有關的基本概念。應通過讀程序、編程序和調(diào)試程序來學習功能指令。4.1.2 S7-200 的指令規(guī)約的指令規(guī)約 1使能輸入與使能輸出 使能輸入端EN有能流流入方框指令時,指令才能被執(zhí)行。 EN輸入端有能流且指令執(zhí)行時無錯誤,則使能輸
2、出ENO將能流傳遞給下一個方框指令或線圈。 語句表用AENO指令來產(chǎn)生與方框指令的ENO相同的效果。刪除AENO指令后,方框指令將由串聯(lián)變?yōu)椴⒙?lián)。 2梯形圖中的指令 條件輸入指令必須通過觸點電路連接到左側(cè)母線上。不需要條件的指令必須直接連接在左側(cè)母線上。鍵入語句表指令時,必須使用英文的標點符號。 3能流指示器 雙箭頭是開路能流指示器,必須解決開路問題,程序段才能成功編譯??蓪⑵渌菪螆D元件附加到ENO端的可選能流指示器。沒有在該位置添加元件,程序段也能成功編譯。 4.2 數(shù)據(jù)處理指令數(shù)據(jù)處理指令4.2.1 比較指令與數(shù)據(jù)傳送指令比較指令與數(shù)據(jù)傳送指令 1字節(jié)、整數(shù)、雙整數(shù)和實數(shù)比較指令 比較觸
3、點中間的B、I、D、R、S分別表示無符號字節(jié)、有符號整數(shù)、有符號雙整數(shù)、有符號實數(shù)和字符串比較。滿足比較關系式給出的條件時,比較指令對應的觸點接通。字符串比較指令的比較條件“x”只有=和。 整數(shù)和雙整數(shù)比較指令比較兩個有符號數(shù)。IN1在觸點的上面,IN2在觸點下面。 【例4-1】 用接通延時定時器和比較指令組成占空比可調(diào)的脈沖發(fā)生器。 T37的常閉觸點控制它的IN輸入端,使T37的當前值按鋸齒波變化。比較指令用來產(chǎn)生方波,Q0.0為OFF的時間取決于比較指令第2個操作數(shù)的值。 2字符串比較指令 字符串比較指令比較ASCII碼字符串相等或不相等。常數(shù)字符串應是比較觸點上面的參數(shù),或比較指令中的第
4、一個參數(shù)。 3字節(jié)、字、雙字和實數(shù)的傳送 傳送指令助記符中最后的B、W、DW(或D)和R分別表示操作數(shù)為字節(jié)、字、雙字和實數(shù)。 4字節(jié)立即讀寫指令 字節(jié)立即讀取指令MOV_BIR讀取IN指定的一個字節(jié)的物理輸入,但是并不更新對應的過程映像輸入寄存器。字節(jié)立即寫入指令MOV_BIW將一個字節(jié)的數(shù)值寫入OUT指定的物理輸出,同時更新對應的過程映像輸出字節(jié)。 5字節(jié)、字、雙字的塊傳送指令 塊傳送指令將起始地址為IN的N個連續(xù)的存儲單元中的數(shù)據(jù),傳送到從地址OUT開始的N個存儲單元,字節(jié)變量N = 1255。 6字節(jié)交換指令 字節(jié)交換指令SWAP用來交換輸入字IN的高字節(jié)與低字節(jié)。應采用脈沖執(zhí)行方式。
5、4.2.2 移位與循環(huán)移位指令移位與循環(huán)移位指令 移位位數(shù)N的數(shù)據(jù)類型為BYTE。 1右移位和左移位指令 移位指令將輸入IN中的數(shù)各位的值向右或向左移動N位后,送給輸出OUT指定的地址。移位指令對移出位自動補0,有符號的字和雙字的符號位也被移位。如果移位次數(shù)非0,“溢出”標志位SM1.1保存最后一次被移出的位的值。 2循環(huán)右移位和循環(huán)左移位指令 循環(huán)移位指令將輸入IN中各位的值向右或向左循環(huán)移動N位后,送給輸出OUT指定的地址。被移出來的位將返回到另一端空出來的位置。移出的最后一位的數(shù)值存放在溢出標志位SM1.1。 如果移動的位數(shù)N大于允許值,執(zhí)行循環(huán)移位之前先對N進行求模運算。例如字循環(huán)移位
6、時,將N除以16后取余數(shù),得到的有效移位次數(shù)為015。如果為0則不移位。符號位也被移位。 3移位寄存器指令 下圖中的14位移位寄存器由V30.0V31.5組成,在I0.3的上升沿,I0.4的值從移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V31.5的值被移到溢出標志位SM1.1。 N為14時,I0.4的值從最高位V31.5移入,寄存器中的各位右移一位,從最低位V30.0移到溢出標志位SM1.1。4.2.3 數(shù)據(jù)轉(zhuǎn)換指令數(shù)據(jù)轉(zhuǎn)換指令 1標準轉(zhuǎn)換指令 除了解碼、編碼指令之外的10條指令屬于標準轉(zhuǎn)換指令。輸入?yún)?shù)IN指定的數(shù)據(jù)轉(zhuǎn)換后保存到輸出參數(shù)OUT指定的地址。BCD碼與整數(shù)相
7、互轉(zhuǎn)換的指令中,整數(shù)的有效范圍為09999。 如果轉(zhuǎn)換后的數(shù)值超出輸出的允許范圍,溢出標志位SM1.1被置為ON。 2段碼指令 七段顯示器的D0D6段分別對應于段碼指令輸出字節(jié)的第0位第6位,某段應亮時輸出字節(jié)中對應的位為1,反之為0。段碼指令很少使用。 3計算程序中的數(shù)據(jù)轉(zhuǎn)換 壓力變送器的量程為010MPa,輸出信號為010V,AI模塊的量程為010V,轉(zhuǎn)換后的數(shù)字量為027648,設轉(zhuǎn)換后的數(shù)字為N,壓力值轉(zhuǎn)換公式為P =(10000 N)/ 27648 = 0.36169N (kPa) 4解碼指令與編碼指令 解碼指令DECO根據(jù)輸入字節(jié)IN的最低4位表示的位號,將輸出字OUT對應的位置為
8、1,輸出字的其他位均為0。16#0008=2#0000 0000 0000 1000。 編碼指令ENCO將輸入字IN中的最低有效位(為1的位)的位編號寫入輸出字節(jié)OUT的最低4位。16#0210=2#0000 0010 0001 0000。 存儲器填充指令FILL用輸入?yún)?shù)IN指定的字值填充從地址OUT開始的N個連續(xù)的字。4.2.5 實時時鐘指令實時時鐘指令 1用編程軟件讀取與設置實時時鐘的日期和時間 單擊“PLC”菜單功能區(qū)的“設置時鐘”按鈕,打開“CPU時鐘操作”對話框。可以讀取PC、PLC的時鐘,修改和下載日期時間。 2讀取實時時鐘指令READ_RTC 從CPU的實時時鐘讀取當前日期和時
9、間,8字節(jié)時間緩沖區(qū)依次存放年的低2位、月、日、時、分、秒、0和星期的代碼,星期日為1。日期和時間的數(shù)據(jù)類型為字節(jié)型BCD碼。 3設置實時時鐘指令SET_RTC將8字節(jié)時間日期值寫入CPU的實時時鐘?!纠?-2】用實時時鐘定時控制設備。LDSM0.0TODRVB70/小時分鐘值在VW73LDW= VW73, VW78/VW78中是起始時、分值AWVW73, VW80/VW80中是結(jié)束時、分值=Q0.2/在設置的時間范圍內(nèi), Q0.2為1狀態(tài)4.3 數(shù)學運算指令數(shù)學運算指令4.3.1四則運算指令與遞增遞減指令四則運算指令與遞增遞減指令 1加減乘除指令 梯形圖IN1 + IN2 = OUT,IN1
10、IN2 = OUT,IN1 * IN2 = OUT,IN1 / IN2 = OUT 語句表IN1+OUT = OUT,OUTIN1 = OUT,IN1*OUT = OUT,OUT/IN1=OUT 指令影響SM1.0(零標志)、SM1.1(溢出標志)、SM1.2(負數(shù)標志)和SM1.3(除數(shù)為0)。MUL將兩個16位整數(shù)相乘,產(chǎn)生一個32位乘積。DIV指令將兩個16位整數(shù)相除,運算結(jié)果的高16位為余數(shù),低16位為商。 【例4-3】壓力變送器的壓力計算公式為P = 10000(N 5530) / 22118(kPa),N為整數(shù)。MUL指令得到的乘積為雙整數(shù)。用右鍵菜單命令強制AIW16。2遞增與遞
11、減指令梯形圖中IN + 1 = OUT,語句表中OUT+1=OUT4.3.2 浮點數(shù)函數(shù)運算指令浮點數(shù)函數(shù)運算指令 浮點數(shù)函數(shù)運算指令的輸入?yún)?shù)IN與輸出參數(shù)OUT均為實數(shù)。 1三角函數(shù)指令 輸入值是以弧度為單位的浮點數(shù),角度值乘以/180轉(zhuǎn)換為弧度值。 2自然對數(shù)和自然指數(shù)指令 3平方根指令將正實數(shù)開平方4.3.3 邏輯運算指令邏輯運算指令 1取反指令 取反指令將多位二進制數(shù)逐位取反,各位由0變?yōu)?,由1變?yōu)?。 2邏輯運算指令 字節(jié)、字、雙字“與”運算時,如果兩個操作數(shù)的同一位均為1,運算結(jié)果的對應位為1,否則為0?!盎颉边\算時如果兩個操作數(shù)的同一位均為0,運算結(jié)果的對應位為0,否則為1。
12、“異或”(Exclusive Or)運算時如果兩個操作數(shù)的同一位不同,運算結(jié)果的對應位為1,否則為0。 3邏輯運算指令應用舉例 用字節(jié)邏輯“或”運算將QB0的最低3位置為1,其余各位保持不變。 QB0的某一位與1作“或”運算,運算結(jié)果為1,與0作“或”運算,運算結(jié)果不變。 IW4的低12位用來讀取3位撥碼開關的BCD碼,IW4的高4位另作他用。 16#0FFF的最高4位二進制數(shù)為0,低12位為1。與IW4作“與”運算后, VW12的低12位與IW4的低12位的值相同,VW12的高4位為0。4.4 程序控制指令程序控制指令4.4.1 跳轉(zhuǎn)指令跳轉(zhuǎn)指令 1跳轉(zhuǎn)與標號指令 JMP線圈通電時,跳轉(zhuǎn)條件
13、滿足,跳轉(zhuǎn)指令使程序流程跳轉(zhuǎn)到對應的標號處。JMP與LBL指令的操作數(shù)n為常數(shù)0255,只能在同一個程序塊中跳轉(zhuǎn)。 I0.3的常開觸點斷開時,跳轉(zhuǎn)條件不滿足,順序執(zhí)行下面的指令。 I0.3的常開觸點接通時,跳轉(zhuǎn)到標號LBL 2處,不執(zhí)行第二個程序段。 2跳轉(zhuǎn)指令對定時器的影響 在各定時器正在定時時跳轉(zhuǎn),100ms定時器停止定時,當前值保持不變。10ms和1ms定時器繼續(xù)定時,定時時間到時跳轉(zhuǎn)區(qū)外的觸點也會動作。停止跳轉(zhuǎn)時100ms定時器繼續(xù)定時。 3跳轉(zhuǎn)對功能指令的影響 未跳轉(zhuǎn)時INC_B指令使VW2每秒加1。跳轉(zhuǎn)條件滿足時VW2的值保持不變。【例4-6】 用跳轉(zhuǎn)指令實現(xiàn)圖4-28中的流程圖的
14、要求。4.4.2 循環(huán)指令 1單重循環(huán) 驅(qū)動FOR指令的邏輯條件滿足時,反復執(zhí)行FOR與NEXT之間的指令。執(zhí)行到NEXT指令時,INDX的值加1,如果INDX的值小于等于結(jié)束值FINAL,返回去執(zhí)行FOR與NEXT之間的指令。如果INDX的值大于結(jié)束值,循環(huán)終止。 【例4-7】在I0.5的上升沿,求VB130 VB133這4個字節(jié)的異或值,用VB134保存。首先將VB134清0,并設置地址指針AC1的初始值。 第一次循環(huán)將指針AC1所指的VB130與VB134異或,然后將指針值加1,指針指向VB131,為下一次循環(huán)的異或運算做好準備。 VB130VB133同一位中1的個數(shù)為奇數(shù)時,VB134
15、對應位的值為1,反之為0。 2多重循環(huán) 循環(huán)最多可以嵌套8層。 在I0.6的上升沿,執(zhí)行10次外層循環(huán),如果I0.7為ON,每執(zhí)行一次外層循環(huán),將執(zhí)行8次內(nèi)層循環(huán)。執(zhí)行完后,VW10的值增加80。4.4.3 其他指令其他指令 1條件結(jié)束指令與條件停止指令 條件結(jié)束指令END的邏輯條件滿足時終止當前的掃描周期。條件停止指令STOP使CPU從RUN模式切換到STOP模式。 2GET_ERROR(獲取非致命錯誤代碼)指令很少使用。 3監(jiān)控定時器復位指令 T32等組成一個脈沖發(fā)生器,從I0.4的上升沿開始,M0.2輸出一個寬度等于T32預設值的脈沖。在脈沖期間反復執(zhí)行JMP指令,因此掃描時間略大于T3
16、2的預設值。掃描周期超過 500ms時,CPU自動切換到STOP模式。 可用WDR指令重新觸發(fā)監(jiān)控定時器,以擴展允許使用的掃描時間。 4.5 局部變量與子程序局部變量與子程序4.5.1 局部變量局部變量 1局部變量與全局變量 每個程序組織單元(POU)均有由64字節(jié)局部(L)存儲器組成的局部變量。局部變量只在它被創(chuàng)建的POU中有效,全局符號在各POU中均有效。局部變量有以下優(yōu)點: 1) 盡量使用局部變量的子程序易于移植到別的項目。 2) 同一級POU的局部變量使用公用的物理存儲區(qū)。 3)局部變量用來在子程序和調(diào)用它的程序之間傳遞輸入?yún)?shù)和輸出參數(shù)。 2查看局部變量表 單擊“視圖”菜單的“組件”
17、按鈕,再單擊打開的下拉式菜單中的“變量表”。 3局部變量的類型 臨時變量(TEMP)是暫時保存在局部數(shù)據(jù)區(qū)中的變量。主程序或中斷程序只有TEMP變量。 IN (輸入?yún)?shù)) 用來將調(diào)用它的POU提供的數(shù)據(jù)值傳入子程序。 OUT(輸出參數(shù))用來將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。 IN_OUT(輸入_輸出參數(shù))的初始值由調(diào)用它的POU傳送給子程序,并用同一參數(shù)將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。 每個子程序最多可以使用16個輸入/輸出參數(shù)。 4在局部變量表中增加和刪除變量 子程序中變量名稱前面的“#”表示局部變量,是軟件自動添加的。 5局部變量的地址分配 由編程軟件自動分配局部變量的地址。
18、 6局部變量數(shù)據(jù)類型檢查 局部變量表中指定的數(shù)據(jù)類型應與調(diào)用它的POU的變量的數(shù)據(jù)類型匹配。4.5.2 子程序的編寫與調(diào)用子程序的編寫與調(diào)用 1子程序的作用 子程序?qū)⒊绦蚍殖扇菀坠芾淼男K,使程序結(jié)構簡單清晰,易于查錯和維護??梢远啻握{(diào)用同一個子程序,使用子程序可以減少掃描時間。 2子程序中的定時器 停止調(diào)用子程序時,如果子程序中的定時器正在定時,100ms定時器將停止定時,當前值保持不變,重新調(diào)用時繼續(xù)定時;1ms、10ms定時器繼續(xù)定時,定時時間到時,其常開觸點可以在子程序之外起作用。 3子程序舉例 子程序的重命名,生成局部變量,編寫程序。 4子程序的調(diào)用:將指令樹中的子程序“拖”到程序編
19、輯器中需要的位置。 如果用語句表編程,子程序調(diào)用指令的格式為 CALL 子程序名稱,參數(shù)1,參數(shù)2,參數(shù)nn = 116。 在語句表中調(diào)用帶參數(shù)的子程序時,輸入?yún)?shù)在最前面,其次是輸入/輸出參數(shù),最后是輸出參數(shù)。梯形圖中從上到下的同類參數(shù),在語句表中按從左到右的順序排列。 在調(diào)用子程序時,CPU保存當前的邏輯堆棧,將棧頂值置為1,堆棧中的其他值清零,控制轉(zhuǎn)移至被調(diào)用的子程序。該子程序執(zhí)行完后,CPU將堆棧恢復為調(diào)用時保存的數(shù)值,并將控制權交還給調(diào)用子程序的POU。 子程序在同一個周期內(nèi)被多次調(diào)用時,子程序內(nèi)部不能使用上升沿、下降沿、定時器和計數(shù)器指令。 如果在使用子程序調(diào)用指令后修改了該子程序
20、中的局部變量表,調(diào)用指令將變?yōu)闊o效。必須刪除無效調(diào)用,重新調(diào)用修改后的子程序。 子程序調(diào)用最多可以嵌套8級,從中斷程序調(diào)用子程序時嵌套深度是4級。 5用地址指針作輸入?yún)?shù)的子程序 【例4-8】 對VB30開始的4B數(shù)據(jù)作異或運算,并將運算結(jié)果存放在VB40中。 6子程序的有條件返回 在子程序中的RET(從子程序有條件返回)線圈通電時停止執(zhí)行子程序,返回調(diào)用它的程序。 7有保持功能的電路的處理 如果參數(shù)“電機”的數(shù)據(jù)類型為輸出(OUT),兩次調(diào)用子程序SBR_0,因為保存參數(shù)“電機”(L0.2)的存儲器是共用的,接通I0.0外接的小開關,Q0.0和Q0.1同時變?yōu)镺N。 將輸出參數(shù)“電機”的變量
21、類型改為IN_OUT,參數(shù)“電機”返回的運算結(jié)果分別用Q0.0和Q0.1保存,解決了上述問題。 4.6 中斷程序與中斷指令中斷程序與中斷指令4.6.1 中斷的基本概念中斷的基本概念 在中斷事件發(fā)生時由操作系統(tǒng)立即調(diào)用中斷程序。中斷程序是用戶編寫的。中斷程序不能再被中斷,中斷程序越短越好。 中斷事件號見表4-12。4.6.2 中斷指令中斷指令 1中斷允許指令與中斷禁止指令 中斷允許指令ENI允許處理所有被連接的中斷事件。 禁止中斷指令DISI禁止處理所有中斷事件。進入RUN模式時自動禁止中斷。 2中斷連接指令與中斷分離指令 中斷連接指令ATCH建立中斷事件EVNT與對應的中斷程序INT的聯(lián)系。中
22、斷事件由中斷事件號指定,中斷程序由中斷程序號指定。 中斷分離指令DTCH斷開中斷事件與中斷程序之間的聯(lián)系。 3中斷程序的執(zhí)行 CPU自動調(diào)用中斷程序需要滿足下列條件: 1)執(zhí)行了全局中斷允許指令ENI。 2)執(zhí)行了中斷事件對應的ATCH指令。 3)出現(xiàn)對應的中斷事件。 4中斷優(yōu)先級與中斷隊列溢出 中斷優(yōu)先級分組:通信(最高優(yōu)先級)、I/O中斷和定時中斷。在優(yōu)先級范圍內(nèi),CPU按照先來先服務的原則處理中斷。4.6.3 中斷程序舉例中斷程序舉例 1通信端口中斷 在自由端口模式,接收消息完成、發(fā)送消息完成和接收一個字符均可以產(chǎn)生中斷事件。 2I/O中斷 I/O中斷包括I0.0I0.3的上升沿、下降沿
23、中斷;高速計數(shù)器的當前值等于設定值、計數(shù)方向改變和計數(shù)器外部復位中斷。 【例4-9】在I0.0的上升沿通過中斷使Q0.0立即置位。在I0.1的下降沿通過中斷使Q0.0立即復位。/主程序 OB1LD SM0.1 / 第一次掃描時ATCH INT_0, 0 / I0.0上升沿時執(zhí)行0號中斷程序ATCH INT_1, 3 / I0.1下降沿時執(zhí)行1號中斷程序ENI / 允許全局中斷LD SM5.0/如果檢測到 I/O 錯誤DTCH0/禁用I0.0的上升沿中斷DTCH3/禁用I0.1的下降沿中斷 /中斷程序0(INT_0)LD SM0.0 /該位總是為ONSIQ0.0, 1/使Q0.0立即置位TODR
24、VB10/讀實時時鐘/中斷程序1(INT_1)LD SM0.0 /該位總是為ONRIQ0.0, 1/使Q0.0立即復位TODRVB18/讀實時時鐘 3定時中斷 定時中斷0、1的周期為1255ms,分別寫入SMB34和SMB35。每當定時時間到時,執(zhí)行相應的定時中斷程序。 【例4-10】用定時中斷0實現(xiàn)周期為2s的高精度定時。/ 主程序 OB1LD SM0.1 / 第一次掃描時MOVB 0, VB10 / 將中斷次數(shù)計數(shù)器清0MOVB 250, SMB34 / 設置定時中斷0的中斷時間間隔為250msATCH INT_0, 10 / 指定產(chǎn)生定時中斷0時執(zhí)行0號中斷程序ENI / 允許全局中斷
25、/ 中斷程序INT_0, 每隔250ms中斷一次LD SM0.0 / 該位總是為ONINCBVB10/ 中斷次數(shù)計數(shù)器加1LDB=8, VB10 / 如果中斷了8次(2s)MOVB 0, VB10 / 將中斷次數(shù)計數(shù)器清0INCB QB0 / 每2s將QB0加1 4. T32/T96中斷 【例4-11】使用T32中斷控制8位節(jié)日彩燈,每3s循環(huán)左移一位。1ms定時器T32定時時間的中斷事件號為21,最長定時時間為32.767s。/主程序 OB1LD SM0.1 /第一次掃描時MOVB 16#F, QB0/設置彩燈的初始狀態(tài),最低4位的燈被點亮ATCH INT_0, 21 /指定T32定時時間到
26、時執(zhí)行中斷程序INT_0ENI /允許全局中斷LDNM0.0/T32和M0.0組成脈沖發(fā)生器TONT32, 3000/T32 的預設值為3000msLD T32=M0.0/中斷程序INT_0LD SM0.0 RLB QB0, 1/彩燈循環(huán)左移1位4.7 高速計數(shù)器與高速脈沖輸出指令高速計數(shù)器與高速脈沖輸出指令4.7.1 高速計數(shù)器的工作模式與外部輸入信號高速計數(shù)器的工作模式與外部輸入信號 1增量式編碼器 高速計數(shù)器一般與增量式編碼器配合使用,單通道增量式編碼器只產(chǎn)生一個脈沖序列。雙通道A、B相型編碼器提供轉(zhuǎn)速和轉(zhuǎn)軸旋轉(zhuǎn)方向的信息。三通道增量式編碼器的Z相零位脈沖用作系統(tǒng)清零信號,或作為坐標的原
27、點。 2絕對式編碼器 絕對式編碼器輸出多位二進制數(shù),反映了運動物體所處的絕對位置。 3高速計數(shù)器的工作模式 HSC0和HSC2有8種計數(shù)模式: 1) 無外部方向控制信號的單相加/減計數(shù)器(模式0、1)。 2) 帶外部方向控制信號的單相加/減計數(shù)器(模式3、4)。 3) 有加、減計數(shù)時鐘脈沖輸入的雙相計數(shù)器(模式6、7)。 4) A/B相正交計數(shù)器(模式9、10),兩路計數(shù)脈沖的相位互差90。 根據(jù)有無復位輸入和啟動輸入,上述4類工作模式又可以各分為兩種。圖4-38 1倍速A/B相正交計數(shù)器 A/B相正交計數(shù)器可以選擇1倍速模式和4倍速模式,1倍速模式在時鐘脈沖的每一個周期計1次數(shù),4倍速模式在
28、兩個時鐘脈沖的上升沿和下降沿都要計數(shù)。 HSC1和HSC3因為只有一個時鐘脈沖輸入,只支持模式0。 4高速計數(shù)器的外部輸入信號見表4-15。4.7.2 高速計數(shù)器的程序設計高速計數(shù)器的程序設計 1高速計數(shù)器指令 HDEF指令定義高速計數(shù)器的工作模式,HSC指令用來激活高速計數(shù)器。 【例4-12】要求高速計數(shù)器HSC0用模式0的計數(shù)來周期性地控制Q0.1和Q0.2,計數(shù)脈沖的周期為1ms。 第1頁選中配置“HC0”,計數(shù)模式為默認的模式0。 第2頁采用默認的計數(shù)器名稱HSC0。 第3頁(模式)設置計數(shù)模式為默認的模式0。 第4頁采用默認的計數(shù)器初始化子程序的符號名HSC0_INIT。設置計數(shù)器的
29、預設值PV為4000,當前值CV為默認的0,初始計數(shù)方向為加計數(shù)。 第5頁(中斷)設置當前值等于預設值時產(chǎn)生中斷,使用默認的中斷程序符號名COUNT_EQ。 第6頁(步)設置步數(shù)為3步。 第7頁(第1步)自動選中“連接此事件到一個新的中斷程序”,采用默認的新的中斷程序的名稱HSC0_STEP1。設置“新PV”為7000,不更新計數(shù)當前值和計數(shù)方向。單擊上面的“下一步”按鈕。 第8頁(第2步)自動選中“連接此事件到一個新的中斷程序”,采用默認的新的INT的名稱HSC0_STEP2。設置“新PV”為3000,不更新計數(shù)當前值,新的計數(shù)方向為減計數(shù)。 第9頁(第3步)選中“連接此事件到一個新的中斷程
30、序”,設置新INT的名稱為COUNT_EQ。預設值更新為4000,當前值更新為0,計數(shù)方向改為加計數(shù)。實際上是開始下一周期的計數(shù)操作。單擊下面的“下一步”按鈕。 第10頁(組件)顯示將要生成的初始化子程序HSC_INIT和3個中斷程序。 在第11頁(完成)單擊“生成”按鈕,自動生成上述的4個程序。 主程序在I0.1的上升沿時調(diào)用HSC_INIT。 程序中對Q0.1和Q0.2置位和復位的指令是人工添加的。 4.7.3 高速脈沖輸出與開環(huán)位置控制高速脈沖輸出與開環(huán)位置控制 1PWM發(fā)生器 占空比是脈沖寬度與脈沖周期之比。 脈沖列(PTO)功能提供周期與脈沖數(shù)目可以由用戶控制的占空比為50%的方波脈沖輸出。脈沖寬度調(diào)制 (PWM) 功能提供連續(xù)的、周期與脈沖寬度可以由用戶控制的輸出。 CPU ST20有兩個脈沖輸出通道Q0.0和Q0.1,CPU ST30/ST40/ST60有3個脈沖輸出通道Q0.0、Q0.1和Q0.3,支持的最大脈沖頻率為100kHz。 用脈沖輸出向?qū)蒔WM指令PWMx_RUN,時間基準為s。輸入?yún)?shù)RUN為ON時輸出脈沖。 4.8 數(shù)據(jù)塊應用與字符串指令數(shù)據(jù)塊應用與字符串指令4.8.1 數(shù)據(jù)塊概述數(shù)據(jù)塊概述 1在數(shù)據(jù)塊中對地址和數(shù)據(jù)賦值 數(shù)據(jù)塊用來給V存儲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村舊房改建申請書
- 匯出匯款申請書
- 2025年教育培訓機構教師薪酬福利合同
- 工傷申請鑒定申請書
- 慈善總會救助申請書
- 二零二五年度電子投票權委托執(zhí)行協(xié)議
- 2025年度智能倉儲系統(tǒng)貨物損害賠償起訴書
- 外幣對申請書
- 南昌2025版房屋租賃合同租賃期限及租金調(diào)整流程指引
- 追加被告申請書模板
- GB 18030-2022信息技術中文編碼字符集
- SB/T 10977-2013倉儲作業(yè)規(guī)范
- GB/T 854-1988單耳止動墊圈
- GB/T 2520-2017冷軋電鍍錫鋼板及鋼帶
- 化工裝置安全試車工作規(guī)范附件解讀教材課件
- 【QC成果】提高地下室抗浮錨桿一次驗收合格率
- 篆刻學ppt精品課件
- 中厚板軋制規(guī)程
- 貴州煤炭資源有償使用意見
- 智慧教育 云平臺建設方案
- 模具試模通知單
評論
0/150
提交評論