新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用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

电机状态显示标签

添加上述控件后的程序窗体如图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 清空串口的接收缓冲区
MSComm1.Output = a 将要发送的字符串从串口发送出去
Do
DoEvents
Loop Until MSComm1.InBufferCount >= b 等待PLC的响应字符至一定位数
com = MSComm1.Input 读入串口接收到的字符串
End Function

Private Sub Timer1_Timer() 定时读取Y0、Y1的值以判断电机当前状态
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 = "电机当前状态:正转"
ElseIf Mid(s, 8, 1) = "1" Then 反转
cmdfz.Enabled = False 电机反转,禁止操作反转按钮但可操作正转按钮
cmdzz.Enabled = True
Labdjzt.Caption = "电机当前状态:反转"
ElseIf Mid(s, 7, 1) = "0" And Mid(s, 8, 1) = "0" Then 停机
cmdfz.Enabled = True 电机已停止,可操作正转或反转按钮
cmdzz.Enabled = True
Labdjzt.Caption = "电机当前状态:停止"
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的值,所以在现地操作改变电机的工作状态时,在PC机程序中可显示出当前电机的工作状态并禁止相应的操作,真正实现了PC与PLC的联机控制。

6. 结束语

上述设计已在实践中应用。经验证,可在此基础上,增加联机通信故障自动检测报警功能,利用数据读写命令实现联机大批量数据传送,根据现地来的状态信息增加PC机动画演示功能,从而使PC与PLC的联机控制程序更加完善,控制界面更加形象。根据上述原理,结合PC与PLC控制的特点,可在其它控制场合使用上述方法实现双机甚至多机联机控制。


上一页 1 2 下一页

关键词: VBPCPLC联机控

评论


技术专区

关闭