在开始这个问题之前,我们应该了解一个比较容易混淆的问题。
RS485和MODBUS的区别:
RS485是一个物理接口,简单的说是硬件。
MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);所谓协议,也可以理解为上面有人说的“语言”吧,简单的说是软件。
一般情况下,两台设备通过MODBUS协议传输数据:
最早是用RS232作为硬件接口,(也就是普通电脑上的串行通讯口(串口));
也有用RS422的,也有常用的RS485,这种接口传输距离远,在一般工业现场用的比较多。
MODBUS协议又分MODBUS RTU,MODBUS ASCII和后来发展的MODBUS TCP三种模式。
其中前两种(MODBUS RTU,MODBUS ASCII)所用的物理硬件接口都是串行(Serial)通讯(RS232,RS422,RS485)。
而MODBUS TCP则是为了顺应当今世界发展潮流,什么都可以用Ethernet网或Internet来连接,传送数据。所以又产生MODBUS TCP模式,该模式的硬件接口就是以太网(Ethernet)口了,也就是我们电脑上一般用的网络口了。
然后我们可以通过一张图片了解 S7-200 PLC支持的几种通讯协议。
一、PPI通讯
PPI通讯是西门子公司专为s7-200系列plc开发的通讯协议。内置于s7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。
PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站靠PPI协议管理的共享连接来与从站通讯。PPI协议并不限制与任意一个从站的通讯的主站的数量,但在一个网络中,主站不能超过32个。PPI协议最基本的用途是让西门子Step7-Micro/Win编程软件上传和下载程序和西门子人机界面与PC通信。
二、MPI通讯
MPI (multipoint interface)是SIMATIC s7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量plc之间近距离通信。
通过Profibus电缆和接头,将控制器s7-300或s7-400的CPU自带的MPI编程口及s7-200CPU 自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP 口)通过Profibus或MPI电缆连接即可实现。 网络中当然也可以不包括PC机而只包括plc。MPI的通信速率为19.2k~12mbit/s ,但直接连接s7-200CPU通信口的MPI网,其最高速率通常为187.5kbit/s (受s7-200CPU最高通信速率的限制)。在MPI网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5kbit/s时),更长的通信距离可以通过rs-485中继器扩展。MPI允许主-主通信和主-从通信,每个s7-200CPU通信口的连接数为4个。MPI协议不能与一个作为PPI主站的s7-200CPU通信,即s7-300或s7-400与s7-200通信时必须保证这个s7-200 CPU不能再作PPI主站,Micro/Win也不能通过MPI协议访问作为PPI主站的s7-200CPU。s7-200CPU只能做MPI从站,即s7-200CPU之间不能通过MPI网络互相通信,只能通过PPI方式互相通信。
三、Modbus 通讯
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在我国,Modbus已经成为国家标准GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。Modbus是一种单主站的主/从通信模式。一条Modbus网络上同时只能有一台主站,从站可以有若干个。Modbus具有以下几个特点:1、标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。注:S7-200只支持Modbus RTU协议,不支持Modbus ASCII协议;
四、ProfiBus 通讯
作为众多现场总线家族的成员之一ProfiBus是在欧洲 工业界得到最广泛应用的一个现场总线标准,也是目前国际上通用的现场总线标准之一。ProfiBus是属 于单元级、现场级的SIMITAC网络,适用于传输中、小量的数据。其开放性可以允许众多的厂商开发各自的符合ProfiBus协议的产品,这些产品可以连接在同一个 ProfiBus网络上。ProfiBus是一 种电气网络, 物理传输介质可以是屏蔽双绞线、光纤、无线传输。于1989年正式成为现场总线的国际标准。PROFIBUS是一种国际化、开放式、不依赖于设备生产商的现场总线标准,传送速度可在9.6kbaud~12Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。PROFIBUS广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。PROFIBUS也是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
五、USS通讯
USS (Universal Serial Interface, 即通用串行通信接口) 是西门子专为驱动装置开发的通信协议,多年来也经历了一个不断发展、完善的过程。最初 USS 用于对驱动装置进行参数化操作,即更多地面向参数设置。在驱动装置和操作面板、调试软件(如DriveES/STARTER)的连接中得到广泛的应用。近来 USS 因其协议简单、硬件要求较低,也越来越多地用于和控制器(如 PLC)的通信,实现一般水平的通信控制。(注意:USS 提供了一种低成本的,比较简易的通信控制途径,由于其本身的设计,USS 不能用在对通信速率和数据传输量有较高要求的场合。在这些对通信要求高的场合,应当选择实时性更好的通信方式,如 PROFIBUS-DP 等。在进行系统设计时,必须考虑到 USS 的这一局限性。 例如,如果在一些速度同步要求比较高的应用场合(如造纸生产线),对十几甚至数十台变频器采用 USS 通信控制,其效果可想而知。
所有的西门子变频器都带有一个RS485通讯口,PLC作为主站,最多允许31个变频器作为通讯连路中的从站,根据各变频器的地址或者采用广播方式,可以访问需要通讯的变频器,只有主站才能发出通讯请求报文,报文中的地址字符指定要传输数据的从站,从站只有在接到主站的请求报文后才可以向从站发送数据,从站之间不能直接进行数据交换。在使用USS协议之前,需要先安装西门子的指令库。USS协议指令在STEP7—MICRO/WIN32指令树的库文件夹中,STEP7—MICRO/WIN32指令库提供14个子程序、3个中断程序和8条指令来支持USS协议。调用一条指令时,将会自动地增加一个或几个子程序。
USS 协议的基本特点如下:
支持多点通信(因而可以应用在 RS 485 等网络上)
采用单主站的“主-从”访问机制
一个网络上最多可以有 32 个节点(最多 31 个从站)
简单可靠的报文格式,使数据传输灵活高效
容易实现,成本较低
USS 的工作机制是,通信总是由主站发起,USS 主站不断循环轮询各个从站,从站根据收到的指令,决定是否、以及如何响应。从站永远不会
主动发送数据。从站在以下条件满足时应答:
1、接收到的主站报文没有错误;
2、并且本从站在接收到主站报文中被寻址