UniSet
1.4.0
|
#include <MBExchange.h>
Классы | |
struct | InitRegInfo |
struct | RegInfo |
struct | RSProperty |
struct | RTUDevice |
Открытые типы | |
enum | ExchangeMode { emNone, emWriteOnly, emReadOnly, emSkipSaveToSM, emNone, emWriteOnly, emReadOnly, emSkipSaveToSM } |
enum | DeviceType { dtUnknown, dtRTU, dtMTR, dtRTU188, dtUnknown, dtRTU, dtMTR, dtRTU188 } |
enum | Timer { tmExchange, tmExchange } |
enum | ExchangeMode { emNone, emWriteOnly, emReadOnly, emSkipSaveToSM, emNone, emWriteOnly, emReadOnly, emSkipSaveToSM } |
enum | DeviceType { dtUnknown, dtRTU, dtMTR, dtRTU188, dtUnknown, dtRTU, dtMTR, dtRTU188 } |
enum | Timer { tmExchange, tmExchange } |
typedef std::list< RSProperty > | PList |
typedef unsigned long | RegID |
typedef std::map< RegID, RegInfo * > | RegMap |
typedef std::map < ModbusRTU::ModbusAddr, RTUDevice * > | RTUDeviceMap |
typedef std::list< RSProperty > | PList |
typedef unsigned long | RegID |
typedef std::map< RegID, RegInfo * > | RegMap |
typedef std::map < ModbusRTU::ModbusAddr, RTUDevice * > | RTUDeviceMap |
Открытые члены | |
MBExchange (UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mb") | |
void | printMap (RTUDeviceMap &d) |
void | execute () |
MBExchange (UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory *ic=0, const std::string prefix="mb") | |
void | printMap (RTUDeviceMap &d) |
void | execute () |
Открытые статические члены | |
static void | help_print (int argc, const char *const *argv) |
static DeviceType | getDeviceType (const std::string dtype) |
static std::ostream & | print_plist (std::ostream &os, PList &p) |
static RegID | genRegID (const ModbusRTU::ModbusData r, const int fn) |
static void | help_print (int argc, const char *const *argv) |
static DeviceType | getDeviceType (const std::string dtype) |
static std::ostream & | print_plist (std::ostream &os, PList &p) |
static RegID | genRegID (const ModbusRTU::ModbusData r, const int fn) |
Статические открытые данные | |
static const int | NoSafetyState = -1 |
Защищенные типы | |
typedef std::list< InitRegInfo > | InitList |
typedef std::list< InitRegInfo > | InitList |
Защищенные члены | |
virtual void | step () |
virtual void | processingMessage (UniSetTypes::VoidMessage *msg) |
virtual void | sysCommand (UniSetTypes::SystemMessage *msg) |
virtual void | sensorInfo (UniSetTypes::SensorMessage *sm) |
virtual void | timerInfo (UniSetTypes::TimerMessage *tm) |
virtual void | askSensors (UniversalIO::UIOCommand cmd) |
virtual void | initOutput () |
virtual void | sigterm (int signo) |
virtual bool | activateObject () |
Активизация объекта (переопределяется для необходимых действий после активизации) | |
virtual void | initIterators () |
void | firstInitRegisters () |
bool | preInitRead (InitList::iterator &p) |
bool | initSMValue (ModbusRTU::ModbusData *data, int count, RSProperty *p) |
virtual ModbusClient * | initMB (bool reopen=false)=0 |
virtual void | poll () |
bool | pollRTU (RTUDevice *dev, RegMap::iterator &it) |
void | updateSM () |
void | updateRTU (RegMap::iterator &it) |
void | updateMTR (RegMap::iterator &it) |
void | updateRTU188 (RegMap::iterator &it) |
void | updateRSProperty (RSProperty *p, bool write_only=false) |
virtual void | updateRespondSensors () |
bool | checkUpdateSM (bool wrFunc) |
bool | checkPoll (bool wrFunc) |
bool | checkProcActive () |
void | setProcActive (bool st) |
void | waitSMReady () |
void | readConfiguration () |
bool | readItem (UniXML &xml, UniXML_iterator &it, xmlNode *sec) |
bool | initItem (UniXML_iterator &it) |
void | initDeviceList () |
void | initOffsetList () |
RTUDevice * | addDev (RTUDeviceMap &dmap, ModbusRTU::ModbusAddr a, UniXML_iterator &it) |
RegInfo * | addReg (RegMap &rmap, RegID id, ModbusRTU::ModbusData r, UniXML_iterator &it, RTUDevice *dev, RegInfo *rcopy=0) |
RSProperty * | addProp (PList &plist, RSProperty &p) |
bool | initMTRitem (UniXML_iterator &it, RegInfo *p) |
bool | initRTU188item (UniXML_iterator &it, RegInfo *p) |
bool | initRSProperty (RSProperty &p, UniXML_iterator &it) |
bool | initRegInfo (RegInfo *r, UniXML_iterator &it, RTUDevice *dev) |
bool | initRTUDevice (RTUDevice *d, UniXML_iterator &it) |
virtual bool | initDeviceInfo (RTUDeviceMap &m, ModbusRTU::ModbusAddr a, UniXML_iterator &it) |
void | rtuQueryOptimization (RTUDeviceMap &m) |
virtual void | step () |
virtual void | processingMessage (UniSetTypes::VoidMessage *msg) |
virtual void | sysCommand (UniSetTypes::SystemMessage *msg) |
virtual void | sensorInfo (UniSetTypes::SensorMessage *sm) |
virtual void | timerInfo (UniSetTypes::TimerMessage *tm) |
virtual void | askSensors (UniversalIO::UIOCommand cmd) |
virtual void | initOutput () |
virtual void | sigterm (int signo) |
virtual bool | activateObject () |
Активизация объекта (переопределяется для необходимых действий после активизации) | |
virtual void | initIterators () |
void | firstInitRegisters () |
bool | preInitRead (InitList::iterator &p) |
bool | initSMValue (ModbusRTU::ModbusData *data, int count, RSProperty *p) |
virtual ModbusClient * | initMB (bool reopen=false)=0 |
virtual void | poll () |
bool | pollRTU (RTUDevice *dev, RegMap::iterator &it) |
void | updateSM () |
void | updateRTU (RegMap::iterator &it) |
void | updateMTR (RegMap::iterator &it) |
void | updateRTU188 (RegMap::iterator &it) |
void | updateRSProperty (RSProperty *p, bool write_only=false) |
virtual void | updateRespondSensors () |
bool | checkUpdateSM (bool wrFunc) |
bool | checkPoll (bool wrFunc) |
bool | checkProcActive () |
void | setProcActive (bool st) |
void | waitSMReady () |
void | readConfiguration () |
bool | readItem (UniXML &xml, UniXML_iterator &it, xmlNode *sec) |
bool | initItem (UniXML_iterator &it) |
void | initDeviceList () |
void | initOffsetList () |
RTUDevice * | addDev (RTUDeviceMap &dmap, ModbusRTU::ModbusAddr a, UniXML_iterator &it) |
RegInfo * | addReg (RegMap &rmap, RegID id, ModbusRTU::ModbusData r, UniXML_iterator &it, RTUDevice *dev, RegInfo *rcopy=0) |
RSProperty * | addProp (PList &plist, RSProperty &p) |
bool | initMTRitem (UniXML_iterator &it, RegInfo *p) |
bool | initRTU188item (UniXML_iterator &it, RegInfo *p) |
bool | initRSProperty (RSProperty &p, UniXML_iterator &it) |
bool | initRegInfo (RegInfo *r, UniXML_iterator &it, RTUDevice *dev) |
bool | initRTUDevice (RTUDevice *d, UniXML_iterator &it) |
virtual bool | initDeviceInfo (RTUDeviceMap &m, ModbusRTU::ModbusAddr a, UniXML_iterator &it) |
void | rtuQueryOptimization (RTUDeviceMap &m) |
Защищенные данные | |
bool | allInitOK |
RTUDeviceMap | rmap |
InitList | initRegList |
UniSetTypes::uniset_mutex | pollMutex |
xmlNode * | cnode |
std::string | s_field |
std::string | s_fvalue |
SMInterface * | shm |
bool | initPause |
UniSetTypes::uniset_mutex | mutex_start |
bool | force |
bool | force_out |
bool | mbregFromID |
int | polltime |
timeout_t | sleepPause_usec |
PassiveTimer | ptHeartBeat |
UniSetTypes::ObjectId | sidHeartBeat |
int | maxHeartBeat |
IOController::AIOStateList::iterator | aitHeartBeat |
UniSetTypes::ObjectId | test_id |
UniSetTypes::ObjectId | sidExchangeMode |
IOController::AIOStateList::iterator | aitExchangeMode |
long | exchangeMode |
UniSetTypes::uniset_mutex | actMutex |
bool | activated |
int | activateTimeout |
bool | noQueryOptimization |
bool | no_extimer |
std::string | prefix |
timeout_t | stat_time |
int | poll_count |
PassiveTimer | ptStatistic |
std::string | prop_prefix |
ModbusClient * | mb |
PassiveTimer | ptTimeout |
bool | pollActivated |
int | recv_timeout |
Друзья | |
std::ostream & | operator<< (std::ostream &os, const ExchangeMode &em) |
std::ostream & | operator<< (std::ostream &os, const DeviceType &dt) |
std::ostream & | operator<< (std::ostream &os, const RSProperty &p) |
std::ostream & | operator<< (std::ostream &os, RegInfo &r) |
std::ostream & | operator<< (std::ostream &os, RegInfo *r) |
std::ostream & | operator<< (std::ostream &os, RTUDevice &d) |
std::ostream & | operator<< (std::ostream &os, RTUDeviceMap &d) |
std::ostream & | operator<< (std::ostream &os, const ExchangeMode &em) |
std::ostream & | operator<< (std::ostream &os, const DeviceType &dt) |
std::ostream & | operator<< (std::ostream &os, const RSProperty &p) |
std::ostream & | operator<< (std::ostream &os, RegInfo &r) |
std::ostream & | operator<< (std::ostream &os, RegInfo *r) |
std::ostream & | operator<< (std::ostream &os, RTUDevice &d) |
std::ostream & | operator<< (std::ostream &os, RTUDeviceMap &d) |
Режимы работы процесса обмена
Режимы работы процесса обмена
bool MBExchange::activateObject | ( | ) | [protected, virtual] |
Активизация объекта (переопределяется для необходимых действий после активизации)
Переопределяет метод предка UniSetObject.
virtual bool MBExchange::activateObject | ( | ) | [protected, virtual] |
Активизация объекта (переопределяется для необходимых действий после активизации)
Переопределяет метод предка UniSetObject.
void MBExchange::help_print | ( | int | argc, |
const char *const * | argv | ||
) | [static] |
глобальная функция для вывода help-а
Переопределяется в MBTCPMaster, MBTCPMaster, RTUExchange и RTUExchange.
static void MBExchange::help_print | ( | int | argc, |
const char *const * | argv | ||
) | [static] |
глобальная функция для вывода help-а
Переопределяется в MBTCPMaster, MBTCPMaster, RTUExchange и RTUExchange.
void MBExchange::processingMessage | ( | UniSetTypes::VoidMessage * | msg | ) | [protected, virtual] |
обработка приходящих сообщений
Переопределяет метод предка UniSetObject.
virtual void MBExchange::processingMessage | ( | UniSetTypes::VoidMessage * | msg | ) | [protected, virtual] |
обработка приходящих сообщений
Переопределяет метод предка UniSetObject.
void MBExchange::sigterm | ( | int | signo | ) | [protected, virtual] |
Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.
Переопределяет метод предка UniSetObject.
virtual void MBExchange::sigterm | ( | int | signo | ) | [protected, virtual] |
Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.
Переопределяет метод предка UniSetObject.
long MBExchange::exchangeMode [protected] |
режим работы см. ExchangeMode
bool MBExchange::force [protected] |
флаг означающий, что надо сохранять в SM, даже если значение не менялось
bool MBExchange::force_out [protected] |
флаг означающий, принудительного чтения выходов
InitList MBExchange::initRegList [protected] |
список регистров для инициализации
int MBExchange::polltime [protected] |
переодичность обновления данных, [мсек]
std::string MBExchange::prop_prefix [protected] |
префикс для считывания параметров обмена
PassiveTimer MBExchange::ptStatistic [protected] |
таймер для сбора статистики обмена
UniSetTypes::ObjectId MBExchange::sidExchangeMode [protected] |
иденидентификатор для датчика режима работы
timeout_t MBExchange::stat_time [protected] |
время сбора статистики обмена