SM510-MODBUS通讯协议V1.27
- 格式:doc
- 大小:127.50 KB
- 文档页数:4
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主站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、三菱变频器硬件接线。
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通讯简介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存储器程序块。
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通讯很简单!——⼿把⼿教你主要内容: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通信作者:战飞来源:《科技创业月刊》 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模式。
威纶通触摸屏和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协议。
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个字节。
其中低地址为高位数据,高地址为低位数据。
值。
预置单个寄存器响应寄存器内容被预置后返回正常响应。