PLC實(shí)驗(yàn)—西門子S7 1200讀取旋轉(zhuǎn)編碼器數(shù)據(jù)并計(jì)算電機(jī)轉(zhuǎn)速
注意PTO控制步進(jìn)電機(jī)實(shí)驗(yàn)博途軟件需要V14版本,不然沒有PTO功能塊
軟件的下載請(qǐng)點(diǎn)擊下方百度網(wǎng)盤的鏈接
鏈接:https://pan.baidu.com/s/11mQFVnaQxrUy4W9nGIk8Jw
提取碼:6lva
詳細(xì)的操作指導(dǎo)視頻已經(jīng)放到了B站上
Simens S7-1200讀取增量式編碼器數(shù)據(jù)
Simens S7-1200根據(jù)編碼器數(shù)據(jù)計(jì)算電機(jī)轉(zhuǎn)速
主塊
首先要在設(shè)備組態(tài)
啟用高速計(jì)數(shù)器
硬件輸入
為I0.0和I0.1
這里將輸入濾波器的時(shí)間改為0.8ms
先看變量表
main中添加了4個(gè)程序段,這是基于PTO控制步進(jìn)電機(jī)基礎(chǔ)上實(shí)現(xiàn)的,可以先看前面的博客
PLC編程與實(shí)踐——基礎(chǔ)實(shí)驗(yàn)
ID1000是HSC_1的地址,將其move到MD1000中
從上面可以看出編碼器A相接I0.0,B相接I0.1,接兩根信號(hào)線即可
CTRL_HSC: 控制高速計(jì)數(shù)器
使用“控制高速計(jì)數(shù)器”指令,可以對(duì)參數(shù)進(jìn)行設(shè)置并通過將新值加載到計(jì)數(shù)器來控制 CPU 支持的高速計(jì)數(shù)器。指令的執(zhí)行需要啟用待控制的高速計(jì)數(shù)器。對(duì)于指定的高速計(jì)數(shù)器,無法在程序中同時(shí)執(zhí)行多個(gè)“控制高速計(jì)數(shù)器”指令
可以在幫助中查看信息
輔助塊
新建一個(gè)中斷OB,周期為200ms
新建一個(gè)FB,用于計(jì)算電機(jī)的實(shí)際轉(zhuǎn)速,在中斷OB中調(diào)用該FB
FB_Counter_to_Speed
先看變量,注意輸入/輸出/全局變量的設(shè)置
用下面的公式計(jì)算電機(jī)實(shí)際轉(zhuǎn)速
功能塊實(shí)現(xiàn)
Current_Counter - Recoder_Counter = Delta_Counter
Delta_Counter / (Cycle_Time * 1000) = ratio_result
DIV
中的1000是編碼器的線數(shù),CALCULATE
是ms到s的換算,這里的單位是轉(zhuǎn)/秒
注意用move去更新
Recoder_Counter
Cyclic interrupt 200ms
在組織塊中直接調(diào)用函數(shù)塊即可
實(shí)際接線
接線其實(shí)很簡(jiǎn)單
實(shí)驗(yàn)結(jié)果
通過CTRL_HSC可以給編碼器初值添加一個(gè)偏置
在main中MD1000顯示了編碼器的脈沖數(shù)
FB_Counter_to_Speed函數(shù)塊中可以顯示步進(jìn)電機(jī)的轉(zhuǎn)速
Cyclic interrupt 200ms組織塊中顯示的步進(jìn)電機(jī)轉(zhuǎn)速與FB_Counter_to_Speed中相同文章來源:http://www.zghlxwxcb.cn/news/detail-446588.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-446588.html
到了這里,關(guān)于PLC實(shí)驗(yàn)—西門子S7 1200讀取旋轉(zhuǎn)編碼器數(shù)據(jù)并計(jì)算電機(jī)轉(zhuǎn)速的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!