台达变频器MODBUS通讯
- 格式:pdf
- 大小:820.95 KB
- 文档页数:7
涨知识S7-1200与台达MS300变频器MODBUS—TCP通讯今天为大家讲述一下S7-1200的MODBUS-TCP的通讯,PLC通过发送指令来控制台达MS300变频器起、停和频率输出,下面就乘上图文讲解。
一:指令块主要参数讲解图一:写起、停1.REQ:上升沿触发激活该指令2.DISCONNECT:给定1表示和第三方设备建立连接3.MB_MODE:给定1表示写操作(向第三方设备写入命令码或数据);给定0表示读操作4.MB_DATA_ADDR:要写入如的数据的地址(这里是写入起、停码,2000H转化为十进制数再加上40001就是48193)5.MB_DATA_LEN:要写入的数据的长度,单位为字6.MB_DATA_PTR:要写入的数据在1200PLC新建的DB块中的位置7.CONNECT:1200PLC与第三方设备建立的连接参数(具体参数见图三)图二:写频率图二和图一都是写操作,不同是图二写频率的地址48194,下面图文讲解一下CONNECT连接参数。
图三(连接参数)二:编程注意点:1.控制多个变频器的时候可以对每个变频器写一个轮训的读写程序,多个轮训可以同事进行,这是与MODBUS—RTU等等通讯的不同点2.对同一个变频器操作的时候,每调用一次MB_CLIENT指令的时候可以在DB块里重新建立一个连接,连接参数里IP地址相同,ID号不同3.轮训的时候最好用上一个指令的DONE和ERROR来触发下一个指令4.DB块里的连接参数的变量类型(TCON_IP_V4)必须手动输入,自带的可选变量类型中没有该类型三:MS300变频器参数设置图四(指令和频率来源)四:MS300变频器设置注意点1.变频器IP地址通过DCISOFT软件设置,具体地址和程序里的连接参数中的IP地址相同2.09-00:该参数设置成和该变频器IP地址的最后一段相同3.09-91:该参数在所有参数设置完成后设置为2,重新查看如果自动变为0说明通讯卡正常可用,如果不自动变为0依旧是2,说明通讯卡有问题(可能依旧能通讯,但是速度很慢)4.电机的相关参数要设置到变频器中5.如果通讯卡和变频器连接正常,则09-60自动识别为4,如果不能识别为4,则通讯不正常来源:本文转自自动化便利店。
余雪明2018-2-3记录:
Smart200和台达C2000系列变频器MOdbus通讯
1、要求:变频器从端子启动,频率也有外部电位器给定,只读输出频率,输出
电流,输出转速。
2、变频器参数设定
参数码参数名称设定范围【设定值】
00-20 频率指令来源设定(AUTO) 2:由外部類比輸入(參考參數03-00)
00-21 运转指令来源设定(AUTO) 1:運轉指令由外部端子控制
09-00 通讯地址3:考虑和计算机和PLC冲突,建议设为3
09-01 通讯卡速率9.6Kbps
09-04 通讯资料格式14: 8,E,1 RTU
09-30 通讯译码方式记住设为0:使用译码方式1
3、程序编写
3、过程数据对应
从变频器2100H开始读,连续读32个字节,把数据读PLC的VW1000里面,
4,读对应
输出频率(变频器)2103H= VW1006(PLC)
输出电流(变频器)2104H= VW1008(PLC)
马达实际转速(变频器)210CH= VW1024(PLC)
5,通讯电缆连接。
1、台达变频器参数设置功能码 名称设定值详解对应变频器远程控制器的参数值修改条件P00 频率给定模式远程控制变频器时,该值务必为3详解见台达用户手册P35页- XP01=0~2 C005 = 0P01 运转指令控制模式选择0:来源于变频器的操作面板;1:外部控制端子,键盘STOP有效;2:外部控制端子,键盘STOP无效;3:通讯控制,键盘STOP有效;4:通讯控制,键盘STOP无效;远程控制变频器时,该值务必为3或4详解见台达用户手册P35页设置范围:3~4P01=3~4 C005 = 1~3XP88 通讯的本机地址设置范围:1~254P88务必与变频器远程控制器的参数C043/C053值一致。
XP89=0 C045/C055=0P89=1 C045/C055=1P89=2 C045/C055=2P89 串口通讯波特率0:48001:96002:192003:38400设置范围:00~03P89=3 C045/C055=3XP92=0 C044/C054=1,C046/C056=0P92=1 C044/C054=1,C046/C056=1P92=2 C044/C054=1,C046/C056=2P92=3 C044/C054=0,C046/C056=0P92=4 C044/C054=0,C046/C056=1P92 通讯的数据格式0:ASCII格式N-7-21:ASCII格式E-7-12:ASCII格式O-7-13:RTU格式N-8-24:RTU格式E-8-15:RTU格式O-8-1设置范围:00~05 P92=5 C044/C054=0,C046/C056=2X功能码 名称 设定值详解对应变频器远程控制器的参数值修改条件F111 设定频率上限建议最大输出频率的值设为和远程控制器的C023参数的值相同。
默认为50Hz设置范围:0~400HzF111 = C023F004=0~1 C005 = 0F200 启动给定方式选择0:来源于变频器的操作面板;1:外部控制端子;远程控制变频器时,该值可为二者中的一个设置范围:0~1 F004=2 C005 = 1~3XF204 主频率来源远程控制变频器时,该值务必为:5由上位机给定F204务必为5 XF900 本机地址 设置范围:1~247 F900务必与变频器远程控制器的参数C043/C053值一致。
台达精巧简易型矢量控制变频器ME300 系列创变智造新未来面对竞争加剧、成本上升的挑战,当今的自动化产业除了需要提升产能、减少人力成本,高效生产也是自动化的一大目标。
台达新一代的精巧简易型矢量控制变频ME300系列,体积缩小了60%,但仍承袭了台达变频器的出色性能。
内置多种关键功能,包括:使用者自定义编码群组、单泵与多泵控制、内置煞车晶体及EMC 滤波器(C2级)。
可减少额外开销,并节省电控箱的安装空间。
ME300系列也支持感应电机与永磁电机,提供更大的使用弹性与效益。
STO 安全停止机能,保障运行顺畅及操作安全。
全新的免螺丝配线控制端子,可轻松简易地完成接线安装。
操作友善、尺寸精巧、安装便利、设计坚固,ME300系列提供高效稳定的表现。
台达工业自动化持续以创新的技术、不妥协的质量要求及全球品保服务,积极与客户「创变新未来」。
精巧高效能新一代小型变频器的标竿070911060503机种介绍产品外观介绍精巧设计及友善的使用界面无缝隙并排安装在环境温度-20˚C 至40˚C *下,支持无缝隙并排安装, 提升配置弹性及效率*与台达VFD-EL 系列同功率机种相比, 体积最高缩小60%*独立安装为50˚C 不降载,最高可运转于60˚C 环境标准机种高速机种 (IP20)出色的驱动特性支持感应电机与永磁电机内置2组独立感应电机参数制动能力提升可设定减速能量控制模式,通过调节电机转速与 电流,缩短减速时间,减少刹车电阻的配置成本高启动转矩在3Hz 的低转速下,可产生200%的高启动转矩 适应各种变动负载,提供机台极佳的稳定度瞬时停电再启动 / DEB 减速能源再生系统瞬间断电时,利用减速时的再生能量控制电机至完全停止;并在电源恢复时,追速启动感应电机IPM 电机SPM电机只需7.8秒!减速时间长达21秒时间电机市电电压电机速度市电电压电机速度支持高速应用提供高速机种,赋予机台高速运转能力,提高应用弹性强大的系统支持多泵控制•交替运转:多泵定时交替运转,利于水泵维持保养并延长设备寿命;时间周期可依小时、天或星期设定• 恒压模式:保持输出水压恒定,根据需求即时调整水泵运转数量,提供良好供水质量,兼具节能效益高过载能力一般负载 (Normal Duty) 下,过载能力为额定输出 电流的120% 60 秒、150% 3 秒重载 (Heavy Duty) 下,过载能力为额定输出电流的150% 60 秒、200% 3 秒内置Modbus 通讯界面内置RS-485 (Modbus)通讯界面共同直流母线提供DC ±端子进行共直流母线配置,于变频器减速时分担回生能量,提高制动能力,达到节能目的并节省电阻所需额外空间与成本高频脉冲输入支持脉冲及PWM 信号输入 (10kHz),可直接接收控制器脉冲信号,作为运转速度来源控制器脉冲信号内置刹车晶体配合额外的刹车电阻可提供更大的刹车转矩能力变频器状态运作待命泵用功能• 休眠机制、漏水检测:当系统恒压时,变频器可进入/ 保持休眠状态,避免频繁启动停止(需通过适当参数设定)•无水检测:在停止供水或水源被切断时,变频器将减速停机,避免干泵 (dry-run)运转造成泵浦损坏稳定、安全、可靠电路板涂层强化100% 电路板涂层,符合 IEC 60721-3-3 class 3C2,强化对抗潮湿、腐蚀性和粉尘环境的耐 受性抗潮湿抗腐蚀抗粉尘NEMA 1防护模块(选购)可选配NEMA 1防护模块,避免粉尘粒子掉落至变频器内部,并防止触电风险,适用于较恶劣 环境内置Class A (C2)* EMC 滤波器,节省配盘空间,并可减少配线时间及成本* 400V 型号为Class A (C3)STO (Safe Torque Off)安全停止机能符合国际标准:传统方式STO接触器1控制器控制器ME300接触器2变频器紧急停止 按钮紧急停止 按钮dBuV 0.0501000.1500.5530.000MHz 内置EMC 滤波器无EMC 滤波器► ISO 13849-1:2015 Category 3 PL d ► EN 61508 SIL2► EN 60204-1 Category 0 ► EN 62061 SIL CL 2行业参数组合 (Macro)• 依据用途选择应用参数群组,简化操作流程• 可建立不同客户或设备使用的参数群组• 重置设备时可保留用户设定参数值免螺丝配线控制端子安装使用容易• 精巧外型节省机柜空间• STO 安全停止机能,加强系统安全性• 内置刹车晶体节省建置成本• 内置RS-485 (Modbus)通讯• 支持脉冲与PWM 格式等高速脉冲输入,给定频率命令, 提升控制精确度• 可选配NEMA1防护模块,提升粉尘、棉絮、潮湿环境的耐受度 • 改善散热片设计,棉絮不易堵塞风道,风扇模块化设计易清理并延长使用寿命• 提升刹车能力,大幅缩短减速时间满足急停需求• 瞬时掉电对策,可在电源异常时安全的将电机减速至停止,避免设备损坏• STO 安全停止机能,加强系统安全性• 支持感应电机与永磁电机 (IPM/SPM)产品规格规格说明产品规格功能及周边配件[注1] 控制精度会根据环境、应用条件或电机种类而有所不同,详情请与本公司或代理商洽询。
台达变频器与PLC通讯功能的实现方法一、引言在自动化控制系统中,变频器作为一个重要的控制设备,常常与PLC (可编程逻辑控制器)进行通讯。
变频器与PLC的通讯功能的实现,可以实现在PLC控制下对变频器进行远程控制,从而实现对电机的速度、转向等参数的控制,提高整个系统的稳定性和灵活性。
二、PLC与变频器通讯的基本原理1.串行通讯原理:PLC与变频器之间的通讯一般采用串行通讯方式,即通过串行通信口发送和接收数据。
PLC通过串行通信口将控制命令和参数发送给变频器,变频器接收到数据后进行相应的操作,并将反馈的数据发送给PLC,PLC 再根据反馈数据进行相应的处理。
2.通讯协议选择:通讯协议是PLC与变频器之间通讯的规则,不同的厂家和型号的变频器通常采用不同的通讯协议。
在选择通讯协议时,需要考虑PLC和变频器的兼容性,以及通讯速度、稳定性等因素。
常用的通讯协议有Modbus、Profibus、CANopen等。
三、台达变频器与PLC通讯实现方法1.Modbus通讯协议实现方法:Modbus是一种常用的通讯协议,因为其简单、可靠而被广泛应用于自动化领域。
实现变频器与PLC的通讯,可以选择Modbus RTU或Modbus TCP通讯方式。
(1)Modbus RTU通讯方式在Modbus RTU通讯方式下,PLC通过RS485接口与变频器连接。
PLC发送Modbus RTU格式的命令帧,包括从站地址、功能码、寄存器地址等信息,变频器接收到命令后进行相应的操作,并将结果通过RS485接口发送给PLC。
(2)Modbus TCP通讯方式在Modbus TCP通讯方式下,PLC与变频器之间通过以太网连接。
PLC通过以太网发送Modbus TCP格式的命令帧,包括从站地址、功能码、寄存器地址等信息,在以太网中传输。
变频器接收到命令后进行相应的操作,并将结果通过以太网发送给PLC。
2.Profibus通讯协议实现方法:Profibus是一种采用国际标准的工业现场总线,具有高速、可靠等特点。
Schneider-施耐德LEC使用技巧文集[第4讲]——Twido和台达VFD_B变频器Modbus通讯的实现
在工业控制领域里,有很多第三方的设备都支持Modbus协议,台达VFD_B系列变频器就提供了对标准Modbus的读多个字和写多个字命令的支持。
以下对Twido PLC和VFD_B间的通讯进行说明。
VFD_B系列提供的485通讯口采用方式,其通讯接脚定义为:
Pin3:SG-,Pin4:SG+。
对应Twido的B和A脚(如果是使用端子接线方式的扩展通讯口时)。
为使VFD_B通过通讯控制起停和给定频率,需设定变频参数如下:
02-00 第一频率指令来源设定 设定值:05(表示主频率由RS-485 通讯给定,不记忆频率。
)
02-01 第一运转指令来源设定 设定值:03(表示运转指令由RS-485 通讯给定) 09-00 通讯地址 设定值:01(设定范围 01~254)
09-01 通讯传送速度 设定值:03(Bard rate 38400)
09-04 通讯资料格式 设定值:05(8,O,1 for RTU)
相应Twido PLC设置通讯口如下:
通过Twido的通讯指令EXCH2来进行通讯的发送和接收,例程如下:
附:VFD-B的通讯参数地址。
ORGANIZATION_BLOCK 主程序:OB1TITLE=实现S7-200 PLC与台达变频器通信// 实现功能是PLC通过RS485通信控制变频器的正转启动、反转启动、停止、加速、减速和读取输出频率。
变频器通过Modbus通信方式进行// 要求台达变频器设置基本通信参数:// P00=d03(主频率由RS485控制)// P01=d03(运转/停止由RS485通信控制)// P88=d01(站点定义为1号站)// P90=d00 P91=d00 P92=d02 P113=d01// (其他参数都是出厂默认值,可根据实际情况调节)//BEGINNetwork 1LD SM0.1CALL SBR0Network 2 // 正转启动命令LD M10.0EUMOVB 16#30, VB104MOVB 16#36, VB105MOVB 16#32, VB106MOVB 16#30, VB107MOVB 16#30, VB108MOVB 16#30, VB109MOVB 16#30, VB110MOVB 16#30, VB111MOVB 16#31, VB112MOVB 16#32, VB113CALL SBR1Network 3 // 反转启动指令LD M10.1EUMOVB 16#30, VB104MOVB 16#36, VB105MOVB 16#32, VB106MOVB 16#30, VB107MOVB 16#30, VB108MOVB 16#30, VB109MOVB 16#30, VB110MOVB 16#30, VB111MOVB 16#32, VB112MOVB 16#32, VB113CALL SBR1Network 4 // 停止指令LD M10.2EUMOVB 16#30, VB104MOVB 16#36, VB105MOVB 16#32, VB106MOVB 16#30, VB107MOVB 16#30, VB108MOVB 16#30, VB109MOVB 16#30, VB110MOVB 16#30, VB111MOVB 16#30, VB112MOVB 16#31, VB113CALL SBR1Network 5 // 1秒脉冲LDN T37TON T37, 10Network 6 // 加速指令(每1秒步进加速0.01Hz)LD M10.3A T37INCW VW135Network 7 // 减速指令(每1秒步进减速0.01Hz)LD M10.4A T37DECW VW135Network 8 // 上限频率50.00HzLDW>= VW135, 5000MOVW 5000, VW135Network 9 // 下限频率0.1HzLDW<= VW135, 10MOVW 10, VW135Network 10 // 凡有频率改变,调用子程序3LDW<> VW135, VW145O SM0.1CALL SBR3Network 11 // 读取输出频率指令LD M10.5EUMOVB 16#30, VB104MOVB 16#33, VB105MOVB 16#32, VB106MOVB 16#31, VB107MOVB 16#30, VB108MOVB 16#33, VB109MOVB 16#30, VB110MOVB 16#30, VB111MOVB 16#30, VB112MOVB 16#31, VB113S M20.0, 1CALL SBR1Network 12 // 当读取频率时,执行频率显示运算子程序LD SM4.5A M20.1CALL SBR2Network 13 // SMB86=0表示正在接收,但本例是利用中断来接收LDB<> SMB86, 0MOVB SMB86, VB400Network 14 // 发送完成标志LD SM4.5= Q0.0END_ORGANIZATION_BLOCKSUBROUTINE_BLOCK SBR_0:SBR0TITLE=通信初始化参数子程序BEGINNetwork 1 // 初始化通信参数及定义开始符、终止符等接收信息LD SM0.0MOVB 16#69, SMB30MOVB 16#E0, SMB88MOVB 16#3A, SMB89MOVB 18, SMB94Network 2 // 初始化固定参数LD SM0.0MOVB 16#3A, VB101MOVB 16#30, VB102MOVB 16#31, VB103MOVB 16#0D, VB116MOVB 16#0A, VB117Network 3 // 声明使用发送完成中断LD SM0.0ATCH INT0, 9ENIEND_SUBROUTINE_BLOCKSUBROUTINE_BLOCK SBR_1:SBR1TITLE=计算校验及子程序BEGINNetwork 1 // 建立指针及参数清零等初始化LD SM0.0MOVD &VB101, VD131MOVW 0, VW129MOVW 6, VW127MOVW 0, AC0MOVW 0, AC1MOVW 0, AC2MOVW 0, AC3Network 2 // 循环计算原始累加和LD SM0.0FOR VW125, 1, VW127 Network 3LD SM0.0LPSMOVW *VD131, AC0ANDW 16#FF, AC0AB> AC0, 16#39MOVW AC0, AC1-I 16#37, AC1LRDAB<= AC0, 16#39MOVW AC0, AC1-I 16#30, AC1LRDINCD VD131LRDMOVW *VD131, AC0ANDW 16#FF, AC0LRDAB> AC0, 16#39MOVW AC0, AC2-I 16#37, AC2LRDAB<= AC0, 16#30MOVW AC0, AC2-I 16#30, AC2LRDSLB AC1, 4LRDMOVW AC1, AC3+I AC2, AC3LRD+I AC3, VW129LPP+D 1, VD131Network 4NEXTNetwork 5 // 指针加一,指向下一个LD SM0.0MOVW 0, AC2MOVW 0, AC3+D 1, VD131Network 6LD SM0.0LPSMOVW 16#FF, AC0ANDW VW129, AC0INVW AC0MOVW 1, VW800+I AC0, VW800MOVB VB801, AC2SRB AC2, 4AW> AC2, 9+I 16#37, AC2LRDMOVB AC2, *VD131LRD+D 1, VD131LRDMOVB VB801, AC3ANDB 16#0F, AC3LRDAW> AC3, 9+I 16#37, AC3LRDAW<= AC3, 9+I 16#30, AC3LPPMOVB AC3, *VD131Network 7 // 发送前,强行禁止接收LD SM0.0MOVB 16#70, SMB87RCV VB200, 0Network 8 // 开始发送LD SM0.0MOVB 17, VB100XMT VB100, 0FILL 0, VW200, 9Network 9 // 发送后允许接收LD SM0.0MOVB 16#F0, SMB87END_SUBROUTINE_BLOCKSUBROUTINE_BLOCK SBR_2:SBR2TITLE=频率显示运算子程序VARLIN1:DWORD;lLIN2:DWORD;LIN3:DWORD;LIN4:DWORD;END_VARBEGINNetwork 1 // 把接收到的16进制ASCII码信息,转换成习惯的小数点形式LD SM0.0BTI VB2008, LW0BTI VB2009, LW2BTI VB2010, LW4BTI VB2011, LW6Network 2LD SM0.0LPSAW> LW0, 16#40MOVW LW0, AC0-I 16#37, AC0LPPAW< LW0, 16#40MOVW LW0, AC0-I 16#30, AC0Network 3LD SM0.0LPSAW> LW2, 16#40MOVW LW2, AC1-I 16#37, AC1LPPAW< LW2, 16#40MOVW LW2, AC1-I 16#30, AC1Network 4LD SM0.0LPSAW> LW4, 16#40MOVW LW4, AC2-I 16#37, AC2LPPAW< LW4, 16#40MOVW LW4, AC2-I 16#30, AC2Network 5LD SM0.0LPSAW> LW6, 16#40MOVW LW6, AC3-I 16#37, AC3LPPAW< LW6, 16#40MOVW LW6, AC3-I 16#30, AC3Network 6LD SM0.0MOVB AC0, LB8SLB LB8, 4MOVB AC2, LB9SLB LB9, 4Network 7LD SM0.0MOVB LB8, VB3200ORB AC1, VB3200Network 8LD SM0.0MOVB LB9, VB3201ORB AC3, VB3201Network 9LD SM0.0ITD VW3200, VD3300DTR VD3300, VD3304MOVR VD3304, VD3308/R 100.0, VD3308Network 10LD SM0.0R M20.1, 1END_SUBROUTINE_BLOCK SUBROUTINE_BLOCK SBR_3:SBR3 TITLE=输出频率通信格式整理子程序BEGINNetwork 1 // 凡是有输出频率,频率改变LD SM0.0MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#31, VB109 MOVW VW135, VW137 MOVW 0, AC0MOVW 0, AC1MOVW 0, AC2MOVW 0, AC3 Network 2LD SM0.0LPSMOVB VB137, AC0 ANDB 16#0F, AC0 AW> AC0, 9+I 16#37, AC0LRDAW<= AC0, 9+I 16#30, AC0LRDITB AC0, VB111LRDMOVB VB138, AC1 ANDB 16#0F, AC1 LRDAW> AC1, 9+I 16#37, AC1LRDAW<= AC1, 9+I 16#30, AC1LPPITB AC1, VB113 Network 3LD SM0.0LPSMOVW VW137, VW139 SRW VW139, 4 MOVB VB139, AC2 ANDB 16#0F, AC2 AW> AC2, 9+I 16#37, AC2LRDAW<= AC2, 9+I 16#30, AC2LRDITB AC2, VB110LRDMOVB VB140, AC3ANDB 16#0F, AC3LRDAW> AC3, 9+I 16#37, AC3LRDAW<= AC3, 9+I 16#30, AC3LRDITB AC3, VB112LRDMOVW VW135, VW145LPPCALL SBR1END_SUBROUTINE_BLOCK INTERRUPT_BLOCK INT_0:INT0TITLE=发送完成中断程序BEGINNetwork 1 // 除读取频率其他指令返回信息LD M20.0RCV VB200, 0Network 2 // 读取频率返回信息LD M20.0RCV VB2000, 0S M20.1, 1R M20.0, 1END_INTERRUPT_BLOCK。