基于VB 的上位机与PLC 的串行通信 收藏此信息 打印该信息 添加:佚名 来源:未知 1 引言 在现代控制系统中,pc机作为上位机负责系统管理、状态监控、信息处理和打印报表等工作,plc作为下位机进行面向现场的实时控制已成为一种典型的系统结构。因此,pc机与plc之间的通信问题便成了系统能否实现的关键。串行通信以其接线简单、容易实现的特点得到了广泛的应用。 visual basic编程软件简单易学、功能强大,利用它可以很方便的实现pc机与plc间的串行通讯。本文以 omron公司的cpm2a plc为例,介绍了利用 vb6.0实现pc机与plc串行通讯的具体方法。 omron公司的cpm2a plc支持 host-link通信协议,可以与上位计算机进行通信。使用host-link通信协议构成的通信网络,可以很方便的实现上位pc对下位plc的实时监控。 2 原理设计 2.1 系统结构 系统结构如图 1所示,计算机作为上位机,plc作为下位机,因 omron cpm2a本身带有rs-232串口,因此,利用 rs-232电缆将其与pc机的串口(com1或 com2)相连,便构成了一个 1:1的简单的通讯系统[1]。 图1 系统结构 2.2 host-link通信协议[2] omron公司的host-link通信系统是由上位计算机(ibm pc或兼容机)通过安装在各台plc上的host-link单元连接多台plc构成的网络。上位机对系统中的plc进行集中管理与监控,通过与host link单元的通信,可以编辑或修改各台plc的程序,实时监控其运行过程,实现自动化系统的集散控制。对于小型plc,也可以通过其rs 232c通信端口进行链接。 系统使用host-link通信协议进行通信,上位机具有传送优先权,总是首先发出命令并启动通信,host link单元收到命令交由plc执行,然后将执行结果返回上位机,二者以通信帧为单位,轮流交换数据。通信时一组传送的数据称为“块”,它是命令或响应的单位,从上位机发送到host -link单元的数据块称为命令块,反过来,从 host- link单元发送到上位机的数据块称为响应块。多点通信时,可作为单帧发送的最大数据块为131个字符,因此当一个数据块含有132个或更多字符时,要分成两帧或多帧发送。 每个数据块都以设备号及标题开始,以校验码(fcs)及结束符结束。响应块中还包括反应执行结果的响应码。通信格式如图2所示。 图2 通信帧格式 3 软件实现 3.1 mscomm控件介绍[3] mscomm控件全称为microsoft communications control,是microsoft公司提供的简化windows下串行通信编程的activex控件,它为应用程序提...