//For ABB2014-12-3
//###########################################################################
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#define BAUD_9600 0x01e7
#define BAUD_19200 0x00f3
#define BAUD_38400 0x0079
#define BAUD_57600 0x0050
#define BAUD_115200 0x0028
#define BAUD_230400 0x0014
#define BAUD_460800 0x0009
#define BAUD_921600 0x0004
#define CRC16_REV_CODE 0xA001
//GpioDataRegs.GPADAT.bit.GPIO0
#define IO_A485DIR_RECV GpioDataRegs.GPBCLEAR.bit.GPIO61=1 //2014-11-1
#define IO_A485DIR_SEND GpioDataRegs.GPBSET.bit.GPIO61=1
#define IO_B485DIR_RECV GpioDataRegs.GPBCLEAR.bit.GPIO60=1
#define IO_B485DIR_SEND GpioDataRegs.GPBSET.bit.GPIO60=1
#define IO_LED_ON GpioDataRegs.GPCSET.bit.GPIO80=1
#define IO_LED_OFF GpioDataRegs.GPCCLEAR.bit.GPIO80=1
//#define IO_C485DIR_RECV
//#define IO_C485DIR_SEND
#define IO_ADCONVSTSTOP GpioDataRegs.GPASET.bit.GPIO8=1
#define IO_ADCONVSTSTART GpioDataRegs.GPACLEAR.bit.GPIO8=1
#define I2C_SLAVE_ADDR1 0x6f //时间从地址
#define I2C_SLAVE_ADDR2 0x57 //EEPROM从地址
#define I2C_SUCCESS 0x02
#define I2C_ERROR 0x00A
#define I2C_NOP 0
#define I2C_PRO 5
// Prototype statements for functions found within this file.
void scib_init(void);
void scib_fifo_init(void);
void scib_xmit(int a);
void scic_init(void);
void scic_fifo_init(void);
void scic_xmit(int a);
void error(int);
interrupt void cpu_timer0_isr(void);
interrupt void cpu_timer1_isr(void);
interrupt void cpu_timer2_isr(void);
interrupt void ZIP1NMI_isr(void);
interrupt void ZIP3NMI_isr(void);
interrupt void Sevo_timer_isr(void);
//interrupt void scia_rx_isr(void);
//interrupt void scia_tx_isr(void);
volatile int TimeDelay100ms;
extern volatile Uint16 EEprom_wr;
Uint16 LCD_RxBuf[8],LCD_TxBuf[8];
Uint16 LoopCount,CanOPEN_Fault=0,I2CCtrl_TIME_BUSY=0,TimeUnlockMark=1;
Uint16 ErrorCount,TIME_SET[10],TIME[10],TIME1[10],RtcTime[10],TimeBase1msCount=0;
Uint16 TimeSetMark=0,time_read_mark=0,TimeBase=0,TimeReaden=0;
Uint16 LED_buff=0;
//long UR1_PIL=0,UR2_PIL=0,UR1_PI=0,UR2_PI=0,UR_PILLim=10000,Temp1ERR0=0,Temp1ERR1=0,Temp2ERR0=0,Temp2ERR1=0;
//unsigned long AD1_sum=0,AD2_sum=0;
int SpeedNul=4,TimeNul=4,CmdNul=4,SpeedMark=0,TimeMark=0,CmdMark=0,SpeedRceiveOK=0,TimeRceiveOK=0,CmdRceiveOK=0;
int LCD_SpeedRxBuf[4],LCD_TimeRxBuf[4],LCD_CmdRxBuf[4];
Uint16 ADnum=0;
//unsigned long Temp1_ACT=0,Temp1_ACT0=0,Temp1Ref0=0,Temp1Ref1=0,TempTh=15360;
//unsigned long Temp2Ref0=0,Temp2_ACT=0,Temp2_ACT0=0,Temp2Ref1=0;
//int Temp1HeatEN=0,Temp2HeatEN=0;
int RecvABB_Command=1,Time10msbuff=0,AD_buff=0,CurrentSpeed=0,CurrentSpeedL=0,CurrentSpeedH=0,CurrentStatus=0,ABB_DelayBuff=0,ABB_givenTime=0;
int OverTemp=0,BlogMark=0,CurrentAlarm=0,CurrentDIR=0;
int SendAData[8],RecvA_buff[16],GivenAccellerTime1=0,GivenAccellerTime2=0,GivenAccellerTime3=0,GivenAccellerTime4=0,GivenAccellerTime5=0,GivenAccellerTime6=0,GivenAccellerTime7=0,GivenAccellerTime8=0;
int WaitMark=0,SloopTime=0,SloopGiven=0,ServABBstate=0;
int GivenV1_H=0,GivenV1=0,GivenV2=0,GivenV2_H=0,CurveEN_CMD=0,CurveSTOP_CMD=0,MotorStartHD=0,MotorStopHD=0;
//int UR1=0,UR2=0,U_stable=50;//18700,
//int kp=1,ki=1,kp2=1,ki2=1;
int SpeedCatchEN=0;
Uint16 SciA_err,Servmark=0,PDP1_MARK=0,PDP3_MARK=0,realtime=0;
volatile Uint16 SendMark,ABB_DelayEN=0;
extern Uint16 RTCctrl,RTCcount;
void Delay(int Time)
{int i,j=0;
for(i=0;i<Time;i++)
j++;
}
void SciA_init(void)
{
//Uint16 uiTmpAddr;
/*********InitSciGPIO*********/
SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback
// No parity,8 char bits,
// async mode, idle-line protocol
SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
SciaRegs.SCICTL2.all =0x0003;
SciaRegs.SCICTL2.bit.TXINTENA =1;
SciaRegs.SCICTL2.bit.RXBKINTENA =1;
SciaRegs.SCIHBAUD =0x0000;
SciaRegs.SCILBAUD =BAUD_19200; //57600
SciaRegs.SCICCR.bit.LOOPBKENA =0; // Disable loop back
SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset
SciaRegs.SCICTL2.bit.RXBKINTENA=1;
SciaRegs.SCIFFTX.all=0xE040;
SciaRegs.SCIFFRX.all=0x204f;
SciaRegs.SCIFFCT.all=0x0;
/***********InitSci_SYN_GPIO**********/
IO_A485DIR_RECV;
}
void SciB_init(void)
{
//Uint16 uiTmpAddr;
/*********InitSciGPIO*********/
ScibRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback
// No parity,8 char bits,
// async mode, idle-line protocol
ScibRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
ScibRegs.SCICTL2.all =0x0003;
ScibRegs.SCICTL2.bit.TXINTENA =1;
ScibRegs.SCICTL2.bit.RXBKINTENA =1;
ScibRegs.SCIHBAUD =0x0000;
ScibRegs.SCILBAUD =BAUD_9600; //57600
ScibRegs.SCICCR.bit.LOOPBKENA =0; // Disable loop back
ScibRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset
ScibRegs.SCICTL2.bit.RXBKINTENA=1;
ScibRegs.SCIFFTX.all=0xE040;
ScibRegs.SCIFFRX.all=0x204f;
ScibRegs.SCIFFCT.all=0x0;
/***********InitSci_SYN_GPIO**********/
IO_B485DIR_RECV;
}
void SciC_init(void)
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Uint16 uiTmpAddr;
/*********InitSciGPIO*********/
ScicRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback
// No parity,8 char bits,
// async mode, idle-line ///////////////////////////////////////////////////////////////////////////////rotocol
ScicRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
ScicRegs.SCICTL2.all =0x0003;
ScicRegs.SCICTL2.bit.TXINTENA =0;
ScicRegs.SCICTL2.bit.RXBKINTENA =0;
ScicRegs.SCIHBAUD =0x0000;
ScicRegs.SCILBAUD =BAUD_57600; //57600
ScicRegs.SCICCR.bit.LOOPBKENA =0; // Disable loop back
ScicRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset
ScicRegs.SCICTL2.bit.RXBKINTENA=0;
ScicRegs.SCIFFTX.all=0xE040;
ScicRegs.SCIFFRX.all=0x204f;
ScicRegs.SCIFFCT.all=0x0;
/***********InitSci_SYN_GPIO**********/
// IO_C485DIR_RECV;
}
void CRC16_REV_RD(int *data,int n)
{
unsigned int CrcWord=0xffff,i,j,tmpH,tmpL;
for(i=0;i<n;i++)
{
CrcWord=CrcWord^data[i];
for(j=0;j<8;j++)
{
if(CrcWord&0x01)
{
CrcWord=(CrcWord>>1)^CRC16_REV_CODE;
}
else
{
CrcWord=(CrcWord>>1);
}
}
}
tmpL=(CrcWord>>8);
tmpH=CrcWord&0xff;
data[n]=tmpL;
data[n+1]=tmpH;
}
void CRC16_REV(int *data)
{
unsigned int CrcWord=0xffff,i,j,tmpH,tmpL;
for(i=0;i<6;i++)
{
CrcWord=CrcWord^data[i];
for(j=0;j<8;j++)
{
if(CrcWord&0x01)
{
CrcWord=(CrcWord>>1)^CRC16_REV_CODE;
}
else
{
CrcWord=(CrcWord>>1);
}
}
}
tmpL=(CrcWord>>8);
tmpH=CrcWord&0xff;
data[7]=tmpL;
data[6]=tmpH;
}
/*
char Tohex(int n)
{
if((n>=10)&&(n<=15))
return 'A'+n-10;
return '0'+n;
}
DecToHex(int n,char *buf)
{int i=0,mod,j,k;
while(n)
{
mod=n%16;
buf[++]=tohex(mod);
n/16;
}
for(j=0,k=i-1;j<i/2;j++,k--)
{
temp=buf[j];
buf[j]=buf[k];
buf[k]=temp;
}
}*/
void ReadPara(int group,int num,int *Data)
{
unsigned int paraHex,paraH,paraL,valueHex,valueH,valueL;
paraHex=(group-1);
paraH=((paraHex&0xff00)>>8);
paraL=paraHex&0xff;
valueHex=(num);
valueH=((valueHex&0xff00)>>8);
valueL=valueHex&0xff;
Data[0]=0x01;//站号
Data[1]=0x03;
Data[2]=paraH;
Data[3]=paraL;//参数组别
没有合适的资源?快使用搜索试试~ 我知道了~
ABB_DSP.rar_ABB变频器_Acs550 主板 dsp_MODBUS dsp_dsp modbus_变频器 modb
共96个文件
h:30个
c:18个
obj:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 109 浏览量
2022-07-13
21:41:29
上传
评论
收藏 639KB RAR 举报
温馨提示
通过MODBUS总线控制ABB变频器ACS550.,调节直流电机转速
资源详情
资源评论
资源推荐
收起资源包目录
ABB_DSP.rar (96个子文件)
ABB_DSP
DSP2833x_headers
gel
DSP2833x_Peripheral.gel 6KB
cmd
DSP2833x_Headers_nonBIOS.cmd 8KB
DSP2833x_Headers_BIOS.cmd 8KB
include
DSP2833x_Mcbsp.h 31KB
DSP2833x_EPwm.h 16KB
DSP2833x_I2c.h 7KB
DSP2833x_Spi.h 6KB
DSP2833x_XIntrupt.h 2KB
DSP2833x_SysCtrl.h 13KB
DSP2833x_EQep.h 10KB
DSP2833x_Gpio.h 16KB
DSP2833x_ECap.h 6KB
DSP2833x_PieVect.h 6KB
DSP2833x_Sci.h 8KB
DSP2833x_Adc.h 10KB
DSP2833x_DMA.h 13KB
DSP2833x_CpuTimers.h 6KB
DSP2833x_ECan.h 44KB
DSP2833x_Device.h 6KB
DSP2833x_PieCtrl.h 6KB
DSP2833x_DevEmu.h 3KB
DSP2833x_Xintf.h 4KB
source
DSP2833x_GlobalVariableDefs.c 11KB
Debug
DSP2833x_GlobalVariableDefs.obj 119KB
DSP2833x_examples
sci_loopback
Example_2833xScia_FFDLB.pjt 2KB
Example_2833xScia_FFDLB.c 50KB
Debug.lkf 1KB
Example_2833xScia_FFDLB.sbl 8KB
Example_2833xScia_FFDLB.paf2 12KB
Example_2833xScia_FFDLB.gel 1KB
Example_2833xScia_FFDLB.CS_
SYMBOL.DBF 243KB
FILE.CDX 3KB
FILE.FPT 3KB
FILE.DBF 1KB
SYMBOL.FPT 413KB
SYMBOL.CDX 348KB
Debug
Example_2833xScia_FFDLB.obj 199KB
Example_2833xScia_FFDLB.out 229KB
Example_2833xScia_FFDLB.map 36KB
cc_build_Debug.log 134B
DSP2833x_common
gel
f28335.gel 120KB
cmd
F28335.cmd 9KB
28335_RAM_lnk.cmd 7KB
build 0B
include
DSP2833x_SWPrioritizedIsrLevels.h 142KB
DSP2833x_Examples.h 5KB
DSP2833x_Dma_defines.h 2KB
DSP2833x_EPwm_defines.h 4KB
DSP2833x_GlobalPrototypes.h 8KB
DSP2833x_Project.h 720B
DSP2833x_I2C_defines.h 4KB
IQmathLib.h 123KB
SFO_V5.h 3KB
SFO.h 2KB
DSP2833x_DefaultIsr.h 6KB
lib
SFO_TI_Build_fpu.lib 25KB
SFO_TI_Build_V5_fpu.lib 25KB
IQmath.lib 514KB
SFO_TI_Build_V5.lib 26KB
SFO_TI_Build.lib 6KB
source
DSP2833x_SysCtrl.c 12KB
DSP2833x_usDelay.asm 3KB
DSP2833x_SWPrioritizedDefaultIsr.c 39KB
DSP2833x_Adc.c 2KB
DSP2833x_PieCtrl.c 3KB
DSP2833x_DisInt.asm 2KB
DSP2833x_SWPrioritizedPieVect.c 11KB
DSP2833x_PieVect.c 7KB
DSP28335_I2C.c 17KB
DSP28335_CpuTimers.c 5KB
DSP2833x_DefaultIsr.c 30KB
DSP2833x_CpuTimers.c 4KB
DSP28335EPWM.c.bak 18KB
AnalogMacro.c 909B
DSP2833x_ADC_cal.asm 1KB
DSP2833x_Xintf.c 10KB
DSP2833x_CSMPasswords.asm 3KB
DSP2833x_EPwm.c 11KB
DSP2833x_DBGIER.asm 876B
DSP2833x_CodeStartBranch.asm 3KB
DSP28335EPWM.c 18KB
DSP2833x_Sci.c 6KB
DSP2833x_I2C.c 3KB
AnalogMacro.c.bak 907B
Debug
DSP2833x_DefaultIsr.obj 151KB
DSP2833x_PieVect.obj 117KB
DSP2833x_SysCtrl.obj 114KB
AnalogMacro.obj 110KB
DSP28335_CpuTimers.obj 111KB
DSP2833x_CodeStartBranch.obj 1KB
DSP28335EPWM.obj 118KB
DSP2833x_Sci.obj 111KB
DSP2833x_usDelay.obj 1KB
DSP2833x_ADC_cal.obj 1KB
DSP2833x_PieCtrl.obj 110KB
DSP28335_I2C.obj 128KB
共 96 条
- 1
JaniceLu
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0