台达vfd-m变频器怎么用串口调试软件控制 点击:13025 | 回复:20



xshflove

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年5月08日
发表于:2011-07-23 00:52:18
楼主
台达vfd-m变频器,怎么用串口调试软件控制。比如说用串口调发送什么代码能控制变频器的正转,发什么代码能控制变频器的反转,硬件是232转485和台达变频器通讯的。



电子板砖

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 118回
  • 年度积分:0
  • 历史总积分:360
  • 注册:2004年1月26日
发表于:2011-07-28 18:34:42
1楼

根据台达M系列变频器的协议,直接发送数据就可以。

xshflove

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年5月08日
发表于:2011-08-02 08:06:13
2楼
引用电子板砖 的回复内容:

根据台达M系列变频器的协议,直接发送数据就可以。

我试过了,没有用,你能给我个代码吗,谢谢,



电子板砖

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 118回
  • 年度积分:0
  • 历史总积分:360
  • 注册:2004年1月26日
发表于:2011-08-17 16:05:14
3楼
/*********************************************************
* 本程序是AT89C52单片机和台达B系列、M系列、L系列、F系列通讯例子。
* 通讯协议ASCII格式,帧格式为“1位起始位、7位数据、奇偶位(或无)、结束位”共10位
* 台达VFD系列变频器一帧的通讯格式:第0位:“:”起始位;第1,2位:站号地址
* 第3,4位:功能号码;第5,6,7,8位:写入的地址;第9,10,11,12位:传输数据;
* 第13,14位:校验码;第15,116位:停止0X0D,0X0A.
* 该程序通过向2000H地址写入0012H数据来启动变频器;向2000H地址写入0012H数据来停止变频器
* 由P1.0来控制MCU发送数据,P2来控制通讯指示灯。*
* 编译环境:KEIL V3.30
* 作者:刘元刚
* 部门:中达电通股份有限公司AMD产品处
* 编写时间:2011
* 修改时间:
* 修改内容:
**********************************************************/
函数ASCII()实现了台达变频器通讯协议转换为ASCII协议格式的功能。
*/
void ASCII(void);
/*
init_serial()函数串行通讯初始化函数
实现了:波特率的设定,定时器的选择,发送模式的选择
*/
void init_serial(void);
//函数ASCII7N2()以数据格式 7,N 2方式发送数据
void ASCII7N2(void);
//函数ASCII7O1()以数据格式 7,O 1方式发送数据
void ASCII7O1(void);
//函数ASCII7E1()以数据格式 7,E 1方式发送数据
void ASCII7E1(void);

main()
{
init_serial();
/***********VFD系列变频器通讯资料初始化*****/
number=0x01;
function=0x06;
address_h=0x20;
address_l=0x00;
data_h=0X00;
data_l=0x12;
/******************************************/
while(1)
{
if(P1!=0XFF)
{
for(temp=0;temp<3000;temp++)//延时一段时间
{;}
if(P1!=0XFF)
{
P2=0;
TI=0;
ASCII();//发送数据的处理

ASCII7N2();//以通讯协议为ASCII 9600,7,N,2发送数据
ASCII7O1();//以通讯协议为ASCII 9600,7,O,1发送数据
ASCII7E1();//以通讯协议为ASCII 9600,7,E,1发送数据

for(temp=0;temp<10000;temp++)
//发送完数据之后延时一段时间
{;}
for(temp=0;temp<10000;temp++)
{;}
motor_flag=~motor_flag; //完成了变频器启动和停止之间的切换
if(motor_flag==1){data_l=0x11;}
else{data_l=0x12;}
P1=0XFF;
P2=0XFF;
}
}
}
}
/*******************************************************************************
******
函数nop名称:void init_serial(void)
函数功能:
参数列表:
返回值 :
影响资源:
实现过程:
********************************************************************************
*****/
void init_serial(void)
{
SCON=0x40;//工作在方式1,
TMOD=0x20;
TH1=0xFD; //波特率为9600,晶振11.0592MHZ
TL1=0xFD;
TR1=1; //启动定时器1
P1=0XFF;
}

void ASCII7N2(void)
{
for(count=0;count<17;count++)
{
SBUF=send[count]|0X80;
while(TI==0);
TI=0;
}
}
void ASCII7O1(void)
{
for(count=0;count<17;count++)
{
temp=0;
ACC=send[count]&0X7F;
send_temp=ACC;
temp=P;
send_temp=(temp<<7)|send_temp;
SBUF=send_temp;
while(TI==0);
TI=0;
}
}
void ASCII7E1(void)
{
for(count=0;count<17;count++)
{
temp=0;
ACC=send[count]&0X7F;
send_temp=ACC;
temp=~P;
send_temp=(temp<<7)|send_temp;
SBUF=send_temp;
while(TI==0);
TI=0;
}
}
/*******************************************************************************
函数nop名称:void ASCII(void) 该函数应该作精简,可以考虑用结构来实现目前仅仅是测试版本
函数功能:
参数列表:
返回值 :
影响资源:
实现过程:
*******************************************************************************/
void ASCII()
{}

lchp24

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2009年7月15日
发表于:2011-08-18 08:53:16
4楼

首先参数设置为P01设为3,P92设置为3,要注意通讯助手上的通讯格式要与变频器相同,

发送的数据为:01 06 20 00 00 10 83 C6,正转,我看说明书的理解是这样的,可能有错哦!但是格式一定要正确,

xshflove

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年5月08日
发表于:2011-10-06 19:11:40
5楼
谢谢你的回答,非常感谢你

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-10-22 19:49:22
6楼

正转,发送的数据为:01 06 20 00 00 10 83 C6?

不对吧,应该是:01 06 20 00 31 32 43 37

lt156876285

  • 精华:0帖
  • 求助:4帖
  • 帖子:9帖 | 158回
  • 年度积分:0
  • 历史总积分:462
  • 注册:2012年2月21日
发表于:2012-02-24 11:22:26
7楼
现在的 主板都没有串口吧,怎么弄呢

xshflove

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年5月08日
发表于:2012-05-12 20:03:01
8楼

你们好,你们发过来的代码都是试过:01 06 20 00 00 10 83 C6和:01 06 20 00 31 32 43 37都不能正转

月子欧元

  • 精华:0帖
  • 求助:0帖
  • 帖子:59帖 | 1452回
  • 年度积分:0
  • 历史总积分:2257
  • 注册:2012年3月02日
发表于:2012-05-14 07:09:30
9楼

很经典的回帖子

 

 

zhanghuiwei

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:0
  • 历史总积分:35
  • 注册:2012年5月14日
发表于:2012-05-17 00:18:32
10楼

有汇编的吗?C语言不是很熟悉

xshflove

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 54回
  • 年度积分:0
  • 历史总积分:193
  • 注册:2006年5月08日
发表于:2012-05-21 15:10:25
11楼

搞定了,谢谢大家。。。

zwm00306

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 1541回
  • 年度积分:0
  • 历史总积分:5963
  • 注册:2001年10月22日
发表于:2012-05-27 07:26:27
12楼
有专业通讯软件的吧。。。。。。

chengyuneng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2010年5月16日
发表于:2013-10-31 16:48:35
13楼

回复内容:

对: xshflove  搞定了,谢谢大家。。。 内容的回复!


 怎么搞定的,我也想要

 

baiudgah110

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 41回
  • 年度积分:0
  • 历史总积分:189
  • 注册:2011年2月27日
发表于:2014-01-04 21:40:22
14楼

能不能说说是怎么搞定的吗?我用台达变频器专业软件,发送代码调试过变频器,可是我用串口怎么都不可以!求大神给个灵符!

chenbaiwai98

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 15回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2015年5月18日
发表于:2015-10-12 22:05:29
15楼

我也在试验串口发什么指令变频器都没反应。

刘洋SSS

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2016年6月11日
发表于:2016-06-17 10:38:30
16楼

请问下用的什么串口调试软件啊?

however1241

  • 精华:1帖
  • 求助:18帖
  • 帖子:94帖 | 2664回
  • 年度积分:8
  • 历史总积分:5109
  • 注册:2013年3月11日
发表于:2016-08-17 15:35:30
17楼

想知道怎么解决的能加好友么?


孤独的天使

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2016年8月22日
发表于:2016-08-22 14:33:56
18楼

怎么做怎么做怎么做?


junhui1989224

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2008年8月03日
发表于:2019-06-21 16:52:56
19楼

请教一下,怎么搞定的?我怎么试都不行。

袁泉

  • 精华:2帖
  • 求助:23帖
  • 帖子:209帖 | 1789回
  • 年度积分:54
  • 历史总积分:3170
  • 注册:2005年4月26日
发表于:2020-02-29 09:59:16
20楼

请问楼主,怎么解决的。谢谢了。


热门招聘
相关主题

官方公众号

智造工程师