新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何用西門子S7-200PLC計(jì)算脈沖寬度

如何用西門子S7-200PLC計(jì)算脈沖寬度

作者: 時(shí)間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
可以用以下的方式計(jì)算脈沖寬度。
  1. 創(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)建子程序。
  2. 使用指令向?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
  3. 插入子程序或中斷到項(xiàng)目中
    • 在子程序SBR_0 中,分配中斷程序 (INT_0) 到事件 1 (I0.0 的下降沿)。
    • 在中斷程序中(INT_0), 拷貝當(dāng)前計(jì)數(shù)值 HC1 到雙字中 (VD0) 然后重新初始化計(jì)數(shù)器,復(fù)位計(jì)數(shù)器到0。
  4. 硬件連接
    • 連接輸出 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 算出。


關(guān)鍵詞: 西門子S7-200PLC脈沖寬

評(píng)論


技術(shù)專區(qū)

關(guān)閉