假設模擬量的標準電信號是 A0—Am(如:4—20mA),A/D轉換后數值為D0—Dm(如:6400—32000) ,設模擬量的標準電信號是A,A/D轉換后的相應數值為D,由于是線性關系,函數關系
A=f(D)可以表示為數學方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
A=(D-6400)×(20-4)/(32000-6400)+4
假設該模擬量與AIW0對應,則當AIW0的值為12800時,相應的模擬電信號是6400×16/25600+4=8mA。
又如,某溫度傳感器,-10—60℃與4—20mA相對應,以T表示溫度值,AIW0為PLC模擬量采樣值,則根據上式直接代入得出:T=70×(AIW0-6400)/25600-10 可以用T直接顯示溫度值。
模擬量值和A/D轉換值的轉換理解起來比較困難,該段多讀幾遍,結合所舉例子,就會理解。為了讓您方便地理解,我們再舉一個例子:
VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100 (單位:KPa)
編程實例
您可以組建一個小的實例系統演示模擬量編程。本實例的的CPU是CPU222,僅帶一個模擬量擴展模塊EM235,該模塊的第一個通道連接一塊帶4—20mA變送輸出的溫度顯示儀表,該儀表的量程設置為0—100度,即0度時輸出4mA,100度時輸出20mA。溫度顯示儀表的鉑電阻輸入端接入一個220歐姆可調電位器。
通用比例換算公式
圖1. 模擬量比例換算關系
實用指令庫
在STEP 7-Micro/WIN Programming Tips(Micro/WIN編程技巧中)的Tip38就是關于如何實現上述轉換的例程。為便于用戶使用,現已將其導出成為“自定義指令庫”,用戶可以添加到自己的Micro/WIN編程軟件中應用。
模擬量比例換算指令庫和例子
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為此聯系西門子技術支持與服務部門。 在這個指令庫中,子程序Scale_I_to_R可用來進行模擬量輸入到S7-200內部數據的轉換;子程序Scale_R_I可用于內部數據到模擬量輸出的轉換。
本文來源于網絡,版權歸原作者所有。但因轉載眾多,無法確認原作者,故僅標明轉載來源。