00001
00002
00003
00004
00005
00006
00007
00008 #ifndef INCLUDE_MODBUS_H
00009 #define INCLUDE_MODBUS_H
00010
00011 #include "midas.h"
00012
00013 #define MODBUS_FUNC3 3
00014 #define MODBUS_FUNC4 4
00015 #define MODBUS_FUNC6 6
00016
00017 class ModbusTcp
00018 {
00019 public:
00020 bool fTrace;
00021 int fSocket;
00022 int fReadTimeout_sec;
00023
00024 public:
00025 ModbusTcp();
00026
00027 int Connect(const char* address);
00028 int Disconnect();
00029
00030 int ReadRegister(int slaveId, int ireg);
00031 int ReadRegisters(int slaveId, int ireg, int numReg, WORD data[]);
00032 int WriteRegister(int slaveId, int ireg, int value);
00033
00034 int ReadRegister(int slaveId, int func, int ireg);
00035 int ReadRegisters(int slaveId, int func, int ireg, int numReg, WORD data[]);
00036 int WriteRegister(int slaveId, int func, int ireg, int value);
00037
00038
00039
00040 int Function3(int slaveId, int firstReg, int numReg);
00041 int Function4(int slaveId, int firstReg, int numReg);
00042 int Function6(int slaveId, int register, int value);
00043
00044 int Write(const char* buf, int length);
00045 int Read(char* buf, int length);
00046 };
00047
00048 #endif
00049