西门子PLC串行通讯方式有几种

  • 格式:doc
  • 大小:192.00 KB
  • 文档页数:10

西门子PLC串行通讯方式有几种?西门子PLC串行通讯方式有:RS485串口通信、PPI通信、MPI通信、PROFIBUS-DP通信、以太网通信一、PPI通讯PPI协议是S7-200CPU最基本的通信方式,通过原来自身的端口(PORT0或PORT1)就可以实现通信,是S7-200 CPU默认的通信方式。

PPI是一种主-从协议通信,主-从站在一个令牌环网中。

在CPU内用户网络读写指令即可,也就是说网络读写指令是运行在PPI协议上的。

因此PPI只在主站侧编写程序就可以了,从站的网络读写指令没有什么意义。

二、RS485串口通讯第三方设备大部分支持,西门子S7 PLC可以通过选择自由口通信模式控制串口通信。

最简单的情况是只用发送指令(XMT)向打印机或者变频器等第三方设备发送信息。

不管任何情况,都必须通过S7 PLC编写程序实现。

当选择了自由口模式,用户可以通过发送指令(XMT)、接收指令(RCV)、发送中断、接收中断来控制通信口的操作。

三、MPI通讯MPI通信是一种比较简单的通信方式,MPI网络通信的速率是19.2Kbit/s~12Mbit/s,MPI 网络最多支持连接32个节点,最大通信距离为50M。

通信距离远,还可以通过中继器扩展通信距离,但中继器也占用节点。

MPI网络节点通常可以挂S7-200、人机介面、编程设备、智能型ET200S及RS485中继器等网络元器件。

西门子PLC与PLC之间的MPI通信一般有3种通信方式:1、全局数据包通信方式2、无组态连接通信方式3、组态连接通信方式四、以太网通讯以太网的核心思想是使用共享的公共传输通道,这个思想早在1968年来源于厦威尔大学。

1972年,Metcalfe和David Boggs(两个都是著名网络专家)设置了一套网络,这套网络把不同的ALTO计算机连接在一起,同时还连接了EARS激光打印机。

这就是世界上第一个个人计算机局域网,这个网络在1973年5月22日首次运行。

Metcalfe在首次运行这天写了一段备忘录,备忘录的意思是把该网络改名为以太网(Ethernet),其灵感来自于“电磁辐射是可以通过发光的以太来传播”这一想法。

1979年,DEC、Intel和Xerox共同将网络标准化。

1984年,出现了细电缆以太网产品,后来陆续出现了粗电缆、双绞线、CATV同轴电缆、光缆及多种媒体的混合以太网产品。

以太网是目前世界上最流行的拓朴标准之一,具有传传播速率高、网络资源丰富、系统功能强、安装简单和使用维护方便等很多优点。

五、PROFIBUS-DP通讯PROFIBUS-DP现场总线是一种开放式现场总线系统,符合欧洲标准和国际标准。

PROFIBUS-DP通信的结构非常精简,传输速度很高且稳定,非常适合PLC与现场分散的I/O设备之间的通信。

S7-200 PLC自由口通信[摘要]:介绍了S7-200 PLC和计算机的通信方式,详细说明了自由口模式下PLC与计算机通信的实现方法,包括自由口工作的通信流程,计算机指令帧格式约定,PLC反馈帧的格式约定等。

编写了S7-200 PLC的自由口通信程序,在上位机中用.net环境下的C#语言开发了计算机与PLC的串行通信程序,可灵活实现对PLC存储区数据的读写功能。

[关键词]:PLC; .NET;C#;自由口通信摘要:介绍了S7-200 PLC和计算机的通信方式,详细说明了自由口模式下PLC与计算机通信的实现方法,包括自由口工作的通信流程,计算机指令帧格式约定,PLC反馈帧的格式约定等。

编写了S7-200 PLC的自由口通信程序,在上位机中用.net环境下的C#语言开发了计算机与PLC的串行通信程序,可灵活实现对PLC存储区数据的读写功能。

关键词:PLC; .NET;C#;自由口通信中图分类号:TP393 文献标识码: AFree-port Communication Method between PC and S7-200 PLC based on .NETLU QingAbstract:The communication method between S7-200 PLC and computer is introduced and the S7-200 PLCcommunication under the free-port is illuminated in de tail, which mainly includes working process, computer i nstruction format and PLC feedback information format. The serial communication program between computer and S7-200 PLC based on C# is programmed, where host computer can read and write any kinds of data i n PLC to meet the requirement of the system .Key words:PLC; .NET; C#; Free-port Communication引言PLC作为一种高效、灵活、可靠的控制器,已经广泛地应用在包括数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等工业控制领域。

在联网通信方面,PLC 与上位计算机设备一起,可以组成“集中管理、分散控制”的分布式工业控制系统。

在这种控制系统中,PLC与上位机的通信对系统整体性能有着较大的影响。

面对众多厂家不同类型的PLC,它们在功能编程上没有统一的标准而且在通信协议上也是千差万别,选择一种即能满足通信要求又经济实用的通信协议是非常关键的。

本文以S7-200PLC为对象,详细研究了S7-200PLC在自由端口模式下与PC之间的通信方法,并采用.net环境下的C#语言编写通信程序实现了计算机与PLC之间的通信。

这种通信方式硬件投入低,通信协议灵活,可以在多个工业控制领域得到广泛的应用。

1 S7-200 PLC与上位机的通信方式S7-200 系列PLC与上位机进行通信主要有以下几种方式:(1)通过S7-200 PLC的OPC服务器(pc access)作为上位机的OPC服务器,这种方式只须在OPC服务器中配置相应的测点数据,编程简单,但通信速率不高,用户不能自由修改通信协议;(2)利用触摸屏,这种方式需要根据触摸屏兼容的通信协议进行选择,通信可靠性高,但灵活性差,触摸屏界面编程功能也不够强大;(3)利用通用编程软件实现,这种方法虽然系统开发工作量大,对技术人员的水平和经验都要求较高,但编程灵活,可以实现比较复杂的功能。

本文采用了第三种通信方式,在开发通信软件时考虑了S7-200 PLC所特有的一种通信方式—自由口通信模式。

在自由口模式下用户可自定义协议,利用串口和PLC 的通信口来收发数据,通信功能完全由用户程序控制,通信任务和信息定义均需由用户编程实现,通过调用子程序来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。

2 自由口通讯工作模式的定义在中小规模系统,通信速率要求不是特别高的情况下,S7-200 PLC自带的编程口可以作为通信口使用。

S7-200PLC编程软件与PLC进行通信所利用的PPI协议实质也是一种RS-485通信,它可在多种模式下工作,其中自由口通信功能是S7-200 PLC的一个独特的功能。

在自由口通信方式下,S7-200 PLC可以与任何协议公开的设备、控制器进行通信,最高波特率可达38.4kbit/s。

一般上位机串行口符合RS-232C标准协议,为了与PLC的RS-485通信则必须进行协议转换。

在PLC编程方面,自由口模式下的通讯协议主要就是自由口通信工作模式控制字的定义以及发送和接受数据指令的格式约定及其参数设置等。

2.2 接收指令(RCV)RCV(接收指令)从S7-200 PLC的通讯口接收一个或多个数据字节。

接收的数据字节保存在接收数据缓冲区中。

接收指令完成后,会产生一个中断事件(对Port0为中断事件23,对Port1为中断事件24)。

启动接收指令后,CPU 的通讯控制器就处于接收状态。

使用接收指令时需要设置消息起始和结束的判断条件,通讯控制器用这些条件来判断消息的开始和结束。

当判断消息结束时接收状态终止,否则通讯口会一直处在接收状态。

由于S7-200 PLC的自由口通讯是建立在RS-485半双工通讯的基础上,接收和发送不能同时进行,接收指令不结束,就不能执行发送指令。

对几个重要的特殊存储区设置举例如下:MOVB 16#EC, SMB87(允许接受,检测起始字符和结束字符,超时检测)MOVB 104, SMB88(发送报文起始字符为h)MOVB 72, SMB99(结束字符为H)MOVB +1000, SMB92(接受超时时间为1s)MOVB 35, SMB94(接受最大字符数为35)2.3 发送指令(XMT)XMT 发送指令利用数据缓冲区指定要发送的字符,用于向指定通信口以字节为单位发送一串数据字符,发送命令格式为XMT TABLE,PORT,其中TABLE为数据存储区地址,PORT指定PLC要发送数据的端口。

一次最多发送2 55个字节。

XMT 发送指令完成后,会产生一个中断事件(P ort0为中断事件9,Port1为中断事件26)也可以监视发送完成状态位SM4.5和SM4.6的变化来产生XMT中断。

3 S7-200 PLC 通信程序设计3.1 通信程序流程本程序中S7-200 CPU从通讯端口0接收字符串,使用RCV指令和接受完成中断接受数据,以自定义协议来实现计算机与S7-200PLC之间的数据通信时,为了避免通信中的各方争用通信线路,一般采用主从方式,即计算机作为主机,向作为从站的S7-200 PLC端口0发送规定格式的报文。

当S7-200 PLC接收到指令后进行相关的数据校验, 这里采用BBC校验方式,即将每一帧的第一个字节(不包括起始字符)到该帧中正文校验码之前的所有字节作异或运算(本例中是从VB101到VB130),并将校验码作为报文一部分发送到计算机。

在PLC接收端也要对接收缓冲区的数据进行BBC校验,然后与指令中的校验码比较,如果校验码相等则置位M0.0,PLC执行命令并将所接收到的数据反馈给计算机;如果校验码不相等, 则置位M0.1并返回带有校验码错误的反馈信息,通信流程图如图1所示。

图 1 PLC通信流程图3.2 通信帧格式约定计算机每次发送一个33字节的指令来实现一次读写操作。

每条指令都包括起始字符、结束字符、目标站地址、目标寄存器地址、要读写的字节数、要写入的数据和校验码。