您现在所在的是:

变频器论坛

回帖:5个,阅读:999 [上一页] [1] [下一页]
750
guoguo84280
文章数:34
年度积分:50
历史总积分:750
注册时间:2012/2/24
发站内信
发表于:2014/4/11 15:03:10
#0楼
  变频器型号  FC302系列
   通信协议   FC协议  
  一、控制启动停止
   启动发送协议
  控制字格式:开始加速度1   02 0E 01 10 CD 00 00 00 00 00 00 04 7C 20 00 BBC
  反向开始 加速度1         02 0E 01 10 CD 00 00 00 00 00 00 94 7C 20 00 BBC
  停止减速度1             02 0E 01 10 CD 00 00 00 00 00 00 04 3C 00 00 BBC
  自由停车指令              02 0E 01 10 CD 00 00 00 00 00 00 04 74 00 00 BBC

  加速度2开始 02 0E 01 10 CD 00 00 00 00 00 00 06 7C 20 00 BBC
  及速度2反向开始 02 0E 01 10 CD 00 00 00 00 00 00 86 7C 20 00 BBC

  二、读取变频器中的功率、电流和扭矩信号命令
  16-16 1616转化成16进制 650 1650控制信号 1为外读信号 650地址
  扭矩 比例系数为0.1
    02 0E 01 16 50 00 00 00 00 00 00 00 00 00 00 BBC
  16-10 1610转化成16进制 64A 164A控制信号 1为外读信号 64A地址
  功率 比例系数为0.01
  16-14 1614转化成16进制 64E 164E控制信号 1为外读信号 650地址
  电流 比例系数为0.01


  三、往里变频器里写命令,写入加速时间
  02 0E 01 E1 55 00 00 00 00 46 50 00 00 00 00 BBC
   1 55=  3-41加速度一的上升时间
    180X100  转化成16进制  46 50  分别对应着十进制是70  80

   四、写入时间的VB代码,与童鞋们分享
Dim freq As Single
FreqMax = 50
If Form1.MSComm1.PortOpen = False Then
    Form1.MSComm1.PortOpen = True
End If
           '设定"9600,N,8,1", .InputLen=0, .InputMode=1 并打开端口,设定 InputMode 读取二进制数据
           'CommPort = 3
           
           OutputArr(0) = &H2 '起始字节STX=02
           OutputArr(1) = &HE '电码长度
           OutputArr(2) = &H1 '变频器地址=1
           OutputArr(3) = &HE1 'PKE 高字节
           OutputArr(4) = &H55 'PKE 低字节
           OutputArr(5) = &H0
           OutputArr(6) = &H0
           OutputArr(7) = &H0
           OutputArr(8) = &H0
           OutputArr(9) = JssyL_js_Tim0H
           OutputArr(10) = JssyL_js_Tim0L
           OutputArr(11) = &H0    '控制字高字节
           OutputArr(12) = &H0   '控制字低字节
           OutputArr(13) = &H0  '频率高字节
           OutputArr(14) = &H0 '频率低字节
           
           Call FinalBCC(14)        'BCC校验
           OutputBuffer = OutputArr
           Form1.MSComm1.Output = OutputBuffer      '发送缓冲区中的二进制数据
           For JJJ = 0 To 1000: Next JJJ
           CommStartTime = Timer
           Do While Form1.MSComm1.InBufferCount < 15  '等待直到输入缓冲区有 16个字节
               If (Timer - CommStartTime) > 2 Then
                   Temp = MsgBox("与变频器通讯超时错误,通讯端口只能选COM2," & Chr(13) & Chr(10) & "请检查电源及通讯端口连线!", , "通讯错误")
                  Exit Sub
               End If
           Loop
           InputBuffer = Form1.MSComm1.Input   '往缓冲区存二进制数据
           InputArr = InputBuffer        '赋值于字节数组以便处理
'            DL_Data = Format((InputArr(9) * 256 + InputArr(10)) * 0.01, "#0.00")
           CommInputCheck = &H0
           For i = 0 To 14
               CommInputCheck = CommInputCheck Xor InputArr(i)
           Next i
           If InputArr(15) <> CommInputCheck Then
               MsgBox ("计算机读变频器数据出错!")
           End If
           If Form1.MSComm1.PortOpen = True Then
           Form1.MSComm1.PortOpen = False
           End If
'            MsgBox "已经将转速变为500转!"
  
28790
凤凰息梧桐
文章数:17217
年度积分:681
历史总积分:28790
注册时间:2013/9/25
发站内信
2013辞旧迎新
发表于:2014/4/11 16:52:13
#1楼
谢谢楼主学习了
27588
yanwen0227
文章数:15494
年度积分:72
历史总积分:27588
注册时间:2010/4/22
发站内信
2017国庆活动(三)
晒晒工控小礼品
发表于:2014/4/11 16:53:40
#2楼
难得啊。楼主辛苦了!
22920
weixiu123
文章数:13317
年度积分:628
历史总积分:22920
注册时间:2014/1/18
发站内信
发表于:2014/4/12 12:23:24
#3楼
谢谢楼主
750
guoguo84280
文章数:34
年度积分:50
历史总积分:750
注册时间:2012/2/24
发站内信
发表于:2014/4/15 13:33:53
#4楼
回复 #3楼 weixiu123
共同学习!
750
guoguo84280
文章数:34
年度积分:50
历史总积分:750
注册时间:2012/2/24
发站内信
发表于:2014/4/15 13:34:11
#5楼
回复 #2楼 yanwen0227
共同学习!!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004