Chapter 4 Parameters
VFD-EL-W 
4-85 
 
Explanation of exception codes: 
Exception code 
Explanation 
01 
Illegal function code: 
The function code received in the command message is not available for the AC 
motor drive.  
02 
Illegal data address: 
The data address received in the command message is not available for the AC 
motor drive. 
03 
Illegal data value: 
The data value received in the command message is not available for the AC 
motor drive. 
04 
Slave device failure: 
The AC motor drive is unable to perform the requested action. 
10 
Communication time-out: 
If Pr.09.03 is not equal to 0.0, and Pr.09.02 = 0–2, and there is no communication 
on the bus during the time-out detection period (Pr.09.03), the keypad displays 
“cE10”. 
 
7. Communication program for a PC: 
The following is a simple example of how to write a communication program for Modbus ASCII mode on a 
PC in the C language.   
#include<stdio.h> 
#include<dos.h> 
#include<conio.h> 
#include<process.h> 
#define PORT 0x03F8  /* the address of COM1 */ 
/* the address offset value relative to COM1 */ 
#define THR  0x0000 
#define RDR  0x0000 
#define BRDL  0x0000 
#define IER  0x0001 
#define BRDH 0x0001 
#define LCR  0x0003 
#define MCR  0x0004 
#define LSR  0x0005 
#define MSR  0x0006 
unsigned char rdat[60]; 
/* read 2 data from address 2102H of AC drive with address 1 */ 
unsigned char tdat[60]={':','0','1','0','3','2','1','0',’2', '0','0','0','2','D','7','\r','\n'}; 
void main(){ 
int i; 
outportb(PORT+MCR,0x08);            /* interrupt enable */ 
outportb(PORT+IER,0x01);            /* interrupt as data in */ 
outportb(PORT+LCR,(inportb(PORT+LCR) | 0x80)); 
/* the BRDL/BRDH can be access as LCR.b7==1 */ 
outportb(PORT+BRDL,12);             /* set baudrate=9600, 12=115200/9600*/ 
outportb(PORT+BRDH,0x00); 
outportb(PORT+LCR,0x06);            /* set protocol, <7,N,2>=06H, <7,E,1>=1AH,  <7,O,1>=0AH, 
<8,N,2>=07H, <8,E,1>=1BH, <8,O,1>=0BH   */ 
for(i=0;i<=16;i++){ 
while(!(inportb(PORT+LSR) & 0x20)); /* wait until THR empty */ 
outportb(PORT+THR,tdat[i]);       /* send data to THR */    } 
i=0; 
while(!kbhit()){ 
if(inportb(PORT+LSR) & 0x01){ /* b0==1, read data ready */ 
rdat[i++]=inportb(PORT+RDR); /* read data form RDR */ 
}    }     } 
 
09.05  Reserved