|
|
|
發表人:hj2005 |
發表時間:2005-9-20 1:11:00 |
|
|
本欄論題: |
請提供高速計數器測速程序范例(急用) [54569] |
要求:
1、S7-200
2、光電編碼器(100p/r)
3、顯示轉速(單位:R/S)
|
|
以下是關于《請提供高速計數器測速程序范例(急用)》論題的回復(共55篇,分4頁顯示) |
回復:你所需要的程序樣本
通過與電動機同軸齒輪齒條變化來測量電動機轉速,電動機輸出軸與齒輪的傳動比=1,齒條數=12,要求測量單位:轉/分鐘。

主程序

子程序



中斷程序


主程序MAIN
程序初始化,PLC上電運行的第一個掃描周期執行一次初始化子程序SBR_0。用于程序運行的初始設置
子程序SBR_0
在PLC運行的第一個掃描周期,將用于記錄累加數據次數和累加數據的中間變量VB8和VD0置0
設置高速計數器HC0的控制字節SMB37,用十六進制表示(16#F8),也可以用二進制表示(2#11111000)。
設置高速計數器HC0工作模式為0,單相計數輸入,沒有外部控制功能。
設置高速計數器HC0初始值寄存器SMD38為0。
執行HSC指令,將控制字節SMB37、初始值/預置值寄存器(SMD38/SMD42)以及工作模式寫入高速計數器HC0。
設定定時中斷事件的時間為50ms
定時中斷事件號10和中斷處理程序INT_0建立關聯。
允許中斷,將定時中斷事件和中斷處理程序連接
中斷處理程序INT_0
中斷處理程序每隔50ms掃描刷新一次。
采用整數加法指令,將高速計數器HC0的計數當前值(32位)和累加數據相加一次。用于數據的累加。
采用整數遞增指令,記錄累加次數。
執行HSC指令,在這里執行的目的,是將初始值寄存器SMD38(0)再次寫入高速計數器HC0,使計數當前值為0,以便下個定時采樣。
當累加數據次數等于32次,子程序中網絡2中程序執行。
采用除法指令,計算32次的累加數據平均值。
將平均值轉換成測量單位:轉/分,轉換后的數據送入雙字VD4。
將平均值轉換成字數據,送入字VW10中。VW10中的數據就是電機速度值。之所以轉換,是因為在程序中一般要求以字的概念存在。
將記錄累加數據次數的字節VB6中數據置0。用于下一次開始時,從新開始累加。
將用于累叫數據的中間變量VD4置0。
|
|
回復:你所需要的程序樣本
高速計數器和普通計數器如何區別使用。
小輩入行淺,望前輩賜教!
|
|
回復:斑竹,斑竹,我愛你,就像老鼠愛大米!
哇塞,還有注解。
斑竹,斑竹,我愛你,就像老鼠愛大米!
|
|
回復:好象文不對題,不過還是要謝謝班主
好象文不對題,不過還是要謝謝班主
|
|
回復:大哥們,幫幫忙吧!
大哥們,幫幫忙吧!如果我是女的,我早給你們脫了。。。
拜托了!涉及我的飯碗問題呀!
|
|
回復:值得相助,可惜我也不會。
值得相助,可惜我也不會。
|
|
|