vc++ 环境下siemens plc 与pc 的串行通信

vc++ 环境下siemens plc 与pc 的串行通信

ID:12516016

大小:134.00 KB

页数:4页

时间:2018-07-17

vc++ 环境下siemens plc 与pc 的串行通信_第1页
vc++ 环境下siemens plc 与pc 的串行通信_第2页
vc++ 环境下siemens plc 与pc 的串行通信_第3页
vc++ 环境下siemens plc 与pc 的串行通信_第4页
资源描述:

《vc++ 环境下siemens plc 与pc 的串行通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、中图分类号:TP273+.5VC++环境下SiemensPLC与PC的串行通信卫庆军1,曾文火2,曹传生3,闫红蕾4(1,2,3,4.江苏科技大学机械与动力工程学院,江苏镇江212003)【摘要】利用VC++6.0开发工具,完成了西门子S7-200型PLC与PC的串行通信。其中,通信协议采用西门子PLC特有的自由口通信协议;串行通信采用WindowsAPI函数实现。试验结果表明,这种串行通信方法,传输数据准确,简单,移植性强。【关键字】串行通信;VC++;S7-200;自由口SerialcommunicationsbetweensiemensPLCandPCbasedonVC++W

2、eiQing-jun1,ZengWen-Huo2,CaoChuan-Sheng3,YanHong-Lei4(1,2,3,4.MechanicalandDynamicalEngineeringInstitute,JiangsuUniversityofScienceandTechnology,ZhenjiangJiangsu212003,China)【Abstract】ByusingthedevelopmenttoolofVC++,theexperimentmanagedtheserialcommunicationbetweenSerialS7-200ofSiemensPLCandPC

3、.Thecommunicationprotocolisthefreeportcommunicationprotocol;theserialcommunicationiscompletedbytheWindowsAPIfunction.Theresultoftestindicatesthatthisserialcommunicationisaccuracyfortransferringdata,simpleandstrongportability.【Keywords】SerialCommunication;VC++;S7-200;FreePort0引言可编程控制器(PLC)自问世以来

4、,以其适用性强、适应面广、编程简单、体积小、功耗低、安装、调试维护方便等优点,得到了广泛应用的。但由于PLC的人机接口功能不很完善,不能对工业控制现场的数据信息进行及时、形象的反馈,而基于图形界面的Windows开发环境的出现,则可以顺利解决这一问题。所以,有必要开发PLC与PC的接口,这有利于充分发挥两者的优点,更好为工程应用服务。本文在Windows界面下,利用VC++6.0开发工具,以西门子S7-200为对象,采用常用的自由口通信协议,实现PLC与上位机的实时通信。1PLC与PC通信接口及通信标准选择S7-200支持多种通信接口,如PPI电缆、CP通信卡和以太网通信卡。这里我

5、们采用S7-200专用的PC/PPI通信电缆与PC机的串口直接连接。该电缆既可作编程线又可用作PLC与PC的通信线。由于PC机的标准串口为RS232电平标准,而本试验采用的自由口通信端口为标准RS485口,所以两者连接时需进行电平转换,利用上述PC/PPI电缆即可实现这一功能。2下位机PLC程序实现PLC作为本试验中的下位机,不主动发送数据,而是被动地响应上位机的指令。当响应完成或上位机暂无指令时,PLC一直处于等待接收状态。PLC程序主要由主程序、三个子程序和三个中断程序组成。2.1主程序主程序执行时,现在第一次扫描时调用初始化子程序。然后,即根据来自上位机的读(或写)指令调用响

6、应读(或写)子程序。在每次指令接收完成后,PLC会调用BCC码校验子程序。来自上位机的读、写指令需满足特定的格式,以便于PLC识别,读、写指令格式如下:图1读、写指令格式Fig.1FormatofReadandWriteInstruction起始字符B0——为ASCII码的“g”;指令类型B1——05H为读指令、06H为写指令;目标PLC站地址B2~B3——本试验假定为02H;目标寄存器地址B4~B11——共占4个字节,前两个字节为寄存器类型,后两个字节表示寄存器号。类型代码如下:0000(H):I寄存器0100(H):Q寄存器0200(H):M寄存器0800(H):V寄存器例如:

7、IB000的地址可表示为00000000(H)VB100的地址可表示为08000064(H)读写字节数M:B12~B13——当读指令时,始终读回从目标寄存器开始的连续8个字节(转换成十六进制ASCII码后占16个字节)的数据,此时M的内容可任意填写。当写指令时,M必须与实际写入数据的ASCII码所占字节数一致,如要写入一个字节的数据,其十六进制ASCII码占2个字节,则M为02H,一条指令最多可写入8个字节的数据,此时M应为10H。要写入的数据B14~B29——该区域

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

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

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