模擬量模塊工作的基本原理是:通過模數轉換器(A-D轉換),將模擬量信號轉換成數字量信號。并且以二進制補碼的形式表示,占用兩個字節,共16位,Zui高位為符號位。
16位二進制補碼表示的數值范圍是-32768~+32767,但模塊的測量范圍卻不與數值范圍相同。
測量范圍為-27648~+27648,比如測量的電壓為±10V,那么對應關系就是:
-10V=-27648
+10V=+27648
數值范圍與測量范圍的不同,可以表示當傳感器輸入信號超限時的數據,這樣CPU就能對故障進行診斷。
下表是輸入信號與轉換的數字值之間的對應關系:
1、模擬量值的規范化
無論外部的信號是什么(溫度、壓力、流量、速度),這些信號經模塊轉換后都用-27648~+27648范圍的整數表示,這個整數沒有單位,更不容易記憶。
我們在程序中使用模擬量時,如果程序中的數值和實際中的情況一致,那么將會更加方便。把無意義的數值轉換成有實際意義的數據,就是模擬量的規范化。
2、SCALE指令
在經典STEP7軟件中通過庫的方式,提供規范化程序模塊,在博途中把這些常用的功能塊做成了指令。
SCALE指令就相當于經典STEP7中的FC105,用法相同。
示例:利用壓力傳感器通過4-20mA信號,采集壓力值,壓力變送器量程0~0.6MPa,如果利用SCALE指令采集模擬量數據,如下圖所示:
IN:模擬量數據地址,在硬件組態中可查到具體地址,以%IW開頭(與經典STEP7不同)。
HI_LIM:量程上限,本示例為壓力變送器上限量程0.6,數據類型為浮點數。
LO_LIM:量程下限,本示例為壓力變送器上限量程0.0,數據類型為浮點數。
RET_VAL:錯誤代碼,當轉換出錯時可根據代碼提示查找錯誤。
OUT:轉換值,通過指令規范化后的實際值,數據類型為浮點數。
BIPOLAR:極性選擇,0=單極性,1=雙極性。
除了利用SCALE指令進行數據轉換,當然你也可以自己利用數學方法,構造出轉換程序,博途中提供很方便的指令。
但是不建議這么做,既然有了SCALE指令再去自己寫算法,顯然這么做很浪費精力。這些指令經過了多次驗證,肯定不會出問題,自己編寫的程序,容易出差錯。
在博途中增加了縮放SCALE_X和NORM_X標準化兩個指令,也可以通過這兩個指令進行規范化,但要比SCALE指令復雜點,可以試著自己編寫。
3、循環采集
對于模擬量信號,在短時間內不會出現很大的波動,沒必要在主程序中每個周期都掃描采集,可以利用循環中斷,實現固定時間間隔進行采樣。
新建一個組織塊,類型選擇為Cyclic interrupt(循環中斷),如下圖所示:
上圖中的時間間隔單位是μs,數值范圍250~60000000(250μs~60s)
把我們編寫的模擬量采集程序塊,拖拽到循環中斷OB30中,即可實現每隔500ms對模擬量進行一次采樣。
- 西門子S7-200之間、S7-200與S7-300之間的以太網通信 2024-12-03
- 西門子1200PLC實用定位控制程序案例 2024-12-03
- 伺服與變頻器有什么區別? 2024-12-03
- 步進驅動和伺服驅動的區別 2024-12-03
- 如何使用博圖仿真軟件PLCSIM模擬調試S7-1200程序? 2024-12-03
- PLC常見的輸入輸出設備有哪些?如何與PLC連接? 2024-12-03
- 西門子S7-300開關量模塊和模擬量模塊地址如何分配? 2024-12-03
- 西門子S7-200 SMART編程軟件簡介 2024-12-03
- 西門子S7-1200編程實例,關斷延遲定時器指令如何使用? 2024-12-03
- 西門子1500系列PLC運動控制功能,速度軸配置與仿真 2024-12-03
- 西門子S7-1200 PLC高速計數器實例及應用詳解 2024-12-03
- 西門子S7-1200與第三方設備自由口通信詳解 2024-12-03
- 博途S7-1200 和V20變頻器的MODBUS通訊實例 2024-12-03
- 什么叫運動控制?什么是伺服系統?伺服系統的三種控制方式 2024-12-03
- 西門子S7-1200運動控制指令說明及重要指令應用講解 2024-12-03
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684