高速計(jì)數(shù)器定義指令和高速計(jì)數(shù)器指令及編程
發(fā)布于2023-02-08 10:21
25
2
標(biāo)簽:高速計(jì)數(shù)器
高速計(jì)數(shù)器定義指令(HDEF)選擇指定高速計(jì)數(shù)器HSCx的操作模式。模式選擇定義高速計(jì)數(shù)器的時(shí)鐘、方向、開(kāi)始和重設(shè)功能??梢詫⒁粋€(gè)高速計(jì)數(shù)器定義指令用于每個(gè)高速計(jì)數(shù)器。高速計(jì)數(shù)器指令如圖5-63所示。
設(shè)置ENO=0的錯(cuò)誤條件:0003(輸入點(diǎn)沖突);0004(中斷中的非法的指令):000A(HSC重新定義)。
高速計(jì)數(shù)器指令
高速計(jì)數(shù)器(HSC)指令基于HSC特殊內(nèi)存位的狀態(tài)以配置和控制高速計(jì)數(shù)器。參數(shù)N指定高速計(jì)數(shù)器數(shù)目。高速計(jì)數(shù)器指令可以配置為最多12種不同的操作模式。
每個(gè)計(jì)數(shù)器有用于時(shí)鐘、方向控制、重設(shè)和啟動(dòng)的輸入。對(duì)于雙相計(jì)數(shù)器,兩個(gè)時(shí)鐘都可以在最大計(jì)數(shù)率下運(yùn)行。在倍數(shù)模式下,可以選擇1倍(1x)或4倍(4x)最大計(jì)數(shù)率。所有運(yùn)行在最大計(jì)數(shù)率的計(jì)數(shù)器不會(huì)互相干擾。高速計(jì)數(shù)器指令的有效操作數(shù)見(jiàn)表5-20。
設(shè)置ENO=0的錯(cuò)誤條件:0001(HSC在HDEF前):0005(同時(shí)HSC/PLS)。
高速計(jì)數(shù)器常作為鼓式定時(shí)器的驅(qū)動(dòng)器,在定時(shí)器中,以恒定速度旋轉(zhuǎn)的軸安裝有遞增轉(zhuǎn)軸編碼器。軸編碼器提供每轉(zhuǎn)的指定計(jì)數(shù)數(shù)字,重設(shè)脈沖在每轉(zhuǎn)產(chǎn)生一次。時(shí)鐘和來(lái)自軸編碼器的重設(shè)脈沖提供到高速計(jì)數(shù)器的輸入。
高速計(jì)數(shù)器用第一個(gè)幾次預(yù)置載入,期望的輸出在當(dāng)前計(jì)數(shù)小于當(dāng)前預(yù)置的時(shí)間期間激活。安裝計(jì)數(shù)器以在當(dāng)前計(jì)數(shù)等于預(yù)置以及重設(shè)產(chǎn)生時(shí)提供中斷。當(dāng)每個(gè)當(dāng)前計(jì)數(shù)數(shù)值等于預(yù)置數(shù)值中斷事件產(chǎn)生時(shí),載入新的預(yù)置,設(shè)置下一個(gè)輸出狀態(tài)。當(dāng)重設(shè)中斷事件產(chǎn)生時(shí),設(shè)置第一個(gè)預(yù)置和第一個(gè)輸出狀態(tài),重復(fù)周期。
因?yàn)橹袛喟l(fā)生率遠(yuǎn)遠(yuǎn)低于高速計(jì)數(shù)器的計(jì)數(shù)率,所以,可以實(shí)現(xiàn)高速操作的精確控制,而對(duì)全部的PLC掃描循環(huán)影響相當(dāng)小。連接中斷的方法,允許每次載入新預(yù)置在獨(dú)立的中斷程序中完成以便易于狀態(tài)控制。此外,所有中斷事件也可以在單個(gè)中斷程序中處理。
不同類型的高速計(jì)數(shù)器
所有計(jì)數(shù)器功能對(duì)于同樣的計(jì)數(shù)器操作模式是一樣的。有4種基本計(jì)數(shù)器類型:單相計(jì)數(shù)器帶有內(nèi)部方向控制,單相計(jì)數(shù)器帶有外部方向控制,雙相計(jì)數(shù)器帶有兩個(gè)時(shí)鐘輸入和AB相正交計(jì)數(shù)器。注意每種模式不能為每個(gè)計(jì)數(shù)器所支持,可以使用每種類型:沒(méi)有重設(shè)或啟動(dòng)輸入、有重設(shè)和沒(méi)有啟動(dòng)、或啟動(dòng)和重設(shè)輸入都有。
對(duì)于高速計(jì)數(shù)器,必須注意以下3點(diǎn):
(1)當(dāng)激活重設(shè)輸入時(shí),它清除當(dāng)前值并保持清除直到取消激活重設(shè)。
(2)當(dāng)激活啟動(dòng)輸入時(shí),就允許計(jì)數(shù)器計(jì)數(shù)。取消激活啟動(dòng)的同時(shí),計(jì)數(shù)器的當(dāng)前值保持為常量,時(shí)鐘事件忽略。
(3)如果重設(shè)激活而啟動(dòng)非現(xiàn)用,重設(shè)被忽略,而當(dāng)前值不變。如果啟動(dòng)輸入成為現(xiàn)用,而重設(shè)輸入為現(xiàn)用,當(dāng)前值被清除。
在使用高速計(jì)數(shù)器前,須使用HDEF指令(高速計(jì)數(shù)器定義)選擇計(jì)數(shù)器模式。使用第一個(gè)掃描內(nèi)存位SM0.1(此位在第一次掃描時(shí)接通,然后斷開(kāi)),來(lái)調(diào)用包含HDEF指令的子程序。
高速計(jì)數(shù)器編程
1.高速計(jì)數(shù)器編程概述
使用高速計(jì)數(shù)器指令向?qū)渲糜?jì)數(shù)器。向?qū)Оㄏ铝行畔?計(jì)數(shù)器的類型和模式、計(jì)數(shù)器預(yù)設(shè)值、計(jì)數(shù)器當(dāng)前值和初始計(jì)數(shù)方向。要啟動(dòng)高速計(jì)數(shù)器指令向?qū)?,選擇工具(Tools)>指令向?qū)?InstructionWizard)菜單命令,然后從指令向?qū)Т翱谶x擇高速計(jì)數(shù)器指令。
對(duì)高速計(jì)數(shù)器編程,進(jìn)行以下設(shè)置:
(1)定義計(jì)數(shù)器和模式;
(2)設(shè)置控制字節(jié);
(3)設(shè)置當(dāng)前值(起始值);
(4)設(shè)置預(yù)設(shè)值(目標(biāo)數(shù)值);
(5)分配和啟用中斷程序;
(6)激活高速計(jì)數(shù)器。
2.定義計(jì)數(shù)器模式和輸入
使用高速計(jì)數(shù)器定義指令來(lái)定義計(jì)數(shù)器模式和輸入。
與高速計(jì)數(shù)器有關(guān)的時(shí)鐘、方向控制、重設(shè)和啟動(dòng)功能的輸入,見(jiàn)表5-21.同樣的輸入不能用于兩種不同的功能,但沒(méi)有被其高速計(jì)數(shù)器的顯示模式使用的輸入可以用于其他用途。例如,如果HSC0正被用于模式1,它使用I0.0和I0.2,I0.1可用于HSC3的邊沿中斷。