Commit b9666421 authored by Pavel Vainerman's avatar Pavel Vainerman

(codegen): добавил новый параметр no_vmonit="1" для секции <variables>,

т.к. по умолчанию для всех переменных "мониторинг" включён.
parent d215f501
......@@ -49,7 +49,6 @@ SQL:
Debug:
- дописать в codegen документацию по запуску и управлению логами через LogServer
Version 2.5
============
- smonit запись значений в файл (csv?,sqlite?)
......
......@@ -865,6 +865,10 @@ end_private(false)
// ===================== &lt;variables&gt; =====================
<xsl:for-each select="//variables/item">
<xsl:if test="normalize-space(@no_vmonit)=''">
vmonit(<xsl:value-of select="@name"/>);
</xsl:if>
<xsl:if test="normalize-space(@min)!=''">
if( <xsl:value-of select="@name"/> &lt; <xsl:value-of select="@min"/> )
{
......
......@@ -35,7 +35,7 @@
<item name="test_long" type="long" max="100" default="110" no_range_exception="1"/>
<item name="test_float" type="float" max="100.0" default="50.0" />
<item name="test_double" type="double" max="100.340" default="52.044" />
<item name="test_bool" type="bool" private="1"/>
<item name="test_bool" type="bool" private="1" no_vmonit="1"/>
<item name="test_str" type="str" default="ddd"/>
</variables>
<smap>
......
......@@ -13,7 +13,7 @@
Name: libuniset2
Version: 2.1
Release: alt7.3
Release: alt7.4
Summary: UniSet - library for building distributed industrial control systems
......@@ -456,6 +456,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
# ..
%changelog
* Mon Jun 08 2015 Pavel Vainerman <pv@altlinux.ru> 2.1-alt7.4
- (codegen): add no_vmonit="1" flag for <variables>
* Sun Jun 07 2015 Pavel Vainerman <pv@altlinux.ru> 2.1-alt7.3
- (vmonitor): added support vmonitor for standart components
(SharedMemory,ModbusSlave,ModbusMaster,UNetUDP)
......
......@@ -126,7 +126,7 @@
- \b no_check_id - no_check_id="1" означает игнорировать (не генерировать исключение) при запуске процесса, если идентификатор датчика не найден.
- \b force="1" - принудительно перезаписывать значение в SharedMemory на каждом шаге. Действует только для \b vartype="out"
- \b loglevel="1" - признак того, что данный датчик управляет логами для этого процесса. См. \ref pg_Codegen_loglevel.
Помимо этого необходимо указывать свойство \b iotype.
\warning Поле \b iotype должно \b ОБЯЗАТЕЛЬНО совпадать с типом датчика к которому
будет привязана данная переменная. Т.к. генерируется код для работы с датчиком в зависимости от его типа.
......@@ -170,6 +170,7 @@
- \b no_range_exception - не генерировать исключение в случае выхода переменной за указанный диапазон (\b min или \b max).
- \b const - const="1" - сгенерировать как константу.
- \b private | \b public | \b protected - Область видимости. По умолчанию: \b protected.
- \b no_vmonit="1" - отключение "удалённого контроля за переменной". См. \ref pg_Codegen_vmonitor.
В генерируемом коде для каждой переменной происходит её инициализация по следующему шаблону (псевдокод):
\code
......
......@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
// --------------------------------------------------------------------------
// generate timestamp: 2015-06-07+03:00
// generate timestamp: 2015-06-08+03:00
// -----------------------------------------------------------------------------
#ifndef UObject_SK_H_
#define UObject_SK_H_
......
......@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/
// --------------------------------------------------------------------------
// generate timestamp: 2015-06-07+03:00
// generate timestamp: 2015-06-08+03:00
// -----------------------------------------------------------------------------
#include <memory>
#include <iomanip>
......@@ -181,6 +181,15 @@ end_private(false)
// ===================== <variables> =====================
// ===================== end of <variables> =====================
vmonit(sleep_msec);
vmonit(resetMsgTime);
vmonit(forceOut);
vmonit(argprefix);
vmonit(idHeartBeat);
vmonit(maxHeartBeat);
vmonit(activateTimeout);
vmonit(smReadyTimeout);
}
// -----------------------------------------------------------------------------
......@@ -364,6 +373,7 @@ UniSetTypes::SimpleInfo* UObject_SK::getInfo()
ostringstream inf;
inf << i->info << endl;
inf << "LogServer: " << logserv_host << ":" << logserv_port << endl;
inf << dumpIO() << endl;
inf << vmon.pretty_str() << endl;
inf << getMonitInfo() << endl;
......
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