當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > PLC可編程控制器 > 大型PLC可編程控制器
發(fā)布日期:2022-04-26 點(diǎn)擊率:64
近年來(lái),隨著可編程控制器(以下簡(jiǎn)稱(chēng)PLC)技術(shù)的不斷發(fā)展,速度、功能、可靠性和穩(wěn)定性的不斷提升,其在工業(yè)控制中的運(yùn)用越來(lái)越廣泛。個(gè)人計(jì)算機(jī)(以下簡(jiǎn)稱(chēng)PC)具有人機(jī)界面好,編程軟件豐富,數(shù)據(jù)處理快,信息存儲(chǔ)方便,圖像功能完善等優(yōu)點(diǎn)。以PLC為下位機(jī),以PC機(jī)為上位機(jī)的聯(lián)機(jī)控制模式,結(jié)合了PLC與PC各自的優(yōu)點(diǎn),提高了控制能力和可靠性,不僅操作使用方便,產(chǎn)品造價(jià)也較低,因而成為工業(yè)控制中應(yīng)用較多的模式。本文以電動(dòng)機(jī)正反轉(zhuǎn)控制為實(shí)例,說(shuō)明松下FP1系列PLC與PC實(shí)現(xiàn)聯(lián)機(jī)控制的方法。
1.松下FP1系列PLC與PC機(jī)的通信連接
松下FP1系列PLC均設(shè)有一個(gè)RS422串行通信接口。該接口既可用于PLC與PC機(jī)聯(lián)機(jī)進(jìn)行梯形圖程序編程與調(diào)試,也可用于正常工作時(shí)的數(shù)據(jù)通信。PC機(jī)一般均設(shè)有一個(gè)以上的RS232C串行通信接口。由于RS232C和RS422屬于不同的串行通信接口,通信信號(hào)的類(lèi)型和工作方式不一樣,因此,PLC與PC進(jìn)行串行通信連接時(shí),必須在中間安裝一個(gè)RS422/RS232C適配器來(lái)完成信號(hào)的轉(zhuǎn)換(部分PLC也具有RS232C口,此時(shí)可直接連接)。FP1系列PLC與PC機(jī)的通信連接如圖1所示。
2.PLC控制電機(jī)正反轉(zhuǎn)電路設(shè)計(jì)
PLC控制電機(jī)正反轉(zhuǎn)的接線(xiàn)如圖2所示,其中SB0、SB1、SB2開(kāi)關(guān)按鈕分別用于控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止;KM1、KM2分別為電機(jī)正反轉(zhuǎn)控制的接觸器。由于PLC直接控制交流接觸器,所以PLC應(yīng)選擇繼電器輸出型,并在接觸器回路采用互鎖來(lái)保證電路的安全。
3.PC與PLC的聯(lián)機(jī)控制程序
按上述圖1完成PLC與PC機(jī)的通信連接后,還需采用PLC聯(lián)機(jī)編程軟件或手持編程器對(duì)PLC內(nèi)部通信參數(shù)專(zhuān)用的系統(tǒng)寄存器No.410~No.418進(jìn)行設(shè)定,具體為:串口選擇為COM1,波特率為9600bps,數(shù)據(jù)位長(zhǎng)度為8位,停止位為1位,奇校驗(yàn),單元號(hào)為1。
4.PLC控制程序
PLC的控制程序要既能現(xiàn)地控制,又能使PC機(jī)通過(guò)串口通信實(shí)現(xiàn)上位機(jī)對(duì)電動(dòng)機(jī)的正反轉(zhuǎn)控制和電機(jī)狀態(tài)信息反饋。具體程序如圖3所示。
程序中為實(shí)現(xiàn)PC機(jī)對(duì)電機(jī)的控制使用了R100、R101和R102三個(gè)內(nèi)部繼電器。內(nèi)部繼電器可由PC機(jī)按松下FP1系列PLC的NEWTOCOL專(zhuān)用通信協(xié)議(具體協(xié)議可參考廠(chǎng)家資料),以發(fā)送特定字符串的形式進(jìn)行讀寫(xiě)。為了仿效按鈕操作的效果,三個(gè)內(nèi)部繼電器由上位機(jī)置位后啟動(dòng)對(duì)應(yīng)的定時(shí)器,經(jīng)0.8S后由定時(shí)器對(duì)內(nèi)部繼電器自動(dòng)進(jìn)行復(fù)位。
5.PC機(jī)控制程序與界面
作為上位機(jī),PC機(jī)通過(guò)人機(jī)界面,將操作人員的操作指令轉(zhuǎn)換成相應(yīng)的通信字符串并經(jīng)串口發(fā)送至PLC,實(shí)現(xiàn)對(duì)電機(jī)的控制;另一方面,PC機(jī)定時(shí)讀取PLC寄存器的數(shù)據(jù),從而可判斷出PLC對(duì)電動(dòng)機(jī)的控制狀態(tài)并在人機(jī)界面上顯示出來(lái)。
PC機(jī)的程序利用VisualBasic6.0進(jìn)行開(kāi)發(fā),首先,從菜單“工程”→“部件…”→“控件”中添加串行口通信控件MicrosofcCommControl6.0到工具箱中,然后從工具箱中往窗體添加下表所列的控件。
PC機(jī)的控制程序如下:
PrivateSubForm_Load()'窗體加載過(guò)程
MSComm1.CommPort=1'通信控件選用PC機(jī)的串口1
MSComm1.Settings="9600,o,8,1"'設(shè)定串口1的波特率為9600bps,奇校驗(yàn),8位數(shù)據(jù)位,1位停止位
MSComm1.PortOpen=True'打開(kāi)串口1
Timer1.Interval=1000'定時(shí)器1的定時(shí)值為1s
Timer1.Enabled=True'啟動(dòng)定時(shí)器1
EndSub
Functioncom(aAsString,bAsInteger)'向PLC讀寫(xiě)寄存器內(nèi)容函數(shù)
MSComm1.InBufferCount=0'清空串口的接收緩沖區(qū)
MSComm1.Output=a'將要發(fā)送的字符串從串口發(fā)送出去
Do
DoEvents
LoopUntilMSComm1.InBufferCount>=b'等待PLC的響應(yīng)字符至一定位數(shù)
com=MSComm1.Input'讀入串口接收到的字符串
EndFunction
PrivateSubTimer1_Timer()'定時(shí)讀取Y0、Y1的值以判斷電機(jī)當(dāng)前狀態(tài)
a="%01#RCP2Y0000Y0001**"+Chr(13)'定義讀Y0、Y1值的通信字符串
s=com((a),9)'讀Y0、Y1的當(dāng)前值
IfMid(s,7,1)="1"Then'返回字符串中第7位為1表示Y0接通,電機(jī)正轉(zhuǎn)
cmdzz.Enabled=False'電機(jī)已正轉(zhuǎn),禁止操作正轉(zhuǎn)按鈕但可操作反轉(zhuǎn)按鈕
cmdfz.Enabled=True
Labdjzt.Caption="電機(jī)當(dāng)前狀態(tài):正轉(zhuǎn)"
ElseIfMid(s,8,1)="1"Then'反轉(zhuǎn)
cmdfz.Enabled=False'電機(jī)反轉(zhuǎn),禁止操作反轉(zhuǎn)按鈕但可操作正轉(zhuǎn)按鈕
cmdzz.Enabled=True
Labdjzt.Caption="電機(jī)當(dāng)前狀態(tài):反轉(zhuǎn)"
ElseIfMid(s,7,1)="0"AndMid(s,8,1)="0"Then'停機(jī)
cmdfz.Enabled=True'電機(jī)已停止,可操作正轉(zhuǎn)或反轉(zhuǎn)按鈕
cmdzz.Enabled=True
Labdjzt.Caption="電機(jī)當(dāng)前狀態(tài):停止"
EndIf
EndSub
PrivateSubcmdzz_Click()'正轉(zhuǎn)指令
a="%01#WCSR01001**"+Chr(13)'定義將R100置1,啟動(dòng)正轉(zhuǎn)的通信字符串
s=com((a),7)
EndSub
PrivateSubcmdfz_Click()'反轉(zhuǎn)指令
a="%01#WCSR01011**"+Chr(13)'定義將R101置1,啟動(dòng)反轉(zhuǎn)的通信字符串
s=com((a),7)
EndSub
PrivateSubcmdtj_Click()'停機(jī)指令
a="%01#WCSR01021**"+Chr(13)'定義將R102置1使電機(jī)停轉(zhuǎn)的通信字符串
s=com((a),7)
EndSub
運(yùn)行上述程序,既可在PC機(jī)上實(shí)現(xiàn)對(duì)電機(jī)正反轉(zhuǎn)以及停止的控制,也可在現(xiàn)地通過(guò)SB0、SB1和SB2按鈕實(shí)現(xiàn)對(duì)電機(jī)的控制;既可在現(xiàn)地啟動(dòng)或停止電機(jī)轉(zhuǎn)動(dòng),也可在PC機(jī)上實(shí)現(xiàn)停機(jī)或電機(jī)轉(zhuǎn)動(dòng)控制。由于PC機(jī)定時(shí)讀取PLC內(nèi)部Y0、Y1的值,所以在現(xiàn)地操作改變電機(jī)的工作狀態(tài)時(shí),在PC機(jī)程序中可顯示出當(dāng)前電機(jī)的工作狀態(tài)并禁止相應(yīng)的操作,真正實(shí)現(xiàn)了PC與PLC的聯(lián)機(jī)控制。
6.結(jié)束語(yǔ)
上述設(shè)計(jì)已在實(shí)踐中應(yīng)用。經(jīng)驗(yàn)證,可在此基礎(chǔ)上,增加聯(lián)機(jī)通信故障自動(dòng)檢測(cè)報(bào)警功能,利用數(shù)據(jù)讀寫(xiě)命令實(shí)現(xiàn)聯(lián)機(jī)大批量數(shù)據(jù)傳送,根據(jù)現(xiàn)地來(lái)的狀態(tài)信息增加PC機(jī)動(dòng)畫(huà)演示功能,從而使PC與PLC的聯(lián)機(jī)控制程序更加完善,控制界面更加形象。根據(jù)上述原理,結(jié)合PC與PLC控制的特點(diǎn),可在其它控制場(chǎng)合使用上述方法實(shí)現(xiàn)雙機(jī)甚至多機(jī)聯(lián)機(jī)控制。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV
型號(hào):140CPS11420
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):140CPS11420
型號(hào):TWDDRA16RT
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):TWDDRA16RT
型號(hào):VFD220A43A-C
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD220A43A-C
型號(hào):VFD300B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD300B43A
型號(hào):VFD370B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD370B43A
型號(hào):VFD450B43A
價(jià)格:面議
庫(kù)存:10
訂貨號(hào):VFD450B43A