150 Appendix 2 Communication Protocol
EV1000 Series General Purpose Variable Speed Drive User Manual
strcpy(set_frequency,buf);
/*combine frame*/
send_comd(set_frequency,"HEX");
/*set 30.00Hz, HEX display*/
printf("\nPress anykey to stop ...");
while(!kbhit());
/*wait for keypad input*/
send_comd(stop_inverter,"ASCII");
/*send Stop command, ASCII
dispaly*/
}
void send_comd(char *sendstr,char *display_type)
{
unsigned int i;
char buf[5];
/*for display buffer*/
printf("\nSend(%s):",display_type);
for(i=0;i<strlen(sendstr);i++){
/*send frame command*/
outportb(PORT_ADDR,sendstr[i]);
delay(delaytime);
/*delaytime for finish sending
command*/
if(display_type[0]=='H')
/*determine display format*/
{printf("%02x ",sendstr[i]);}
/*HEX format*/
else{printf("%c",sendstr[i]);}
/*ASCII format*/
}
}
void checksum(char *sendstr,char result_sum[])
{
unsigned int i,sum=0;
static char sum_string[5];
/*calculatethe sum of bytes*/
for(i=0;i<strlen(sendstr);i++)sum+=(unsigned int)sendstr[i];
sprintf(sum_string,"%04x",sum);
for(i=0;i<4;i++)
result_sum[i]=toupper(sum_string[i]);
/*covert to capital letter/
result_sum[i]=0x0;
/*tail of character string*/
}
/*return checksum ASCII
character string*/
艾默生变频器、艾默生CT高级授权代理商--广州盟雄 020-85543394 qq:2294731312