⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgn.h

📁 使用MC9S12DP256写的CAN转串口程序。
💻 H
📖 第 1 页 / 共 3 页
字号:
//参数格式定义
typedef   struct  _Define_OBJ
{
  uchar		Type;                //0-连续变量 1-离散变量
  uchar		Length;              //长度
  float		Resolution;          //分辨率
  float		Offset;              //偏移量
  float		Range_low;           //数值范围下限
  float		Range_high;          //数值范围上限
  ulong		SPN;                 //怀疑参数编号SPN  
}Define_OBJ,*PDefine_OBJ;

//参数组格式定义
typedef   struct  _PGN_OBJ
{
	ulong   PGN;                //参数组标码
	uint    Update_Rate;        //参数组标码
	uchar   Priority;           //优先级
	uchar   DataLen;            //数据长度
	uchar   ParaAmount;         //参数个数
	Define_OBJ      Define[8];          //各参数具体定义
	float           VerData[8];         //参数真值
}PGN_OBJ,*PPGN_OBJ;


PGN_OBJ	PDU[18];
uchar    PDUAmount = 18;

//========================================================================
//	Name:		PGN定义.
//    ----------------------------------------------------------
//	Remarks:	
//==========================================================================
#pragma CODE_SEG DEFAULT
static void PDUDefine(void)
{	
    //*******************   混合动力车辆控制器   *******************//
    
// 1) 混合动力车辆控制器信息参数组(HVINF)
    PDU[0].PGN     = 64000;
    PDU[0].DataLen = 8;
    PDU[0].Priority = 3;
    PDU[0].Update_Rate = 50;
    PDU[0].ParaAmount = 4;

    //参数1定义 加速踏板开度
    PDU[0].Define[0].Type = 0;
    PDU[0].Define[0].Length = 1;
    PDU[0].Define[0].Resolution = 0.004;
    PDU[0].Define[0].Offset = 0;
    PDU[0].Define[0].Range_low = 0;
    PDU[0].Define[0].Range_high = 1;
    PDU[0].Define[0].SPN = 0;
    PDU[0].VerData[0] = 0;

    //参数2定义 制动踏板开度
    PDU[0].Define[1].Type = 0;
    PDU[0].Define[1].Length = 1;
    PDU[0].Define[1].Resolution = 0.004;
    PDU[0].Define[1].Offset = 0;
    PDU[0].Define[1].Range_low = 0;
    PDU[0].Define[1].Range_high = 1;
    PDU[0].Define[1].SPN = 0;
    PDU[0].VerData[1] = 0;

    //参数3定义 车速
    PDU[0].Define[2].Type = 0;
    PDU[0].Define[2].Length = 2;
    PDU[0].Define[2].Resolution = 0.0078125;
    PDU[0].Define[2].Offset = -250;
    PDU[0].Define[2].Range_low = -250;
    PDU[0].Define[2].Range_high = 251.992;
    PDU[0].Define[2].SPN = 0;
    PDU[0].VerData[2] = 0;

	//参数4定义 主控制器收到的动力电池组SOC(测试用)
    PDU[0].Define[3].Type = 0;
    PDU[0].Define[3].Length = 2;
    PDU[0].Define[3].Resolution = 0.001;
    PDU[0].Define[3].Offset = 0;
    PDU[0].Define[3].Range_low = 0;
    PDU[0].Define[3].Range_high = 1;
    PDU[0].Define[3].SPN = 0;
    PDU[0].VerData[3] = 0;
    
    
    //参数4定义 收到的
/*    PDU[0].Define[4].Type = 0;
    PDU[0].Define[4].Length = 2;
    PDU[0].Define[4].Resolution = 1;
    PDU[0].Define[4].Offset = 0;
    PDU[0].Define[4].Range_low = 0;
    PDU[0].Define[4].Range_high = 0;
    PDU[0].Define[4].SPN = 0;
    PDU[0].VerData[4] = 0;*/
    
    
// 2)	发动机控制参数组(HVEC)
    PDU[1].PGN     = 64001;
    PDU[1].DataLen = 8;
    PDU[1].Priority = 3;
    PDU[1].Update_Rate = 50;
    PDU[1].ParaAmount = 4;

    //参数1定义 未定义(8,7) + 发动机工作模式指令(6-3) + 发动机开关指令(2,1)
    PDU[1].Define[0].Type = 0;
    PDU[1].Define[0].Length = 1;
    PDU[1].Define[0].Resolution = 1;
    PDU[1].Define[0].Offset = 0;
    PDU[1].Define[0].Range_low = 0;
    PDU[1].Define[0].Range_high = 255;
    PDU[1].Define[0].SPN = 0;
    PDU[1].VerData[0] = 0;

    //参数2定义 发动机目标转矩
    PDU[1].Define[1].Type = 0;
    PDU[1].Define[1].Length = 2;
    PDU[1].Define[1].Resolution = 1;
    PDU[1].Define[1].Offset = -32000;
    PDU[1].Define[1].Range_low = -32000;
    PDU[1].Define[1].Range_high = 32255;
    PDU[1].Define[1].SPN = 0;
    PDU[1].VerData[1] = 0;
    
    //参数3定义 发动机目标转速
    PDU[1].Define[2].Type = 0;
    PDU[1].Define[2].Length = 2;
    PDU[1].Define[2].Resolution = 0.5;
    PDU[1].Define[2].Offset = 0;
    PDU[1].Define[2].Range_low = 0;
    PDU[1].Define[2].Range_high = 32127.5;
    PDU[1].Define[2].SPN = 0;
    PDU[1].VerData[2] = 0;
    
    //参数4定义 **未定义**
    PDU[1].Define[3].Type = 0;
    PDU[1].Define[3].Length = 3;
    PDU[1].Define[3].Resolution = 1;
    PDU[1].Define[3].Offset = 0;
    PDU[1].Define[3].Range_low = 0;
    PDU[1].Define[3].Range_high = 0;
    PDU[1].Define[3].SPN = 0;
    PDU[1].VerData[3] = 0;
    
// 3)	启动发电一体机控制参数组(HVISGC)
    PDU[2].PGN     = 64002;
    PDU[2].DataLen = 8;
    PDU[2].Priority = 3;
    PDU[2].Update_Rate = 50;
    PDU[2].ParaAmount = 5;

    //参数1定义 未定义(8,7) + 启动发电一体机工作模式指令(6-3) + 启动发电一体机开关指令(2,1)
    PDU[2].Define[0].Type = 0;
    PDU[2].Define[0].Length = 1;
    PDU[2].Define[0].Resolution = 1;
    PDU[2].Define[0].Offset = 0;
    PDU[2].Define[0].Range_low = 0;
    PDU[2].Define[0].Range_high = 255;
    PDU[2].Define[0].SPN = 0;
    PDU[2].VerData[0] = 0;

    //参数2定义 **未定义**
    PDU[2].Define[1].Type = 0;
    PDU[2].Define[1].Length = 1;
    PDU[2].Define[1].Resolution = 1;
    PDU[2].Define[1].Offset = 0;
    PDU[2].Define[1].Range_low = 0;
    PDU[2].Define[1].Range_high = 255;
    PDU[2].Define[1].SPN = 0;
    PDU[2].VerData[1] = 0;

    //参数3定义 启动发电一体机目标转矩
    PDU[2].Define[2].Type = 0;
    PDU[2].Define[2].Length = 2;
    PDU[2].Define[2].Resolution = 1;
    PDU[2].Define[2].Offset = -32000;
    PDU[2].Define[2].Range_low = -32000;
    PDU[2].Define[2].Range_high = 32255;
    PDU[2].Define[2].SPN = 0;
    PDU[2].VerData[2] = 0;

    //参数4定义 启动发电一体机目标转速
    PDU[2].Define[3].Type = 0;
    PDU[2].Define[3].Length = 2;
    PDU[2].Define[3].Resolution = 0.5;
    PDU[2].Define[3].Offset = 0;
    PDU[2].Define[3].Range_low = 0;
    PDU[2].Define[3].Range_high = 32127.5;
    PDU[2].Define[3].SPN = 0;
    PDU[2].VerData[3] = 0;

    //参数5定义 **未定义**
    PDU[2].Define[4].Type = 0;
    PDU[2].Define[4].Length = 2;
    PDU[2].Define[4].Resolution = 1;
    PDU[2].Define[4].Offset = 0;
    PDU[2].Define[4].Range_low = 0;
    PDU[2].Define[4].Range_high = 0;
    PDU[2].Define[4].SPN = 0;
    PDU[2].VerData[4] = 0;

// 4)	自动离合器控制参数组(HVACC)
    PDU[3].PGN     = 64003;
    PDU[3].DataLen = 8;
    PDU[3].Priority = 3;
    PDU[3].Update_Rate = 50;
    PDU[3].ParaAmount = 2;

    //参数1定义 自动离合器目标结合度
    PDU[3].Define[0].Type = 0;
    PDU[3].Define[0].Length = 1;
    PDU[3].Define[0].Resolution = 1;//0.004;
    PDU[3].Define[0].Offset = 0;
    PDU[3].Define[0].Range_low = 0;
    PDU[3].Define[0].Range_high = 1;
    PDU[3].Define[0].SPN = 0;
    PDU[3].VerData[0] = 0;

    //参数2定义 **未定义**
    PDU[3].Define[1].Type = 0;
    PDU[3].Define[1].Length = 7;
    PDU[3].Define[1].Resolution = 1;
    PDU[3].Define[1].Offset = 0;
    PDU[3].Define[1].Range_low = 0;
    PDU[3].Define[1].Range_high = 0;
    PDU[3].Define[1].SPN = 0;
    PDU[3].VerData[1] = 0;

// 5) 混合动力车辆控制器故障参数组(HVERR)
	PDU[4].PGN     = 64004;
    PDU[4].DataLen = 8;
    PDU[4].Priority = 5;
    PDU[4].Update_Rate = 50;
    PDU[4].ParaAmount = 5;

    //参数1定义 故障4-1
    PDU[4].Define[0].Type = 0;
    PDU[4].Define[0].Length = 1;
    PDU[4].Define[0].Resolution = 1;
    PDU[4].Define[0].Offset = 0;
    PDU[4].Define[0].Range_low = 0;
    PDU[4].Define[0].Range_high = 255;
    PDU[4].Define[0].SPN = 0;
    PDU[4].VerData[0] = 0;

    //参数2定义 故障8-5
    PDU[4].Define[1].Type = 0;
    PDU[4].Define[1].Length = 1;
    PDU[4].Define[1].Resolution = 1;
    PDU[4].Define[1].Offset = 0;
    PDU[4].Define[1].Range_low = 0;
    PDU[4].Define[1].Range_high = 255;
    PDU[4].Define[1].SPN = 0;
    PDU[4].VerData[1] = 0;

    //参数3定义 故障12-9
    PDU[4].Define[2].Type = 0;
    PDU[4].Define[2].Length = 1;
    PDU[4].Define[2].Resolution = 1;
    PDU[4].Define[2].Offset = 0;
    PDU[4].Define[2].Range_low = 0;
    PDU[4].Define[2].Range_high = 255;
    PDU[4].Define[2].SPN = 0;
    PDU[4].VerData[2] = 0;
    
    //参数4定义 故障16-13
    PDU[4].Define[3].Type = 0;
    PDU[4].Define[3].Length = 1;
    PDU[4].Define[3].Resolution = 1;
    PDU[4].Define[3].Offset = 0;
    PDU[4].Define[3].Range_low = 0;
    PDU[4].Define[3].Range_high = 255;
    PDU[4].Define[3].SPN = 0;
    PDU[4].VerData[3] = 0;
    
    //参数5定义 **未定义**
    PDU[4].Define[4].Type = 0;
    PDU[4].Define[4].Length = 4;
    PDU[4].Define[4].Resolution = 1;
    PDU[4].Define[4].Offset = 0;
    PDU[4].Define[4].Range_low = 0;
    PDU[4].Define[4].Range_high = 0;
    PDU[4].Define[4].SPN = 0;
    PDU[4].VerData[4] = 0;
    
    
//*******************   发动机辅助控制器(EAC-ECU)   *******************//

// 1) 发动机辅助控制器信息参数组1(EACINF1)
    PDU[5].PGN     = 64020;
    PDU[5].DataLen = 8;
    PDU[5].Priority = 3;
    PDU[5].Update_Rate = 50;
    PDU[5].ParaAmount = 5;

    //参数1定义 发动机实际转速
    PDU[5].Define[0].Type = 0;
    PDU[5].Define[0].Length = 2;
    PDU[5].Define[0].Resolution = 0.5;
    PDU[5].Define[0].Offset = 0;
    PDU[5].Define[0].Range_low = 0;
    PDU[5].Define[0].Range_high = 32127.5;
    PDU[5].Define[0].SPN = 0;
    PDU[5].VerData[0] = 0;

    //参数2定义 发动机实际扭矩
    PDU[5].Define[1].Type = 0;
    PDU[5].Define[1].Length = 2;
    PDU[5].Define[1].Resolution = 1;
    PDU[5].Define[1].Offset = -32000;
    PDU[5].Define[1].Range_low = -32000;
    PDU[5].Define[1].Range_high = 32255;
    PDU[5].Define[1].SPN = 0;
    PDU[5].VerData[1] = 0;

    //参数3定义 发动机瞬时燃油消耗率估计值
    PDU[5].Define[2].Type = 0;
    PDU[5].Define[2].Length = 2;
    PDU[5].Define[2].Resolution = 0.001;
    PDU[5].Define[2].Offset = 0;
    PDU[5].Define[2].Range_low = 0;
    PDU[5].Define[2].Range_high = 64.255;
    PDU[5].Define[2].SPN = 0;
    PDU[5].VerData[2] = 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -