回覆列表
-
1 # 非標裝置自動化設計
-
2 # 控制研究控
博圖裡邊的1200指令庫中沒有像STEP7裡邊的FC105的塊,但是如果是博圖1500的話就有類似於FC105的模擬量轉換的標準塊,所以可能就給有些小夥伴帶來了不便!
其實,如果知道計算模擬量和工程量的演算法步驟的話,完全可以把模擬值轉換為整數後用加減乘除指令去計算出來的,但是那種沒有FC105/FC106使用方便。
那博圖軟體中程式設計1200系列PLC的話,模擬量轉換為工程量,還有簡便的方法麼?
答案是有的!就是利用縮放和標準化這兩個指令,請看下圖:
如圖,PIW64這個模擬量輸入地址,利用NORM_X指令,將模擬量的值轉化為0-1之間的一個實數,因為模擬量訊號設定為4-20mA輸入,對應的資料範圍是0-27648,因此NORM_X指令的最大最小值就是0和27648。
後邊這個SCALE_X指令是將0-1之間的實數轉化為-5pa到+5pa之間的壓力值實數,這裡就實現了轉化為工程量。
可以看到圖片的上邊一行,我強制PIW64的值為0的時候,計算出的結果是-5pa;圖片的下邊一行,我強制PIW64的值為27648的時候,計算出的結果是+5pa。這就說明這個程式,可以實現模擬量和工程量的轉化。
當我強制PIW64的值為27648/2=13824的時候,計算出的壓力值就為0pa,見下圖:
剛好手頭有一個專案有用到模擬量輸入輸出的,下面就講解一下
首先我這裡用的模擬模組是SM1234模組 4輸入 2輸出
下面是軟體設定,可以選擇電壓模式或者電流模式
我這裡選的是-10-10V電壓輸入
下面是輸出設定,同樣是電壓輸出0-10V
下面配置地址
再來檢視模組說明
從上面可以看到輸入 -10V-10V對應的數值是 -27648-27648
輸出同樣 -10V-10V對應 -27648-27648
下面看模擬量輸入程式將模擬量輸入1通道對應的地址IW136轉換成浮點數MD304
然後除以2764.8就得到實際電壓值
比如IW136=27648,轉換成浮點數除以2764.8就10,表示實際電壓是10V
IW136=13824,轉換成浮點數除以2764.8就5,表示實際電壓是5V
下面看模擬量輸出程式假設MD360儲存的就是我們需要輸出的電壓伏數
乘以2746.8轉換成整數放入QW134即可
因為滿輸出對應10V對應是27648,1V應該是多少呢?就是2764.8
2V就是2X2764.8