foxplc
水到渠成
級別: 家園常客
|
圖片:
在向導符號表PID0_SYS中,Output 的數據類型為雙字(VD128) |
---|---|
|
foxplc
水到渠成
級別: 家園常客
|
圖片:
Output 的數據類型為雙字,那么AQW0的類型也是雙字, 現要把AQW0的值放入VD4中出錯,既然數據類型是相同的,為何不能用MOV_DW指令出錯? |
---|---|
|
xxiaomi
級別: *
|
|
---|---|
|
foxplc
水到渠成
級別: 家園常客
|
Output 是子程序PID0_INIT 的局部變量這沒有錯,調用后其值存入AQW0中了 那么Output 和AQW0的數據類型是相同的,沒有混淆。現要把AQW0中的數據 存入VD中,存不進去。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
A-------模擬量 Q---------輸出 W--------------字 存入DWord-------------------------這是夢想? 1、存入Word 2、擴展為Dword 3、存入VD |
---|---|
|
foxplc
水到渠成
級別: 家園常客
|
圖片:
AQW0 是調用向導生成的 PID_INIT 子程序生成的。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
AQW作為只讀,你不可以將其移入存儲器。 因此,你只能對于你向導生成的全局數據進行。 正如你上面的貼圖有寫道:VD128(標準化回路計算值),根據S7-200系統手冊第152頁表6-44(PID回路表)中描述,該計算值為一個浮點(REAL)數據。 因此,你如果要獲取PID的AQW的輸出值,你需要來通過MOV_R來將VD128讀取入寄存器,因為VD128中的數據為0.0~1。0之間的浮點數,對于輸出來說,會依據系統手冊第149頁中的回路值轉換為刻度值公式進行轉換,你同樣也可以使用該公式對你先前保存的VD128的值進行轉換。 以上 |
---|---|
|
foxplc
水到渠成
級別: 家園常客
|
圖片:
圖片:
圖片:
圖片:
cvlsam 你說的太好了,我是想把AQW0(VD128)的值標準化為頻率值在觸摸屏上顯示,因此想把該值存入VD8中。 但是我覺得向導中的VD128是局部變量,不是全局變量。因此在主程序中讀不到它的值。 圖中PIN_INIT監控的AQW0 的值為6400 VD128 MV_R 中其值為0.0,兩者不一樣 還是沒法將頻率值讀出 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
請貼上你的向導設置中對于輸入輸出的圖。 VD128不是全局變量?都已經使用到物理地址了。 如果你使用了4-20mA的輸出,那么 當0,也就是4mA時,自然是輸出6400~~ |
---|---|
|