深圳中达优控 —— 宏指令 —— 内部库函数
内部库函数
组态软件内部提供了很多库函数,可直接调用,无须包含其他头文件,函数名区分大小写:
函数原型:
int ADDSUM(unsigned char source[], int num)
函数功能:
计算数组校验和.
示例代码:
unsigned char data[5] = {0x01,0x02,0x03,0x04,0x20};
int nCheckSum = 0;
nCheckSum = ADDSUM(data,5); // 结果:0x2A
函数原型:
short ASCII2DEC(unsigned char source[],int num)
函数功能:
将ASCII码字符串转换成十进制数值.
示例代码:
unsigned char data[5] = {'1','2','3',0x34,0x35};
short nRet = 0;
nRet = ASCII2DEC(data,sizeof(data)); // 结果:12345
函数原型:
float ASCII2FLOAT(char source[],int num)
函数功能:
将ASCII码字符串转换成浮点数值.
示例代码:
unsigned char data[5] = {'1','2','.','4','5'};
float nRet = 0;
nRet = ASCII2FLOAT(data,sizeof(data)); // 结果:12.45
函数原型:
short ASCII2HEX(char source[],int num)
函数功能:
将ASCII码字符串转换成十六进制数值.
示例代码:
unsigned char data[5] = {'1','2','3','4','5'};
short nRet = 0;
nRet = ASCII2HEX(data,sizeof(data)); // 结果:0x12345
函数原型:
short BCD2BIN(short source)
函数功能:
将BCD码数值转换成十进制数值.
示例代码:
short data = 0x1234;
short nRet = 0;
nRet = BCD2BIN(data); // 结果:1234
函数原型:
short BIN2BCD(short source)
函数功能:
将十进制数值转换成BCD码数值.
示例代码:
short data = 1234;
short nRet = 0;
nRet = BIN2BCD(data); // 结果:0x1234
函数原型:
short CRC(char source[],int num)
函数功能:
计算数组CRC校验值,16位.
示例代码:
short data = {0x01,0x02,0x03,0x04,0x05};
short nRet = 0;
nRet = CRC(data,sizeof(data));
函数原型:
void DEC2ASCII(char *dest, unsigned short source, int number)
函数功能:
计算数组CRC校验值,16位.
示例代码:
short source = 5678;
char szRet = {0x00};
DEC2ASCII(szRet,source,4);
// szRet[0] = '5'
// szRet[1] = '6'
// szRet[2] = '7'
// szRet[3] = '8'
函数原型:
unsigned char FLOAT2ASCII(float value, unsigned char *array)
函数功能:
将浮点数转换为字符串.
示例代码:
float nValue = 56.78;
unsigned char data[5] = {0x00};
DEC2ASCII(szRet,source,5);
// szRet[0] = '5'
// szRet[1] = '6'
// szRet[2] = '.'
// szRet[3] = '7'
// szRet[4] = '8'
函数原型:
int GETBIT(int source, short nBitPos)
函数功能:
将浮点数转换为字符串.
示例代码:
int nValue = 0x05; // 二进制101
int nBit1,nBit2,nBit3;
nBit1 = GETBIT(nValue,0);
nBit2 = GETBIT(nValue,1);
nBit3 = GETBIT(nValue,2);
// nBit1 = 1
// nBit2 = 0
// nBit3 = 1
更多资料文档与教程:
百度云盘下载
详细的参数请参阅
深圳中达优控官网
技术参数