
西門子PLC中如何解決流量累積問題
現在中很多要求具備流量計的功能,由此引出的幾個問題,期望與大家分享。
問題1:自行編寫流量累計程序 自行編寫流量累計程序的原理,其實就是積分的較原始算法概念,把單位小間隔時間內的瞬時流量乘以單位間隔時間,得到單位小間隔時間內的流量,再把這些小流量累加起來,就的到了累計流量。 在流量累計編程中經常會遇到實數加法問題,實數加法運算的注意事項也應當引起編程人員的重視,請看下例程序(假設其在OB35中被調用,目的為每隔一定時間間隔就累計一次流量) LMD0//累計流量存儲值 LMD4//流量瞬時值 TMD0 以上的程序是否存在問題?
很多人會認為沒有問題,但實際情況是此程序在運行一段時間后就將出現錯誤。此程序在運行之初是正常的,因為累計流量初始值及流量瞬時值都為一個很小的浮點數,兩數相加后,結果正確。但是當一段時間后,累計流量的數值逐漸增大,當它與瞬時流量的數值相差很遠的時候,兩者執行加法操作后,瞬時流量的數值將被忽略掉(如9999990.0與0.2做加法操作)。
其實具備計算機常識的人都應當清楚這一點,這是由于浮點數的存儲機制造成的,是所有計算機方面編程都需要考慮的問題。這個問題可以通過使用二次累加或多次累加的方法來解決。所以在編程時應避免數量級相差太多的浮點數之間進行運算。很多人反映加法指令不好用了,很有可能就是數量級相差很多的實數進行了加法運算。 問題2:累計流量誤差問題 對于積分算法,取小的矩形對流量進行累計,肯定是矩形劃分越細,誤差越小,不存在誤差是不可能的。 問題3:流量計與PLC構成的系統的誤差 流量計有多種多樣,下面舉些例子: 1、流量計本身沒有累計流量功能,但可以把瞬時流量以模擬量的方式(例如4-20mA)輸出。 此時累計流量的較大誤差可以估算為: 流量計本身誤差*流量計D/A誤差*模擬量模塊A/D誤差*PLC流量累計算法誤差假設上面所有誤差都是1%,則最后的誤差約為:4.06% 1.01*1.01*1.01*1.01=1.0406 對于某些流量計,本身的瞬時流量誤差可能就是3%,所以這樣的系統累計流量的誤差可能還要大些。 2、流量計本身沒有累計流量功能,但可以把瞬時流量以數字量的方式輸出。 有些流量計提供數字量接口,可以連接PLC的數字量輸入模板,流量計每流過一定流量后(例如0.1噸),此輸入點就導通一次,PLC就把累計流量累加0.1噸即可。 此類系統避免了A/D,D/A轉化的誤差,以及PLC累計算法誤差。但是會出現一定時間內累計流量不變化的情況,實時性不好(每0.1噸累積的時間)。 3、流量計本身有累計流量功能,同時可以把瞬時流量以模擬量的方式(例如4-20mA)輸出,但無法將累計流量數值送出。 流量計本身累積流量的數值,最后很有可能與PLC的累計流量數值相差很大,原因可能是多方面造成的,除去系統累計流量誤差的因素,如果PLC系統檢修時,流量計還計量,則PLC無法累積這部分流量。 4、流量計本身有累計流量功能,同時可以通過通信的方式,把瞬時流量及累計流量數值送給PLC。這種情況較理想,但系統的成本也較高。
較常用的西門子PLC硬件詳解
我們先來看看西門子:S7-1200在西門子PLC產品線中的定位。S7-1200處于中端定位,使用大多數應用環境,也擁有不錯的性價比,這也是應用廣泛的重要原因。
1、S7-1200的硬件構成
a、CPU模塊介紹
b、CPU模塊技術參數
c、CPU的共性:
集成的24V傳感器/負載電源可供傳感器和編碼器使用,也可以用做輸入回路的電源。
集成的2點模擬量輸入(0~10V),輸入電阻100kW,10位分辨率。
2點脈沖列輸出(PTO)或脈寬調制(PWM)輸出,較高頻率為100kHz。
有16個參數自整定的PID控制器。
4個時間延遲與循環中斷,分辨率為1ms。
可以擴展3塊通信模塊和一塊信號板,CPU可以用信號板擴展一路模擬量輸出或高速數字量輸入/輸出。
d、CPU的3種版本:
CPU1214C外部接線圖
CPU1214CAC/DC/Relay的外部接線圖
CPU1214CDC/DC/DC的外部接線圖
CPU1214CDC/DC/Relay的外部接線圖
e、信號板SB(**board)
通過信號板可以給CPU增加I/O。SB連接在CPU的前端。
具有4個數字量I/O(2xDC輸入和2xDC輸出)的SB
具有1路模擬量輸出的SB
信號板接線圖
信號板SB1221接線圖
信號板SB1222接線圖
信號板SB1223接線圖
信號板SB12321x模擬量輸出接線圖
f、信號模塊SM(**module)
可以使用信號模塊給CPU增加附加功能。信號模塊連接在CPU右側。
1、數字量I/O
可以選用8點、16點和32點的數字量輸入/輸出模塊,來滿足不同的控制需要。
2、模擬量I/O
在工業控制中,某些輸入量(溫度、壓力、流量、轉速等)是模擬量,某些執行機構(例如電動調節閥和變頻器等)要求PLC輸出模擬量信號,而PLC的CPU只能處理數字量。
模擬量I/O模塊的任務就是實現A/D和D/A。
模擬量首先被傳感器和變送器轉換為標準量程的電壓或電流,例如4~20mA,1~5V,0~10V,PLC用模擬量輸入模塊的A/D轉換器將它們轉換成數字量。帶正負號的電流或電壓在A/D轉換后用二進制補碼來表示。
模擬量輸出模塊的D/A轉換器將PLC中的數字量轉換為模擬電壓或電流,再去控制執行機構。
? ?本著“以人為本、科技先導、顧客滿意、持續改進”的工作方針,致力于工業自動化控制領域的產品開發、工程配套和系統集成,擁有豐富的自動化產品的應用和實踐經驗以及雄厚的技術力量,為廣大用戶提供了SIEMENS的較新 技術及自動控制的較佳解決方案,? SIEMENS 可編程控制器自動化科技專業領域內的技術研發、技術服務,銷售自動化控制設備、電氣設備、五金交電、電子元器件、電子設備、儀器儀表、電線電纜、機電設備。 1、 SIMATIC S7 系列PLC、S7200、s71200、S7300、S7400、ET200 2、 邏輯控制模塊 LOGO!230RC、230RCO、230RCL、24RC、24RCL等 3、 SITOP 系列直流電源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A 4、HMI 觸摸屏TD200 TD400C TP177,MP277 MP377 SIEMENS 交、直流傳動裝置,數控伺服







