123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef S7__PLC__H
- #define S7__PLC__H
- #include <s7_client.h>
- #include <mutex>
- #include <iostream>
- class S7PLC {
- public:
- #define HTON(T) ((T) << 8) | ((T) >> 8)
- protected:
- bool bConnected_;
- std::mutex mutex_;
- TSnap7Client client_;
- public:
- S7PLC();
- ~S7PLC();
- bool connect(std::string ip);
- bool getConnection();
- bool ReadShorts(int DBNumber, int start, int size, short *pdata);
- bool WriteShorts(int DBNumber, int start, int size, short *pdata);
- void disconnect();
- private:
- bool read_dbs(int DBNumber, int start, int size, void *pdata);
- bool write_dbs(int DBNumber, int start, int size, void *pdata);
- void reverse_byte(void *pdata, int num_byte, void *out);
- };
- #endif // !S7__PLC__H
|