plc中無非就是三大量:開關量(數字量)、模擬量、脈衝量。只在搞清楚三者之間的關係,你就能熟練的掌握plc了。
plc程式設計演算法(一)
1、 開關量也稱邏輯量,指僅有兩個取值,0或1、on或off。它是最常用的控制,對它進行控制是plc的優勢,也是plc最基本的應用。
開關量控制的目的是,根據開關量的當前輸入組合與歷史的輸入順序,使plc產生相應的開關量輸出,以使系統能按一定的順序工作。所以,有時也稱其為順序控制。
而順序控制又分為手動、半自動或自動。而採用的控制原則有分散、集中與混合控制三種。
plc是由繼電控制引入微處理技術後發展而來的,可方便及可靠地用於開關量控制。由於模擬量可轉換成數字量,數字量只是多位的開關量,故經轉換後的模擬量,plc也完全可以可靠的進行處理控制。
由於連續的生產過程常有模擬量,所以模擬量控制有時也稱過程控制。
模擬量多是非電量,而plc只能處理數字量、電量。所有要實現它們之間的轉換要有感測器,把模擬量轉換成數電量。如果這一電量不是標準的,還要經過變送器,把非標準的電量變成標準的電訊號,如4—20ma、1—5v、0—10v等等。
同時還要有模擬量輸入單元(a/d),把這些標準的電訊號變換成數碼訊號;模擬量輸出單元(d/a),以把plc處理後的數字量變換成模擬量——標準的電訊號。
所以標準電訊號、數字量之間的轉換就要用到各種運算。這就需要搞清楚模擬量單元的解析度以及標準的電訊號。例如:
plc模擬單元的解析度是1/32767,對應的標準電量是0—10v,所要檢測的是溫度值0—100℃。那麼0—32767對應0—100℃的溫度值。然後計算出1℃所對應的數字量是327.67。如果想把溫度值精確到0.1℃,把327.67/10即可。
模擬量控制包括:反饋控制、前饋控制、比例控制、模糊控制等。這些都是plc內部數字量的計算過程。
3、 脈衝量是其取值總是不斷的在0(低電平)和1(高電平)之間交替變化的數字量。每秒鐘脈衝交替變化的次數稱為頻率。
plc脈衝量的控制目的主要是位置控制、運動控制、軌跡控制等。例如:脈衝數在角度控制中的應用。步進電機驅動器的細分是每圈10000,要求步進電機旋轉90度。那麼所要動作的脈衝數值=10000/(360/90)=2500。
plc程式設計演算法(二)——模擬量的計算
1、 -10—10v。-10v—10v的電壓時,在6000解析度時被轉換為f448—0bb8hex(-3000—3000);12000解析度時被轉換為e890—1770hex(-6000—6000)。
2、 0—10v。0—10v的電壓時,在12000解析度時被轉換為0—1770hex(0—6000);12000解析度時被轉換為0—2ee0hex(0—12000)。
3、 0—20ma。0—20ma的電流時,在6000解析度時被轉換為0—1770hex(0—6000);12000解析度時被轉換為0-2ee0hex(0—12000)。
4、 4—20ma。4—20ma的電流時,在6000解析度時被轉換為0—1770hex(0—6000);12000解析度時被轉換為0—2ee0hex(0—12000)。
以上僅做簡單的介紹,不同的plc有不同的解析度,並且您所測量物理量實現的量程不一樣。計算結果可能有一定的差異。
注:模擬輸入的配線的要求
1、使用遮蔽雙絞線,但不連線遮蔽層。
2、當乙個輸入不使用的時候,將v in 和com端子短接。
3、模擬訊號線與電源線隔離 (ac 電源線,高壓線等)。
4、當電源線上有干擾時,在輸入部分和電源單元之間安裝乙個慮波器。
5、確認正確的接線後,首先給cpu單元上電,然後再給負載上電。
6、斷電時先切斷負載的電源,然後再切斷cpu的電源。
plc程式設計演算法(三)——脈衝量的計算
脈衝量的控制多用於步進電機、伺服電機的角度控制、距離控制、位置控制等。以下是以步進電機為例來說明各控制方式。
1、 步進電機的角度控制。首先要明確步進電機的細分數,然後確定步進電機轉一圈所需要的總脈衝數。計算「角度百分比=設定角度/360°(即一圈)」「角度動作脈衝數=一圈總脈衝數*角度百分比。」
公式為:角度動作脈衝數=一圈總脈衝數*(設定角度/360°)。
2、 步進電機的距離控制。首先明確步進電機轉一圈所需要的總脈衝數。然後確定步進電機滾輪直徑,計算滾輪周長。計算每一脈衝執行距離。最後計算設定距離所要執行的脈衝數。
公式為:設定距離脈衝數=設定距離/[(滾輪直徑*3.14)/一圈總脈衝數]
3、 步進電機的位置控制就是角度控制與距離控制的綜合。
以上只是簡單的分析步進電機的控制方式,可能與實際有出入,僅供各位同仁參考。
伺服電機的動作與步進電機的一樣,但要考慮伺服電機的內部電子齒輪比與伺服電機的減速比。
Socket基本程式設計
socket 基本程式設計 服務端 using system.using system.sockets using system.text using system.threading thread mythread socket socket 清理所有正在使用的資源。protected overr...
matlab基本程式設計
for a 1 9 水仙花數 for b 0 9 for c 0 9 if a 3 b 3 c 3 a 100 b 10 c 1 disp a 100 b 10 c 1 endend endend a 1,2,3,4,5 b 4,5,6,7,8 c,d max a.b 得到數值和位置 e,f min...
基本程式設計結構
定時任務輪詢比如任務自伺服器啟動就開始執行,並且每隔5秒執行一次。以下用spring註解配置定時任務。1 新增相應的schema size 1em 1 2 3 4 xmlns task xsi schemalocation spring task 3.0.xsd 完整schema如下 size 1e...