\warning По умолчанию, ВСЕ "выходы"(out_xxx) перезаписывают свои значения в SharedMemory(SM) только по изменению.
Поэтому если в вашем процессе вы не меняли переменную out_xxx, а какой-то другой процесс обновил значение в SM,
то значение в SM так и останется и не будет перезаписано Вашим процессом, пока он не обновит у себя значение out_xxx.
Т.е. ПО УМОЛЧАНИЮ СЧИТАЕТСЯ (в целях оптимизации и уменьшения количества "удалённых вызовов"), что каждый процесс
является ЕДИНОЛИЧНЫМ ВЛАДЕЛЦЕМ своих ВЫХОДОВ и никто кроме него не может их "обновлять" в SM.
Для включения перезаписывания out_xxx на каждом шаге, можно воспользоваться ключём \b forceOut="1" в настроечной
секции процесса. Или указать \b force="1" для конкретного выхода в src.xml (см. \ref pg_Codegen_SMap ).
Помимо этого обрабатывается специальный режим: \ref pg_Codegen_TestMode
Сам сгенерированный код представляет из себя класс ("_SK" - skeleton), который необходимо
...
...
@@ -88,6 +97,7 @@
<item name="input1_s" vartype="in" iotype="DI" comment="comment for input1"/>
<item name="input2_s" vartype="in" iotype="DI" comment="comment for input2" />
<item name="output1_c" vartype="out" iotype="DO" omment="comment for output1" no_check_id="1"/>
<item name="output2_c" vartype="out" iotype="DO" omment="comment for output2" force="1"/>
</smap>
<msgmap>
...
...
@@ -110,6 +120,8 @@
- [\b in |\b out |\b io]\b _name - переменная хранящая текущее состояние датчика (генерируется с префиксом в зависимости от \b vartype)
- \b prev_[\b in |\b out |\b io]\b _name - переменная хранящая состояние датчика на предыдущем шаге (генерируется с префиксом в зависимости от \b vartype)
- \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 ОБЯЗАТЕЛЬНО совпадать с типом датчика к которому