|
rllib
1
|
00001 /*************************************************************************** 00002 rlsiemenstcpclient.h - description 00003 ------------------- 00004 begin : Mon Mar 08 2004 00005 copyright : (C) 2004 by Rainer Lehrig 00006 email : lehrig@t-online.de 00007 00008 S7_200 update : Wed Mar 21 2007 00009 copyright : (C) 2007 by Aljosa Merljak 00010 Email : aljosa.merljak@datapan.si 00011 ***************************************************************************/ 00012 00013 /*************************************************************************** 00014 * * 00015 * This library is free software; you can redistribute it and/or modify * 00016 * it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as * 00017 * published by the Free Software Foundation * 00018 * * 00019 ***************************************************************************/ 00020 #ifndef _RL_SIEMENS_TCP_CLIENT_H_ 00021 #define _RL_SIEMENS_TCP_CLIENT_H_ 00022 00023 #include "rldefine.h" 00024 #include "rlmailbox.h" 00025 #include "rlsharedmemory.h" 00026 #include "rlsiemenstcp.h" 00027 00033 class rlSiemensTCPClient : public rlMailbox, rlSharedMemory 00034 { 00035 public: 00036 enum ORG 00037 { 00038 ORG_DB = 1, 00039 ORG_M = 2, 00040 ORG_E = 3, 00041 ORG_A = 4, 00042 ORG_PEPA = 5, 00043 ORG_Z = 6, 00044 ORG_T = 7 00045 }; 00046 rlSiemensTCPClient(const char *mbxname, const char *shmname, int shmsize, int have_to_swap=1); 00047 virtual ~rlSiemensTCPClient(); 00048 int write(int slave, int org, int dbnum, int start, int len, const unsigned char *buf, int function); 00049 int writeBit(int slave, int org, int dbnum, int start, int offset, int len, const unsigned char *buf); 00050 int writeByte(int slave, int org, int dbnum, int start, int len, const unsigned char *val); 00051 int writeFloat(int slave, int org, int dbnum, int start, int len, const float *val); 00052 int writeDword(int slave, int org, int dbnum, int start, int len, const int *val); 00053 int writeShort(int slave, int org, int dbnum, int start, int len, const short *val); 00054 int writeUDword(int slave, int org, int dbnum, int start, int len, const unsigned int *val); 00055 int writeUShort(int slave, int org, int dbnum, int start, int len, const unsigned short *val); 00056 int read(int offset, int len); 00057 float Float(int index); 00058 int Dword(int index); 00059 int Short(int index); 00060 unsigned int UDword(int index); 00061 unsigned int UShort(int index); 00062 unsigned char buf[2048]; // after calling read, the data is here 00063 private: 00064 int have_to_swap; 00065 }; 00066 00067 #endif
1.7.5.1