|
|
@@ -83,7 +83,7 @@ void Input_IP(string& IP, unsigned int *Port_number) |
|
|
|
* 功能 : 选择功能码 |
|
|
|
* 描述 : 在功能码 0x01 0x03 0x0F 0x10中选择一个功能码 |
|
|
|
* 输入 : 无 |
|
|
|
* 输出 : 选择的功能码 |
|
|
|
* 输出 : Function_code 选择的功能码 |
|
|
|
*********************************************************************************************/ |
|
|
|
int Input_Function_code(void) |
|
|
|
{ |
|
|
@@ -107,3 +107,67 @@ int Input_Function_code(void) |
|
|
|
} while (Function_code != 0x01 && Function_code != 0x03 && Function_code != 0x0F && Function_code != 0x10); |
|
|
|
return Function_code; |
|
|
|
} |
|
|
|
|
|
|
|
/********************************************************************************************* |
|
|
|
* 功能 : 输入操作起始地址码 |
|
|
|
* 描述 : 起始地址码,最大值65535 |
|
|
|
* 输入 : 无 |
|
|
|
* 输出 : Starting_address 操作起始地址码 |
|
|
|
*********************************************************************************************/ |
|
|
|
unsigned int Input_Starting_address(void) |
|
|
|
{ |
|
|
|
unsigned int Starting_address; |
|
|
|
int i = 1; |
|
|
|
printf("请输入操作(十进制)起始地址 \n"); |
|
|
|
do |
|
|
|
{ |
|
|
|
if (i == 1) |
|
|
|
{ |
|
|
|
i = 0; |
|
|
|
cout << "请输入操作(十进制)起始地址:"; |
|
|
|
} |
|
|
|
else |
|
|
|
cout << "请重新输入操作(十进制)起始地址"; |
|
|
|
cin >> Starting_address; |
|
|
|
cin.clear(); |
|
|
|
cin.sync(); |
|
|
|
} while (Starting_address > 65535 || Starting_address < 0); |
|
|
|
return Starting_address; |
|
|
|
} |
|
|
|
|
|
|
|
/********************************************************************************************* |
|
|
|
* 功能 : 输入操作数量 |
|
|
|
* 描述 : 操作数量,0x01 1-200 0x03 1-125 0x0xF 1-1968 0x10 1-123 |
|
|
|
* 输入 : Function_code 选择的功能码类型 |
|
|
|
* 输出 : Operations_Number 对应功能码类型的操作数量 |
|
|
|
*********************************************************************************************/ |
|
|
|
unsigned int Input_Operations_Number(int Function_code) |
|
|
|
{ |
|
|
|
unsigned int Operations_Number; |
|
|
|
int i = 1; |
|
|
|
bool flage = true; |
|
|
|
printf(" 功能码 0x01 0x03 0x0F 0x10\n"); |
|
|
|
printf("操作数量 1-2000 1-125 1-1968 1-123\n"); |
|
|
|
do |
|
|
|
{ |
|
|
|
if (i == 1) |
|
|
|
{ |
|
|
|
i = 0; |
|
|
|
cout << "请输入操作(十进制)数量:"; |
|
|
|
} |
|
|
|
else |
|
|
|
cout << "请重新输入操作(十进制)数量"; |
|
|
|
cin >> Operations_Number; |
|
|
|
cin.clear(); |
|
|
|
cin.sync(); |
|
|
|
if (Function_code == 0x01 && Operations_Number >= 1 && Operations_Number <= 2000) |
|
|
|
flage = false; |
|
|
|
if (Function_code == 0x03 && Operations_Number >= 1 && Operations_Number <= 125) |
|
|
|
flage = false; |
|
|
|
if (Function_code == 0x0F && Operations_Number >= 1 && Operations_Number <= 1968) |
|
|
|
flage = false; |
|
|
|
if (Function_code == 0x10 && Operations_Number >= 1 && Operations_Number <= 123) |
|
|
|
flage = false; |
|
|
|
} while (flage); |
|
|
|
return Operations_Number; |
|
|
|
} |