如何用西門子S7-200PLC計(jì)算脈沖寬度
- 創(chuàng)建一個(gè)脈寬調(diào)制子程序
- 使用PLS脈沖輸出功能和PWM功能創(chuàng)建一個(gè)20 kHz 脈沖序列。使用菜單“工具> 位置向?qū)?rdquo;。
- 選擇“配置S7-200 集成的 PTO/PWM 功能”。
- 然后選擇相應(yīng)的輸出用于發(fā)出脈沖,生成一個(gè)自動(dòng)脈沖發(fā)生器 (如 Q0.0)。
- 選擇
PWM 功能和相應(yīng)的時(shí)基 (微秒時(shí)基,時(shí)鐘周期 50 µs,25 µs 脈寬)。 - 然后點(diǎn)擊“完成”確認(rèn)創(chuàng)建子程序。
- 使用指令向?qū)SC創(chuàng)建高速計(jì)數(shù)器
- 使用菜單 工具>指令向?qū)?HSC 打開高速計(jì)數(shù)器向?qū)А?/li>
- 在向?qū)е羞x擇相應(yīng)的高速計(jì)數(shù)器 (如 HSC 1
模式 2),指定初始化選項(xiàng)。 - 關(guān)閉向?qū)А?/li>
本文引用地址:http://m.butianyuan.cn/article/201612/330052.htm - 插入子程序或中斷到項(xiàng)目中
- 在子程序SBR_0 中,
分配中斷程序 (INT_0) 到事件 1 (I0.0 的下降沿) 。 - 在中斷程序中(INT_0), 拷貝當(dāng)前計(jì)數(shù)值 HC1 到雙字中 (VD0) 然后重新初始化計(jì)數(shù)器,復(fù)位計(jì)數(shù)器到0。
- 在子程序SBR_0 中,
- 硬件連接
- 連接輸出 Q0.0 (脈沖發(fā)生器)到高速計(jì)數(shù)器輸入
(例子中是 I0.6 HSC1)。 - 將要測(cè)量的脈沖 (initiator) 連接到啟動(dòng)輸入 (I1.1
HSC1) 然后連接到中斷輸入 (I0.0)。當(dāng)啟動(dòng)輸入使能的時(shí)候,20 kHz脈沖開始計(jì)數(shù)。 - 處理輸入
I1.0 (復(fù)位輸入 HSC1) 防止信號(hào)被使能。 - I0.0的每個(gè)下降沿到來時(shí),高速計(jì)數(shù)器 HSC1的計(jì)數(shù)值都會(huì)被讀出來,填寫到先前定義的存儲(chǔ)區(qū)(VD0)中,計(jì)數(shù)器復(fù)位0。
- 通過指定的脈沖序列計(jì)算脈沖寬度 (計(jì)算公式:測(cè)量的脈沖數(shù)量 x 0.0005 µs)。
- 系數(shù)0.0005 通過脈沖序列 20000 的1/x 算出。
- 連接輸出 Q0.0 (脈沖發(fā)生器)到高速計(jì)數(shù)器輸入
評(píng)論