可编程序控制器网络通讯及其程序设计研究之间的串行通信.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:27KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

可编程序控制器网络通讯及其程序设计研究之间的串行通信.pdf

可编程序控制器网络通讯及其程序设计研究之间的串行通信.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《微型电脑应用》2002年第6期用Delphi实现计算机与OMRONPLC之间的串行通信同济大学信控系上海200092余振宏蒋式勤刁杰谢威摘要:以OMRONC200HG系列PLC为例介绍了用Delphi5.0实现上位机与PLC地通信,着重讨论了通信协议以及MSComm控件的属性设置、事件响应。关键词:串行通信,Delphi5.0,PLC通信协议,API函数TheAchievementofSerialCommunicationbetweenComputerandOMRONC200HGPLCbyUsingDelphiAbstract:IntroducethetechnologyofserialcommunicationbetweenthecomputerandOMRONC200HGPLCbyUsingDelphi,mainlydiscussthecommunicationprotocal,theproterties’settingandevent’sresponseofMSCommbyusingtheDelphi5.0Keywords:serialcommunication,Delphi5.0,PLCcommunicationprotocol,APIfunction现代工业控制的监控系统及其他过程检测和控制系统,大多采用分布式监控系统的控制方式,要使其信息集中,功能分散的优点得以充分发挥,就必须进行上位机与下位机之间的数据通信。与此同时,可编程控制器(PLC)以其功能强大、通讯灵活、可靠性高、环境适应性好、编程简单、使用维护方便等优点而被作为下位机广泛应用于工业现场,而微机在数据处理及人机界面方面有得天独厚的优势,因此采用微机为上位管理机来进行工艺流程及工艺参数的显示、控制参数的修改等,这样不得不解决上位管理机与下位控制机之间的通信问题。本文结合基于元胞自动机的电梯群控系统建模与仿真系统介绍如何运用delphi5.0实现上位机与OMRONC200HGPLC之间的通信。1通信系统的硬件结构本仿真系统由一台通用PC(上位机)和OMRONC200HGPLC(下位机)组成。C200HG的CPU单元内带有RS-232C端口,其支持与PC串口的一对一串行通信。通过编制上位机的控制程序和相应的下位机程序就能实现上下位机之间数据的交互。2上位机的串口通信用Delphi开发串口通信软件一般有两种方法:一是利用Windows的通信API函数,另一种是采用Microsoft的MSComm控件。利用API编写串口通信程序较为复杂,需要掌握大量的通信知识,其优点是实现的功能强大,应用面广泛,适合于编写较为复杂的低层次通信程序。而利用MSComm控件则相对简单,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作。考虑到与下位PLC的通信比较简单,通信过程中并没有涉及到复杂的底层操作,所以本仿真系统就选用Microsoft的MSComm控件。MSComm控件是VB中的OCX控件,可以通过选择菜单"Component">"importactivecontrol",在"ImportActiveX"页内选择"MicrosoftCommControl",点击"Install"安装,即可将其添加到Delphi中使用。MSComm控件的主要属性及事件CommPort:设置或返回串行端口号,缺省值1。Settings:设置或返回串口通信参数,格式为“波特率,奇偶校验位,数据位,停止位”。例如:MSComm1.Settings:='9600,o/e,8,1'PortOpen:打开或关闭串行端口,格式为MSComm1.PortOpen:={True|False}InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。InBufferCount:返回接收缓冲区内等待读取的字节数,可通过设置该属性为0来清空接收缓冲区。RThreshold:该属性为一阀值,它确定当接收缓冲区内的字节个数达到或超过该值后就产生代码为CommEvReceive的OnComm事件。SThreshold:该属性为一阀值,它确定当发送缓冲区内的字节个数少于该值后就产生代码为CommEvSend的OnComm事件。InputLen:设置或返回接收缓冲区内用Input读入的字节数,设置该属性为0表示Input读取整个缓冲区的内容。Input:从接收缓冲区读取一串字符。OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。OutBufferCount:返回发送缓冲区内等待发送的字节数,可通过设置该属性为0来清空缓冲区。OutPut:向发送缓