SM510-MODBUS通讯协议V1.27
ACS510变频器与S7-200 MODBUS通信

ABB变频器通讯
MODBUS通讯
1.ACS510变频器参数设置:
9802=1MODBUS
5302=1站号5303=9.6kbit/s波特率5304=1校验方式为8N2
5305=01001=10由MODBUS控制变频器启停1003=为双向
1102=0由MODBUS控制变频器给定速度(0-20000对应0-50Hz)
1103=82007=-50HZ
2.控制变频器起停
a.初始化,即向Modbus寄存器40001中写入1142(16进制数为476)并延时100毫秒;b.启动电机,即向Modbus寄存器40001中写入1151(16进制数为47F)
c.反转电机,即向Modbus寄存器40002中写入一个复制0~-20000
d.停止电机,即向Modbus寄存器40001中写入1143(16进制数为477)
c.故障复位,即向Modbus寄存器40001中写入1270(16进制数为4F6)
3.用Modbus修改给定频率的方法
主机向通讯给定1(Modbus寄存器40002)中写入设定的频率数值(范围=0~+20000(换算到0~1105给定1最大),或-20000~0(换算到1105给定1最大~0));
S7-200程序
注意;启动电机之前请先给VD604赋值!。
实用西门子PLC(Modbus RTU)通讯

PLC主站1、Modbus RTU 主站初始化(MBUS-CTRL 指令)ENEN :使能端,要一直接通;Mode:1=Modbus RTU通信0=PPI通信;Baud :波特率4800 9600 19200 38400 ;Parity:0=无校验、1=奇校验、2=偶校验;Port :通讯端口选择0=本身集成端口、1=扩展信号板端口;Timeout:通讯最大等待回复时间,单位ms ;Done :完成标志位;Error :错误代码。
2、读写指令MBUS-MSGEN:使能端,一直接通;First:读写触发,需配合沿指令使用;Slave:从站地址;RW:0=读、1=写;Addr :读写从站的Modbus首地址;Count:读写数量;DataPtr:数据指针(用于存储将要读取或写入的数据);其他同上。
PLC从站1、Modbus RTU 从站初始化(MBUS-INIT)EN:使能端,使用SM0.1激活;Mode:1=Modbus、0=PPI ;Addr:从站站地址;Baud:波特率;Parity:奇偶校验0=无、1=奇校验、2=偶校验;Port:通讯端口选择0=集成端口、1=扩展端口;Delay:一般填0;MaxIQ:允许主站读写的最大IO点数;MaxAI:允许主站读取的最大AI字数;MaxHold:允许主站读取的最大V区字数;HoldStart:允许主站读取的V区首地址(Modbus地址为40001);其他同上。
2、处理主站通讯请求指令(MBUS-SLAVE)变频器从站1、西门子变频器2、三菱变频器硬件接线。
Modbus协议中文版【完整版】

等待 MB 指示
[接收 MB 指示] 确认操作码 [无效的]
异常码_1
[有效的] 确认数据地址 [无效的]
异常码_2
[有效的] 确认数据值
异常码_3
[无效的] [有效的] 执行 MB 操作 [无效的]
异常码_4_5_6
发 送 Modbus 异常响应
[有效的] 发 送 Modbus 响应
图 8:MODBUS 事务处理的状态图 一旦服务器处理请求,使用合适的 MODBUS 服务器事务建立 MODBUS 响应。 根据处理结果,可以建立两种类型响应: l 一个正 MODBUS 响应: ● 响应功能码 = 请求功能码 l 一个 MODBUS 异常响应(参见第 6.14 节): l 用来为客户机提供处理过程中与被发现的差错相关的信息; l 响应功能码 = 请求功能码 + 0x80; l 提供一个异常码来指示差错原因。 5 功能码分类 有三类 MODBUS 功能码。它们是: 公共功能码 l 是较好地被定义的功能码, l 保证是唯一的, l MODBUS 组织可改变的, l 公开证明的, l 具有可用的一致性测试, l MB IETF RFC 中证明的,
127 110 100
公共功能码
用户定义功能码 公共功能码
72 65
用户定义功能码 公共功能码
1
图 9:MODBUS 功能码分类
9
GB/T ××××—××××
MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU) 。特定总线或网络上 的 MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。
3
GB/T ××××—××××
ADU 地址域 功能码 PDU
图 3:通用 MODBUS 帧 启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。 功能码向服务器指示将执行哪 种操作。 MODBUS 协议建立了客户机启动的请求格式。 用一个字节编码 MODBUS 数据单元的功能码域。有效的码字范围是十进制 1-255(128-255 为 异常响应保留) 。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。 向一些功能码加入子功能码来定义多项操作。 从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义 的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。 在某种请求中,数据域可以是不存在的(0 长度) ,在此情况下服务器不需要任何附加信息。功 能码仅说明操作。 如果在一个正确接收的 MODBUS ADU 中,不出现与请求 MODBUS 功能有关的差错,那么服 务器至客户机的响应数据域包括请求数据。如果出现与请求 MODBUS 功能有关的差错,那么域包 括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。 例如, 客户机能够读一组离散量输出或输入的开/关状态, 或者客户机能够读/写一组寄存器的数 据内容。 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称 为异常响应) 。对于一个正常响应来说,服务器仅对原始功能码响应。
S7-200与ACS510变频器MODBUS通信完整版(包含程序)

ABB变频器通讯
MODBUS通讯
1. ACS510变频器参数设置:
9802=1 MODBUS
5302=1 站号 5303=9.6kbit/s 波特率 5304=1 校验方式为8N2
5305=0 1001=10 由MODBUS控制变频器启停1003=为双向
1102=0 由MODBUS控制变频器给定速度(0-20000对应0-50Hz)
1103=8 2007= -50HZ
2.控制变频器启停
a.初始化,即向Modbus寄存器40001中写入1142(16进制数为0476)并延时100毫秒;b.启动电机,即向Modbus寄存器40001中写入1151(16进制数为047F)
c.反转电机,即向Modbus寄存器40002中写入一个负值-20000~0
d.停止电机,即向Modbus寄存器40001中写入1143(16进制数为0477)
c.故障复位,即向Modbus寄存器40001中写入1270(16进制数为04F6)
3.用Modbus修改给定频率的方法
主机向通讯给定1(Modbus寄存器40002)中写入设定的频率数值(范围=0~+20000(换算到0~1105给定1最大),或-20000~0(换算到1105给定1最大~0));
S7-200 程序
注意;启动电机之前请先给VD604赋值!。
modbus连接

利用modbus通讯第一:modbus通讯简介STEP 7-Micro/WIN指令库包含为Modbus通讯专门设计预先配置的子程序和中断例行程序,使与Modbus主设备和从站的通讯更加简便。
Modbus从站协议指令可以配置S7-200,将其用作Modbus RTU从站,与Modbus 主设备通讯。
Modbus主设备协议指令可以配置S7-200,将其用作Modbus RTU主设备,与一个或多个Modbus从站通讯。
Modbus指令安装在STEP 7朚icro/WIN指令树的"协议库"文件夹中。
有了这些新指令,您可以将S7-200用作Modbus设备。
当您在程序中加入Modbus 指令时,会在项目中自动增加一个或多个相关子程序。
Modbus主设备协议库有两个版本。
一个版本使用CPU的端口0,另一个则使用CPU的端口1。
端口1协议库的POU名中带有"_P1"(MBUS_CTRL_P1),表示POU使用CPU上的端口1。
在其它方面,这两个Modbus主设备协议库完全一致。
注意:Modbus从站协议库仅支持端口0通讯。
使用Modbus主设备协议的要求:初始化Modbus主设备协议可以为Modbus主设备协议通讯指定专用CPU端口。
当CPU端口被用于Modbus主设备协议通讯时,就无法用于任何其它用途,包括与STEP 7-Micro/WIN通讯。
MBUS_CTRL指令控制将端口0分配给Modbus 协议或PPI。
MBUS_CTRL_P1指令(来自端口1协议库)控制将端口1分配给Modbus主设备协议或PPI。
Modbus主设备协议指令影响与CPU通讯端口中自由端口通讯相关的所有SM位置。
Modbus主设备协议指令使用3个子程序和1个中断例程。
Modbus主设备协议指令要求两个Modbus主设备指令和支持例程有1620个字节的程序空间。
Modbus主设备协议指令的变量要求284个字节的V存储器程序块。
MODBUS协议中文版

式的主当要控优制点器是以允A许SC字II符模之式间在的M时od间bu间s 隔总长线达上进IS行,通也讯不时会,出一现个错信误息。中的每 8 位字节作为 2 个 ASCII 字符传输的,这种模
ASCII 码每一个字节的格式:
错误编数校码验据系区统位:::(纵1奇17L6起位向R/进偶始C数冗制校)位据余,验1,校位A时低验S带C1位校I位I先验字;送符无1 停奇0-止9偶,A位校-F;验无时校0验位2 止位 1 个 16 进制
设备地址 功能代码 8位 数据字节
错误校验
从机响应信息
错则码查响误修询应03校改::查从将验功机询查区能正中询的码常的从一,响功机指些应能,明信时代并为息,码读错响,为保误为应被持响功从寻寄应能机址存。码提的器并是供从。图在查一并机数询种用设2:据功校寄备主字能验存应从节码方器执查中的法的行询含应,内的响有答以容动应一,保作作周个数证响类期代据信应型码字息。。该,节内数数来包容据据说含的字区明从完节必错机整中须误采性包含,集。含有错的从误告数机检之据须查从,执区机如行读允寄功许取存能寄主器的机存值各确器或附认的状加态有起信始。效息如地的,出址信如现及息功错数内能误量容代,,。
在其它总线上传输数据
在 M除AP标网准络的上M通o讯db。us 功能外,有些 Modcon 控制器内置端口或总线适配器,在 Modbus+总线上实现通讯或使用网络适配器, 制器既在可这作些为总从线机上,,也控可制作器为间主采机用,对常等提的供技多术重进的行内通部讯通,道即,任允意许一并个列控处制理器主可机向和其从它机控传制输器数启据动数据传送。因此,一台控
AT9/H84CA-9/B84
和
HOSS9T85/MMHI
编程器
4设个备或M网od络us
acs510变频器modbus参数设置及通信调试(1)
ACS510变频器Modbus参数设置及通信调试(来自网络,感谢作者的奉献)用Commix12调试acs510通讯变频器参数设置:9802=1 MODBUS5302=1 站号5303=s 波特率5304=1 校验方式为8N2 5305为01001=10 由MODBUS控制变频器启停1102=0 由MODBUS控制变频器给定速度(0-20000对应0-50Hz)1103=8 …2.控制变频器起停. a.初始化,即向Modbus寄存器40001中写入1142(16进制数为476)并延时100毫秒;b.停止电机,即向Modbus寄存器40001中写入1143(16进制数为477);c.启动电机,即向AModbus寄存器40001中写入1151(16进制数为47F)例:通讯初始化:发出【02 06 00 00 04 76 CRC校验码】,延时100毫秒;2 b9 L5 h E) 启动电机:发出【02 06 00 00 04 7F CRC校验码】停止电机:发出【02 06 00 00 04 77 CRC校验码】3.用Modbus修改给定频率的方法0 ~:主机向通讯给定1(Modbus寄存器40002)中写入设定的频率数值(范围=0~+20000(换算到0~1105给定1最大),或-20000~0(换算到1105给定1最大~0));例如:若1105=;发出【01 06 00 01 27 10 CRC校验码】表示修改频率为。
4.用Modbus修改加速时间的方法向Modbus寄存器42202中写入设定的加速时间数值由参数的分辨率和范围决定;例:发出【01 06 08 99 02 58 CRC校验码】表示修改加速时间为。
附:功能01:读线圈状态:发送:01 01 00 20 00 03(站号功能开始个数)响应:01 01 01 06(站号功能字节数字节1 字节2 …)功能02:读离散功能输入状态:发送:01 02 00 20 00 03(站号功能开始个数)响应:01 02 01 05(站号功能字节数字节1 字节2 …)功能03:读多个保持寄存器:发送:01 03 00 65 00 03(站号功能开始个数)响应:01 03 06 02 EE 00 FA 00 00(站号功能字节数字节1 字节2 …)功能04:读多个输入寄存器:发送:01 04 00 00 00 02(站号功能开始个数)响应:01 04 04 00 01 01 F1(站号功能字节数字节1 字节2 …)功能06:写单个保持寄存器:发送:01 06 08 99 02 58(站号功能寄存器号数值)响应:01 06 08 99 02 58(站号功能寄存器号数值)功能10:写多个保持寄存器:发送:01 10 08 99 00 02 02 01 f4(站号功能开始个数字节数字节1 字节2 …)响应:01 10 08 99 00 02(站号功能开始个数)以上调试程序对ABB 其它交流变频器都同样适用, 如ACS600, ACS800,ACS143,ACS400,ACS510,ACS550同样适用.,不过对于ACS600,ACS800变频器需要增加MODBUS扩展模块.Modbus总线控制 ACS510系列变频器的方法摘要:文章详细介绍了ACS510系列变频器在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。
S7-200与ABB ACS510变频器通过自由口方式的Modbus通信
S7-200与ABB ACS510变频器通过自由口方式的Modbus通信作者:战飞来源:《科技创业月刊》 2015年第13期战飞(山东科技大学山东青岛266590)摘要:针对如今PLC与变频器的广泛通讯应用,提出使用自由口模式下的MODBUS-RTU通信协议并简述其实现方法关键词:PLC ;变频器;自由口通信;MODBUS-RTU中图分类号:TP273 文献标识码:Adoi:10.3969/j.issn.1665-2272.2015.13.0411PLC背景简介以及PLC选择在PLC的变频控制集成系统中,变频器的启停以及故障的监控都是PLC的开关量来实现点到点的控制。
变频器频率一般都是PLC的模拟量输出端口来输出4~20mA或0~5(10)V模拟量信号来进行控制,但是这种方式需要PLC配备高昂的模拟量输出模块。
伴随PLC变频控制系统以及通信技术的急速发展,从而可以使用PLC与变频器串行通讯的方式来完成PLC对变频器的远程控制。
这样既可以减少接线,并且可以硬件简单、造价低。
当下工业智能化控制中,使用最多的就是PLC和变频器的组合应用,并且形成了各种各样的PLC控制变频器的模式,在这其中采用RS-485串口通讯控制最广泛。
PLC通过自由口和变频器通信,从而来实现变频器的启停,读取变频器的一些基本信息。
本文章就是通过自由口协议来实现S7-200的自由口编程以及运行。
本文中选用的PLC为西门子S7-200系列的CPU224CN,由于该PLC只有一个串口PORT0,所以在决定使用此串口作为自由口时,PC与PLC的通信使用TCP/IP方式,配置了CP243-1以太网模块。
MODBUS是一种串行异步通讯协议。
数据传输采用半双工方式,一个主工作站可以同时控制一个或多个从工作站。
本文章的ACS510采用RS485作为MODBUS的物理接口。
MODBUS通信协议包括ASCII和RTU,此文章的变频器为ABBACS510,此变频器仅仅支持RTU模式。
威纶通触摸屏和s通过MODBUSRTU协议通讯
威纶通触摸屏和s7-200通过MODBUS RTU协议通讯一般情况下,威纶通触摸屏通过PPI协议与西门子S7-200 CPU直接通讯。
另外,由于西门子PLC也支持MODBUS协议,下面就介绍一下怎么使用Modbus协议建立威纶通触摸屏与S7-200之间的通讯:硬件连接在使用Modbus协议时,计算机与S7-200之间通讯直接使用PPI通讯电缆即可。
选配一触摸屏通讯端口我们这里以MT6070IH2和s7-200进行通讯S7-200的通讯端口是一个9孔(famel)D型插头,针脚分布如下所示:S7-200通讯端口(端口0)与威纶通触摸屏的通讯连接,如下图所示:S7-200编程及设置在缺省情况下S7-200的通讯端口是不支持Modbus协议的,要想实现Modbus通讯必需在PLC的主程序模块中调用Modbus通讯子程序。
Modbus通讯子程序可以从“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令库)”中获得。
在安装了“STEP 7-Micro/WIN附件:指令库”后,在导航树“指令/库”下面我们可以找到“Modbus Protocol”。
在其下面包含了MBUS_INIT和MBUS_SLAVE两个子程序,MBUS_INIT 用于对Modbus通讯进行初始化,MBUS_SLAVE用于在指定端口上提供Modbus从站通讯服务。
下在介绍如何在主程序中调相关子程序及环境参数设置:调用Modbus通讯初始化命令首先为MBUS_INIT命令建立一个触发条件(只触发一次),如:SM0.1;从导航树“指令/库/ Modbus Protocol”下面,将MBUS_INIT指令拖拽到主程序块中。
再就是正确设置MBUS_INIT各项调用参数和执行结果输出地址,我们可以建立一下如下图所示初始化调用过程:Mode:协议类型,1-Modbus协议;0-PPI协议。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SM510新型控制器MODBUS通信协议V1.27
一、概述
SM10新型控制器采用MODBUS协议,所有采用MODBUS RTU协议的主机可以通过RS232接口访问SM510控制器。
二、通讯协议
(一)、通讯参数:
通讯参数设置19200,n,8,1,即波特率为19200bps,8个数据位,1个停止位,无奇偶校验。
(二)、通讯规约:
传送方式MODBUS RTU通讯规约。
(三)、Modbus功能说明:
1.功能03:读保持寄存器
说明:读取一个或多个保持寄存器中的二进制值,所支持的最大保持寄存器数量为100个。
查询:查询信息规定了要读的寄存器起始地址及寄存器的数量,至少查询1个字,即2个字节。
其中低地址为字的高位,高地址为字的低位。
个字节的寄存器的内容
响应:响应信息中的寄存器数据为二进制数据,每个寄存器分别对应2个字节,第一个字节为低地址(高位)数据,第二个字节为高地址(低位)数据。
表2:读寄存器-响应
2.功能10H:预置多个寄存器
说明:把具体的二进制值装入一串连续的保持寄存器。
至少写1个字,即2个字节。
其中低地址为高位数据,高地址为低位数据。
3.功能06:预置单个寄存器
说明把一个值预置到一个保持寄存器中。
查询信息规定了要预置寄存器的类型,至少写1个字,即2个字节。
其中低地址为高位数据,高地址为低位数据。
值。
预置单个寄存器响应寄存器内容被预置后返回正常响应。