rllib  1
rlsiemenstcpclient.h
Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines