当前位置:文档之家› 台达VFD通讯示例

台达VFD通讯示例

台达VFD-B变频器串口通信中,频率设定,还有正转、反转、停止字符串是怎样写?范例1:设定VFD-B系列变频器的频率为30.00Hz,通讯格式为9600,8,N,2,RTU01 06 2001 0BB8 D488范例2:设定VFD-B系列变频器正转,通讯格式为9600,8,N,2,RTU01 06 2000 0022 0213范例3:设定VFD-B系列变频器停止,通讯格式为9600,8,N,2,RTU01 06 2000 0001 43CA西门子与台达变频器通讯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, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#31, VB112 MOVB 16#32, VB113 CALL SBR1Network 3 // 反转启动指令LD M10.1EUMOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#32, VB112 MOVB 16#32, VB113 CALL 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 // 凡有频率改变,调用子程序3 LDW<> 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, VW127Network 3LD SM0.0LPSMOVW *VD131, AC0 ANDW 16#FF, AC0 AB> AC0, 16#39 MOVW AC0, AC1-I 16#37, AC1 LRDAB<= AC0, 16#39 MOVW AC0, AC1-I 16#30, AC1 LRDINCD VD131LRDMOVW *VD131, AC0 ANDW 16#FF, AC0 LRDAB> AC0, 16#39 MOVW AC0, AC2-I 16#37, AC2 LRDAB<= AC0, 16#30 MOVW AC0, AC2-I 16#30, AC2 LRDSLB AC1, 4LRDMOVW AC1, AC3+I AC2, AC3 LRD+I AC3, VW129 LPP+D 1, VD131 Network 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#40 MOVW LW0, AC0-I 16#37, AC0 LPPAW< LW0, 16#40 MOVW LW0, AC0-I 16#30, AC0 Network 3LD SM0.0LPSAW> LW2, 16#40 MOVW LW2, AC1-I 16#37, AC1 LPPAW< LW2, 16#40 MOVW LW2, AC1-I 16#30, AC1 Network 4LD SM0.0LPSAW> LW4, 16#40 MOVW LW4, AC2-I 16#37, AC2 LPPAW< LW4, 16#40 MOVW LW4, AC2-I 16#30, AC2 Network 5LD SM0.0LPSAW> LW6, 16#40 MOVW LW6, AC3-I 16#37, AC3 LPPAW< LW6, 16#40 MOVW LW6, AC3-I 16#30, AC3 Network 6LD SM0.0MOVB AC0, LB8SLB LB8, 4MOVB AC2, LB9SLB LB9, 4Network 7LD SM0.0MOVB LB8, VB3200 ORB AC1, VB3200 Network 8LD SM0.0MOVB LB9, VB3201 ORB AC3, VB3201 Network 9LD SM0.0ITD VW3200, VD3300 DTR VD3300, VD3304 MOVR VD3304, VD3308 /R 100.0, VD3308 Network 10LD SM0.0R M20.1, 1END_SUBROUTINE_BLOCKSUBROUTINE_BLOCK SBR_3:SBR3TITLE=输出频率通信格式整理子程序BEGINNetwork 1 // 凡是有输出频率,频率改变LD SM0.0MOVB 16#30, VB104MOVB 16#36, VB105MOVB 16#32, VB106MOVB 16#30, VB107MOVB 16#30, VB108MOVB 16#31, VB109MOVW VW135, VW137MOVW 0, AC0MOVW 0, AC1MOVW 0, AC2MOVW 0, AC3Network 2LD SM0.0LPSMOVB VB137, AC0ANDB 16#0F, AC0AW> AC0, 9+I 16#37, AC0LRDAW<= AC0, 9+I 16#30, AC0LRDITB AC0, VB111LRDMOVB VB138, AC1ANDB 16#0F, AC1LRDAW> AC1, 9+I 16#37, AC1 LRDAW<= AC1, 9+I 16#30, AC1 LPPITB AC1, VB113 Network 3LD SM0.0LPSMOVW VW137, VW139 SRW VW139, 4 MOVB VB139, AC2 ANDB 16#0F, AC2 AW> AC2, 9+I 16#37, AC2 LRDAW<= AC2, 9+I 16#30, AC2 LRDITB AC2, VB110 LRDMOVB VB140, AC3 ANDB 16#0F, AC3 LRDAW> AC3, 9+I 16#37, AC3 LRDAW<= AC3, 9+I 16#30, AC3 LRDITB AC3, VB112LRDMOVW VW135, VW145LPPCALL SBR1END_SUBROUTINE_BLOCKINTERRUPT_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。

相关主题