Commit 64b66074 authored by Pavel Vainerman's avatar Pavel Vainerman

Убрал все функции работы с датчиками кроме getValue и setValue

parent 1df373a0
...@@ -50,7 +50,6 @@ interface IOController_i : ObjectsManager_i ...@@ -50,7 +50,6 @@ interface IOController_i : ObjectsManager_i
string err; string err;
}; };
/*! Значение не определено /*! Значение не определено
(например: обрыв датчика) (например: обрыв датчика)
*/ */
...@@ -66,33 +65,19 @@ interface IOController_i : ObjectsManager_i ...@@ -66,33 +65,19 @@ interface IOController_i : ObjectsManager_i
UniSetTypes::ObjectId node; /*!< узел на котором он находится */ UniSetTypes::ObjectId node; /*!< узел на котором он находится */
}; };
boolean getState(in SensorInfo si) raises(NameNotFound,Undefined);
long getValue(in SensorInfo si) raises(NameNotFound,Undefined); long getValue(in SensorInfo si) raises(NameNotFound,Undefined);
void setState(in SensorInfo si, in boolean state,
in UniSetTypes::ObjectId sup_id) raises(NameNotFound);
void setValue(in SensorInfo si, in long value, void setValue(in SensorInfo si, in long value,
in UniSetTypes::ObjectId sup_id) raises(NameNotFound); in UniSetTypes::ObjectId sup_id) raises(NameNotFound);
void saveState(in SensorInfo si, in boolean state, in UniversalIO::IOTypes type,
in UniSetTypes::ObjectId sup_id) raises(IOBadParam,NameNotFound);
void saveValue(in SensorInfo si, in long value, in UniversalIO::IOTypes type,
in UniSetTypes::ObjectId sup_id) raises(IOBadParam,NameNotFound);
// установка неопределённого состояния // установка неопределённого состояния
// (пока работает только для аналоговых датчиков) // (пока работает только для аналоговых датчиков)
void setUndefinedState(in SensorInfo si, in boolean undefined, in UniSetTypes::ObjectId sup_id ) void setUndefinedState(in SensorInfo si, in boolean undefined, in UniSetTypes::ObjectId sup_id )
raises(NameNotFound); raises(NameNotFound);
// fast version (не вырабатывает исключения) // fast version (не вырабатывает исключения)
oneway void fastSaveState(in SensorInfo si, in boolean state, in UniversalIO::IOTypes type,
in UniSetTypes::ObjectId sup_id);
oneway void fastSaveValue(in SensorInfo si, in long value, in UniversalIO::IOTypes type,
in UniSetTypes::ObjectId sup_id);
oneway void fastSetState(in SensorInfo si, in boolean state, in UniSetTypes::ObjectId sup_id);
oneway void fastSetValue(in SensorInfo si, in long value, in UniSetTypes::ObjectId sup_id); oneway void fastSetValue(in SensorInfo si, in long value, in UniSetTypes::ObjectId sup_id);
UniversalIO::IOTypes getIOType(in SensorInfo si) raises(NameNotFound); UniversalIO::IOType getIOType(in SensorInfo si) raises(NameNotFound);
// --- Интерфейс для конфигурирования --- // --- Интерфейс для конфигурирования ---
...@@ -113,59 +98,33 @@ interface IOController_i : ObjectsManager_i ...@@ -113,59 +98,33 @@ interface IOController_i : ObjectsManager_i
CalibrateInfo getCalibrateInfo( in SensorInfo si ) raises(NameNotFound); CalibrateInfo getCalibrateInfo( in SensorInfo si ) raises(NameNotFound);
// --- Интерфес получения информации о всех датчиках --- // --- Интерфес получения информации о всех датчиках ---
/*! Информация о дискретном датчике */
struct DigitalIOInfo
{
boolean state; /*!< состояние */
boolean undefined; /*!< признак неопределённости значения */
boolean blocked; /*!< данное значение блокировано другим */
boolean real_state; /*!< запомненное состояние, до блокировки */
UniversalIO::IOTypes type; /*!< тип */
long priority; /*!< приоритет уведомления */
IOController_i::SensorInfo si;
boolean default_val; /*!< значение по умолчанию */
long tv_sec; /*!< время последнего изменения датчика, секунды (gettimeofday) */
long tv_usec; /*!< время последнего изменения датчика, мксек (gettimeofday) */
};
/*! Информация об аналоговом датчике */ /*! Информация об аналоговом датчике */
struct AnalogIOInfo struct SensorIOInfo
{ {
long value; /*!< значение */ long value; /*!< значение */
boolean undefined; /*!< признак неопределённости значения */ boolean undefined; /*!< признак неопределённости значения */
boolean blocked; /*!< данное значение блокировано другим */ boolean blocked; /*!< данное значение блокировано другим */
long real_value; /*!< запомненное состояние, до блокировки */ long real_value; /*!< запомненное состояние, до блокировки */
UniversalIO::IOTypes type; /*!< тип */ UniversalIO::IOType type; /*!< тип */
long priority; /*!< приоритет уведомления */ long priority; /*!< приоритет уведомления */
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
long default_val; /*!< значение по умолчанию */ long default_val; /*!< значение по умолчанию */
CalibrateInfo ci; /*!< калибровочные параметры */ CalibrateInfo ci; /*!< калибровочные параметры */
long tv_sec; /*!< время последнего изменения датчика, секунды (gettimeofday) */ long tv_sec; /*!< время последнего изменения датчика, секунды (gettimeofday) */
long tv_usec; /*!< время последнего изменения датчика, мксек (gettimeofday) */ long tv_usec; /*!< время последнего изменения датчика, мксек (gettimeofday) */
boolean dbignore; /*!< не сохранять изменения в БД */
}; };
typedef sequence<AnalogIOInfo> ASensorInfoSeq; typedef sequence<SensorIOInfo> SensorInfoSeq;
typedef sequence<DigitalIOInfo> DSensorInfoSeq;
ASensorInfoSeq getAnalogSensorsMap(); SensorInfoSeq getSensorsMap();
DSensorInfoSeq getDigitalSensorsMap(); SensorIOInfo getSInfo(in SensorInfo si) raises(NameNotFound);
DigitalIOInfo getDInfo(in SensorInfo si) raises(NameNotFound);
AnalogIOInfo getAInfo(in SensorInfo si) raises(NameNotFound);
// -- Функции работы со списком датчиков -- // -- Функции работы со списком датчиков --
// Для простоты функции сделаны универсальными и не различающими
// дискретные или аналоговые датчики или выходы
/*! Получение состояния датчиков. */
/*! Получение состояния дискретных или аналоговых датчиков. SensorInfoSeq getSensorSeq( in UniSetTypes::IDSeq lst );
При этом используется структура аналоговых (как наиболее полная).
Для определения типа используйте поле 'type'.
*/
ASensorInfoSeq getSensorSeq( in UniSetTypes::IDSeq lst );
/*! Информация о "выходе" */ /*! Информация о "выходе" */
struct OutInfo struct OutInfo
...@@ -198,7 +157,7 @@ interface IOController_i : ObjectsManager_i ...@@ -198,7 +157,7 @@ interface IOController_i : ObjectsManager_i
/*! Информация о дискретном датчике */ /*! Информация о дискретном датчике */
struct ShortMap struct ShortMap
{ {
UniversalIO::IOTypes type; UniversalIO::IOType type;
long value; long value;
long id; long id;
}; };
...@@ -225,17 +184,6 @@ interface IONotifyController_i : IOController_i ...@@ -225,17 +184,6 @@ interface IONotifyController_i : IOController_i
{ {
}; };
/*! Заказ уведомления об изменении дискретного датчика
* \sa UniversalIO::UniversalIOController::askState()
*/
void askState(in SensorInfo si, in UniSetTypes::ConsumerInfo ci, in UniversalIO::UIOCommand cmd ) raises(NameNotFound,IOBadParam);
/*! Заказ уведомления об изменении аналогового датчика
* \sa UniversalIO::UniversalIOController::askValue()
*/
void askValue(in SensorInfo si, in UniSetTypes::ConsumerInfo ci, in UniversalIO::UIOCommand cmd ) raises(NameNotFound,IOBadParam);
/*! Универсальная функция заказа уведомления об изменнии датчика. /*! Универсальная функция заказа уведомления об изменнии датчика.
* Позволяет заказывать как дискретные так и аналоговые датчики * Позволяет заказывать как дискретные так и аналоговые датчики
* \sa UniversalIO::UniversalIOController::askSensor() * \sa UniversalIO::UniversalIOController::askSensor()
...@@ -256,14 +204,6 @@ interface IONotifyController_i : IOController_i ...@@ -256,14 +204,6 @@ interface IONotifyController_i : IOController_i
in long lowLimit, in long hiLimit, in long sensibility, in long lowLimit, in long hiLimit, in long sensibility,
in UniversalIO::UIOCommand cmd ) raises(NameNotFound, IOBadParam, BadRange); in UniversalIO::UIOCommand cmd ) raises(NameNotFound, IOBadParam, BadRange);
/*! Универсальная функция заказа уведомления об изменнии выхода.
* Позволяет заказывать как дискретные так и аналоговые выходы
* \sa UniversalIO::UniversalIOController::askOutput()
*/
void askOutput(in SensorInfo si, in UniSetTypes::ConsumerInfo ci, in UniversalIO::UIOCommand cmd ) raises(NameNotFound,IOBadParam);
/*! /*!
Заказ сразу списка объектов. Заказ сразу списка объектов.
\return Возвращает список объектов заказ по котором не прошёл. \return Возвращает список объектов заказ по котором не прошёл.
...@@ -300,7 +240,7 @@ interface IONotifyController_i : IOController_i ...@@ -300,7 +240,7 @@ interface IONotifyController_i : IOController_i
struct ThresholdList struct ThresholdList
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
UniversalIO::IOTypes type; UniversalIO::IOType type;
long value; long value;
ThresholdInfoSeq tlist; ThresholdInfoSeq tlist;
}; };
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
{ {
typedef string<100> BaseObjectName; typedef string<100> BaseObjectName;
typedef long ObjectId; /*!< идентификатор объекта */ typedef long ObjectId; /*!< идентификатор объекта */
typedef long MessageCode; /*!< код сообщения */
typedef long ThresholdId; /*!< идентификатор порога */ typedef long ThresholdId; /*!< идентификатор порога */
typedef long TimerId; /*!< идентификатор таймера */ typedef long TimerId; /*!< идентификатор таймера */
typedef string<30> ObjectType; /*!< тип объекта */ typedef string<30> ObjectType; /*!< тип объекта */
...@@ -59,7 +58,6 @@ ...@@ -59,7 +58,6 @@
{ {
ObjectId id; ObjectId id;
boolean connected; boolean connected;
ObjectId infserver;
ObjectId dbserver; ObjectId dbserver;
string host; string host;
string port; string port;
...@@ -95,13 +93,13 @@ ...@@ -95,13 +93,13 @@
/*! /*!
* Типы входов/выходов * Типы входов/выходов
*/ */
enum IOTypes enum IOType
{ {
UnknownIOType, UnknownIOType,
DigitalInput, DI, // DigitalInput
DigitalOutput, DO, // DigitalOutput
AnalogInput, AI, // AnalogInput
AnalogOutput AO // AnalogOutput
}; };
/*! Разрешенные команды для всех контроллеров ввода/вывода */ /*! Разрешенные команды для всех контроллеров ввода/вывода */
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
%define oname uniset %define oname uniset
Name: libuniset Name: libuniset
Version: 1.7 Version: 2.0
Release: alt3 Release: alt0.1
Summary: UniSet - library for building distributed industrial control systems Summary: UniSet - library for building distributed industrial control systems
...@@ -335,6 +335,19 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname ...@@ -335,6 +335,19 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
%exclude %_pkgconfigdir/libUniSet.pc %exclude %_pkgconfigdir/libUniSet.pc
%changelog %changelog
2.0
----
- rename "IOTypes" --> "IOType"
- rename DigitalInput --> DI
- rename DigitalOutput --> DO
- rename AnalogInput --> AI
- rename AnalogOutput --> AO
- remove deprecated services: InfoServer,TimeService,SystemGuard
- remove deprecated intefaces: MessageInterface
- remove deprecated messages: AlarmMessage, InfoMessage, DBMessage
* Tue Dec 10 2013 Pavel Vainerman <pv@altlinux.ru> 1.7-alt3 * Tue Dec 10 2013 Pavel Vainerman <pv@altlinux.ru> 1.7-alt3
- add RRDServer - add RRDServer
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# See doc: http://www.gnu.org/software/hello/manual/autoconf/Generic-Programs.html # See doc: http://www.gnu.org/software/hello/manual/autoconf/Generic-Programs.html
# AC_PREREQ(2.59) # AC_PREREQ(2.59)
AC_INIT([uniset], [1.7.0], pv@etersoft.ru) AC_INIT([uniset], [2.0.0], pv@etersoft.ru)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME,AC_PACKAGE_VERSION) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME,AC_PACKAGE_VERSION)
# AC_CONFIG_MACRO_DIR([m4]) # AC_CONFIG_MACRO_DIR([m4])
...@@ -30,7 +30,7 @@ AC_ENABLE_SHARED(yes) ...@@ -30,7 +30,7 @@ AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no) AC_ENABLE_STATIC(no)
AM_PROG_LIBTOOL AM_PROG_LIBTOOL
LIBVER=1:7:0 LIBVER=2:0:0
AC_SUBST(LIBVER) AC_SUBST(LIBVER)
# Checks for libraries. # Checks for libraries.
...@@ -227,7 +227,6 @@ AC_CONFIG_FILES([Makefile ...@@ -227,7 +227,6 @@ AC_CONFIG_FILES([Makefile
Utilities/NullController/Makefile Utilities/NullController/Makefile
Utilities/SViewer-text/Makefile Utilities/SViewer-text/Makefile
Utilities/SMonit/Makefile Utilities/SMonit/Makefile
Utilities/InfoServer/Makefile
Utilities/MBTester/Makefile Utilities/MBTester/Makefile
Utilities/SImitator/Makefile Utilities/SImitator/Makefile
Utilities/codegen/Makefile Utilities/codegen/Makefile
......
...@@ -297,21 +297,21 @@ using namespace UniSetTypes; ...@@ -297,21 +297,21 @@ using namespace UniSetTypes;
} }
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
UniversalIO::IOTypes UniSetTypes::getIOType( const std::string stype ) UniversalIO::IOType UniSetTypes::getIOType( const std::string stype )
{ {
if ( stype == "DI" || stype == "di" ) if ( stype == "DI" || stype == "di" )
return UniversalIO::DigitalInput; return UniversalIO::DI;
if( stype == "AI" || stype == "ai" ) if( stype == "AI" || stype == "ai" )
return UniversalIO::AnalogInput; return UniversalIO::AI;
if ( stype == "DO" || stype == "do" ) if ( stype == "DO" || stype == "do" )
return UniversalIO::DigitalOutput; return UniversalIO::DO;
if ( stype == "AO" || stype == "ao" ) if ( stype == "AO" || stype == "ao" )
return UniversalIO::AnalogOutput; return UniversalIO::AO;
return UniversalIO::UnknownIOType; return UniversalIO::UnknownIOType;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
std::ostream& UniSetTypes::operator<<( std::ostream& os, const UniversalIO::IOTypes t ) std::ostream& UniSetTypes::operator<<( std::ostream& os, const UniversalIO::IOType t )
{ {
if( t == UniversalIO::AnalogInput ) if( t == UniversalIO::AnalogInput )
return os << "AI"; return os << "AI";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment