PC机与PLC的串行通信研究

来源 :硅谷 | 被引量 : 0次 | 上传用户:wangyongwangyongwang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍利用微软公司推出的Visual Basic 6.0中MSCOMM.OCX控件进行串行通信的方法。以VB为开发工具实现了PC机与FX系列PLC的串行通信。介绍VB进行串口通信的基本方式和三菱可编程控制器之间的通信的程序设计,主要介绍利用MSCOMM.OCX进行串行通信的设计方法。
  [关键词]PC机 PLC 串行通信 Visual Basic 6.0
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420010-02
  
  一、引言
  
  在工业生产中,人们常常面临着数据采集与管理。可编程控制器,以其可靠性高、抗干扰能力强、编程简单、使用方便、控制程序可变、体积小、功能强等特点,广泛应用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,本文介绍了利用微软公司推出的Visual Basic 6.0中MSCOMM.OCX控件进行串行通信的方法。操作简便,价格低廉。
  
  二、PC与PLC实现通信的方法
  
  为了实现PC与PLC的通信,用户应当做如下工作:
  1.判别PC上配置的通信口是否与要连入的PLC匹配,若不匹配,则增加通信模板。
  2.要清楚PLC的通信协议,按照协议的规定及帧格式编写PC的通信程序。PLC中配有通信机制,一般不需用户编程。若PLC厂家有PLC与PC的专用通信软件出售,则此项任务较容易完成。
  3.选择适当的操作系统提供的软件平台,利用与PLC交换的数据编制用户要求的画面。
  4.若要远程传送,可通过Modem接入电话网。若要PC具有编程功能,应配置编程软件。
  
  三、PC机与PLC实现通信的条件
  
  带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:
  1.带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联。
  2.双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。
  3.要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。PLC中配有通信机制,一般不需用户编程。
  
  四、PC机与FX系列PLC的串行通信的实现
  
  串行通信是计算机与其他机器之间进行通信的一种常用方法。通过SC09编程电缆或FX232AW模块,可将微型计算机的串行通信口RS232和PLC的编程口连接起来,这样微型计算机就可对PLC的RAM区数据进行读、写操作。由PLC本身具有的特性,可对PLC进行以下4种类型的操作:
  (1)位元件或字元件状态读操作(CMD0);
  (2)位元件或字元件状态写操作(CMD1);
  (3)位元件强制ON操作(CMD7);
  (4)位元件强制OFF操作(CMD8)。
  另外,在进行上述4类操作前,首先要对端口进行初始化操作,即设定通信协议(包括设置通信波特率、数据位数、数据停止位及奇偶校验)。
  (一)硬件连接
  一台PC机可与一台或最多16台FX系列PLC通信,PC与PLC之间不能直接连接。如图a、b为点对点结构的连接,图a中是通过FX-232AW单元进行RS-232C/RS-422转换与PLC编程口连接,图b中通过在PLC内部安装的通信功能扩展板FX-232-BD与PC连接;如图c所示为多点结构的连接,FX-485-BD为安装在PLC内部的通信功能扩展板,FX-485PC-IF为RS-232C和RS-485的转换接口。除此之外当然还可以通过其它通信模块进行连接,不再一一赘述。下面以PC与PLC之间点对点通信为例。
  


  PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-422的变换,下图表示了它们之间的连接关系:
  


  (二)FX系列PLC的通信
  在PC机中必须依据互联的PLC的通信协议来编写通信程序,FX系列PLC的通信协议。
  1.数据格式。FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波特率为9600bps,字符为ASCII码。格式如下:
  


  2.通信命令。FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示。表中X输入继电器;Y输出继电器;M辅助继电器;S状态元件;T定时器;C计数器;D数据寄存器。
  


  3.通信控制字符。FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。
  


  注:当PLC对计算机发来的ENQ不理解时,用NAK回答。
  4.报文格式。计算机向PLC发送的报文格式如下:
  


  其中,STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCⅡ码;SUMH、SUML为按字节求累加和,溢出不计。由于每字节十六进制数变为两字节的ASCⅡ码,故校验和为SUMH与SUML。
  数据段格式与含义如下:
  


  注:写命令的数据段有数据,读命令数据段则无数据。
  PLC向PC发的应答报文格式如下:
  


  注:对读命令的应答报文数据段为要读取的数据,一个数据占两字节,分上位下位:
  


  数据段:对写命令的应答报文无数据段,而用ACK及NAK作应答内容。
  5.传输规程
  PC与FX系列PLC间采用应答方式通信,传输出错,则组织重发。
  PLC根据PC的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PLC一方编写程序。
  (三)PLC的设置
  计算机与PLC通讯的目的是实现计算机对PLC运行状态、数据区的监控、PLC的管理并可用计算机编程。一般来说,在通讯过程中PLC是被动的,每一次通讯都由计算机发起与终止,但也可以由PLC发起。通讯前需用外部输入设备在系统数据寄存器D8120中进行通讯条件设定。
  
  五、结束语
  
  生产自控系统的设计要解决好三部分的问题:PC上人机操作界面的编制,PC与PLC的通信程序编写,PLC生产控制程序的编写。对于串行通信的单机自控系统,因为具有操作界面和生产工艺流程简单的特点,所以利用Visual Basic设计操作界面和利用PLC编程语言设计生产控制程序都比较方便,但对如何编写通信程序就比较陌生,也没有许多相关资料可学习。本文介绍的方法简单、实用,供各位参考。利用通信控件MSComm的OnComm事件和CommEvent属性还可以设计出功能更完善的通信程序。
  
  参考文献:
  [1]三菱公司,FX2N可编程控制器编程手册.
  [2]邱公伟,可编程控制器网络通信及应用,清华大学出版社.
  [3]三菱公司,FX系列通讯手册.
  [4]Visual Basic6.0从入门到精通,电子工业出版社.
  [5]夏幸明,可编程控制器及应用,北京理工大学出版社.
其他文献
[摘要]介绍在FPGA上实现PCI总线接口的设计方案,在主控与用户功能模块之间的进行数据交换,以突发写方式进行大量数据的高速传输。重点描述用户逻辑接口模块的程序设计,满足PCI总线时序要求,提高系统效率和性能。  [关键词]PCI总线 接口 FPGA  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420031-01    一、PCI总线及其接口概述    PCI(Pe
期刊
[摘要]加入世贸组织以后,我国要继续降低关税壁垒,进一步开放市场,我国的对外贸易必须纳入世贸组织的规则与框架。同时我国正处于经济转型阶段,市场经济的各方面制度尚不完善,经济总体实力还不强,因此,在对外贸易领域里,我国政府制定的贸易政策应该在世贸组织的规则与框架内,以本国经济利益为基本出发点,有利于本国企业参与国内外两个市场激烈的竞争,不断提高国际竞争力。实行战略性投入政策是一个符合国际惯例的现实选
期刊
[摘要]PCVSAT单收站运行监控系统运用现代计算机网络、数据库等软件技术,针对单收站在实时运行过程中接收并生成的数据而设计开发,来实现对全省单收站运行状况的监控,对于全面掌握单收站的运行状况,加强技术保障手段,提高技术保障能力,快速高效进行设备的技术保障有重要意义。主要从系统的结构、功能及实现技术等方面来叙述。  [关键词]PCVSAT单收站 运行监控  中图分类号:TP2文献标识码:A文章编号
期刊
[摘要]讨论内存泄漏的概念,Java语言的内存管理机制,垃圾回收器的原理,结合实际代码分析Java语言中可能存在的内存泄漏问题,并列举几种常见的检测及防止内存泄漏的方法。  [关键词]Java 垃圾回收 内存泄漏  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420040-01    一、引言    所谓内存泄漏,是指系统中存在无法回收的内存,有时候会造成内存不足或系
期刊
[摘要]总结教学经验的基础上,向初学者介绍几个容易忽视但是也是比较实用的几个小技巧。  [关键词]Access数据库 数据交流 压缩 表分析器  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420038-01    现在一般的高校都不开设Access数据库课了。绝大部分的高校都在开设SQL、oracle等。但是Access数据库还是存在的,作为一个功能强大的数据库管理
期刊
[摘要]Web数据挖掘是数据挖掘技术在Web信息集合上的应用,Web数据具有本身的特点,Web数据挖掘可以分为三类,各自有其相关技术,Web数据挖掘技术有着广泛的应用,而且随着Internet的不断发展,必将有着更加开阔的应用前景。  [关键词]数据挖掘 内容挖掘 结构挖掘 日志挖掘  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420044-01    数据挖掘(D
期刊
[摘要]随着身份管理重要性不断提升,身份联邦、面向架构服务(SOA)以及Web2.0等理念已经被注入到身份管理[5],企业系统面临着进化,传统的身份管理的架构和基于SOAP的身份管理模块在实现进化的需求上都存在着或多或少的限制。将以作者在IBM公司参与开发的某企业管理系统为项目背景,讨论如何将REST[1]风格架构应用到身份管理系统之中。  [关键词]REST 身份管理 Web Service S
期刊
[摘要]不同的数据库管理系统提供的封锁类型、封锁协议、达到的系统一致性级别不尽相同,但其依据的基本原理和技术是共同的。通过对melinets图书管理系统死锁问题的研究,分析了SYBASE数据库锁的机制,提出了预防死锁的几种措施,并给出了解除死锁的相关方法。  [关键词]melinets sybase 死锁  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420041-0
期刊
[摘要]目前Unix和Linux系统被广泛应用于各种行业的关键业务中。一旦出现管理员用户密码遗失的情况,将给系统及核心业务造成安全隐患和数据损失。以当今主流的Unix和Linux系统为范例,总结一套解决管理员用户密码遗失的方案。  [关键词]Unix Linux root AIX Solaris IRIX RedHat  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)04
期刊
[摘要]随着信息时代的发展,在线学习已经成为了学习的主要途径之一。根据Web应用程序设计的三层模型,提供一个基于ASP.NET框架的多媒体在线学习平台的完整实现方案。   [关键词]ASP.NET C# 三层模型 数据库操作类 实体-关系模型  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420047-01    一、引言    在网络上各种各样的学习资源中,传统的文
期刊