工控網(wǎng)首頁
>

應(yīng)用設(shè)計(jì)

>

PLC通過自由通訊口方式與變頻器通訊

PLC通過自由通訊口方式與變頻器通訊

2007/12/13 10:04:00
摘要:本文主要介紹了使用西門子公司的S7-200 系列PLC的自由口模式與DANFOSS變頻器進(jìn)行通訊的實(shí)現(xiàn)方法,并給出了部分例子程序。
關(guān)健字:DANFOSS FC協(xié)議 RS-485 PLC 變頻器

前言
在傳統(tǒng)的變頻控制系統(tǒng)中,變頻器的啟動(dòng)/停止由PLC通過開關(guān)量輸出控制,變頻器頻率是由PLC通過模擬量輸出端口輸出0~5(10)V或4~20mA信號(hào)控制的,這需要購(gòu)買PLC比較昂貴的模擬量輸出端口模塊。變頻器出現(xiàn)故障時(shí)由PLC讀取變頻器的故障報(bào)警觸點(diǎn),對(duì)具體故障原因并不清楚,需操作人員查詢變頻器報(bào)警信息后再閱讀變頻器說明書才知道,這在沒有專業(yè)人員的情況下,對(duì)于一個(gè)普通的值班人員來說有一定的的難度。隨著交流變頻控制系統(tǒng)及通訊技術(shù)的發(fā)展,作者想到可以利用PLC及變頻器的串行通訊的方式來實(shí)現(xiàn)PLC對(duì)變頻器的控制。這樣既節(jié)省了投資,又減少了設(shè)計(jì)、安裝和維護(hù)的工作量。

一、變頻器的選型
DANFOSS VLT系列變頻調(diào)速器對(duì)串行通訊技術(shù)的支持是世界所公認(rèn)的。它所支持的串行通訊技術(shù)包括標(biāo)準(zhǔn)RS-485 ,及包括PROFIDRIVE 、LONWORKS在內(nèi)的各種現(xiàn)場(chǎng)總線方式。其中,RS-485通訊方式為用戶提供了無需附加任何費(fèi)用的、最為廉價(jià)實(shí)用的串行通訊方式。我們只需按照DANFOSS VLT變頻器規(guī)定的通訊數(shù)據(jù)結(jié)構(gòu)、控制字和狀態(tài)字格式發(fā)送數(shù)據(jù)即可實(shí)現(xiàn)與VLT變頻的通訊。VLT為用戶提供了兩種控制字和狀態(tài)字格式標(biāo)準(zhǔn):即DANFOSS標(biāo)準(zhǔn)的DANFOSS FC協(xié)議和PROFIBUS標(biāo)準(zhǔn)的PROFIDRIVE協(xié)議。其中FC協(xié)議為用戶提供了更多的與VLT有關(guān)的控制信息和狀態(tài)信息。在本例中我們選用DANFOSS FC協(xié)議。

二、PLC的選型
西門子工控產(chǎn)品在工控領(lǐng)域應(yīng)用市場(chǎng)中有較高的占有率,S7-200系列PLC是西門子SIMATIC PLC家族中的成員之一,在西門子工控領(lǐng)域應(yīng)用中占有重要地位。S7-200系列PLC體積小,軟硬件功能強(qiáng)大,系統(tǒng)配置方便,由它組成的系統(tǒng)可以與許多種的現(xiàn)場(chǎng)總線相連接。它一推向市場(chǎng)就在各行各業(yè)得到了廣泛應(yīng)用。自由通訊口方式是S7-200 PLC的一個(gè)很有特色的功能,它使S7-200 PLC可以由用戶自己定義通訊協(xié)議。利于自由通訊口方式,在本系統(tǒng)中PLC可以與變頻器和方便連接。PLC通過自由通訊口方式與變頻器通訊,控制變頻器的運(yùn)行,讀取變頻器自身的電壓、電流、功率、頻率和過壓、過流、過負(fù)荷等全部報(bào)警信息等參數(shù),這比通過外部端口控制變頻器的運(yùn)行具有較高的可靠性,節(jié)省了PLC寶貴的I/O端口,又獲的了大量變頻器的信息。在本例中,作者將按照DANFOSS FC協(xié)議來對(duì)S7-200的自由口進(jìn)行編程。

三、VLT串行通訊簡(jiǎn)介
VLT變頻器的串行通訊為異步半雙工的方式,使用字節(jié)奇偶校驗(yàn)和塊傳送異或校驗(yàn)方法。每個(gè)變頻器都配備有一個(gè)標(biāo)準(zhǔn)的RS-485通訊端口,使協(xié)議可以通過RS-485電氣接口來進(jìn)行傳輸。PLC為主機(jī),變頻器為從機(jī),系統(tǒng)電碼的傳輸由主機(jī)控制,主機(jī)不斷發(fā)出某個(gè)地址的電碼給從機(jī),等待從機(jī)的響應(yīng)。主機(jī)最多能帶31個(gè)從機(jī),在有中繼器的情況下,可以增加到126個(gè)從機(jī),也就是從機(jī)的地址最多可以設(shè)定到126。通訊時(shí),每一個(gè)字節(jié)從一個(gè)起始位開始實(shí)行傳送,然后再傳遞8個(gè)數(shù)據(jù)位,相應(yīng)地組成一個(gè)字節(jié),每個(gè)字節(jié)由一個(gè)奇偶校驗(yàn)位來驗(yàn)證傳送的正確性,然后由一個(gè)終止位結(jié)束。這樣一個(gè)字節(jié)共由11個(gè)位組成。

四、電碼結(jié)構(gòu)
每個(gè)電碼由一個(gè)起始字節(jié)(STX)開始,這個(gè)起始字節(jié)為STX=02H。隨后緊跟一個(gè)表示電碼長(zhǎng)度(LGE)的字節(jié)和表示變頻器地址的字節(jié)(ADR)。然后是一些數(shù)據(jù)字節(jié)(隨電碼類型而變)。整個(gè)電碼由一個(gè)數(shù)據(jù)控制字節(jié)(BCC)來結(jié)束。結(jié)構(gòu)如下:
STX LGE ADR PKE IND PWE H PWE L PCD1 PCD2 BCC
02 0E 04 00 00 00 00 00 00 00 00 00 00 00 00 XX
在上述數(shù)據(jù)結(jié)構(gòu)中:
1、 PKE占用兩個(gè)字節(jié),包括參數(shù)命令類型和參數(shù)數(shù)目;
2、 IND為索引,也占用兩個(gè)字節(jié),它與參數(shù)數(shù)目一起使用用于讀寫有索引的參數(shù),此參數(shù)即為設(shè)置變頻器的參數(shù)。索引字節(jié)用于表明它是一個(gè)讀命令還是寫命令。在讀命令中必須具有0400H的格式,在寫命令中必須具有0500H的格式。
3、 PWE為參數(shù)值塊。占用四個(gè)字節(jié),分為高字(PWE H)和低字(PWE L)。比如主機(jī)要改變當(dāng)前的變頻器參數(shù),新的參數(shù)就應(yīng)寫在參數(shù)PWE中發(fā)送給變頻器。
4、 PCD為過程塊,占用4個(gè)字節(jié)。它有兩種狀態(tài),當(dāng)主機(jī)發(fā)給從機(jī)時(shí),PCD1為控制字,PCD2為參考值;當(dāng)從機(jī)發(fā)給主機(jī)時(shí),PCD1為狀態(tài)字,PCD2為當(dāng)前的輸出頻率。
5、 BCC為數(shù)據(jù)控制字節(jié)。由它來對(duì)接收到的命令進(jìn)行檢驗(yàn)正確與否。它的初始值為0,然后對(duì)該字節(jié)以前的所有字節(jié)進(jìn)行異或。

五、PLC編程示例
PLC與變頻器之間采用主從方式進(jìn)行通訊,PLC為主機(jī),變頻器為從機(jī)。1個(gè)網(wǎng)絡(luò)中只有一臺(tái)主機(jī),主機(jī)通過站號(hào)區(qū)分不同的從機(jī)。它們采用半雙工雙向通訊,從機(jī)只有在收到主機(jī)的讀寫命令后才發(fā)送數(shù)據(jù)。 PLC控制軟件編程上采用模塊式結(jié)構(gòu),各種功能的程序模塊通過主程序有機(jī)地結(jié)合起來,使系統(tǒng)運(yùn)行穩(wěn)定可靠。
1、PLC在第一次掃描時(shí)執(zhí)行初始化子程序,對(duì)端口及RCV指令進(jìn)行初始化。為了增加程序的可靠性,在初始化完成后,如果檢測(cè)到端口空閑時(shí)則運(yùn)行RCV指令使端口處于接受狀態(tài)。初始化子程序如下:
Network 1 // 網(wǎng)絡(luò)標(biāo)題 檢測(cè)端口空閑可編在主程序中
// 設(shè)定端口屬性
LD SM0.0
MOVB 73, SMB30
Network 2
// 接收信息狀態(tài)
LD SM0.0
MOVB 102, SMB87
Network 3
LD SM0.0
MOVB 16#02, SMB88
MOVB 50, SMB92
MOVB 50, SMB94
R SM87.2, 1
Network 4
LD SM0.0
ATCH INT1, 23 //連接口0接收完成的中斷

Network 5
LD SM0.0
ATCH INT0, 9 //連接口0發(fā)送完成的中斷

Network 6
LD SM0.0
ENI //中斷允許

Network 7
LD SM0.0
MOVD &VB250, VD220 //裝入地址指針
MOVB 0, VB242 //BCC碼寄存器清零
MOVD &VB300, VD224 //裝入地址指針
MOVB 0, VB246 //BCC碼寄存器清零
2、當(dāng)要改變當(dāng)前變頻狀態(tài)的信息需傳送時(shí),調(diào)用“控制子程序”。首先它要禁止端口的接收,然后對(duì)控制電碼進(jìn)行編輯和BCC檢驗(yàn)碼計(jì)算,并發(fā)送;當(dāng)沒有改變當(dāng)前變頻狀態(tài)的信息需傳送時(shí),調(diào)用“空命令”子程序。因?yàn)镻LC如果要讀取變頻器的當(dāng)前工作狀態(tài),就要給變頻器發(fā)送命令,而“控制子程序”代碼繁瑣,執(zhí)行效率不高,我們可以將“空命令”程序需傳送的電碼預(yù)先編排好(可以用短電碼),在不需要改變變頻器的時(shí)候調(diào)用此程序,這樣可以大大提高執(zhí)行效率。“控制子程序”程序代碼如下:
Network 1
LD SM0.0 //停止端口0的接收
R SM87.7, 1
RCV VB300, 0
Network 2
LD L0.0
MOVW 16#047C, VW211
MOVW LW1, VW213
Network 3
LD L0.1
MOVW 16#0434, VW211
MOVW 0, VW213
Network 4
LD SM0.0
MOVW LW1, VW213
Network 5 // 網(wǎng)絡(luò)標(biāo)題
// 網(wǎng)絡(luò)注釋
LD SM0.0
MOVB 16#02, VB200
MOVB 16#0E, VB201
MOVB LB3, VB202
MOVD 0, VD203
MOVD 0, VD207
HTA VB200, VB250, 15
Network 6
LD SM0.0 //計(jì)算BCC校驗(yàn)碼
FOR VW240, +1, +15

Network 7
LD SM0.0
XORB *VD220, VB242

Network 8
LD SM0.0
INCD VD220

Network 9
NEXT

Network 10
LD SM0.0
HTA VB242, VB265, 1 //BCC校驗(yàn)碼寫入發(fā)送緩沖區(qū)

Network 11
LDB= VB251, 16#0E //發(fā)送緩沖區(qū)準(zhǔn)備好后進(jìn)行發(fā)送
S S0.1, 1
Network 12
LSCR S0.1
Network 13
LD SM4.5
XMT VB250, 0
Network 14
SCRE
3、發(fā)送完成后執(zhí)行發(fā)送完成中斷程序,它的操作包括:允許RCV;bcc碼寄存器清零;重新裝入用于計(jì)算BCC校驗(yàn)碼的地址指針;接收緩沖區(qū)中存放指令結(jié)束字符的字節(jié)清零,用來判斷下一條指令格式是否正確。 4、接收完成后執(zhí)行接收完成中斷程序,它會(huì)將接收緩沖區(qū)中的十六進(jìn)制ASCII碼還原成數(shù)據(jù)并保存。然后調(diào)用“接收處理”子程序。它主要是求出接收緩沖區(qū)中指令的BCC校驗(yàn)碼并與指令中的BCC校驗(yàn)碼進(jìn)行比對(duì),并對(duì)電碼中的數(shù)據(jù)進(jìn)行處理。例如:電碼中過程塊的PCD1表示變頻器的狀態(tài),PCD2表示變頻器當(dāng)前的輸出頻率。

總結(jié):
使用此方法采用西門子PLC通過自由口使用 DANFOSS FC協(xié)議對(duì)DANFOSS變頻器進(jìn)行控制,極大地減少了線路連接的復(fù)雜性,避免了現(xiàn)場(chǎng)可能的各種電磁干擾對(duì)控制設(shè)備的影響。


參考文獻(xiàn):
1、西門子公司 SIMATIC S7-200系統(tǒng)手冊(cè) 2002.10
2 、DANFOSS公司 VLT 2800操作說明



馮敬璞 男 1980年 畢業(yè)于山西工業(yè)職業(yè)技術(shù)學(xué)院 現(xiàn)從事自動(dòng)控制方面的工作
河北省邯鄲市和平路388號(hào)北院三樓
邯鄲市工業(yè)自動(dòng)化研究所 056000
電話:0310-3099710
郵箱:hdfjp@163.com


投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

FANUC機(jī)器人教材

機(jī)器人控制技術(shù)

ifix4.0中文版發(fā)布講座

iFIX視頻培訓(xùn)-驅(qū)動(dòng)配置等

iFIX視頻培訓(xùn)-標(biāo)簽組和層