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

📄 cqm.cpp

📁 vc下串口通讯开发程序
💻 CPP
字号:
//#include "afxwin.h"
#include "stdafx.h"
#include "Cqm.h"
#include "string.h"
#include "tchar.h"
#include "hlrese.h"
#include "math.h"
//#include "scale1.h"
int test(int a,int b)
{
return a+b;
}
int ir_sr_read(int addr,int num,char * buffer)
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='R';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	Sleep(100);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}

int lr_read(int addr,int num,char  *buffer)//读LR区	
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='L';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}


int hr_read(int addr,int num,char  *buffer)//读HR区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='H';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}


int tc_pv__read(int addr,int num,char  *buffer)//读定时器/计数器的PV值rc
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='C';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}

int tc_rg__read(int addr,int num,char  *buffer)//读定时器/计数器的完成标志rg
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='G';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}

int ar_read(int addr,int num,char  *buffer)//读AR区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='J';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}

int ar_read(int addr,int num,char  *buffer);//读AR区
int dm_read(int addr,int num,char  *buffer)//读DM区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='R';
	inBuf[1]='D';


	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	inBuf[6]= (num%10000)/ 1000+'0';
	inBuf[7]= (num%1000) / 100+'0';
	inBuf[8]= (num%100) / 10+'0';
	inBuf[9]= (num%10)+'0';
	inBuf[10]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;

	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	Sleep(100);
	ReadFile(gComHandleProc, inBuf, writeBytes+num*4, &writeBytes, NULL);

	int result=AnalysisRDRespone(inBuf, outBuf);
	for(int i=0;i<120;i++)
	{
	buffer[i]=outBuf[i];
	}
	return result;
}
//**********************************
//写IR/SR区
int ir_sr_write(int addr,char * buffer)
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='R';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	if(ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL))
		return 55;
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}
int lr_write(int addr,char * buffer)//写LR区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='L';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}
int hr_write(int addr,char * buffer)////写HR区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='H';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}

int tc_pv__write(int addr,char  *buffer)//写定时器/计数器的PV值rc
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='C';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}
int tc_rg__write(int addr,char  *buffer)//写定时器/计数器的完成标志rg
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='G';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}
int dm_write(int addr,char  *buffer)//写DM区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='D';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
	int i=strlen(buffer);
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	if(ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL))
		return 55;
	return AnalysisRDRespone(inBuf, outBuf);

}



int ar_write(int addr,char  *buffer)//写AR区
{
	char inBuf[120];
	char outBuf[120];
	inBuf[0]='W';
	inBuf[1]='J';
	inBuf[2]= (addr%10000)/ 1000+'0';
	inBuf[3]= (addr%1000) / 100+'0';
	inBuf[4]= (addr%100) / 10+'0';
	inBuf[5]= (addr%10)+'0';
for(unsigned int ii=0;ii<strlen(buffer);ii++)
{
	inBuf[ii+6]=buffer[ii];
}
	inBuf[ii+6]= 0;
	EncodeTextToHostLinkCommand(inBuf, outBuf);
	unsigned long writeBytes;
	WriteFile(gComHandleProc, outBuf, strlen(outBuf), &writeBytes, NULL);
	ReadFile(gComHandleProc, inBuf, 15, &writeBytes, NULL);
	int result=AnalysisRDRespone(inBuf, outBuf);
	return result;
}

⌨️ 快捷键说明

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