模擬量在西門子是個范圍量,這一般是PIW和PQW,使用時需要轉換為工程值,轉換可以使用系統模塊,或自己編寫
以下是網絡轉載:
S7-300以4-20mA為例。系數為27648。
模擬量值=(PIWxx/27648)*(高限-低限)+低限+補償值
例子:從0到10V的值中輸入到插在插槽6的模擬模塊中。目前這個值是一個整數(16位),應該規格化100到1000之間的REAL格式,并以雙字MD10保存在位儲存器中。 
語句表的解決方案: 
L PIW 288 //0到10V的模擬量輸入包含0到27648個整數(16位) 
ITD //16位整數值轉換成32位整數 
DTR //32位整數轉化成實數 
L 2.7648e+4 // 
/R //除以實數27648 
L 9.000e+2 // 
*R // 乘以實數***(1000-100) 
L 1.000e+2 // 
+R // 加上實數100(補償值) 
T MD10 //把100到1000規格化成REAL格式 
轉換模擬量值到工程量值 
問題: 是否有功能塊能轉換模擬量值到工程量值?  
解答: 在Step7 中,standard library T1-S7 Converting Blocks FC105。
例如:轉換一個模擬量PIW256到0.0~200.0工程范圍  
Call FC105  
IN:=PIW256          (模擬量,范圍-27648~27648) 
HI_LIM:=200.0       (上限) 
LO_LIM:=0.0         (下限) 
BIPOLAR:=M2.1      (極性   
 如M2.1為1,對應的PIW256 為-27648~27648; 
 如M2.1為0,對應的PIW256為0~27648) 
RET_VAT:=MW4         (錯誤返回值) 
OUT:=MD50  (工程值)