logo资料库

PLC与上位机的通信实现.doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
PLC 与上位机的通信实现 摘 要:本文先介绍了 S7-200 系列 PLC 的三种通信方式,及其在网络中通信的 RS-232C 和 RS-485 标准。在实例中,采用西门子公司的 S7-200 系列 PLC 为下位 机,按照 RS2485 标准与上位机通信;通信协议为以自由口模式创建用户自定义的 协议,数据传输格式为 16 进制 ASCII 编码,求和校验;上位机采用 VC 编程的可视 化界面。 关键词:PLC;串行通信;VC 编程;自由口模式 1、引言 工业控制领域中 PLC 作为一种高效、灵活、可靠的控制器,有着广泛 的应用。以 PLC 控制器为核心,上位 PC 机为实时监控体的控制系统已成为工业 自动化 PLC 控制系统的一个发展方向。实现 PLC 与 PC 的通信可以实现向上级 提供诸如工艺流程图、动态数据画面、报表显示等多种窗口技术,使 PLC 控制 系统具有良好的人机界面,通过上位机对 PLC 数据的读写监控实现现场数据的 采集、传送以及生产过程调度的自动化和信息化,其应用前景十分广阔。常用的 各种 PLC 网络有差异,但表现在 PLC 通信程序、系统联结和系统配置等方面, 通信机理有统一性。目前市场上通信组态系统结构复杂,价格昂贵,应用繁琐, 不适应用户使用。针对上述问题笔者以西门子公司的 S7-200 系列的 PLC 为研究 对象,提出了一种用 VC 实现上位机与 PLC 通信的方法。 2、S7-200 系列 PLC 通信方式 西门子 S7-200 系列性能优良,性价比较高,适用范围很广,因此本文 主要讨论西门子 7-200 系列与计算机之间的通信。 S7-200 系列通信方式有三种:
(1) 点对点 PPI 方式,用于与西门子公司的 PLC 编程器或其他该公司人 机接口产品的通信。该种通信方式采用的是 MSComm ActivcX 控件。PPI 是主/ 从协议,网络上的 S7-200 均为从站,其他 CPU、SIMATIC 编程器或 TD200 为 主站。如果在用户程序中允许 PPI 主站模式,一些 S7-200CPU 在 RUN 模式下可 以作主站,它们可以用网络读和网络写指令读写其他 CPU 中的数据。PPI 没有 限制可以有多少个主站与一个从站通信,但是在网络中最多只能有 32 个从站。P PI 通信协议是不公开的。 ( 2) Profibus。Profibus 协议用于几分布式 I/O 设备的高速通信。S7-20 0CPU 需通过 EM277。Profibus-DP 模块接入 Profibus 网络,网络通常有一个主站 和几个 I/O 从站。这种方式使得 PLC 可以通过 Profibus 的 DP 通信接口接入 Prof ibus 现场总线网络.从而扩大 PLC 的使用范围。PPI 协议和 Profibus 协议的结构模 型都是基于开放系统互连参考模型的 7 层通信结构。 (3) 自由通信方式。通过使用接收中断、发送中断、字符中断、发送指 令和接收指令,自由端口通信可以控制 S7-200CPU 通信口的操作模式。利用自 由口模式,可以实现用户定义的通信协议连接多种智能设备。 3、PLC 网络通信标准简介 (1) RS-232C 标准 通信的连接接口与连接电缆的相互兼容是通信得以保证的前提。它的实 现方法发展迅速,型式较多。其中 RS-232C 就是实际应用较多的标准之一,它是 计算机或终端与调制解调器之间的标准接口 RS - 232C 规范包括以下几个方而 内容:RS-232C 的机械规范定义内容是 25 针插头,螺钉中心距为 47.04mm±0.13 mm 宽,对其他尺寸也都作了规定。RS-232C 的电气规范是用比-3V 低的负电压 表示逻辑 0,用比+3V 高的正电压表示逻辑 1,数据传输率最高允许 20kbit/s 电 缆最长 15m,RS-232C 功能规范定义了电路之间的连接,以及它的含义。RS-23 2C 的规程规范定义的是协议,即事件出现的正确顺序。RS-232C 的缺点是数据 传输率低传输距离短。
(2) RS-485 标准 在许多工业环境中,要求用最少的信号连线来完成通信任务。日前广泛 应用的是 RS-485 串行接口总线,RS-485 支持半双工通信,分时使用一对双绞信 号线进行发送或接收。在点对点的远程通信时,它们的电路连接如图 2 所示。R S-485 用于多站互联时实现简单,节省材料,可以满足高速远距离传送,构成分 布式网络控制系统十分方便。 4、通信网络接口的设计 在本工程中,我们采用的 PLC 为 CPU224 型,该可编程控制器的通信 端口为 RS-485 接口,由于 PC 机的串行端口为 RS-232 接口,且远离控制现场(P LC 位置),因此 PC 机的 RS-232 接口必须通过 RS-232/RS-485 转换器转换后才能 与 PLC 通信端口连接,这种通信方式可以实现最远 1.2Krn 的远程通信。 PC 机的标准串口为 RS232。西门子公司提供的 PC/PPI 电缆带有 RS23 2/RS485 电平转换器,因此在不增加任何硬件的情况下,可以很方便地将 PLC 和 PC 机互联。具体硬件连接图如图 1: 图 l:硬件连接图 5、通信程序设计 (1) 上位机部分程序 单命令把 MSComm 控件加入到工程中。MSComm 控件通信功能的实现 实际上是调用了 API 函数。MSComm 控件有关属性如下: CommPort:设置并返回通信端口号。Window 系统将会利用该端口与外 界通信; Setings:设置并返回初始化参数。其组成格式为“BBBB。P。D。S”。B BBB 为数据速率。P 为奇偶校验。D 为数据比特。S 为停止位;
PortOpen:设置并返回通信端口的状态。也可以打开和关闭端口; Ouptut:向传输缓冲区写 1B 的数据; Input:将传送到输入缓冲区的字符读到程序里; RThreshold:设置在产生 OnComm 之前要接受的字符数; InputLen:设置并返回 Input 属性从接收缓冲区读取的字符数; InBbuffersize:设置或返回输入缓冲区的大小; InBufferCount:返回输入缓冲区内等待读区的字节个数。可通过设置该 属性值为 0 来清除接收缓冲区; InputMode:设置或返回传输数据的类型; CommEvent:传回 OnComm 事件发生时的数值码; 部分代码如下: //装载窗体时初始化并打开串口 m_Com.SetCommPort(1); m_Com.SetInBufferSize(1024); m_Com.SetOutBufferSize(512); if(!m_Com.GetPortOpen()) m_Com.SetPortOpen(TRUE); m_Com.Settings(/9600,n,8,10); m_Com.SetRThreshold();
m_Com.SetInputLen(1); m_Com.SetInputMode(0); //发送主程序 Void CmainFrame::OnCommSend() { ..//准备要发送的数据存放在数组 SxData[ ]中 CbyteArray Send; Send.RemoveAll(); Send.SetSize(m); For(i=0;i
pp 为校验选择;d 为每个字符的数据位数;bbb 为自由口比特率(kbit/s); mm 为协议选择(从站或自由口模式)。 PLC 程序分为主程序和中断程序。主程序完成初始化通信口、开中断、 判断、发送数据等功能,中断程序完成接收和发送数据的功能。作为参考,中断 程序如下: Receive NETWORK1 LDSM010 ATHVB103,VB118,2 ATHVB115,VB119,2 SM011,1 MOVB0,VB120 MOVB&VB102,VD123 Switch NETWORK1 LDSM010 RM011,1 NETWORK2 LDSM010 FORVW121,+1,+13
NETWORK3 LDSM010 XORB*VD123,VB120 NETWORK4 LDSM010 INCDVD123 NETWORK5 NEXT NETWORK6 LDB=VB120,VB119 AB=VB117,81 SM010,1 Write NETWORK1 LDSM010 RSM8717,1 RM010,1 RCVVB100,0 NETWORK2
LDSM010 MOVD&VB107,VD127 NETWORK3 LDSM010 ATHVD127,*VD135,8 7、结束语 试验结果表明,当数据传输速率为 916kbit/s 时误码率<,能够实现现场 网络的在线监控、调试及数据修改。由于程序中采用了以 16 进制 ASCII 码描述 数据传输格式,因此一条指令中的数据字节和控制字节不可能发生混淆,通信更 加可靠。本系统的成功研制将对工业控制系统的自动化、智能化、网络化的发展 提供有益的借鉴。 参考文献 [1] 西门子公司;SMATIC S7-200 可变程序控制器系统手册,2002 [2] 李现勇;Visual C++串口通信技术与工程实践[M],北京:人民邮电 出版社,2002 [3] 胡柯;VC 环境下 PLC 与上位机的实时通讯[J],PLC&FA,2003 [4] 陈在平;可编程控制器技术与应用系统设计[M],北京:机械下业出 版社,2002 [5] 郑晟,建平,张学;现代可编程序控制其原理与应用[M],北京;科 学出版社,2003
分享到:
收藏