C#实现pc与西门子plc通讯 (1)

C#实现pc与西门子plc通讯 (1)

ID:40156711

大小:176.07 KB

页数:3页

时间:2019-07-23

C#实现pc与西门子plc通讯 (1)_第1页
C#实现pc与西门子plc通讯 (1)_第2页
C#实现pc与西门子plc通讯 (1)_第3页
资源描述:

《C#实现pc与西门子plc通讯 (1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用C实现PC与西门子PLC串行通讯刘强,等用C#实现PC与西门子PLC串行通讯刘强1,张战宁2,徐吴s(海军北海舰队通信处山东青岛,26607I)(2海军工程大学研究生八队武汉,430033)(解放军通讯指挥学院武汉,430010)摘要:分析了PLC与PC的数据格式的差异,然后给出了Pc与PLC之间的串行通讯协议和通讯流程,最后用DOTNET框架下的C语言实现串行通讯监控软件。关键词:PLC;串行通讯;监控软件Abstract:Thispaperanalysisdataformatsofdiferenthardwareplatfo

2、rmsatfirst.thengivethecommunicatiOnprotocolandprogramflowchartoftheserialcommunicationbetweenPCandPLC,lastly,usesharplanguageprogrammingthemonitorsoftware.Keywords:PLC;SerialCommunication;Monitorsoftware中图分类号:TP273文献标识码:A文章编号:1001-9227(2008)05-0060-030引言它们都是按照IEEE一754

3、标准来规定浮点数的存储格式,但由于PLC的主要用途是工业控制,PLC模块一般内存较它们在内存中存储的字节顺序正好相反。小,没有数据管理功能,因此,有必要将PLC控制系统采集当PLC与上位机PC进行通讯时,要特别注意PLC与上的实时数据通过串行通讯发送到PC机上进行存储与分析。位机的数据存储格式的区别,应编写专门的字节顺序转换程借助PC机强大的编程能力,可以向用户提供工艺流程图显序。示、动态数据画面显示、数据分析、数据报表、数据统计等功能,为控制系统提供良好的人机界面。西门子公司的$7-2PLC与PC的串行通讯协议300系列可编程逻

4、辑控制器结合串口通讯模块CP340或串行通讯主要有两种模式:不定长与定长通讯。相对来CP341可以实现与其它计算机的串行通讯。笔者通过C语言说,不定长通讯的控制复杂一点,但帧长度可以根据数据量完成了PC与CP340的串行通讯监控软件,实现了对某型减的大小进行调节,有利于提高通讯效率。定长通讯控制相对振系统的压力与高度监控,并生成了相应的监控数据库,这简单,但数据帧长度固定,不能根据数据量的大小进行调对分析系统的工作过程中的姿态变化,及时发现系统的故障节,通讯效率受到影响。用户可以根据自身的情况,权衡利倾向有着重要的作用。弊决定选择

5、哪种通讯模式。由于PC与CP340通讯无非是从PLC读取数据或向PLC写1串行通信中不同硬件平台数据存储格式的差异入数据,故首先要了解西门子PLC的内存地址的表达方式。西门子S7—300主要支持如下格式的基本数据类型:才能够从需要的地址处读取数据。下面是西门子S7—3000的bool、byte、word(int)、dword(dint)、real等。由于CPU内存地址与代码。结构的不同,两个字节以上的数据类型,如整数、长整数和西门子$7-300系列PLC中内存空间分为以下几类如表浮点数在内存中的存储方式有2种,一是数据的高位先存储

6、1所示。(big-endian方式),二是数据的低位先存储(1ittle—end)。裹1一般X86系统采用的是little-endian方式,即一个十六进内存区域区域代码(16进制)备注IOx81外部信号输入地址空间制数的低位先存放在低地址内存位置,而$7-300中数据的存储格式是big-endian,与X86正好相反。图1是一个1600x82控制信号输出地址空间进制整数据在两种方式下的存储格式。.M0x83一般用途的地址空间X86PC中的单精度浮点数float与$7-300中的realDB0x84数据块类型是对应的,每一个单精度

7、浮点数在内储中占4个字节,D10x85背景数据块收稿日期:2008一O4—25L0x86临时数据区60《自动化与仪器仪表》2008年第5期(总第139期)HEX:6D9FHEX:6D9F字节■址宇节■址宇节鼍址字节t址nt'.1n州X86wPC中整数在内存中的存储格式S7-300中整数在内存中的存储格式图1数据在不同机器上的存储格式publicbytedst西门子S7—300系列PLC寻址时用到的地址指针格式如_addr://H的地址(接收方)publicintdu图2所示。_num://数据单元的个数publicDataUnit

8、口arr—du://数据单元的数组publicbyteend字节0字节1_flag://帧结束标志字符半节2字节3字节4字节5publicbyte木SendBuffer://用于发送数据帧—图2西门子S7—300地址指针格式的缓冲区publicby

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

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

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