小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

S7-200 高速計數器簡單案例(2)

 PLC發(fā)燒友 2021-01-22

前面以幾個較簡單的程序案例學習了一下高速計數器的應用,那么今天就做幾個稍微復雜一些的程序案例,提高一下對高速計數器的掌握程度和熟練應用。

1、用編碼器測量電機轉速與頻率

主程序:

子程序:

中斷程序:

以上的程序中,在主程序中,用I0.7的上升沿調用高速計數器初始化子程序,然后做一個高速計數器初始化的子程序,首先是定義控制字節(jié),送16#F8SMB37,定義為加計數更新當前值,這里沒有寫入初始值和預設值,定義的是高速計數器HSC0HSC模式1,然后激活高速計數器,還做了高速計數器中斷,我們設置定時中斷0的時間間隔為100ms,因為SMB34的定時中斷0為中斷事件號10,我們建立中斷程序0和中斷事件10的中斷連接,并全局允許中斷。

然后再看一下中斷程序,因為是100ms的定時中斷,每100ms執(zhí)行一次中斷程序。我們就用100ms計算的脈沖個數,再乘以600化成1分鐘的脈沖個數,再除于分辨率就是等于轉速,程序中的500就是編碼器的分辨率。而對于編碼器的頻率的計算,我們有這樣一個公式,頻率/工頻50Hz=轉速/工頻下的轉速,所以頻率=(轉速/工頻下的轉速)*工頻50Hz,這里我們先把雙整數的轉速轉換成實數,再除以工頻下的轉速1488.0,再乘以工頻50.0Hz,那么就得到了編碼器的頻率了。

2、用編碼器測量機床位置,不論機床朝正方向移動或朝反方向移動,都能知道機床的當前位置,有一原點位置感應開關I0.7,當原點位置感應開關接通時,機床的當前位置為0。假設編碼器的分辨率為1024,絲桿的進給量即轉1圈移動的位置為10,計算公式是當前值除以分辨率,再乘于進給量)

主程序:

子程序:

以上的程序中,首先做一個高速計數器初始化的子程序,首先是定義控制字節(jié),送16#F8SMB37,定義為加計數更新當前值,這里沒有寫入初始值和預設值,定義的是高速計數器HSC0HSC模式1,然后激活高速計數器。

在主程序中,用I0.7的上升沿調用高速計數器初始化子程序。然后是做機床朝正方向移動的控制,做個起保停程序,當I0.3接通時,Q0.0接通并自鎖,在Q0.0接通的上升沿傳送16#B8SMB37(加計數不更新當前值),同時激活高速計數器。然后是做機床朝反方向移動的控制,做個起保停程序,當I0.4接通時,Q0.1接通并自鎖,在Q0.1接通的上升沿傳送16#B0SMB37(減計數不更新當前值),同時激活高速計數器。

后面還做了一個用SM0.1常閉觸點的上升沿來調用高速計數器初始化的子程序,并且用SM0.1的常開觸點來驅動傳送指令傳送VD1000的值到SMD38,用SM0.1的常閉觸點來驅動傳送指令傳送HC0的值到VD1000,這里是為了實現停電保持功能。PLCSTOP撥向RUN時,在第一個掃描周期之后會傳送HC0的計數值到VD1000里面進行存儲,當PLC斷電后再從STOP撥向RUN時,SM0.1接通一個掃描周期,把VD1000存儲的計數器傳到到SMB38,那么當前值就是存儲在VD1000里面的值。然后再做一個計算,把雙整數HC0的當前值轉換成實數,再進行HC0的當前值除以分辨率1024.0,再乘于進給量10.0,這樣就可以測量出機床位置。

那么以上就是一些簡單的高速計數器的應用,比較詳細的講了一下,可以理解嗎?

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多