用VB实现欧姆龙CPM1APLC与计算机间的串行通信.PDF

用VB实现欧姆龙CPM1APLC与计算机间的串行通信.PDF

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用VB实现欧姆龙CPM1APLC与计算机间的串行通信

用 VB 实现欧姆龙 CPM1A PLC 与计算机间的串行通信 The Realization of the Communication between PLC and the Computer by Visual Basic 关键词: PLC 串口通信 通信规约 1 引言 在工业控制领域中,PLC 作为一种稳定可靠的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理 和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能弥补 PLC 的不足,它不但有很强的数据处理和管理能 力,而且能给用户提供非常美观而又易于操作的界面。将 PLC 与计算机结合,可使系统达到既能及时地采集、存储数据, 又可处理和使用好数据,两者结合的关键是 PLC 与计算机之间的通信。本文以 OMRON 公司的CPMIA 小型 PLC为例,详细 的讨论了 PLC 与计算机通信的原理和用 VB 如何实现 PLC 与计算机的通信。 2 通信原理与方法 上位机要能够通过 PLC 监控下层设备的状态,就要实现上位机与 PLC 间的通信,一般工业控制中都是采用 RS232C 实 现。上位机首先向 PLC 发送查询数据的指令(实际上是查询 PLC 中端子的状态和 DM 区的值等),PLC接收了上位的指令后, 进行校验(FCS 校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。否则,PLC 拒绝向上位机 传送数据。上位接收到 PLC 传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。 由于CPM1A 没有提供串行通信口,我们利用其提供的外设端口实现通信。PLC 与计算机之间的 连接是通过 OMRON 提供的专用电缆 CQM1-CIF01 来实现的,其硬件连接图如图 1 所示。 3 PLC 与计算机间的通信规约 计算机与 PLC 间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。首先,计算机 向 PLC 发出命令帧,然后,PLC 作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下: (1) 命令帧格式。为了方便计算机和 PLC 的通讯,CPM1A对在计算机连接通信中交换的命令和响应规定了相应的格式。 当计算机发送一个命令时,命令数据主准备格式如图 2 所示。 其中@放在首位,表示以@开始,设备号为上位机识别所连接的 PLC 的设备号。识别码为命令代码,用来设置用户希 望上位机完成的操作,FCS 为帧检验代码,一旦通信出错,通过计算 FCS 可以及时发现。结束符为“*”和 CR 回车 符,表示命令结束。 (2) 响应帧格式。由 PLC 发出的对应于命令格式的响应帧格式如图 3 所示。 其中,异常码可以确定计算机发送的命令是否正确执行。其它的与正文中的含义相同。正文仅在有读出数据时有返回。 4 通信程序的设计 为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算 机与 PLC 的通信, 计算机向 PLC 发出命令发起通信,PLC 自动返回响应。本文中采用 VB 来编写计算机与 PLC 间的通讯程 序。在 VB 中提供了通信控件—应用通信控件(MSCOMM),实现通过串行端口传送和接受的功能。 下面介绍 MSCOMM 控件的属性: *CommPort:设定通信连接端口代号,程序必须指定所要使用的串行端口号,Windows 系统使用所设定的端口与外界通 信。 *PortOpen:设定通信口状态,若为真,通信端口打开,否则关闭。 *Settings:设定通信口参数,其格式是bbbb,p,d,s,其中bbbb 为通信速率(波特率),p 为通信检查方式(奇偶校验), d 为数据位数,s 为停止位数,其设定应与 PLC的设定一致。 *Input:将对方传送至输入缓冲区

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档