Files
sicspsi/modbus.h
2007-02-23 12:32:24 +00:00

39 lines
1.0 KiB
C

/*---------------------------------------------------------------------------
modbus.h
Communication routines for Eurotherm ModBus instruments
Markus Zolliker, Aug 2005
----------------------------------------------------------------------------*/
#ifndef MODBUS_H
#define MODBUS_H
#include "ease.h"
#define MODBUS_BAD_CRC -3090
typedef enum {modBusFloat, modBusInt, modBusTime} ModBusType;
int ModBusHandler(void *eab);
void ModBusPutFloats(EaseBase *eab, int adr, int npar, float val[]);
/* put floats with contiguous adresses */
void ModBusRequestValues(EaseBase *eab, int adr, int npar);
/* request floats or time (not int) with contiguous adresses */
float ModBusGet(EaseBase *eab, int adr, int type);
/* get value from the ModBusRequestValues command (no int!) */
void ModBusRequestValue(EaseBase *eab, int adr, int type);
/* request one value of arbitrary type */
float ModBusGetValue(EaseBase *eab, int type);
/* get this value */
void ModBusPutValue(EaseBase *eab, int adr, int type, float val);
/* put one value of arbitrary type */
#endif