西門子電纜6ES7902-2AG00-0AA0
FB41稱為連續(xù)控制的PID用于控制連續(xù)變化的模擬量,與FB42的差別在于后者是離散型的,用于控制開關(guān)量,其他二者的使用方法和許多參數(shù)都相同或相似。
PID的初始化可以通過在OB100中調(diào)用一次,將參數(shù)COM-RST置位,當(dāng)然也可在別的地方初始化它,關(guān)鍵的是要控制COM-RST;
PID的調(diào)用可以在OB35中完成,一般設(shè)置時間為200MS,
一定要結(jié)合幫助文檔中的PID框圖研究以下的參數(shù),可以起到事半功倍的效果
以下將重要參數(shù)用黑體標(biāo)明.如果你比較懶一點,只需重點關(guān)注黑體字的參數(shù)就可以了。其他的可以使用默認(rèn)參數(shù)。
A:所有的輸入?yún)?shù):
COM_RST: BOOL: 重新啟動PID:當(dāng)該位TURE時:PID執(zhí)行重啟動功能,復(fù)位PID內(nèi)部參數(shù)到默認(rèn)值;通常在系統(tǒng)重啟動時執(zhí)行一個掃描周期,或在PID進(jìn)入飽和狀態(tài)需要退出時用這個位;
MAN_ON: BOOL:手動值ON;當(dāng)該位為TURE時,PID功能塊直接將MAN的值輸出到LMN,這可以在PID框圖中看到;也就是說,這個位是PID的手動/自動切換位;
PEPER_ON: BOOL:過程變量外圍值ON:過程變量即反饋量,此PID可直接使用過程變量PIW(不推薦),也可使用 PIW規(guī)格化后的值(常用),因此,這個位為FALSE;
P_SEL: BOOL:比例選擇位:該位ON時,選擇P(比例)控制有效;一般選擇有效;
I_SEL: BOOL:積分選擇位;該位ON時,選擇I(積分)控制有效;一般選擇有效;
INT_HOLD BOOL:積分保持,不去設(shè)置它;
I_ITL_ON BOOL:積分初值有效,I-ITLVAL(積分初值)變量和這個位對應(yīng),當(dāng)此位ON時,則使用I-ITLVAL變量積分初值。一般當(dāng)發(fā)現(xiàn)PID功能的積分值增長比較慢或系統(tǒng)反應(yīng)不夠時可以考慮使用積分初值;
D_SEL : BOOL:微分選擇位,該位ON時,選擇D(微分)控制有效;一般的控制系統(tǒng)不用;
CYCLE : TIME:PID采樣周期,一般設(shè)為200MS;
SP_INT: REAL:PID的給定值;
PV_IN : REAL:PID的反饋值(也稱過程變量);
PV_PER: WORD:未經(jīng)規(guī)格化的反饋值,由PEPER-ON選擇有效;(不推薦)
MAN : REAL:手動值,由MAN-ON選擇有效;
GAIN : REAL:比例增益;
TI : TIME:積分時間;
TD : TIME:微分時間;
TM_LAG: TIME:我也不知道,沒用過它,和微分有關(guān);
DEADB_W: REAL:死區(qū)寬度;如果輸出在平衡點附近微小幅度振蕩,可以考慮用死區(qū)來降低靈敏度;
LMN_HLM: REAL:PID上極限,一般是100%;
LMN_LLM: REAL:PID下極限;一般為0%,如果需要雙極性調(diào)節(jié),則需設(shè)置為-100%;(正負(fù)10V輸出就是典型的雙極性輸出,此時需要設(shè)置-100%);
PV_FAC: REAL:過程變量比例因子
PV_OFF: REAL:過程變量偏置值(OFFSET)
LMN_FAC: REAL:PID輸出值比例因子;
LMN_OFF: REAL:PID輸出值偏置值(OFFSET);
I_ITLVAL:REAL:PID的積分初值;有I-ITL-ON選擇有效;
DISV :REAL:允許的擾動量,前饋控制加入,一般不設(shè)置;
B:部分輸出參數(shù)說明:
LMN :REAL:PID輸出;
LMN_P :REAL:PID輸出中P的分量;(可用于在調(diào)試過程中觀察效果)
LMN_I :REAL:PID輸出中I的分量;(可用于在調(diào)試過程中觀察效果)
LMN_D :REAL:PID輸出中D的分量;(可用于在調(diào)試過程中觀察效果)
C:規(guī)格化概念及方法:
PID參數(shù)中重要的幾個變量,給定值,反饋值和輸出值都是用0.0~1.0之間的實數(shù)表示,
而這幾個變量在實際中都是來自與模擬輸入,或者輸出控制模擬量的
因此,需要將模擬輸出轉(zhuǎn)換為0.0~1.0的數(shù)據(jù),或?qū)?.0~1.0的數(shù)據(jù)轉(zhuǎn)換為模擬輸出,這個過程稱為規(guī)格化
規(guī)格化的方法:(即變量相對所占整個值域范圍內(nèi)的百分比 對應(yīng)與27648數(shù)字量范圍內(nèi)的量)
對于輸入和反饋,執(zhí)行:變量*100/27648,然后將結(jié)果傳送到PV-IN和SP-INT
對于輸出變量 ,執(zhí)行:LMN*27648/100,然后將結(jié)果取整傳送給PQW即可;
D:PID的調(diào)整方法:
一般不用D,除非一些大功率加熱控制等慣大的系統(tǒng);僅使用PI即可,
一般先使I等于0,P從0開始往上加,直到系統(tǒng)出現(xiàn)等幅振蕩為止,記下此時振蕩
的周期,然后設(shè)置I為振蕩周期的0.48倍,應(yīng)該就可以滿足大多數(shù)的需求。我記得網(wǎng)絡(luò)上有許多調(diào)整PID的方法,但不記得那么多了,先試試吧。
附錄:PID的調(diào)整可以通過“開始—>SIMATIC->STEP7->PID調(diào)整”打開PID調(diào)整的控制面板,通過選擇不同的PID背景數(shù)據(jù)塊,調(diào)整不同回路的PID參數(shù)。
西門子電纜6ES7902-2AG00-0AA0
2.10 下載完成后,可點擊“激活連接狀態(tài)”按鈕,查看連接狀態(tài),如下圖所示,則表示組態(tài)的連接已經(jīng)成功建立。
圖11.連接已建立
2.11 如果出現(xiàn)如下圖所示的情況,則說明連接沒有建立,請檢查網(wǎng)線的連接、IP地址等。
圖12.連接未建立
3、編寫PLC程序,調(diào)用通訊塊
3.1 組態(tài)連接建立成功后,需要調(diào)用通訊功能塊PUT和GET進(jìn)行數(shù)據(jù)交換。S7-300用于通訊連接的功能塊位于標(biāo)準(zhǔn)庫中,如下圖所示:
圖13.PUT GET指令位置
3.2調(diào)用PUT指令,本例中本地S7-300 CPU將DB10.DBB0開始的10個字節(jié)寫入通信伙伴CPU 的DB11.DBB0開始的10個字節(jié)中。
圖14.PUT指令
參數(shù) | 說明 |
REQ | 上升沿觸發(fā),一次上升沿發(fā)送一次數(shù)據(jù) |
ID | 連接ID(參看圖8) |
ADDR_1 | 指向伙伴CPU接收地址區(qū)域 |
SD_1 | 指向本地CPU發(fā)送地址區(qū)域 |
DONE | 發(fā)送完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 3 PUT管腳說明
3.3調(diào)用GET指令,本例中將通信伙伴CPU的DB20.DBB0開始的10個字節(jié)讀入到本地S7-300 CPU的DB21.DBB0開始的10個字節(jié)中。
圖15.GET指令
參數(shù) | 說明 |
REQ | 上升沿觸發(fā),一次上升沿讀取一次數(shù)據(jù) |
ID | 連接ID(參看圖8 |
ADDR_1 | 指向伙伴CPU發(fā)送地址區(qū)域 |
RD_1 | 指向本地CPU接收地址區(qū)域 |
DONE | 接收完成(上升沿) |
ERROR | 有故障發(fā)生(上升沿) |
STATUS | 故障代碼 |
表 4 GET管腳說明
3.4 S7-300 CPU做S7通訊的客戶端時,伙伴CPU無需組態(tài)編程,準(zhǔn)備好相應(yīng)的數(shù)據(jù)區(qū)即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU屬性的連接機(jī)制中勾選"允許來自遠(yuǎn)程對象的PUT/GET通信訪問",如下圖所示:
S7-300/400與S7-200SMART之間的以太網(wǎng)S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經(jīng)過測試發(fā)現(xiàn)S7-300/400通過集成的PN口或CP343-1/CP443-1與S7-200 SMART PLC 之間的S7通信也是可以成功的, 但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令。
注意:
1.S7-200 SMART CPU 與S7-300/400 CPU 之間的S7通信未經(jīng)西門子*測試,本文檔僅供客戶測試使用,使用該種通信方式所產(chǎn)生的任何危險需要有客戶自己承擔(dān)!
2.S7-200 SMARTPLC V2.0 版本才開始支持PUT/GET通信,V1.0版本的CPU需要升級固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信時,則需要采用Standard或Advanced類型通信模塊,CP343-1 Lean模塊不支持。
4.本文僅介紹S7-300集成PN口與S7-200 SMART CPU S7通信。
S7通信介紹
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡(luò)的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
S7-300/400通過以太網(wǎng)接口與S7-200 SMART PLC 之間的S7通訊經(jīng)過測試是可以成功的,但是需要S7-300/400側(cè)編程調(diào)用PUT/GET指令,見表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 簡要描述 |
SFB 14 | FB 14 | 讀數(shù)據(jù) | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數(shù)據(jù) | 單邊編程寫訪問。 |
S7-300/400根據(jù)使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調(diào)用的功能塊來源也不同。
通信接口為S7-300 集成PN接口時,需要使用Standard Library中PUT/GET指令,如圖1所示。
圖1 S7-300PN接口需采用Standard Library
通信接口為S7-300 CP通信模塊時,需要使用SIMATIC_NET_CP 庫中PUT/GET指令,如圖2所示。
圖2 S7-300 CP模塊接口需采用SIMATIC_NET_CP庫
S7-400 CPU不區(qū)分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊,如圖3所示。
圖3 S7-400 需采用SFB程序塊
硬件及網(wǎng)絡(luò)組態(tài)
本文以采用1個315-2PN/DP,1個S7-200 SMART PLC為例,介紹它們之間的S7通信。
在STEP7中創(chuàng)建一個新項目,項目名稱為S7-300-SMART。插入1個S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。如圖4所示。
圖4 STEP7 項目中插入S7-300站點
設(shè)置CPU 315-2PN/DP的IP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
圖5 設(shè)置CPU PN IP地址
打開“NetPro”設(shè)置網(wǎng)絡(luò)參數(shù),選中CPU 315-2PN/DP,在連接列表中建立新的連接。步驟如圖6所示。
圖6 NetPro組態(tài)視圖中插入新連接
選擇 Unspecified 站點,選擇通訊協(xié)議 S7 connection,點擊 Apply,如圖7所示。
圖7 組態(tài)新連接
在彈出的S7 connection屬性對話框中,勾選 Establish an active connection,設(shè)置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如圖8所示。
圖8 設(shè)置S7連接參數(shù)
點擊 "Address Details" ,再彈出來的對話框設(shè)置 Partner 的 Slot 為1,如圖9所示。點擊 OK即可關(guān)閉該對話框。
圖9 設(shè)置“address details”參數(shù)
網(wǎng)絡(luò)組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。
圖10 保存并編譯連接
網(wǎng)絡(luò)組態(tài)編譯無錯,鼠標(biāo)先點擊 CPU 315-2PN/DP ,然后點擊下載按鈕下載網(wǎng)絡(luò)組態(tài),步驟如圖11所示。
圖 11 下載組態(tài)連接