📄 msz_rab.lib
字号:
/***************************************************************************\
MODBus Slave Serial Drivers for Rabbit 2000
Copyright (c) 2002 Z-World, Inc.
Copyright (c) 1998, CFControls.
Portions Copyright (c) 1995, Progressive Solutions.
\***************************************************************************/
/*** Beginheader */
#ifndef __MSZ_RAB_LIB
#define __MSZ_RAB_LIB
#use "MS_RAB.LIB" // MODBus Slave Library
/*** Endheader */
/***************************************************************************\
MODBus Slave ASCII Driver
\***************************************************************************/
/*** BeginHeader msaAinit */
int msaAinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serAgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serAread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msAtx();
nDone = serAwrite(pcMess, wLen);
msArx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaAinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaAinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port A as a Modbus ASCII Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaAinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msAinit(qBaud);
}
/*** BeginHeader msaBinit */
int msaBinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serBgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serBread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msBtx();
nDone = serBwrite(pcMess, wLen);
msBrx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaBinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaBinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port B as a Modbus ASCII Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaBinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msBinit(qBaud);
}
/*** BeginHeader msaCinit */
int msaCinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serCgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serCread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msCtx();
nDone = serCwrite(pcMess, wLen);
msCrx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaCinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaCinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port C as a Modbus ASCII Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaCinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msCinit(qBaud);
}
/*** BeginHeader msaDinit */
int msaDinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serDgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serDread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msDtx();
nDone = serDwrite(pcMess, wLen);
msDrx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaDinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaDinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port D as a Modbus ASCII Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaDinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msDinit(qBaud);
}
/*** BeginHeader */
#if ( _CPU_ID_ >= R3000 )
/*** EndHeader */
/*** BeginHeader msaEinit */
int msaEinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serEgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serEread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msEtx();
nDone = serEwrite(pcMess, wLen);
msErx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaEinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaEinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port E as a Modbus ASCII Slave.
(For R3000 CPU's or higher only)
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaEinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msEinit(qBaud);
}
/*** BeginHeader msaFinit */
int msaFinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serFgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serFread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int nDone;
msFtx();
nDone = serFwrite(pcMess, wLen);
msFrx();
return nDone;
}
/* START FUNCTION DESCRIPTION *****************************************
msaFinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msaFinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port F as a Modbus ASCII Slave.
(For R3000 CPU's or higher only)
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msaFinit(unsigned wAddr, unsigned qBaud)
{
msaInit(wAddr); // Init ASCII Bridge
return msFinit(qBaud);
}
/*** BeginHeader */
#endif // #if (_CPU_ID_ >= R3000)
/*** EndHeader */
/***************************************************************************\
MODBus Slave RTU Driver
\***************************************************************************/
/*** BeginHeader msrAinit */
int msrAinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serAgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serAread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int done;
msAtx();
done = serAwrite(pcMess, wLen);
msArx();
return done;
}
/* START FUNCTION DESCRIPTION *****************************************
msrAinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msrAinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port A as a Modbus RTU Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msrAinit(unsigned wAddr, unsigned qBaud)
{
msrInit(wAddr, 1 + 35000u/qBaud);
return msAinit(qBaud);
}
/*** BeginHeader msrBinit */
int msrBinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serBgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serBread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int done;
msBtx();
done = serBwrite(pcMess, wLen);
msBrx();
return done;
}
/* START FUNCTION DESCRIPTION *****************************************
msrBinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msrBinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port B as a Modbus RTU Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msrBinit(unsigned wAddr, unsigned qBaud)
{
msrInit(wAddr, 1 + 35000u/qBaud);
return msBinit(qBaud);
}
/*** BeginHeader msrCinit */
int msrCinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
return( serCgetc() );
}
int msXread(void *data, int length, unsigned long tmout)
{
return( serCread(data, length, tmout) );
}
nodebug
int msSend(char *pcMess, unsigned wLen)
{
int done;
msCtx();
done = serCwrite(pcMess, wLen);
msCrx();
return done;
}
/* START FUNCTION DESCRIPTION *****************************************
msrCinit <MSZ_RAB.LIB>
NOTE: MSZ_RAB.LIB functions are generally not reentrant.
SYNTAX: int msrCinit(unsigned wAddr, unsigned long qBaud)
DESCRIPTION: Initialize serial port C as a Modbus RTU Slave.
PARAMETER1: slave address.
PARAMETER2: baud rate (bits per second).
RETURN VALUE: 1 if successful, 0 if unsupported baud rate.
END DESCRIPTION ******************************************************/
nodebug
int msrCinit(unsigned wAddr, unsigned qBaud)
{
msrInit(wAddr, 1 + 35000u/qBaud);
return msCinit(qBaud);
}
/*** BeginHeader msrDinit */
int msrDinit(unsigned, unsigned);
/*** EndHeader */
int msXgetc()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -