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

📄 dk20dieselizedynamotordlg.cpp

📁 485通讯接口模块的编程应用
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		moudle[5*i+3].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.45f ;
		moudleItem.strValuename  =_T("起动空气压力") ; 
		moudle[5*i+3].vcorValue[2] = moudleItem      ; 
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.25f ;
		moudleItem.strValuename  =_T("控制空气压力") ; 
		moudle[5*i+3].vcorValue[3] = moudleItem      ;  
		//5
		/*moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.1f ;
		moudleItem.strValuename  =_T("燃油压力(柴油)") ; 
		moudle[5*i+3].vcorValue[4] = moudleItem      ; */
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("低温水进口压力") ; 
		//moudle[5*i+3].vcorValue[5] = moudleItem      ; 
		moudle[5*i+3].vcorValue[4] = moudleItem      ; 

		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("主机转速") ; 
		//moudle[5*i+3].vcorValue[6] = moudleItem      ; 
		moudle[5*i+3].vcorValue[5] = moudleItem      ;
		
		
		//模块5  7053  
		//模块名称 :开关量
		//模块值项目:6个
		//增压器滑油压力
		//预供滑油压力
		//燃油泄露
		//滑油循环箱油位(高位)
		//滑油循环箱油位(低位)
		//故障停车
		
		
		moudleItem.iTotalCount = 8 ; 
		moudle[5*i+4].strCommand = _T("moudle5") ; 
		//1
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =1.4f ;
		moudleItem.strValuename  =_T("增压器滑油压力") ; 
		moudle[5*i+4].vcorValue[0] = moudleItem      ; 
		//2
		moudleItem.iStatus =0 ; 
		moudleItem.iWarningvalueuper =1.4f ;
		moudleItem.strValuename  =_T("预供滑油压力") ; 
		moudle[5*i+4].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("燃油泄露") ; 
		moudle[5*i+4].vcorValue[2] = moudleItem      ;  
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("滑油循环箱油位(高位)") ; 
		moudle[5*i+4].vcorValue[3] = moudleItem      ; 
		//5
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("滑油循环箱油位(低位)") ; 
		moudle[5*i+4].vcorValue[4] = moudleItem      ; 
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("主机超速") ; 
		moudle[5*i+4].vcorValue[5] = moudleItem      ;  
		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("高温水出机温度高") ; 
		moudle[5*i+4].vcorValue[6] = moudleItem      ;  
		//8
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("主机滑油压力低") ; 
		moudle[5*i+4].vcorValue[7] = moudleItem      ;  
	}
}

void CDK20DieselizeDynamotorDlg::SetModeEnglish()
{
	//初始化虚拟模块 每个模块都有很多的值项 , 每个值项都需要初始化出相应的值对应的名称
	//iCurrentvalue 读取到的当前值 iWarningvalue 超过这个值就需要报警 ,strValuename 当前的值对应的内容

	for (int i=0;i<3;i++)
	{
		MOUDLE_VALUE moudleItem ; //单点临时变量
		moudleItem.iCurrentvalue =-100.0f ;  //当取-100的时候就是异常数据并未获取到数据
		
		//模块1  7015
		//模块名称 :温度1   
		//模块值项目:3个
		//传感器:pt100
		//高温水出机温度    
		//低温水出机温度
		//滑油进机温度
		moudleItem.iTotalCount = 3 ; 
		moudle[5*i].strCommand = _T("moudle1") ;
		
		//1
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =44.0f ;
		moudleItem.strValuename  =_T("H.T-FW TEMP");//("Hot Water-out  Machine  Temperature") ; 
		moudle[5*i].vcorValue[0] =moudleItem     ; 
		//2
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("L.T  TEMP");//("Cold Water-in Machine  Temperatur") ; 
		moudle[5*i].vcorValue[1] =moudleItem     ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("L.O  TEMP");//("Lubricating Oil-in Machine  Temperature") ; 
		moudle[5*i].vcorValue[2] =moudleItem ; 
		
		
		//模块2  7018z-g/s   
		//模块名称 :温度2
		//模块值项目:10个
		//传感器:k值热电偶
		//1#缸排温温度
		//2#缸排温温度
		//3#缸排温温度
		//4#缸排温温度
		//5#缸排温温度
		//6#缸排温温度
		//7#缸排温温度
		//8#缸排温温度
		//增压器进口排气温度
		//增压器出口废气温度
		
		moudleItem.iTotalCount = 10 ; 
		moudle[5*i+1].strCommand = _T("moudle2") ; 
		//1
		
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.1");//("1# Cylinder Discharge Temperature"); 
		moudle[5*i+1].vcorValue[0] = moudleItem      ; 
		//2
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.2");//("2# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.3");//("3# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[2] = moudleItem      ; 
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.4");//("4# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[3] = moudleItem      ; 
		//5
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.5");//("5# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[4] = moudleItem      ;  
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.6");//"6# Cylinder Discharge Temperature" ; 
		moudle[5*i+1].vcorValue[5] = moudleItem      ; 
		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.7");//"7# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[6] = moudleItem      ; 
		//8
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS NO.8");//("8# Cylinder Discharge Temperature") ; 
		moudle[5*i+1].vcorValue[7] = moudleItem      ;
		//9
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS T/C INLET");//("Supercharger Lubrication-in Machine Temperature") ; 
		moudle[5*i+1].vcorValue[8] = moudleItem      ; 
		//10
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =32.0f ;
		moudleItem.strValuename  =_T("EXH.GAS T/C OUTLET");//("Supercharger Lubrication-out Machine Temperature") ; 
		moudle[5*i+1].vcorValue[9] = moudleItem      ;
		
		//模块3  7017 -1  
		//模块名称 :温度和压力
		//模块值项目:8个
		//传感器:4-20ma
		//发电机轴承前端温度
		//发电机轴承后端温度
		//发电机1#定子绕组温度
		//发电机2#定子绕组温度
		//发电机3#定子绕组温度
		//高温水进口压力
		//滑油进机压力
		//滑油滤器压力差
		moudleItem.iTotalCount = 8 ; 
		moudle[5*i+2].strCommand = _T("moudle3") ; 
		//1
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("Generator-bearing (Frant)");//("Dynamotor-bearing Front Temperature") ; 
		moudle[5*i+2].vcorValue[0] = moudleItem      ;  
		//2
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.05f ;
		moudleItem.strValuename  =_T("Generator-bearing (End)");//("Dynamotor-bearing End Temperature") ; 
		moudle[5*i+2].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.45f ;
		moudleItem.strValuename  =_T("U#stator-wind Temp");//("U# Stator-windings Temperature") ; 
		moudle[5*i+2].vcorValue[2] = moudleItem      ; 
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.25f ;
		moudleItem.strValuename  =_T("V#stator-wind Temp");//("V# Stator-windings Temperature") ; 
		moudle[5*i+2].vcorValue[3] = moudleItem      ;  
		//5
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.1f ;
		moudleItem.strValuename  =_T("W#stator-wind Temp");//("W# Stator-windings Temperature") ; 
		moudle[5*i+2].vcorValue[4] = moudleItem      ; 
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("Turbo-charger  Speed");//("Supercharger Speed") ; 
		moudle[5*i+2].vcorValue[5] = moudleItem      ; 
		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.1f ;
		moudleItem.strValuename  =_T("FW engine inlet press");//("Hot Water-in  Machine  Pressure") ; 
		moudle[5*i+2].vcorValue[6] = moudleItem      ; 
		//8
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.08f ;
		moudleItem.strValuename  =_T("L.O engine inlet press");//("Lubricating Oil-in Machine  Pressure");
		moudle[5*i+2].vcorValue[7] = moudleItem      ; 
		
		
		//模块4  7017 -2  
		//模块名称 :压力和转速
		//模块值项目:6个
		//传感器:4-20ma
		//燃油进机压力
		//起动空气压力
		//控制空气压力
		//低温水进口压力
		//燃油压力(柴油)
		//增压器转速
		moudleItem.iTotalCount = 6 ; 
		moudle[5*i+3].strCommand = _T("moudle4") ; 
		//1
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("L.O filter diff  press");//("Lubricating oil-cullender Pressure Disparity") ; 
		moudle[5*i+3].vcorValue[0] = moudleItem      ;  
		//2
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.05f ;
		moudleItem.strValuename  =_T("Fuel oil engine inlet");//("Fuel-in Machine Pressure") ; 
		moudle[5*i+3].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.45f ;
		moudleItem.strValuename  =_T("Starting  air  press");//("Launched air Pressure") ; 
		moudle[5*i+3].vcorValue[2] = moudleItem      ; 
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.25f ;
		moudleItem.strValuename  =_T("Control air Pressure") ; 
		moudle[5*i+3].vcorValue[3] = moudleItem      ;  
		//5
		/*moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.1f ;
		moudleItem.strValuename  =_T("燃油压力(柴油)") ; 
		moudle[5*i+3].vcorValue[4] = moudleItem      ; */
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("L.T-Fwair cooler inlet");//("Cold Water-in Machine Pressure") ; 
		moudle[5*i+3].vcorValue[4] = moudleItem      ; 

		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =0.2f ;
		moudleItem.strValuename  =_T("Engine speed");//("Host Speed") ; 
		moudle[5*i+3].vcorValue[5] = moudleItem      ; 
		
		
		//模块5  7053  
		//模块名称 :开关量
		//模块值项目:6个
		//增压器滑油压力
		//预供滑油压力
		//燃油泄露
		//滑油循环箱油位(高位)
		//滑油循环箱油位(低位)
		//故障停车
		
		
		moudleItem.iTotalCount = 8 ; 
		moudle[5*i+4].strCommand = _T("moudle5") ; 
		//1
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =1.4f ;
		moudleItem.strValuename  =_T("T/C  L.O Press");//("Supercharger Lubrication-in Machine Pressure") ; 
		moudle[5*i+4].vcorValue[0] = moudleItem      ; 
		//2
		moudleItem.iStatus =0 ; 
		moudleItem.iWarningvalueuper =1.4f ;
		moudleItem.strValuename  =_T("Pre-L.O Press");//("Advance Lubrication-in Machine Pressure") ; 
		moudle[5*i+4].vcorValue[1] = moudleItem      ; 
		//3
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("Leak Fuel tank level");//("Fuel leak") ; 
		moudle[5*i+4].vcorValue[2] = moudleItem      ;  
		//4
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("L.O tank level(High)");//("Lubricating-oil Recycling Bins Level(High)") ; 
		moudle[5*i+4].vcorValue[3] = moudleItem      ; 
		//5
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("L.O tank level(Low)");//("Lubricating-oil Recycling Bins Level(Low)") ; 
		moudle[5*i+4].vcorValue[4] = moudleItem      ; 
		//6
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("Engine Speeding") ; 
		moudle[5*i+4].vcorValue[5] = moudleItem      ;  
		//7
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("H.T-FW TEMP HEAT") ; 
		moudle[5*i+4].vcorValue[6] = moudleItem      ;  
		//8
		moudleItem.iStatus = 0 ; 
		moudleItem.iWarningvalueuper =75.0f ;
		moudleItem.strValuename  =_T("L.O PRESS LOW") ; 
		moudle[5*i+4].vcorValue[7] = moudleItem      ;  
	}
}

//
void TestLamp1()
{
	ZeroMemory(byteArray1,20)   ; 
	byteArray1[0] ='@'  ; 
	byteArray1[1] ='0'  ; 
	byteArray1[2] ='6'  ; 
	byteArray1[3] =0x0D   ; 
	byteArray1[4] ='0';
	m_pSerial1->WritePort((char*)byteArray1 ,5) ; 
	m_pSerial1->WaitForResponse(strData1 , WAITDELAY)  ; 
	char cl[4];
	//有状态返回
	if (!strData1.IsEmpty()&&strData1.Left(1)=='>')
	{
		strData1=strData1.Mid(1,4);
		strcpy(cl,strData1);

		byteArray1[3]='F';
		byteArray1[4]='F';
		byteArray1[5]='F';
		byteArray1[6]='F';
		byteArray1[7]=0X0D;
		byteArray1[8]='0';

		m_pSerial1->WritePort((char*)byteArray1 ,8) ; 
		m_pSerial1->WaitForResponse(strData1 , WAITDELAY)  ; 

		
		Sleep(2000);

		for (int j=0;j<4;j++)
		{
			byteArray1[j+3]=cl[j];
		}

		m_pSerial1->WritePort((char*)byteArray1 ,8) ; 
		m_pSerial1->WaitForResponse(strData1 , WAITDELAY)  ; 
	}
}

void TestLamp2()
{
	ZeroMemory(byteArray2,20)   ; 
	byteArray2[0] ='@'  ; 
	byteArray2[1] ='0'  ; 
	byteArray2[2] ='6'  ; 
	byteArray2[3] =0x0D   ; 
	byteArray2[4] ='0';
	m_pSerial2->WritePort((char*)byteArray2 ,5) ; 
	m_pSerial2->WaitForResponse(strData2 , WAITDELAY)  ; 
	char cl[5];
	//有状态返回
	if (!strData2.IsEmpty()&&strData2.Left(1)=='>')
	{
		strData2=strData2.Mid(1,4);
		strcpy(cl,strData2);

		byteArray2[3]='F';
		byteArray2[4]='F';
		byteArray2[5]='F';
		byteArray2[6]='F';
		byteArray2[7]=0X0D;
		byteArray2[8]='0';

		m_pSerial2->WritePort((char*)byteArray2 ,8) ; 
		m_pSerial2->WaitForResponse(strData2 , WAITDELAY)  ; 
		Sleep(2000);

		for (int j=0;j<4;j++)
		{
			byteArray2[j+3]=cl[j];
		}

		m_pSerial2->WritePort((char*)byteArray2 ,8) ; 
		m_pSerial2->WaitForResponse(strData2 , WAITDELAY)  ; 
	}
}

void TestLamp3()
{
	ZeroMemory(byteArray3,20)   ; 
	byteArray3[0] ='@'  ; 
	byteArray3[1] ='0'  ; 
	byteArray3[2] ='6'  ; 
	byteArray3[3] =0x0D   ; 
	byteArray3[4] ='0';
	m_pSerial3->WritePort((char*)byteArray3 ,5) ; 
	m_pSerial3->WaitForResponse(strData3 , WAITDELAY)  ; 
	char cl[5];
	//有状态返回
	if (!strData3.IsEmpty()&&strData3.Left(1)=='>')
	{
		strData3=strData3.Mid(1,4);
		strcpy(cl,strData3);

		byteArray3[3]='F';
		byteArray3[4]='F';
		byteArray3[5]='F';
		byteArray3[6]='F';
		byteArray3[7]=0X0D;
		byteArray3[8]='0';

		m_pSerial3->WritePort((char*)byteArray3 ,8) ; 
		m_pSerial3->WaitForResponse(strData3 , WAITDELAY)  ; 

		Sleep(2000);

		for (int j=0;j<4;j++)
		{
			byteArray3[j+3]=cl[j];
		}

		m_pSerial3->WritePort((char*)byteArray3 ,8) ; 
		m_pSerial3->WaitForResponse(strData3 , WAITDELAY)  ; 
	}
}
void Send7015f()
{
	strData1="";
	
	ZeroMemory(byteArray1,20)   ; 
	byteArray1[0] ='#'  ; 
	byteArray1[1] ='0'  ; 
	byteArray1[2] ='1'  ; 
	byteArray1[3] =0x0D   ;


	m_pSerial1->WritePort((char*)byteArray1 ,4) ; 
	//等待N秒 接收数据
 	strData1 = _T("")  ; 


	m_pSerial1->WaitForResponse(strData1 , WAITDELAY)  ; 

	//strData1=">+50+60+70+9999.9+9999.9+9999.9";
	//char a='\r';
	//strData1+=(CString)a;
	if (!strData1.IsEmpty() && strData1.Left(1)==_T(">")  )//&&strData1.Right(1)==_T("\r")
	{
		strData1 = strData1.Right(strData1.GetLength()-1) ;
		int iFind =  strData1.FindOneOf(_T("\r")) ; 
		strData1 = strData1.Left(iFind	) ; 
		//排除-号
		iFind =  strData1.FindOneOf(_T("-")) ; 
		while (iFind != -1)

⌨️ 快捷键说明

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