您当前的位置:五五电子网电子知识plc技术PLC入门利用VB实现PC与PLC的联机控制 正文
利用VB实现PC与PLC的联机控制

利用VB实现PC与PLC的联机控制

点击数:7834 次   录入时间:03-04 11:38:04   整理:http://www.55dianzi.com   PLC入门
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] [3] 


本文关键字:暂无联系方式PLC入门plc技术 - PLC入门