modbus通讯介绍.ppt
- 格式:ppt
- 大小:1.08 MB
- 文档页数:31
分分钟玩转通讯!智能控制的语言之——Modbus通讯Modbus通讯标准协议可以通过各种传输方式传播,如RS-232C、RS-485、光纤、无线电等。
Modbus具有两种串行传输模式,ASC2和RTU模式。
支持Modbus协议的一般都支持RTU模式,通信双方(主站和从站)必须同时支持上述模式中的一种。
一般都使用RTU模式。
Modbus是一种单主站的主/从通信模式,Modbus网络上只能有一个主站存在(注意和PPI协议的区别),主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。
主站NO.1 初始化使用MODBUS通讯协议,必须首先初始化程序,使用MBUS_CTRL可初始化、监视或禁用Modbus通讯,在使用MBUS_MSG指令之前,必须正确执行MBUS_CTRL指令。
指令完成后立即设定'完成'位,才能继续执行下一条指令。
在每次扫描且EN输入打开时执行该指令。
MBUS_CTRL指令必须在每次扫描时(包括首次扫描)被调用,Mode('模式')输入数值选择通讯协议。
输入值1(可用SM0.0替代或者直接用数值1)将CPU端口分配给Modbus协议并启用该协议。
输入值0将CPU端口分配给PPI系统协议并禁用Modbus协议。
Baud (波特率)一般选择9600。
Parity (奇偶校验) 参数被设为与Modbus从站奇偶校验相匹配。
所有设置使用一个起始位和一个停止位。
一般选择偶校验2.Timeout('超时')参数设为等待来自从站应答的毫秒时间数。
'超时'数值可以设置的范围为1毫秒到32767毫秒。
典型值是1000毫秒(1秒)(一般都设定为1000)。
'超时'参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。
'超时'参数用于确定Modbus从站是否对请求做出应答。
ModBusModbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。
其系统结构既包括硬件、亦包括软件。
它可应用于各种数据采集和过程监控。
ModBus 网络只有一个主机,所有通信都由他发出。
网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。
基本信息•中文名:ModBus•英文名:Modbus protocol•定义:一个工业通信系统•发明时间:1979年•连接组成:带智能终端通过公用线路连接简介正在加载ModBus示意图为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA (Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。
在中国,Modbus已经成为国家标准GB/T19582-2008。
据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。
Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
Modbus通讯很简单!——⼿把⼿教你主要内容:S7-200 PLC Modbus通讯概述S7-200 PLC Modbus通讯指令S7-200 PLC Modbus通讯常问问题(1)Modbus通讯S7-200的Modbus通讯:S7-200只⽀持Modbus RTU协议,不⽀持Modbus ASCII协议;Modbus是⼀种单主站的主/从通信模式。
⼀条Modbus⽹络上同时只能有⼀台主站,从站可以有若⼲个(如下图所⽰)。
从站的地址范围为1-247;⼀个Modbus通讯的传输字符应包括⼀个起始位,8个数据位,1个或0个校验位(奇偶校验或⽆校验可选择),以及⼀个停⽌位在S7-200 CPU通信⼝上实现的是RS485半双⼯通信,使⽤的是S7-200的⾃由⼝功能。
上图是⼀个典型的主站和从站的⽹络结构,对于Modbus主站⽽⾔可以对从站进⾏读或者写的操作,其中它所⽀持的功能码(FC,Function Code)包括主站左侧表格中所述功能,例如功能码为'01'时表⽰读取单个/多个线圈(DO)状态或功能码为'04'时表⽰读取单个/多个输⼊寄存器(AI)状态。
⽽对于从站,我们只需要把Modbus的标准地址和从站的地址对应关系建⽴好就可以了,S7-200的从站与Modbus标准的对应关系如从站右侧表格所⽰。
表中左侧是Modbus标准地址码,其中1-128对应于S7-200的Q0.0-Q15.7,10001-10128对应于S7-200的I0.0-I15.7,30001-30032对应于AIW0-AIW62,40001-4xxx对应的是S7-200的保持寄存器(V 区),它的范围是T-T+2*(xxxx-1),T表⽰的是V区的起始地址,这⼀点由Modbus从站的指令所决定的。
Modbus的主站指令叫做MBUS_MSG,通过这条指令可以将Modbus的标准报⽂发给从站,例如在上图例⼦当中从站的第⼀个字节是03,表⽰的是从站的地址,FC功能码为03,表⽰的是读取单个/多个保存寄存器,Modbus标准地址是40001,长度是10。
Modbus是美国Modicon公司(即现在的Schneider Electric公司)于1979年开发的一种通信协议,其目的是采用一根双绞线实现多个设备之间的通信。
Modbus很快就成为自动化工业领域事实上的标准,Modicon公司把它向社会公开发布,不收任何专利费用。
通过Modbus 协议,可以轻松地实现不同厂家的控制设备(例如PLC、变频器和DCS)之间的通信。
Modbus 协议采用问答式的通信方式,具有简单、硬件便宜、通用性强、使用方便的优点,容易开发和实现。
Modbus RTU几乎成了国产PLC和变频器首选的通信协议。
Modbus 协议不需要专门的通信模块,通信所需的堆栈和协议机制是以软件形式实现的,属于ISO-OSI 参考模型的第7层。
它的另一个优点是可以通过任何传输媒介进行通信,包括双绞线、无线通信、光导纤维、以太网、电话调制解调器、移动电话以及微波等。
这样可以很容易地在一个新的或者是现有的工厂里建立起Modbus连接。
目前使用的Modbus有三个版本:Modbus ASCII、Modbus RTU和Modbus/TCP。
Modbus ASCII协议需要将一个字节的数据转换为两个字节的ASCII码后发送。
Modbus RTU协议的数据以二进制进行编码,每个字节的数据只需要一个字节的通信量。
Modbus RTU通信采用主-从方式,最多传送255个字节的数据。
主设备与一个或多个从设备进行通信。
比较典型的主设备是PLC、PC、DCS(集散控制系统)或者RTU(远程终端单元)。
Modbus RTU的从设备一般是现场设备。
当Modbus RTU主设备想要从一台从设备得到数据的时候,主设备发送一条包含该从设备站地址、所需要的数据以及一个用于检测错误的CRC校验码。
网络上所有其它设备都可以接收到这条信息,但是只有地址被指定的从设备才会作出反应。
Modbus网络上的从设备不能发起通信,它们只能在主设备对它说话的时候回答。
MODBUS通讯协议简介MODBUS通讯协议简介MODBUS通讯协议简介工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器的网络协议中的一种。
一、概述Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。
这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
1、在Modbus网络上转输标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由Modem组网。
控制器通信使用主-从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
典型的主设备:主机和可编程仪表。
典型的从设备:可编程控制器。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
S7-1200 Modbus RTU 通信介绍Modbus具有两种串行传输模式:分别为ASCII和RTU。
Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus 网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0 - 247,其中0为广播地址,从站的实际地址范围为1 - 247。
Modbus RTU通信以主从的方式进行数据传输,在传输的过程中Modbus RTU 主站是主动方,即主站发送数据请求报文到从站,Modbus RTU从站返回响应报文。
S7-1200以下模块支持Modbus RTU通信:注意:1. 使用通信模块CM 1241 RS232作为Modbus RTU主站时,只能与一个从站通讯。
2. 使用通信模块CM 1241 RS485作为Modbus RTU主站时,则允许建立最多与32 个从站的通讯。
3. 使用通信板CB 1241 RS485时,CPU 固件必须为V2.0 或更高版本,且使用软件必须为STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本。
S7-1200 Modbus RTU 指令随着TIA PORATL 软件和S7-1200 CPU 固件的不断更新,S7-1200 Modbus RTU 指令也出现了不同的版本。
用户需要根据使用的软件和硬件,正确选择使用符合要求的S7-1200 Modbus RTU 指令来实现Modbus RTU 通信。
软件,硬件要求和指令版本说明如下。
TIA PORTAL 中的S7-1200 Modbus RTU 指令TIA PORTAL 软件中提供了2个版本的Modbus RTU指令。
如下图1 所示:•早期版本的Modbus RTU 指令(图1. 中MODBUS (V2.2))仅可通过CM1241 通信模块或CB1241 通信板进行Modbus RTU 通信。
•新版本的Modbus RTU 指令(图1. 中MODBUS(RTU) V3.0)扩展了Modbus RTU 的功能,该指令除了支持CM1241 通信模块、CB1241 通信板,还支持PROFINET 或PROFIBUS 分布式I/O 机架上的PTP 通信模块实现Modbus RTU 通信。