EasyManua.ls Logo

Eaton MVX9000 - Page 123

Eaton MVX9000
180 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Group 90 — Communications
MVX9000 User Manual 5-75
Descriptions of
Parameter Settings
Communication Program of PC
The following is a simple example of how to write a communication program for
Modbus ASCII mode on a PC using 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 */
} } }

Table of Contents

Related product manuals