PC与PLC的串口通信及编程实现.pdf

PC与PLC的串口通信及编程实现.pdf

ID:52242159

大小:328.97 KB

页数:4页

时间:2020-03-25

PC与PLC的串口通信及编程实现.pdf_第1页
PC与PLC的串口通信及编程实现.pdf_第2页
PC与PLC的串口通信及编程实现.pdf_第3页
PC与PLC的串口通信及编程实现.pdf_第4页
资源描述:

《PC与PLC的串口通信及编程实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3期PC与PLC的串口通信及编程实现PC与PLC的串口通信及编程实现黄植功(广西师范大学物理与电子工程学院,广西桂林541004)摘要:在自由口模式下,通信协议由用户自己的梯形图程序控制。用户可以使用梯形图程序调用各种子程序,来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用VisualBasic编程来实现上位机与下位机之间的通信。关键词:VisualBasic;自由端口模式;PLC通信;串口通信中图分类号:TP312文献标识码:A文章编号:1003-7551(2007)03-003

2、5-041引言由于具有编程方法简单易学、功能强、性能价格比高、可靠性高、抗干扰能力强、体积小、能耗低、硬件配套齐全、设计调试安装维护方便等突出优点,可编程逻辑控制器(PLC)已经广泛地应用在发达国家所有的工业部门,主要应用在数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等方面。在联网通信方面,PLC与其他智能控制设备一起,可以组成“集中管理、分散控制”的分布式控制系统。在这种工业控制系统中,为了避免通信各方争用通信线路,PC与PLC之间的通信一般采用主从方式,通常采用计算机(PC)作为上位机负责完成数据分析、处理和存储、设备状态显示和打印输出等功能以实现对分布在工业现场

3、的被控制系统进行集中的实时监测与控制;PLC作为下位机使用,承担执行上位机的输出指令、现场数据采集和设备运转状态识别等任务。本文研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用VisualBasic编程来实现上位机与下位机之间的通信。2PLC与PC的电缆连接和电缆的切换时间S7-200的通信接口为RS-485,PC可以采用RS-232通信接口,RS-232/PPI多主站电缆可以连接PC与S7-200型PLC,实现S7-200CPU与PC的通信。由于使用RS-232/PPI电缆,因此在S7-200CPU的用户程序中应考虑电缆的切换时间,切换时间因波特率的不同而不同

4、,例如,如果采用9600bit/s的波特率,则电缆的切换时间为2ms,电缆上DIP开关设置为010,如果采用19200bit/s的波特率,则电缆的切换时间为1ms。S7-200CPU接收到RS-232设备的请求报文后,到它发送响应报文的延迟时间必须大于电缆的切换时间。在程序中,可以用中断实现切换延时。同理,如果S7-200CPU发送请求报文,在接收到RS-232设备的响应报文后,S7-200CPU下一次发出报文的延时时间也必须大于电缆的切换时间。在中断程序中,必须考虑电缆的切换时间,例如当采用19200bit/s的波特率时,通过定时5ms来提供PPI电缆接收/发送模式的切换时间,

5、用MOVB5,SMB34来实现定时5ms。3通信数据单元的结构*收稿日期:2007-07-0435第28卷第3期广西物理GUANAGXIWULIVol.28No.32007在自由口模式下,通信协议是由用户自己定义的,由梯形图程序控制。PC与PLC通信的基本单元为“帧”。PC通过串口将指令数据帧发送到PLC的PORT0(或PORT1)口,PLC通过RCV指令或字符中断来控制接收指令数据帧,然后对指令数据帧进行译码,译码后调用相应的读/写子程序实现指令要求的相关操作,比如启动或停止等,并返回指令执行的状态信息。需要指定PLC的接收缓冲区、译码区、发送缓冲区和用于存放BCC码等的缓冲区

6、。当PC发指令时,指令数据写入指定的目标寄存器。当PLC返回信息时,可以从数据区读取事先写入的数据。此外我们必须规定数据帧的结构,包括PC的指令格式和PLC的反馈信息格式,PC与PLC在发送和接收数据时应采用相同的数据帧格式。例如,PC的指令格式为:起始字符+指令类型(读/写)+目标PLC站地址+目标寄存器地址+读/写字节数M+要写入的数据+BCC校验码+结束字符,每个部分的字节长度是固定。起始字符标志着指令的开始,用ASCII码小写字符表示,结束字符标志着指令的结束,用ASCII码大写字符表示,比如分别用"j"和"J",各占1个字节;指令类型分写操作和读操作2种,分别向PLC写

7、入和读出数据;在PLC内部可以用4个字节来表示一个寄存器的地址,由于采用ASCII码表示,所以需要8个字节;读/写字节数M,对于读操作,一般是读回从目标寄存器开始的连续的固定字节数(比如8个)的数据,对于写操作,需要由PC指定,但不超过事先指定的最大字节数;要写入的数据区必须填满,但只有前M个字节的数据会被写入目标寄存器;BCC校验码用于判断传输的正确性,BCC校验码的方法就是将要传送的字符串(从指令类型到要写入的数据的最后)的ASCII码以字节为单位作异或和,并将此异或和作为指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。