如何編寫模擬量采集程序塊
模擬量模塊工作原理:通過模數轉換器(A-D轉換),將模擬量信號轉換成數字量信號。並且以二進製補碼的形式表示,占用兩個字節,共16位,最高位為符號位。
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的特殊存儲器SM | |
1、 SMB0字節:(係統狀態位) SM0.0 PLC運行時這一位始終為l,是常0N繼電器。 SM0.l PLC首次掃描時為1一個掃描周期。用途之一是調用初始化使用。 SM0.2 若保持數據丟失,該位為1一個掃描周期。 SM0.3 開機進入RUN方式將ON一個掃描周期。 SM0.4 該位提供了一個... |
如何備份s7-300plc程序 | |
備份S7-300程序 1:打開Simatic manager, File>New雙擊打開; 2:點擊 Browse , 出現一個新窗口如下; 選擇一個目錄/創建一個新文件夾來保存備份。 3:接下來,進入option菜單,出現一個下拉列表,如下圖所示。 選擇PG/PC接口選項。 4:一個新的窗口將打... |
在西門子PLC中讀取或搜索Tag的過程 | |
1:打開Siemens Simatic Manager 2:搜索所需的PLC程序,然後按OK。 3:點擊S7程序,然後點擊符號如下圖所示。 4:將打開一個新窗口並按ok。 5:打開菜單Find and Replace 輸入所需查詢的tag。假設我們需要一個溫度變送器,所以輸入temp文本。 然後點擊Find... |
西門子plc程序暫停功能怎麼實現 | |
這個沒有做過數控係統開發的,根本不知道這裏麵的門道。注意,對於運動控製特別是有位置控製的話,暫停並不是將當前脈衝停止即可,大多數情況下必須有個減速暫停功能,否則會造成伺服報警或步進丟步。當然大多數PLC能實現此功能,點動情況實際上就是這樣操作... |
西門子PLC用少數IO接口連接更多按鈕的方法 | |
西門子PLC為例說明用少數IO接口連接更多按鈕的方法。 接線如圖一所示: 梯形圖如圖二所示: 在這個例子中使用了SB0到SB5共6個按鈕,占用6個輸入口。操作時,按下按鈕SB0,再分別按其它按鈕,可以得到5個按鈕信號;不按按鈕SB0,操作其它按鈕,又可以得到5個按鈕... |
- 西門子plc鎖存型延時通定時器指令
- 如何使用西門子s7-200模擬器去測試程序
- 西門子S7-200 PLC編程軟件操作圖解
- 西門子s7-200plc怎麼控製直流電機
- 西門子S7-1200的PLC來控製電磁閥的動作
- fbd編程常用功能塊
- 西門子STEP7軟件中加減乘除指令
- 西門子300編程中FB塊用到C或者T之後多次
- 西門子S7300模擬量I/O使用圖解
- 如何設置西門子EM222擴展模塊
- 西門子S7-200能控製多少個伺服
- 西門子S7200四則運算指令表詳解
- S7-200如何通過向導設定PID教程
- step7安裝提示重啟怎麼解決
- 西門子S7300用異或指令實現一鍵啟停
- 西門子PLC生產日期和生命周期含義說明
- 西門子300PLC與溫控表怎樣連接通訊
- WinCC C語言腳本推薦
- 博圖軟件支持所有西門子型號都能組態嗎
- 西門子PLC編程中的FB、FC、DB、OB是什麼