當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器
發(fā)布日期:2022-04-26 點擊率:145 品牌:信捷_XINJIE
可編程控制器(ProgrammableController,簡稱PC)是一種數(shù)字運算操作的電子設(shè)備。它使用了可編程序的存儲器,用來在其內(nèi)部存儲執(zhí)行邏輯運算、順序控制、定時、計數(shù)和算術(shù)運算等操作指令,通過數(shù)字或模擬輸入/輸出組件控制各種類型的機(jī)械或生產(chǎn)過程。PC具有功能齊全、應(yīng)用靈活、操作維修容易方便和穩(wěn)定可靠等特點,因此廣泛用于工業(yè)現(xiàn)場控制。其典型應(yīng)用方案是:采用PC作為下位機(jī)實現(xiàn)過程的自動控制,以微機(jī)為上位機(jī),完成工業(yè)流程和工藝參數(shù)的顯示以及控制參數(shù)的修改等功能。但是在一些危險和惡劣環(huán)境下,需要用微機(jī)遠(yuǎn)程控制PC系統(tǒng)的運行和停止。本文結(jié)合作者所開發(fā)的危險環(huán)境下控制系統(tǒng),以三菱A2A可編程控制器為例介紹VB遠(yuǎn)程控制三菱A系列可編程控制器的運行,并給出系統(tǒng)實現(xiàn)方法與示例程序。
2.系統(tǒng)設(shè)置與協(xié)議
為進(jìn)行系統(tǒng)控制需進(jìn)行硬件和軟件設(shè)置,這部分內(nèi)容是系統(tǒng)實現(xiàn)的關(guān)鍵。系統(tǒng)利用RS232通訊接口線將PC(利用AJ71UC24通訊模塊,25針)與微機(jī)的串行通信口(COM1,9針)進(jìn)行連接。
2.1AJ71UC24的通信控制協(xié)議
PC的通訊模式(mode)開關(guān)設(shè)置為1。以下是Melsec-APC格式1通信協(xié)議的格式:
其中:RR為控制PC啟動命令,RS為控制PC停止命令。
AJ71UC24通信模塊所使用的主要控制字以及含義
2.2AJ71UC24設(shè)置:
AJ71UC24的通訊參數(shù)設(shè)置均通過其DIP開關(guān)設(shè)置,本例的參數(shù)設(shè)置如下:波特率:9600,數(shù)據(jù)位:8,停止位:1,有求和效驗,可以進(jìn)行在線寫。DIP開關(guān)設(shè)置如下表:
2.3PC的運行開關(guān)設(shè)置
若實現(xiàn)利用VB程序進(jìn)行PC控制,必須將PC的運行開關(guān)設(shè)置在ON的位置。運行開關(guān)設(shè)置與對應(yīng)的控制結(jié)果如下表:
2.4VB通信功能設(shè)計與實現(xiàn)
VB通過MSCOMM控件控制串行口,該控件屏蔽了通訊過程中的底層操作程序,用戶只需設(shè)置和監(jiān)視控件的屬性和事件,就可很方便地實現(xiàn)串行異步通訊,它有事件驅(qū)動通信和查詢通信兩種方式,通過檢查InBufferCount屬性值來判斷輸入緩沖區(qū)中是否接受到相應(yīng)數(shù)目的字符,為實現(xiàn)所述通信,應(yīng)在窗體中加入一個通訊控件MSComm,控件的參數(shù)設(shè)置要與上述PC通訊模塊AJ71UC24的設(shè)置相同。控制命令的傳輸采用即時傳送方法。
3.軟件編程與實現(xiàn)
監(jiān)控微機(jī)主要供系統(tǒng)管理人員對PC進(jìn)行系統(tǒng)運行的控制。下面主要列出微機(jī)對PC進(jìn)行控制有關(guān)的程序。本例是以單個PC為例,PC站號為00H,PC號為FFH。:
該功能的實現(xiàn)必須將PC運行開關(guān)扳到RUN位置。通過在Form中加入兩個option按鈕實現(xiàn):第一選項為啟動,命令為"RR";第二選項為停止,命令為"RS"。
Private Sub Option1_Click(Index As Integer)
Dim An_Msg, Kzh_Cmd ,rd, rdf, temp, temp1 As String
Dim i, rdd As Long
selec Case Index
Case 0
Kzh_Cmd = "RR" '啟動PC系統(tǒng)
Case 1
Kzh_Cmd = "RS" '關(guān)閉PC系統(tǒng)
End Select
Screen.MousePointer = 11
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
MSComm1.InputLen = 0
rd = Chr$(5) + "00FF" + Trim(Kzh_Cmd) + "0"
rd=rd + Xy_hj(rd) '其中Xj_hj字符串效驗求和函數(shù)
MSComm1.Output = rd
Do
dummy = DoEvents()
Loop Until MSComm1.InBufferCount >= 5
rdf = MSComm1.Input
temp = Mid(rdf, 1, 5)
If temp<> Chr$(6) + "00FF" Then
MsgBox "命令運行失敗!!!", 16
End If
Screen.MousePointer = 0
End Sub
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV