新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用VB實現PC與PLC的聯機控制

利用VB實現PC與PLC的聯機控制

作者: 時間:2016-12-19 來源:網絡 收藏

序號

控件類型

控件名稱

說明

1

form

frmmain

程序主窗體

2

frame

Frame1

框架

3

MSComm

MSComm1

串口通信控件

4

Timer

Timer1

定時器

5

CommandButton

cmdzz

正轉按鈕

6

CommandButton

cmdfz

反轉按鈕

7

CommandButton

cmdtj

停機按鈕

8

Label

Labdjzt

電機狀態(tài)顯示標簽

添加上述控件后的程序窗體如圖4所示。

PC機的控制程序如下:
Private Sub Form_Load() 窗體加載過程
MSComm1.CommPort = 1 通信控件選用PC機的串口1
MSComm1.Settings = "9600,o,8,1" 設定串口1的波特率為9600bps,奇校驗,8位數據位,1位停止位
MSComm1.PortOpen = True 打開串口1
Timer1.Interval = 1000 定時器1的定時值為1s
Timer1.Enabled = True 啟動定時器1
End Sub

Function com(a As String, b As Integer) 向PLC讀寫寄存器內容函數
MSComm1.InBufferCount = 0 清空串口的接收緩沖區(qū)
MSComm1.Output = a 將要發(fā)送的字符串從串口發(fā)送出去
Do
DoEvents
Loop Until MSComm1.InBufferCount >= b 等待PLC的響應字符至一定位數
com = MSComm1.Input 讀入串口接收到的字符串
End Function

Private Sub Timer1_Timer() 定時讀取Y0、Y1的值以判斷電機當前狀態(tài)
a = "%01#RCP2Y0000Y0001**" + Chr(13) 定義讀Y0、Y1值的通信字符串
s = com((a), 9) 讀Y0、Y1的當前值
If Mid(s, 7, 1) = "1" Then 返回字符串中第7位為1表示Y0接通,電機正轉
cmdzz.Enabled = False 電機已正轉,禁止操作正轉按鈕但可操作反轉按鈕
cmdfz.Enabled = True
Labdjzt.Caption = "電機當前狀態(tài):正轉"
ElseIf Mid(s, 8, 1) = "1" Then 反轉
cmdfz.Enabled = False 電機反轉,禁止操作反轉按鈕但可操作正轉按鈕
cmdzz.Enabled = True
Labdjzt.Caption = "電機當前狀態(tài):反轉"
ElseIf Mid(s, 7, 1) = "0" And Mid(s, 8, 1) = "0" Then 停機
cmdfz.Enabled = True 電機已停止,可操作正轉或反轉按鈕
cmdzz.Enabled = True
Labdjzt.Caption = "電機當前狀態(tài):停止"
End If
End Sub

Private Sub cmdzz_Click() 正轉指令
a = "%01#WCSR01001**" + Chr(13) 定義將R100置1,啟動正轉的通信字符串
s = com((a), 7)
End Sub

Private Sub cmdfz_Click() 反轉指令
a = "%01#WCSR01011**" + Chr(13) 定義將R101置1,啟動反轉的通信字符串
s = com((a), 7)
End Sub

Private Sub cmdtj_Click() 停機指令
a = "%01#WCSR01021**" + Chr(13) 定義將R102置1使電機停轉的通信字符串
s = com((a), 7)
End Sub
運行上述程序,既可在PC機上實現對電機正反轉以及停止的控制,也可在現地通過SB0、SB1和SB2按鈕實現對電機的控制;既可在現地啟動或停止電機轉動,也可在PC機上實現停機或電機轉動控制。由于PC機定時讀取PLC內部Y0、Y1的值,所以在現地操作改變電機的工作狀態(tài)時,在PC機程序中可顯示出當前電機的工作狀態(tài)并禁止相應的操作,真正實現了PC與PLC的聯機控制。

6. 結束語

上述設計已在實踐中應用。經驗證,可在此基礎上,增加聯機通信故障自動檢測報警功能,利用數據讀寫命令實現聯機大批量數據傳送,根據現地來的狀態(tài)信息增加PC機動畫演示功能,從而使PC與PLC的聯機控制程序更加完善,控制界面更加形象。根據上述原理,結合PC與PLC控制的特點,可在其它控制場合使用上述方法實現雙機甚至多機聯機控制。


上一頁 1 2 下一頁

關鍵詞: VBPCPLC聯機控

評論


技術專區(qū)

關閉