用VB远程控制可编程控制器

2008-04-09 04:44:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  摘要:本文介绍利用VB远程控制三菱A系列可编程控制器的运行,主要包括可编程控制器的设置、可编程控制器控制命令以及VB应用程序,并给出了系统的实现方法与示例程序。

  关键词:三菱PC,串行通信,Visual Basic 6.0。

  1. 引言

  可编程控制器(Programmable Controller,简称PC)是一种数字运算操作的电子设备。它使用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作指令,通过数字或模拟输入/输出组件控制各种类型的机械或生产过程。PC具有功能齐全、应用灵活、操作维修容易方便和稳定可靠等特点,因此广泛用于工业现场控制。其典型应用方案是:采用PC作为下位机实现过程的自动控制,以微机为上位机,完成工业流程和工艺参数的显示以及控制参数的修改等功能。但是在一些危险和恶劣环境下,需要用微机远程控制PC系统的运行和停止。本文结合作者所开发的危险环境下控制系统,以三菱A2A 可编程控制器为例介绍VB远程控制三菱A系列可编程控制器的运行,并给出系统实现方法与示例程序。

  2. 系统设置与协议

  为进行系统控制需进行硬件和软件设置,这部分内容是系统实现的关键。系统利用RS232通讯接口线将PC(利用AJ71UC24通讯模块,25针)与微机的串行通信口(COM1,9针)进行连接。

  2.1AJ71UC24的通信控制协议

  PC的通讯模式(mode)开关设置为1。以下是Melsec-A PC 格式1通信协议的格式:



  其中:RR为控制PC启动命令,RS为控制PC停止命令。

  AJ71UC24通信模块所使用的主要控制字以及含义



  2.2 AJ71UC24设置:

  AJ71UC24的通讯参数设置均通过其DIP开关设置,本例的参数设置如下:波特率:9600,数据位:8,停止位:1,有求和效验,可以进行在线写。DIP开关设置如下表:

开关 设置 开关 设置 开关 设置 开关 设置 开关 设置 开关 设置 SW11 OFF SW12 ON SW13 ON SW14 OFF SW15 ON SW16 ON SW17 OFF SW18 OFF SW21 ON SW22 ON SW23 ON SW24 OFF
  2.3 PC的运行开关设置

  若实现利用VB程序进行PC控制,必须将PC的运行开关设置在ON的位置。运行开关设置与对应的控制结果如下表:



  2.4 VB通信功能设计与实现

  VB通过MSCOMM控件控制串行口,该控件屏蔽了通讯过程中的底层操作程序,用户只需设置和监视控件的属性和事件,就可很方便地实现串行异步通讯,它有事件驱动通信和查询通信两种方式,通过检查InBufferCount属性值来判断输入缓冲区中是否接受到相应数目的字符,为实现所述通信,应在窗体中加入一个通讯控件MSComm,控件的参数设置要与上述PC通讯模块AJ71UC24的设置相同。控制命令的传输采用即时传送方法。

  3. 软件编程与实现

  监控微机主要供系统管理人员对PC进行系统运行的控制。下面主要列出微机对PC进行控制有关的程序。本例是以单个PC为例,PC站号为00H,PC号为FFH。:

  该功能的实现必须将PC运行开关扳到RUN位置。通过在Form中加入两个option按钮实现:第一选项为启动,命令为"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
 Select Case Index
  Case 0
   Kzh_Cmd = "RR" '启动PC系统
  Case 1
   Kzh_Cmd = "RS" '关闭PC系统
 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字符串效验求和函数
 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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用VB判断网页文件是否在IE缓存中

下一篇:Visual Basic两行代码写播放器

热门词条
热门标签