cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
一般,觸摸屏上會有范圍變化(富士,西門子也稱作線性)功能,輸入模擬量的采集范圍,以及轉換后的壓力范圍。 [attachment=131799] 至于運算,其實就是根據直線方程的2點式公式進行計算的(初二教材),無非在pLC中需要加一些整型轉浮點數等轉換命令而已。 Good Luck~ |
---|---|
|
711022027
級別: 網絡英雄
|
西門子論壇轉帖,希望能幫到你! 工程量轉換的方法 經常在論壇上看到網友提出工程量顯示的問題,想在此做個專題,供各位網友參考。 1、基本概念 我們生活在一個物質的世界中。世間所有的物質都包含了化學和物理特性,我們是通過對物質的表觀性質來了解和表述物質的自有特性和運動特性。這些表觀性質就是我們常說的質量、溫度、速度、壓力、電壓、電流等用數學語言表述的物理量,在自控領域稱為工程量。這種表述的優點是直觀、容易理解。在電動傳感技術出現之前,傳統的檢測儀器可以直接顯示被測量的物理量,其中也包括機械式的電動儀表。 2、標準信號 在電動傳感器時代,中央控制成為可能,這就需要檢測信號的遠距離傳送。但是紛繁復雜的物理量信號直接傳送會大大降低儀表的適用性。而且大多傳感器屬于弱信號型,遠距離傳送很容易出現衰減、干擾的問題。因此才出現了二次變送器和標準的電傳送信號。二次變送器的作用就是將傳感器的信號放大成為符合工業傳輸標準的電信號,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。而變送器通過對放大器電路的零點遷移以及增益調整,可以將標準信號準確的對應于物理量的被檢測范圍,如0-100℃或-10-100℃等等。這是用硬件電路對物理量進行數學變換。中央控制室的儀表將這些電信號驅動機械式的電壓表、電流表就能顯示被測的物理量。對于不同的量程范圍,只要更換指針后面的刻度盤就可以了。更換刻度盤不會影響儀表的根本性質,這就給儀表的標準化、通用性和規模化生產帶來的無可限量的好處。 3、數字化儀表 到了數字化時代,指針式顯示表變成了更直觀、更精確的數字顯示方式。在數字化儀表中,這種顯示方式實際上是用純數學的方式對標準信號進行逆變換,成為大家習慣的物理量表達方式。這種變換就是依靠軟件做數學運算。這些運算可能是線性方程,也可能是非線性方程,現在的電腦對這些運算是易如反掌。 4、信號變換中的數學問題 信號的變換需要經過以下過程:物理量-傳感器信號-標準電信號-A/D轉換-數值顯示。 聲明:為簡單起見,我們在此討論的是線性的信號變換。同時略過傳感器的信號變換過程。 假定物理量為A,范圍即為A0-Am,實時物理量為X;標準電信號是B0-Bm,實時電信號為Y;A/D轉換數值為C0-Cm,實時數值為Z。 如此,B0對應于A0,Bm對應于Am,Y對應于X,及Y=f(X)。由于是線性關系,得出方程式為Y=(Bm-B0)*(X-A0)/(Am-A0)+B0。又由于是線性關系,經過A/D轉換后的數學方程Z=f(X)可以表示為Z=(Cm-C0)*(X-A0)/(Am-A0)+C0。那么就很容易得出逆變換的數學方程為X=(Am-A0)*(Z-C0)/(Cm-C0)+A0。方程中計算出來的X就可以在顯示器上直接表達為被檢測的物理量。 5、PLC中逆變換的計算方法 以S7-200和4-20mA為例,經A/D轉換后,我們得到的數值是6400-32000,及C0=6400,Cm=32000。于是,X=(Am-A0)*(Z-6400)/(32000-6400)+A0。 例如某溫度傳感器和變送器檢測的是-10-60℃,用上述的方程表達為X=70*(Z-6400)/25600-10。經過PLC的數學運算指令計算后,HMI可以從結果寄存器中讀取并直接顯示為工程量。 用同樣的原理,我們可以在HMI上輸入工程量,然后由軟件轉換成控制系統使用的標準化數值。 在S7-200中,(Z-6400)/25600的計算結果是非常重要的數值。這是一個0-1.0(100%)的實數,可以直接送到PID指令(不是指令向導)的檢測值輸入端。PID指令輸出的也是0-1.0的實數,通過前面的計算式的反計算,可以轉換成6400-32000,送到D/A端口變成4-20mA輸出。 以上講述的是PLC中工程量轉換的基本方法,程序的編寫則因人、因事而異。但是萬變不離其衷。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
FX3G上會用到加減乘除指令以及讀取模塊用到的FROM指令。 Good Luck~ |
---|---|
|
hnwygcb009
級別: 家園?
|
由于PLC沒有浮點數運算功能,不能識別小數。我一般是把模擬量轉換后的數據乘以10倍或100倍,然后觸摸屏里面設置數字格式的時候將小數點位數進行選擇就行。 |
---|---|
本帖最近評分記錄: |
caizebin
級別: 略有小成
|
我從FX3U-4AD-ADP模塊中讀取到4-20Am相對應的數值,請問怎么把得到的數值轉化為我需要的實際壓力值 比如我讀取到的數值 D8280 為400 最高值為2000 并且數值有些波動 需要使用到哪些指令來轉化成壓力值 計算時是不是涉及到小數 懇請高手指點 具體一點可以舉個程序例子 比如把1000 通過加減乘除浮點運算啥的 轉化成壓力值 |
---|---|
|