請(qǐng)教:S7-300 PLC程序如何理解
劉玉蓉
發(fā)布于2014-10-17 16:52
1
0
標(biāo)簽:
在我們公司設(shè)備PLC的程序里看到與變頻器通訊的這么兩段程序,一個(gè)是實(shí)數(shù)轉(zhuǎn)規(guī)格化FC21,一個(gè)是規(guī)格化轉(zhuǎn)實(shí)數(shù)FC20,不知所謂的規(guī)格化是什么意思?與實(shí)數(shù)是如何實(shí)現(xiàn)轉(zhuǎn)化的?另外,希望能詳細(xì)的解釋一下程序各個(gè)語句所實(shí)現(xiàn)的功能。
問題補(bǔ)充:
另外還有一張F(tuán)C21的程序。
圖片說明: 1,FC20 規(guī)格化轉(zhuǎn)實(shí)數(shù).png;FC21實(shí)數(shù)轉(zhuǎn)規(guī)格化 2,fc21實(shí)數(shù)轉(zhuǎn)規(guī)格化.png
佳答案
由于CPU只能以二進(jìn)制處理模擬值,對(duì)于具有相同標(biāo)稱范圍的輸入值和輸出值來說,數(shù)字化的模擬值都相同,如0 – 27648可以表示0 – 10V,也可以表示4 – 20mA,也可以表示0 – 100%。
一般PLC與變頻器通過PROFIBUS現(xiàn)場(chǎng)總線通信是通過選擇報(bào)文結(jié)構(gòu)實(shí)現(xiàn)的,由于CPU只能以二進(jìn)制處理模擬值,而任務(wù)報(bào)文中主設(shè)定和應(yīng)答報(bào)文的運(yùn)行實(shí)際參數(shù)都是整數(shù)值,即變頻器接收CPU的數(shù)據(jù)如PIW256是整數(shù)值,變頻器發(fā)送信息給CPU的的數(shù)據(jù)如PQW256也是整數(shù)值。要想實(shí)現(xiàn)CPU控制變頻器,以及將變頻器實(shí)際頻率反饋給CPU都需要規(guī)范化轉(zhuǎn)換,首先將主頻率設(shè)定值(整數(shù)值),通過規(guī)范化將FC21將設(shè)定的整數(shù)值(主設(shè)定值)轉(zhuǎn)換為變頻器設(shè)定的頻率(實(shí)數(shù)值),去控制變頻器;同樣應(yīng)答報(bào)文的PZD第二個(gè)字是變頻器的實(shí)際參數(shù)(如這里指實(shí)際頻率),也必須進(jìn)行規(guī)范化功能FC20轉(zhuǎn)換為實(shí)數(shù)給CPU處理;
在變頻器的主設(shè)定默認(rèn)值中,一般16384(十六進(jìn)制值4000hex)規(guī)范化的頻率值相當(dāng)于50Hz。根據(jù)你的程序,你是用百分比來設(shè)定變頻器的主設(shè)定值(這里范圍0-100%,相當(dāng)于0-16384)對(duì)應(yīng)0-50Hz,其中100%相當(dāng)于50Hz,那么給變頻器的主設(shè)定頻率(保存到暫態(tài)雙字LD10)的計(jì)算公式為[Write_Value X16384]/ Write_Max即為要求的頻率設(shè)定值百分比值。程序注釋如下:
L # Write_Value //將主設(shè)定值Write_Value裝載到累加器1中(百分比)
L 1.638400e+004 //將1.638400e+004裝載到累加器1中,主設(shè)定值Write_Value自動(dòng)進(jìn)入累加器2
*R //將主設(shè)定值Write_Value(百分比)與16384相乘,并裝入累加器1中
L #Write_Max //將主設(shè)定參數(shù)的大值裝載到累加器1,上述相乘的結(jié)果自動(dòng)進(jìn)入累加器2中
/R //將主設(shè)定值Write_Value(百分比)與16384相乘的結(jié)果除以大值Write_Max
T LD10 //將上述相除的結(jié)果傳送到暫態(tài)雙字LD10中
L LW12 //將暫態(tài)字LW12裝載到累加器1中