mydataconc3-mt

Description

This library provides the functionality of the myDataconC3 universal datalogger application.

Supported rapidM2M devices:

  • rapidM2M C32x (based on rapidM2M M22x hardware platform)
  • rapidM2M C33x (based on rapidM2M M23x hardware platform)

OVERVIEW

Abstract:
This library provides the functionality of the myDataconC3 universal datalogger application. The library supports both rapidM2M C33x and rapidM2M C32x devices. In order for your rapidM2M C3xx to be supported by this library correctly you must select the rapidM2M hardware platform installed in your rapidM2M C3xx via the drop-down list "Device profile" in the "Project settings" (e.g. rapidM2M M2 in the case of a rapidM2M C32x, rapidM2M M23 in the case of a rapidM2M C33x).
Supported rapidM2M devices:
If you use this library in your IoT app, you should specify the minimum required version of the firmware under "required HW & FW" in the project settings.
Config:

Language file

The mydataconc3-mt library uses a language file that makes it possible to display the server interface in German or English, depending on the language selected when logging in. Follow the steps below to add a language file suitable for this library to your IoT application.

Adding the language file:

  1. Enable the POV feature via the project settings.
  2. Navigate to the POV section in the "Navigation panel" of the CODEbed and create a new file called 'lang.pug'.
  3. Copy the text under "Content of the language file" into the clipboard and insert it into the 'lang.pug' file.
  4. Right click the 'lang.pug' file to rename it.
  5. Change the extension of the file from 'pug' to 'dict'.

Content of the language file:

tags en de C3_normal normal C3_sample_count Count Anzahl C3_sample_count_help Count of measurements used for calculation.<br> Anzahl der zur Berechnung herangezogenen Messungen.<br> C3_float32_autocorrect_tooltip he memory accuracy of this field is limited to 7 significant digits.<br>Because of that the entered value will be corrected automatically. Die Speichergenauigkeit dieses Feldes beschränkt sich auf 7 signifikante Stellen.<br>Aus diesem Grund wird der eingegebene Wert automatisch korrigiert. C3_one_time one-time einmalig C3_setvalue Set value Zählerstand setzen C3_currentctnval Last set counter value Zuletzt gesetzter Zählerstand C3_newctnval New counter value Neuer Zählerstand C3_sync_ok Settings were successfully snychronized<br>with device C3_sync_progress The setting will be synchronized<br>with device C3_output_scale_freq_help [1..1000 ]<br>Setpoint multiplied by this factor<br>defines the frequency at the output in Hz [1..1000 ]<br>Der Stellwert multipliziert mit diesem Faktor<br>ergibt die Hertz (Hz) am Ausgang C3_output_scale_pulse_help [1..1000 ]<br>Setpoint multiplied by this factor<br>defines the impulse/min at the output [1..1000 ]<br>Der Stellwert multipliziert mit diesem Faktor<br>ergibt die Impulse/min am Ausgang devicelog_2400_1 TX forced start;;; devicelog_2402_0 operation mode changed to NONE;;; devicelog_2402_1 operation mode changed to NORMAL;;; devicelog_2402_2 operation mode changed to ALOHA;;; devicelog_2402_3 operation mode changed to TRANSPORT;;; devicelog_2402_4 operation mode changed to PRODUCTION;;; devicelog_2002_0 infinite counter overflow;;FF8080; devicelog_2406 i/o controller update finished;;; devicelog_2003_0 i/o controller not responding;;; devicelog_2004_0 i/o controller in bsl mode;;; devicelog_2005 i/o controller updated failed;$1;; C3_backup_on_off -) Alarm -) Alarm devicelog_2402_5 operation mode changed to BACKUP;;; C3_backup_delay -) Alarm/Shutdown delay -) Alarm/Shutdown-Verzögerung C3_backup_supply Supply failure Ausfall der Versorgung C3_mode_change_part1 Please check the 'alarm' and 'trigger' tabs, for Bitte überprüfen sie die 'Alarme' und 'Trigger' Spalten, für C3_mode_change_part2 of the site der Seite

Data descriptor

To enable the mydataconc3-mt library, copy the following DDE definition to the main.dde file.
// ============================================================================= // APP/DDE - DEVICE DESCRIPTOR // ============================================================================= /** ---------------------------------------------------------------------------- * mydataconc3-mt: Callback Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature */ #define CONC3_COMMON 0 // General information regarding the myDataconC3 datalogger application #define CONC3_MEASURE 0 // Data measurement #define CONC3_RECORDDATA 0 // Record data #define CONC3_HISTDATA0_EXTENDED 0 // Add app specific data to histdata0 /** ---------------------------------------------------------------------------- * mydataconc3-mt: Record output changes * ----------------------------------------------------------------------------- * * Use this macro to change the default behaviour when to record an output change * Recording the output channels in the record interval is not affected by this config * * 0: record every output change (server change, local change, triggers) (default) * 1: record output changes caused by the server and triggers * 2: record output changes caused by triggers * 3: record output changes deactivated */ #define CONC3_RECORD_ON_OUTPUT_CHANGE 0 /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: rapidM2M C3xx Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features (provided by the IO Controller) which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature * 2: enables all callback functions for a specific feature */ #define IOCTRL_COMMON 2 // Generell Information regarding the IO Controller #define IOCTRL_UI 2 // Universal inputs #define IOCTRL_RS232 0 // RS232 Interface #define IOCTRL_RS485 0 // RS485 Interface #define IOCTRL_CAN 0 // CAN Interface #define IOCTRL_DIGOUT 0 // Digital Outputs #define IOCTRL_SHUTDOWN 1 // Shutdown Handling /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: Advanced Config * ----------------------------------------------------------------------------- * * Use this block to adapt the advanced configuration settings: * */ #define IOCTRL_LEN_CMD_QUEUE 25 // Number of Command Queue Entries for IO Controller Communication #define IOCTRL_N_CMDSEQ 2 // Number of command sequence buffers #define IOCTRL_CMDSEQ_DATA_LEN 512 // Size of every command sequence buffer /** ---------------------------------------------------------------------------- * Use this block to configure the library's applog function: * * 0: Disable generation of applog entries * 1: Enable generation of applog entries (default) */ #define C3_BASE_APPLOG 1 /* Uncomment to activate detailed debug output */ // #define C3_DEBUG 1 // #define IOCTRL_DEBUG 1 /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: C3 IO Extension Modules Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features (provided by the IO Extension) which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature * 2: enables all callback functions for a specific feature */ #define IOEXT_COMMON 0 // Generell Information regarding the IO Extensions #define IOEXT_UI 0 // Universal inputs (only for C3e 12UI/2Rel) #define IOEXT_DIGOUT 0 // Digital Outputs #define IOEXT_AO 0 // Analog Outputs (only for C3e 3mA/6Rel) // Record Queue size #define rM2M_RecDataQ_BUFFER_BYTES 4096 // === // === DEFAULTS - CHANNEL // === #define UI_MODE_DEFAULT 0 #define UI_MIN_DEFAULT 0 #define UI_MAX_DEFAULT 0 #define UI_FILTERTIME_DEFAULT 0 #define UI_OVERFLOW_MODE_DEFAULT 0 #define UI_TRIM_DEFAULT 0.0 #define UI_OFFSET_DEFAULT 0.0 #define UI_DECAY_MODE_DEFAULT 0 #define UI_SAMPLE_COUNT_DEFAULT 1 // === // === CHANNEL // === #config1 Channel down UI1_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI1_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI1_Min UI1_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI1_Min UI1_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI1_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI2_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI2_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI2_Min UI2_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI2_Min UI2_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI2_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI3_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI3_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI3_Min UI3_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI3_Min UI3_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI3_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI1_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI1_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI2_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI2_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI3_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI3_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI1_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI1_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI2_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI2_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI3_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI3_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI1_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI1_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT UI2_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI2_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT UI3_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI3_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT InfCntSetVal1 s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_newctnval width=20 decpl=2 edit=8 view=8 InfCntSetVal2 s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_newctnval width=20 decpl=2 edit=8 view=8 // === // === DEFAULTS - ALARM // === #define ALARM_HYSTERESIS_DEFAULT 5.0 #define ALARM_HYSTERESIS_TRIGGER_DEFAULT 5.0 #define ALARM_DIGITAL_EDGE_DEFAULT 3 // === // === CHANNEL ALARM // === #config2 Alarm down edit=2 view=2 ThresholdAlarmLow_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_1 ThresholdWarningHigh_1_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_1 ThresholdAlarmHigh_1_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_1 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_2 ThresholdWarningHigh_2_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_2 ThresholdAlarmHigh_2_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_2 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_3 ThresholdWarningHigh_3_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_3 ThresholdAlarmHigh_3_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_3 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help ThresholdAlarmHigh_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help Hysteresis_4 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help ThresholdAlarmHigh_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help Hysteresis_5 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst Trigger_1 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_1 RecordOn_1 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_1 Transmission_1 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_1 Online_1 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_1 FastRecord_1 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_1 OutDigital_1_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_1 OutDigital_1_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_1 FastTransItv_1 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_1 DigitalEdge_1 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_1 BiggerThan_1 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_1 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_1 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_2 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_2 RecordOn_2 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_2 Transmission_2 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_2 Online_2 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_2 FastRecord_2 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_2 OutDigital_2_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_2 OutDigital_2_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_2 FastTransItv_2 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_2 DigitalEdge_2 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_2 BiggerThan_2 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_2 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_2 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_3 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_3 RecordOn_3 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_3 Transmission_3 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_3 Online_3 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_3 FastRecord_3 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_3 OutDigital_3_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_3 OutDigital_3_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_3 FastTransItv_3 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_3 DigitalEdge_3 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_3 BiggerThan_3 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_3 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_3 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_4 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_4 RecordOn_4 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_4 Transmission_4 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_4 Online_4 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_4 FastRecord_4 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_4 OutDigital_4_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_4 OutDigital_4_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_4 FastTransItv_4 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_4 DigitalEdge_4 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_4 BiggerThan_4 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_4 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_4 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_5 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_5 RecordOn_5 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_5 Transmission_5 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_5 Online_5 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_5 FastRecord_5 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_5 OutDigital_5_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_5 OutDigital_5_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_5 FastTransItv_5 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_5 DigitalEdge_5 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_5 BiggerThan_5 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_5 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_5 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 // === // === DEFAULTS - OUTPUT // === #define OUTPUT_DIGITAL_PARAM0_DEFAULT 1.0 #define OUTPUT_VALUE_DEFAULT 0.0 // NOTE: currently only mode off and digital can be configured // === // === CHANNEL OUTPUT // === #config3 ChannelOutput down edit=2 view=2 OutDigital1Mode u8 editmask=0=%TXT%off;2=%TXT%dbdefs_ch_mode_digital title=%TXT%dbdefsusercfgmode // 1=%TXT%dbdefsminiusercfg_warmup_time_extern;2=%TXT%dbdefs_ch_mode_digital;3=%TXT%dbdefs_ch_mode_freq;4=%TXT%dbdefs_ch_mode_pulse title=%TXT%dbdefsusercfgmode OutDigital1Param0 f32.1 min=1 max=1000 title=%TXT%factor help=%TXT%dbdefs_output_fq_scale_help default=OUTPUT_DIGITAL_PARAM0_DEFAULT OutDigital1Param1 u32 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on decpl=0 OutDigital1Param2 u32 decpl=0 OutDigital1Param3 u32 decpl=0 OutValue1 f32.1 title=%TXT%dbdefs_output_value min=0 max=1 param0=%FFFF0005%actual_output_value_1 // NOTE: param0 field (%FFFF0005%actual_output_value_n) is required for the setpoint functionality / actual output value has to be in this format! "actual_output_value_N" N equals the number to use @OutValue1 OutValue1_digital f32.0 title=%TXT%dbdefs_output_value editmask=0=%TXT%off;1=%TXT%on dlorw=skip OutDigital2Mode u8 editmask=0=%TXT%off;2=%TXT%dbdefs_ch_mode_digital title=%TXT%dbdefsusercfgmode // 1=%TXT%dbdefsminiusercfg_warmup_time_extern;2=%TXT%dbdefs_ch_mode_digital;3=%TXT%dbdefs_ch_mode_freq;4=%TXT%dbdefs_ch_mode_pulse title=%TXT%dbdefsusercfgmode OutDigital2Param0 f32.1 min=1 max=1000 title=%TXT%factor help=%TXT%dbdefs_output_fq_scale_help default=OUTPUT_DIGITAL_PARAM0_DEFAULT OutDigital2Param1 u32 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on decpl=0 OutDigital2Param2 u32 decpl=0 OutDigital2Param3 u32 decpl=0 OutValue2 f32.1 title=%TXT%dbdefs_output_value min=0 max=1 param0=%FFFF0005%actual_output_value_2 // NOTE: param0 field (%FFFF0005%actual_output_value_n) is required for the setpoint functionality / actual output value has to be in this format! "actual_output_value_N" N equals the number to use @OutValue2 OutValue2_digital f32.0 title=%TXT%dbdefs_output_value editmask=0=%TXT%off;1=%TXT%on dlorw=skip // === // === Response Values DEVICE -> SERVER // === // #config5 CntrValues up edit=8 view=8 // InfCntVal1 s64 param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_currentctnval width=20 decpl=2 edit=8 view=8 // InfCntVal2 s64 param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_currentctnval width=20 decpl=2 edit=8 view=8 // === // === COMMANDS SERVER -> DEVICE // === // #config6 Commands down edit=2 view=2 // position_start u8 // aloha_start u8 // aloha_resettime u8 // aloha_recordon u8 // aloha_alwayson u8 // InfCntSetVal1_Trigger u8 // InfCntSetVal1_Param s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_newctnval width=20 decpl=2 // InfCntSetVal2_Trigger u8 // InfCntSetVal2_Param s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_newctnval width=20 decpl=2 // === // === COMMANDS STATE DEVICE -> SERVER // === // #config7 CommandsState up // position_start u8 edit=8 view=2 // aloha_start u8 edit=8 view=2 // aloha_resettime u8 edit=8 view=2 // aloha_recordon u8 edit=8 view=2 // aloha_alwayson u8 edit=2 view=2 // === // === DEFAULTS - SYS CONFIG // === #define SYS_TX_MODE_DEFAULT 2 #define SYS_TX_INTERVAL_DEFAULT 1440 #define SYS_REC_INTERVAL_DEFAULT 1 #define SYS_REC_INTERVAL_ONLINE_DEFAULT 5 #define SYS_SAMPLE_INTERVAL_DEFAULT 0 #define SYS_ONLINE_TIME_DEFAULT 10 #define SYS_CHARGING_MODE_DEFAULT 1 #define SYS_POSITION_INTERVAL_DEFAULT 86400 #define SYS_REC_INTERVAL_FAST_DEFAULT 0 #define SYS_FIXED_TX_TIME_DEFAULT -1 #define SYS_OPERATION_MODE_DEFAULT 1 #define SYS_BACKUP_TIME_DEFAULT 0 #define SYS_BACKUP_ON_OFF_DEFAULT 0 #define SYS_ALT_TX_INTERVAL_DEFAULT 15 // === // === SYS CONFIG // === #config8 System down TxMode u8 title=%TXT%dbdefsminiusercfg_txmode param0=%FFFF0005%tx_mode editmask=2=%TXT%dbdefsminiusercfg_txmode_cont default=SYS_TX_MODE_DEFAULT edit=8 TxInterval u32 vscale=0.01666666667 units=hh:mm min=00:10 max=168:00 default=SYS_TX_INTERVAL_DEFAULT editmask=%TIME%n%hh:nn title=%TXT%dbdefsusrcfgtransmissionperiod param0=%FFFF0005%transfer_interval RecInterval u32 vscale=0.01666666667 units=%TXT%min min=1 max=1090 default=SYS_REC_INTERVAL_DEFAULT title=%TXT%dbdefsusrcfgrecordinterval SampleInterval u16 units=mm:ss title=%TXT%dbdefsusrcfgmeasureperiod help=%TXT%dbdefsusrcfgmeasureperiod_help default=SYS_REC_SAMPLE_INTERVAL_DEFAULT min=00:00 max=1090:00 editmask=%TIME%s%nn:ss help=%TXT%dbdefsusrcfgmeasureperiod_help Warmup u16 title=%TXT%dbdefsminiusercfg_warmup_time_extern min=0 max=1090 units=%TXT%sec view=8 edit=8 PositionInterval u32 units=hh:mm default=SYS_POSITION_INTERVAL_DEFAULT editmask=%TIME%s%hh:nn min=00:00 max=24:00 title=%TXT%dbdefsusercfgposinterval help=%TXT%dbdefsusercfgposinterval_help RecIntervalFast u32 vscale=0.01666666667 units=min min=0 max=1090 default=SYS_REC_INTERVAL_FAST_DEFAULT decpl=0 title=%TXT%dbdefscompcfg_record_alternative FixedTxTime s16 default=SYS_FIXED_TX_TIME_DEFAULT editmask=%TIME%n%hh:nn min=00:00 max=23:59 AltTxInterval u32 vscale=0.01666666667 units=hh:mm min=00:10 max=168:00 default=SYS_ALT_TX_INTERVAL_DEFAULT editmask=%TIME%n%hh:nn title=%TXT%dbdefsusrcfgtransmissionperiod_quick BackupTime u16 default=SYS_BACKUP_TIME_DEFAULT title=%TXT%C3_backup_delay help=%TXT%dbdefs_usercfg_backup_power_off_time_help min=0 max=600 units=%TXT%sec BackupOnOff u8 default=SYS_BACKUP_ON_OFF_DEFAULT title=%TXT%C3_backup_on_off editmask=0=%TXT%off;1=%TXT%on // === // === SERVER-ONLY CONFIG // === #configA Description view=2 edit=2 Title_1 ustr.16 title="%TXT%ch_title 1" default="%TXT%ch 1" Unit_1 ustr.8 title=%TXT%ch_unit Title_2 ustr.16 title="%TXT%ch_title 2" default="%TXT%ch 2" Unit_2 ustr.8 title=%TXT%ch_unit Title_3 ustr.16 title="%TXT%ch_title 3" default="%TXT%ch 3" Unit_3 ustr.8 title=%TXT%ch_unit Title_4 ustr.16 title="%TXT%ch_title GSM" default=GSM Unit_4 ustr.8 edit=8 title=%TXT%ch_unit default=dBm Title_5 ustr.16 title="%TXT%ch_title %TXT%voltage" default=%TXT%voltage Unit_5 ustr.8 edit=8 title=%TXT%ch_unit default=V Title_6 ustr.16 title="%TXT%ch_title Digital 1" default="Digital 1" Unit_6 ustr.8 title=%TXT%ch_unit Title_7 ustr.16 title="%TXT%ch_title Digital 2" default="Digital 2" Unit_7 ustr.8 title=%TXT%ch_unit Decpl_1 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Decpl_2 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Decpl_3 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Pulse_1 f32.2 title=%TXT%ch_impuls min=0 max=9999999 width=6 help=%TXT%field_help_impuls_sc default=1.0 Pulse_2 f32.2 title=%TXT%ch_impuls min=0 max=9999999 width=6 help=%TXT%field_help_impuls_sc default=1.0 Pulse_Unit1 ustr.8 title=%TXT%ch_impuls_ui default=l Pulse_Unit2 ustr.8 title=%TXT%ch_impuls_ui default=l Pulse_Factor1 s8 title="%TXT%ch_impuls %TXT%ch_scaleL" editmask=6=1000000;5=100000;4=10000;3=1000;2=100;1=10;0=1;-1=0.1;-2=0.01;-3=0.001;-4=0.0001;-5=0.00001;-6=0.000001 default=-3 Pulse_Factor2 s8 title="%TXT%ch_impuls %TXT%ch_scaleL" editmask=6=1000000;5=100000;4=10000;3=1000;2=100;1=10;0=1;-1=0.1;-2=0.01;-3=0.001;-4=0.0001;-5=0.00001;-6=0.000001 default=-3 Pulse_Scale1 f32.7 title=PulseScale decpl=7 Pulse_Scale2 f32.7 title=PulseScale decpl=7 Title_8 ustr.30 title="%TXT%ch_title 1 Inf.Cnt." default="%TXT%ch 1 Inf.Cnt." Title_9 ustr.30 title="%TXT%ch_title 2 Inf.Cnt." default="%TXT%ch 2 Inf.Cnt." Unit_8 ustr.8 title=%TXT%ch_unit // === // === MEASUREMENT DATA // === #histdata0 measurement_channels up title=%TXT%measurement_channels UI1 f32.3 title=%configA%Title_1 units=%configA%Unit_1 chmode=%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_1 min=%config1%UI1_Min max=%config1%UI1_Max ialarm_low=%config2%ThresholdAlarmLow_1 ialarm_high=%config2%ThresholdAlarmHigh_1 iwarn_low=%config2%ThresholdWarningLow_1 iwarn_high=%config2%ThresholdWarningHigh_1 itrigger=%config2%ThresholdTrigger_1 UI2 f32.3 title=%configA%Title_2 units=%configA%Unit_2 chmode=%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_2 min=%config1%UI2_Min max=%config1%UI2_Max ialarm_low=%config2%ThresholdAlarmLow_2 ialarm_high=%config2%ThresholdAlarmHigh_2 iwarn_low=%config2%ThresholdWarningLow_2 iwarn_high=%config2%ThresholdWarningHigh_2 itrigger=%config2%ThresholdTrigger_2 UI3 f32.3 title=%configA%Title_3 units=%configA%Unit_3 chmode=%config1%UI3_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8 editmask=%5.1n decpl=%configA%Decpl_3 min=%config1%UI3_Min max=%config1%UI3_Max ialarm_low=%config2%ThresholdAlarmLow_3 ialarm_high=%config2%ThresholdAlarmHigh_3 iwarn_low=%config2%ThresholdWarningLow_3 iwarn_high=%config2%ThresholdWarningHigh_3 itrigger=%config2%ThresholdTrigger_3 GSM f32.0 title=%configA%Title_4 units=dBm%configA%Unit_4 ialarm_low=%config2%ThresholdAlarmLow_6 ialarm_high=%config2%ThresholdAlarmHigh_6 iwarn_low=%config2%ThresholdWarningLow_6 iwarn_high=%config2%ThresholdWarningHigh_6 itrigger=%config2%ThresholdTrigger_6 min=-20 max=90 Vin f32.3 title=%configA%Title_5 units=V%configA%Unit_5 decpl=1 ialarm_low=%config2%ThresholdAlarmLow_7 ialarm_high=%config2%ThresholdAlarmHigh_7 iwarn_low=%config2%ThresholdWarningLow_7 iwarn_high=%config2%ThresholdWarningHigh_7 itrigger=%config2%ThresholdTrigger_7 OutDigital1 f32.0 title=%configA%Title_6 units=%configA%Unit_8 chmode=1 setpoint=config3;OutValue1;actual_output_value_1 // NOTE: setpoint=CONFIG;CONFIG_FIELD;actual_output_value_(n) - TODO chmode depending on digital mode OutDigital2 f32.0 title=%configA%Title_7 units=%configA%Unit_8 chmode=1 setpoint=config3;OutValue2;actual_output_value_2 // NOTE: setpoint=CONFIG;CONFIG_FIELD;actual_output_value_(n) - TODO chmode depending on digital mode // InfCnt1 s64 title=%configA%Title_8 vscale=%configA%Pulse_Scale1 units=%configA%Unit_1 chmode=%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 param0=%INTEL% editmask=%5.1n decpl=%configA%Decpl_1 // InfCnt2 s64 title=%configA%Title_9 vscale=%configA%Pulse_Scale2 units=%configA%Unit_2 chmode=%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 param0=%INTEL% editmask=%5.1n decpl=%configA%Decpl_2 // === // === ALOHA LOG // === // #aloha up // UI1 f32.3 title=%configA%Title_1 units=%configA%Unit_1 chmode=6%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_1 min=%config1%UI1_Min max=%config1%UI1_Max // UI2 f32.3 title=%configA%Title_2 units=%configA%Unit_2 chmode=6%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_2 min=%config1%UI2_Min max=%config1%UI2_Max // UI3 f32.3 title=%configA%Title_3 units=%configA%Unit_3 chmode=6%config1%UI3_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8 editmask=%5.1n decpl=%configA%Decpl_3 min=%config1%UI3_Min max=%config1%UI3_Max // GSM f32.0 title=%configA%Title_4 units=dBm%configA%Unit_4 min=-120 max=-20 // Vin f32.3 title=%configA%Title_5 units=V%configA%Unit_5 decpl=1 min=0 max=50 // OutDigital1 f32.0 title=%configA%Title_6 units=%configA%Unit_8 // OutDigital2 f32.0 title=%configA%Title_7 units=%configA%Unit_8 // InfCnt1 s64 title=%configA%Title_8 vscale=%configA%Pulse_Scale1 units=%configA%Unit_1 chmode=6%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n param0=%INTEL% decpl=%configA%Decpl_1 // InfCnt2 s64 title=%configA%Title_9 vscale=%configA%Pulse_Scale2 units=%configA%Unit_2 chmode=6%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n param0=%INTEL% decpl=%configA%Decpl_2 // === // === Alarms // === #alerts // === // === App-Log // === #applog // === // === Notes // === // *note1: The value of this field is calculated through more than one shadow field. To prevent an update of this field without the consideration of all its shadow fields edit=99 is needed.
How_to_use:

DLO

Copy the following code snippet into the main.p file.
/* Application entry point */ main() { /* Starts the myDataconC3 universal datalogger application DLO */ myDataconC3_Init(); }

POV - Details View

Copy the following code snippet into the details.vue file.
<template lang="pug"> // === this is the PORTAL VIEW's DETAILS representation === .pov-details // Creates the myDataconC3 universal datalogger application details POV .loading-spinner.fa.fa-spinner.fa-spin.fa-3x.fa-fw(v-if='!loaded_') myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") table.btn-line(cellspacing='0' cellpadding='0' width='100%') tr td .btn-group button.btn.btn-default(type='button' @click='back') %TXT%cancel button.btn.btn-default(v-if='!newSite_' @click='apply(false)' :disabled='!!saving_') %TXT%apply button.btn.btn-default(type='button' @click='save' :disabled='!!saving_') %TXT%save </template> <script> import "./~auto.mjs" // adds DDE #define vars to window object for global use // Import the myDataconC3DetailsPOV sub-component import { myDataconC3DetailsPOV } from 'mydataconc3-mt'; export default { name: "pov-details", mixins: [MDN.vueSiteDetailsMixin], // Registers sub-components components: { myDataconC3DetailsPOV }, data() { return { } }, watch: { loaded_() { MDN.siteEditor = this; //------- EVENT controlled --------------------- if (this.PAPI.site_uid) { //not needed in APPL config const siteEditor = this; if (this.basic.device) { const updateBlock = async (eventId) => { if (eventId==='device') { //information about currently assigned device is contained in site object siteEditor.siteController_.loadSite(function(){ if (!siteEditor.siteController_.resultCache.basic.device) Vue.set(siteEditor.basic, 'device', null); else { if (!siteEditor.basic.device || siteEditor.basic.device._uid !== siteEditor.siteController_.resultCache.basic.device._uid) Vue.set(siteEditor.basic, 'device', siteEditor.siteController_.resultCache.basic.device); else //if the device is already there Vue.set(siteEditor.basic.device, 'con', siteEditor.siteController_.resultCache.basic.device.con); } }); } }; AutoReloadSpanOnChange("__id", updateBlock, "device", this.basic.device._uid); } } //------- END EVENT controlled ----------------- }, }, methods: { beforeSave(onDone) { // Call the child method using the reference this.$refs.mydataconc3mt.beforeSave(()=>{ onDone(); }); } }, created() { }, mounted() { } } </script> <style lang="less" scoped> // the DETAILS POV style definitions .pov-details { } </style>

POV - List View

Copy the following code snippet into the list.vue file.
<template lang="pug"> // === this is the PORTAL VIEW's LIST representation === .pov-list // Creates the myDataconC3 universal datalogger application list POV myDataconC3ListPOV() </template> <script> // Import the myDataconC3ListPOV sub-component import { myDataconC3ListPOV } from 'mydataconc3-mt'; export default { name: "pov-list", // Registers sub-components components: { myDataconC3ListPOV }, data() { return { } }, methods: { }, created() { } } </script> <style lang="less" scoped> // the LIST POV style definitions .pov-list { } </style>
Abstract:
This library provides the functionality of the myDataconC3 universal datalogger application. The library supports both rapidM2M C33x and rapidM2M C32x devices. In order for your rapidM2M C3xx to be supported by this library correctly you must select the rapidM2M hardware platform installed in your rapidM2M C3xx via the drop-down list "Device profile" in the "Project settings" (e.g. rapidM2M M2 in the case of a rapidM2M C32x, rapidM2M M23 in the case of a rapidM2M C33x).
Supported rapidM2M devices:
If you use this library in your IoT app, you should specify the minimum required version of the firmware under "required HW & FW" in the project settings.
Config:

Language file

The mydataconc3-mt library uses a language file that makes it possible to display the server interface in German or English, depending on the language selected when logging in. Follow the steps below to add a language file suitable for this library to your IoT application.

Adding the language file:

  1. Enable the POV feature via the project settings.
  2. Navigate to the POV section in the "Navigation panel" of the CODEbed and create a new file called 'lang.pug'.
  3. Copy the text under "Content of the language file" into the clipboard and insert it into the 'lang.pug' file.
  4. Right click the 'lang.pug' file to rename it.
  5. Change the extension of the file from 'pug' to 'dict'.

Content of the language file:

tags en de C3_normal normal C3_sample_count Count Anzahl C3_sample_count_help Count of measurements used for calculation.<br> Anzahl der zur Berechnung herangezogenen Messungen.<br> C3_float32_autocorrect_tooltip he memory accuracy of this field is limited to 7 significant digits.<br>Because of that the entered value will be corrected automatically. Die Speichergenauigkeit dieses Feldes beschränkt sich auf 7 signifikante Stellen.<br>Aus diesem Grund wird der eingegebene Wert automatisch korrigiert. C3_one_time one-time einmalig C3_setvalue Set value Zählerstand setzen C3_currentctnval Last set counter value Zuletzt gesetzter Zählerstand C3_newctnval New counter value Neuer Zählerstand C3_sync_ok Settings were successfully snychronized<br>with device C3_sync_progress The setting will be synchronized<br>with device C3_output_scale_freq_help [1..1000 ]<br>Setpoint multiplied by this factor<br>defines the frequency at the output in Hz [1..1000 ]<br>Der Stellwert multipliziert mit diesem Faktor<br>ergibt die Hertz (Hz) am Ausgang C3_output_scale_pulse_help [1..1000 ]<br>Setpoint multiplied by this factor<br>defines the impulse/min at the output [1..1000 ]<br>Der Stellwert multipliziert mit diesem Faktor<br>ergibt die Impulse/min am Ausgang devicelog_2400_1 TX forced start;;; devicelog_2402_0 operation mode changed to NONE;;; devicelog_2402_1 operation mode changed to NORMAL;;; devicelog_2402_2 operation mode changed to ALOHA;;; devicelog_2402_3 operation mode changed to TRANSPORT;;; devicelog_2402_4 operation mode changed to PRODUCTION;;; devicelog_2002_0 infinite counter overflow;;FF8080; devicelog_2406 i/o controller update finished;;; devicelog_2003_0 i/o controller not responding;;; devicelog_2004_0 i/o controller in bsl mode;;; devicelog_2005 i/o controller updated failed;$1;; C3_backup_on_off -) Alarm -) Alarm devicelog_2402_5 operation mode changed to BACKUP;;; C3_backup_delay -) Alarm/Shutdown delay -) Alarm/Shutdown-Verzögerung C3_backup_supply Supply failure Ausfall der Versorgung C3_mode_change_part1 Please check the 'alarm' and 'trigger' tabs, for Bitte überprüfen sie die 'Alarme' und 'Trigger' Spalten, für C3_mode_change_part2 of the site der Seite

Data descriptor

To enable the mydataconc3-mt library, copy the following DDE definition to the main.dde file.
// ============================================================================= // APP/DDE - DEVICE DESCRIPTOR // ============================================================================= /** ---------------------------------------------------------------------------- * mydataconc3-mt: Callback Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature */ #define CONC3_COMMON 0 // General information regarding the myDataconC3 datalogger application #define CONC3_MEASURE 0 // Data measurement #define CONC3_RECORDDATA 0 // Record data #define CONC3_HISTDATA0_EXTENDED 0 // Add app specific data to histdata0 /** ---------------------------------------------------------------------------- * mydataconc3-mt: Record output changes * ----------------------------------------------------------------------------- * * Use this macro to change the default behaviour when to record an output change * Recording the output channels in the record interval is not affected by this config * * 0: record every output change (server change, local change, triggers) (default) * 1: record output changes caused by the server and triggers * 2: record output changes caused by triggers * 3: record output changes deactivated */ #define CONC3_RECORD_ON_OUTPUT_CHANGE 0 /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: rapidM2M C3xx Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features (provided by the IO Controller) which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature * 2: enables all callback functions for a specific feature */ #define IOCTRL_COMMON 2 // Generell Information regarding the IO Controller #define IOCTRL_UI 2 // Universal inputs #define IOCTRL_RS232 0 // RS232 Interface #define IOCTRL_RS485 0 // RS485 Interface #define IOCTRL_CAN 0 // CAN Interface #define IOCTRL_DIGOUT 0 // Digital Outputs #define IOCTRL_SHUTDOWN 1 // Shutdown Handling /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: Advanced Config * ----------------------------------------------------------------------------- * * Use this block to adapt the advanced configuration settings: * */ #define IOCTRL_LEN_CMD_QUEUE 25 // Number of Command Queue Entries for IO Controller Communication #define IOCTRL_N_CMDSEQ 2 // Number of command sequence buffers #define IOCTRL_CMDSEQ_DATA_LEN 512 // Size of every command sequence buffer /** ---------------------------------------------------------------------------- * Use this block to configure the library's applog function: * * 0: Disable generation of applog entries * 1: Enable generation of applog entries (default) */ #define C3_BASE_APPLOG 1 /* Uncomment to activate detailed debug output */ // #define C3_DEBUG 1 // #define IOCTRL_DEBUG 1 /** ---------------------------------------------------------------------------- * rapidm2m-c3xx-base: C3 IO Extension Modules Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features (provided by the IO Extension) which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature * 2: enables all callback functions for a specific feature */ #define IOEXT_COMMON 0 // Generell Information regarding the IO Extensions #define IOEXT_UI 0 // Universal inputs (only for C3e 12UI/2Rel) #define IOEXT_DIGOUT 0 // Digital Outputs #define IOEXT_AO 0 // Analog Outputs (only for C3e 3mA/6Rel) // Record Queue size #define rM2M_RecDataQ_BUFFER_BYTES 4096 // === // === DEFAULTS - CHANNEL // === #define UI_MODE_DEFAULT 0 #define UI_MIN_DEFAULT 0 #define UI_MAX_DEFAULT 0 #define UI_FILTERTIME_DEFAULT 0 #define UI_OVERFLOW_MODE_DEFAULT 0 #define UI_TRIM_DEFAULT 0.0 #define UI_OFFSET_DEFAULT 0.0 #define UI_DECAY_MODE_DEFAULT 0 #define UI_SAMPLE_COUNT_DEFAULT 1 // === // === CHANNEL // === #config1 Channel down UI1_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI1_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI1_Min UI1_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI1_Min UI1_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI1_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI2_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI2_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI2_Min UI2_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI2_Min UI2_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI2_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI3_Mode u8 title=%TXT%dbdefsusercfgmode width=90 editmask=0=%TXT%off;1=%TXT%dbdefs_ch_mode_digital;18=%TXT%dbdefscntday;2=%TXT%dbdefscntint;5=0-20mA;21=4-20mA;6=0-2V;7=0-10V UI3_Min f32.6 title=%TXT%ch_min width=6 default=UI_MIN_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_0p @UI3_Min UI3_ScaleDigital f32.1 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on dlorw=skip @UI3_Min UI3_Pulse f32.6 title=%TXT%ch_impuls min=0 max=9999999 width=6 dlorw=skip UI3_Max f32.6 title=%TXT%ch_max width=6 default=UI_MAX_DEFAULT min=-9999999 max=9999999 help=%TXT%field_help_100p UI1_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI1_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI2_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI2_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI3_Filtertime u16 decpl=0 units=ms min=0 max=65000 default=UI_FILTERTIME_DEFAULT title=%TXT%dbdefsusercfgfiltertime help=[ms] UI3_OverflowMode u8 title=%TXT%dbdefsusercfgfault editmask=0=%TXT%dbdefsusercfgfault4;1=%TXT%dbdefsusercfgfault1;2=%TXT%dbdefsusercfgfault3 UI1_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI1_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI2_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI2_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI3_Trim f32.6 default=UI_TRIM_DEFAULT title=%TXT%dbdefsusercfg_trim_offset min=-9999999 max=9999999 UI3_Offset f32.6 default=UI_OFFSET_DEFAULT title=%TXT%dbdefsusercfg_sensor_offset help=%TXT%dbdefsusercfg_sensor_offset_help min=-9999999 max=9999999 UI1_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI1_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT UI2_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI2_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT UI3_DecayMode u8 title=%TXT%dbdefsdecaycfg_mode editmask=0=%TXT%off;1=%TXT%dbdefsdecaycfg_mode_min;2=%TXT%dbdefsdecaycfg_mode_max;3=%TXT%dbdefsdecaycfg_mode_avg;4=%TXT%dbdefsdecaycfg_mode_med;5=%TXT%dbdefsdecaycfg_mode_rms;6=%TXT%dbdefsdecaycfg_mode_up;7=%TXT%dbdefsdecaycfg_mode_down;8=%TXT%dbdefsdecaycfg_mode_updown;9=sum default=UI_DECAY_MODE_DEFAULT help=%TXT%dbdefsifdecay_help UI3_SampleCount u8 title=%TXT%C3_sample_count min=1 max=64 default=UI_SAMPLE_COUNT_DEFAULT InfCntSetVal1 s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_newctnval width=20 decpl=2 edit=8 view=8 InfCntSetVal2 s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_newctnval width=20 decpl=2 edit=8 view=8 // === // === DEFAULTS - ALARM // === #define ALARM_HYSTERESIS_DEFAULT 5.0 #define ALARM_HYSTERESIS_TRIGGER_DEFAULT 5.0 #define ALARM_DIGITAL_EDGE_DEFAULT 3 // === // === CHANNEL ALARM // === #config2 Alarm down edit=2 view=2 ThresholdAlarmLow_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_1 ThresholdWarningHigh_1_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_1 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_1 ThresholdAlarmHigh_1_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_1 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_2 ThresholdWarningHigh_2_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_2 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_2 ThresholdAlarmHigh_2_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_2 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help @ThresholdWarningHigh_3 ThresholdWarningHigh_3_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_low help=%TXT%dbdefscompcfg_triger_alarm_low_help dlorw=skip ThresholdAlarmHigh_3 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help @ThresholdAlarmHigh_3 ThresholdAlarmHigh_3_digital f32.1 editmask=%CHECKBOX%NAN;1 title=%TXT%dbdefscompcfg_triger_alarm_high help=%TXT%dbdefscompcfg_triger_alarm_high_help dlorw=skip Hysteresis_3 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help ThresholdAlarmHigh_4 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help Hysteresis_4 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst ThresholdAlarmLow_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_lower help=%TXT%ch_alarmhigh_lower_help ThresholdWarningLow_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_lower help=%TXT%ch_alarmlow_lower_help ThresholdWarningHigh_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmlow_upper help=%TXT%ch_alarmlow_upper_help ThresholdAlarmHigh_5 f32.6 width=8 default=NAN title=%TXT%ch_alarmhigh_upper help=%TXT%ch_alarmhigh_upper_help Hysteresis_5 f32.6 width=8 default=ALARM_HYSTERESIS_DEFAULT title=%TXT%ch_hyst min=0.0 help=%TXT%field_help_hyst Trigger_1 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_1 RecordOn_1 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_1 Transmission_1 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_1 Online_1 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_1 FastRecord_1 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_1 OutDigital_1_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_1 OutDigital_1_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_1 FastTransItv_1 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_1 DigitalEdge_1 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_1 BiggerThan_1 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_1 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_1 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_2 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_2 RecordOn_2 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_2 Transmission_2 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_2 Online_2 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_2 FastRecord_2 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_2 OutDigital_2_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_2 OutDigital_2_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_2 FastTransItv_2 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_2 DigitalEdge_2 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_2 BiggerThan_2 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_2 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_2 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_3 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_3 RecordOn_3 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_3 Transmission_3 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_3 Online_3 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_3 FastRecord_3 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_3 OutDigital_3_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_3 OutDigital_3_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_3 FastTransItv_3 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_3 DigitalEdge_3 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_3 BiggerThan_3 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_3 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_3 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_4 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_4 RecordOn_4 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_4 Transmission_4 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_4 Online_4 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_4 FastRecord_4 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_4 OutDigital_4_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_4 OutDigital_4_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_4 FastTransItv_4 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_4 DigitalEdge_4 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_4 BiggerThan_4 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_4 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_4 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 Trigger_5 u16 decpl=0 view=8 edit=99 // see *note1 @Trigger_5 RecordOn_5 u16 decpl=0 bitmask=$0001 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_immediate_on help=%TXT%dbdefscompcfg_triger_record_immediate_on_help dlorw=skip @Trigger_5 Transmission_5 u16 decpl=0 bitmask=$0002 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_xmit_start help=%TXT%dbdefscompcfg_triger_xmit_start_help dlorw=skip @Trigger_5 Online_5 u16 decpl=0 bitmask=$0004 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_continous help=%TXT%dbdefscompcfg_triger_continous_help dlorw=skip view=8 edit=8 @Trigger_5 FastRecord_5 u16 decpl=0 bitmask=$0008 editmask=%CHECKBOX% title=%TXT%dbdefscompcfg_triger_record_alternative help=%TXT%dbdefscompcfg_triger_record_alternative_help dlorw=skip @Trigger_5 OutDigital_5_1 u16 decpl=0 bitmask=$0010 editmask=%CHECKBOX% title=D1 help="%TXT%output Digital 1" dlorw=skip @Trigger_5 OutDigital_5_2 u16 decpl=0 bitmask=$0020 editmask=%CHECKBOX% title=D2 help="%TXT%output Digital 2" dlorw=skip @Trigger_5 FastTransItv_5 u16 decpl=0 bitmask=$0040 editmask=%CHECKBOX% title=QX help=%TXT%dbdefscompcfg_triger_do_qx_help dlorw=skip @Trigger_5 DigitalEdge_5 u16 decpl=0 bitmask=$6000 title=%TXT%dbdefsusercfgedge editmask=1=%TXT%dbdefsusercfgedge_rising;2=%TXT%dbdefsusercfgedge_falling;3=%TXT%dbdefsusercfgedge_both default=ALARM_DIGITAL_EDGE_DEFAULT dlorw=skip @Trigger_5 BiggerThan_5 u16 decpl=0 bitmask=$8000 title=" " editmask=0=%TXT%less_or_equal;1=%TXT%greater_or_equal dlorw=skip ThresholdTrigger_5 f32.6 title=%TXT%dbdefscompcfg_triger_level autoedit=22x11 default=NAN HysteresisTrigger_5 f32.6 default=ALARM_HYSTERESIS_TRIGGER_DEFAULT title=%TXT%ch_hyst min=0.0 // === // === DEFAULTS - OUTPUT // === #define OUTPUT_DIGITAL_PARAM0_DEFAULT 1.0 #define OUTPUT_VALUE_DEFAULT 0.0 // NOTE: currently only mode off and digital can be configured // === // === CHANNEL OUTPUT // === #config3 ChannelOutput down edit=2 view=2 OutDigital1Mode u8 editmask=0=%TXT%off;2=%TXT%dbdefs_ch_mode_digital title=%TXT%dbdefsusercfgmode // 1=%TXT%dbdefsminiusercfg_warmup_time_extern;2=%TXT%dbdefs_ch_mode_digital;3=%TXT%dbdefs_ch_mode_freq;4=%TXT%dbdefs_ch_mode_pulse title=%TXT%dbdefsusercfgmode OutDigital1Param0 f32.1 min=1 max=1000 title=%TXT%factor help=%TXT%dbdefs_output_fq_scale_help default=OUTPUT_DIGITAL_PARAM0_DEFAULT OutDigital1Param1 u32 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on decpl=0 OutDigital1Param2 u32 decpl=0 OutDigital1Param3 u32 decpl=0 OutValue1 f32.1 title=%TXT%dbdefs_output_value min=0 max=1 param0=%FFFF0005%actual_output_value_1 // NOTE: param0 field (%FFFF0005%actual_output_value_n) is required for the setpoint functionality / actual output value has to be in this format! "actual_output_value_N" N equals the number to use @OutValue1 OutValue1_digital f32.0 title=%TXT%dbdefs_output_value editmask=0=%TXT%off;1=%TXT%on dlorw=skip OutDigital2Mode u8 editmask=0=%TXT%off;2=%TXT%dbdefs_ch_mode_digital title=%TXT%dbdefsusercfgmode // 1=%TXT%dbdefsminiusercfg_warmup_time_extern;2=%TXT%dbdefs_ch_mode_digital;3=%TXT%dbdefs_ch_mode_freq;4=%TXT%dbdefs_ch_mode_pulse title=%TXT%dbdefsusercfgmode OutDigital2Param0 f32.1 min=1 max=1000 title=%TXT%factor help=%TXT%dbdefs_output_fq_scale_help default=OUTPUT_DIGITAL_PARAM0_DEFAULT OutDigital2Param1 u32 title=%TXT%dbdefsinvert editmask=0=%TXT%off;1=%TXT%on decpl=0 OutDigital2Param2 u32 decpl=0 OutDigital2Param3 u32 decpl=0 OutValue2 f32.1 title=%TXT%dbdefs_output_value min=0 max=1 param0=%FFFF0005%actual_output_value_2 // NOTE: param0 field (%FFFF0005%actual_output_value_n) is required for the setpoint functionality / actual output value has to be in this format! "actual_output_value_N" N equals the number to use @OutValue2 OutValue2_digital f32.0 title=%TXT%dbdefs_output_value editmask=0=%TXT%off;1=%TXT%on dlorw=skip // === // === Response Values DEVICE -> SERVER // === // #config5 CntrValues up edit=8 view=8 // InfCntVal1 s64 param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_currentctnval width=20 decpl=2 edit=8 view=8 // InfCntVal2 s64 param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_currentctnval width=20 decpl=2 edit=8 view=8 // === // === COMMANDS SERVER -> DEVICE // === // #config6 Commands down edit=2 view=2 // position_start u8 // aloha_start u8 // aloha_resettime u8 // aloha_recordon u8 // aloha_alwayson u8 // InfCntSetVal1_Trigger u8 // InfCntSetVal1_Param s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale1 title=%TXT%C3_newctnval width=20 decpl=2 // InfCntSetVal2_Trigger u8 // InfCntSetVal2_Param s64 default=NAN param0=%INTEL% vscale=%configA%Pulse_Scale2 title=%TXT%C3_newctnval width=20 decpl=2 // === // === COMMANDS STATE DEVICE -> SERVER // === // #config7 CommandsState up // position_start u8 edit=8 view=2 // aloha_start u8 edit=8 view=2 // aloha_resettime u8 edit=8 view=2 // aloha_recordon u8 edit=8 view=2 // aloha_alwayson u8 edit=2 view=2 // === // === DEFAULTS - SYS CONFIG // === #define SYS_TX_MODE_DEFAULT 2 #define SYS_TX_INTERVAL_DEFAULT 1440 #define SYS_REC_INTERVAL_DEFAULT 1 #define SYS_REC_INTERVAL_ONLINE_DEFAULT 5 #define SYS_SAMPLE_INTERVAL_DEFAULT 0 #define SYS_ONLINE_TIME_DEFAULT 10 #define SYS_CHARGING_MODE_DEFAULT 1 #define SYS_POSITION_INTERVAL_DEFAULT 86400 #define SYS_REC_INTERVAL_FAST_DEFAULT 0 #define SYS_FIXED_TX_TIME_DEFAULT -1 #define SYS_OPERATION_MODE_DEFAULT 1 #define SYS_BACKUP_TIME_DEFAULT 0 #define SYS_BACKUP_ON_OFF_DEFAULT 0 #define SYS_ALT_TX_INTERVAL_DEFAULT 15 // === // === SYS CONFIG // === #config8 System down TxMode u8 title=%TXT%dbdefsminiusercfg_txmode param0=%FFFF0005%tx_mode editmask=2=%TXT%dbdefsminiusercfg_txmode_cont default=SYS_TX_MODE_DEFAULT edit=8 TxInterval u32 vscale=0.01666666667 units=hh:mm min=00:10 max=168:00 default=SYS_TX_INTERVAL_DEFAULT editmask=%TIME%n%hh:nn title=%TXT%dbdefsusrcfgtransmissionperiod param0=%FFFF0005%transfer_interval RecInterval u32 vscale=0.01666666667 units=%TXT%min min=1 max=1090 default=SYS_REC_INTERVAL_DEFAULT title=%TXT%dbdefsusrcfgrecordinterval SampleInterval u16 units=mm:ss title=%TXT%dbdefsusrcfgmeasureperiod help=%TXT%dbdefsusrcfgmeasureperiod_help default=SYS_REC_SAMPLE_INTERVAL_DEFAULT min=00:00 max=1090:00 editmask=%TIME%s%nn:ss help=%TXT%dbdefsusrcfgmeasureperiod_help Warmup u16 title=%TXT%dbdefsminiusercfg_warmup_time_extern min=0 max=1090 units=%TXT%sec view=8 edit=8 PositionInterval u32 units=hh:mm default=SYS_POSITION_INTERVAL_DEFAULT editmask=%TIME%s%hh:nn min=00:00 max=24:00 title=%TXT%dbdefsusercfgposinterval help=%TXT%dbdefsusercfgposinterval_help RecIntervalFast u32 vscale=0.01666666667 units=min min=0 max=1090 default=SYS_REC_INTERVAL_FAST_DEFAULT decpl=0 title=%TXT%dbdefscompcfg_record_alternative FixedTxTime s16 default=SYS_FIXED_TX_TIME_DEFAULT editmask=%TIME%n%hh:nn min=00:00 max=23:59 AltTxInterval u32 vscale=0.01666666667 units=hh:mm min=00:10 max=168:00 default=SYS_ALT_TX_INTERVAL_DEFAULT editmask=%TIME%n%hh:nn title=%TXT%dbdefsusrcfgtransmissionperiod_quick BackupTime u16 default=SYS_BACKUP_TIME_DEFAULT title=%TXT%C3_backup_delay help=%TXT%dbdefs_usercfg_backup_power_off_time_help min=0 max=600 units=%TXT%sec BackupOnOff u8 default=SYS_BACKUP_ON_OFF_DEFAULT title=%TXT%C3_backup_on_off editmask=0=%TXT%off;1=%TXT%on // === // === SERVER-ONLY CONFIG // === #configA Description view=2 edit=2 Title_1 ustr.16 title="%TXT%ch_title 1" default="%TXT%ch 1" Unit_1 ustr.8 title=%TXT%ch_unit Title_2 ustr.16 title="%TXT%ch_title 2" default="%TXT%ch 2" Unit_2 ustr.8 title=%TXT%ch_unit Title_3 ustr.16 title="%TXT%ch_title 3" default="%TXT%ch 3" Unit_3 ustr.8 title=%TXT%ch_unit Title_4 ustr.16 title="%TXT%ch_title GSM" default=GSM Unit_4 ustr.8 edit=8 title=%TXT%ch_unit default=dBm Title_5 ustr.16 title="%TXT%ch_title %TXT%voltage" default=%TXT%voltage Unit_5 ustr.8 edit=8 title=%TXT%ch_unit default=V Title_6 ustr.16 title="%TXT%ch_title Digital 1" default="Digital 1" Unit_6 ustr.8 title=%TXT%ch_unit Title_7 ustr.16 title="%TXT%ch_title Digital 2" default="Digital 2" Unit_7 ustr.8 title=%TXT%ch_unit Decpl_1 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Decpl_2 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Decpl_3 s8 title=%TXT%ch_decpl editmask=-1=%TXT%default;0=0;1=1;2=2;3=3;4=4;5=5;6=6 default=-1 Pulse_1 f32.2 title=%TXT%ch_impuls min=0 max=9999999 width=6 help=%TXT%field_help_impuls_sc default=1.0 Pulse_2 f32.2 title=%TXT%ch_impuls min=0 max=9999999 width=6 help=%TXT%field_help_impuls_sc default=1.0 Pulse_Unit1 ustr.8 title=%TXT%ch_impuls_ui default=l Pulse_Unit2 ustr.8 title=%TXT%ch_impuls_ui default=l Pulse_Factor1 s8 title="%TXT%ch_impuls %TXT%ch_scaleL" editmask=6=1000000;5=100000;4=10000;3=1000;2=100;1=10;0=1;-1=0.1;-2=0.01;-3=0.001;-4=0.0001;-5=0.00001;-6=0.000001 default=-3 Pulse_Factor2 s8 title="%TXT%ch_impuls %TXT%ch_scaleL" editmask=6=1000000;5=100000;4=10000;3=1000;2=100;1=10;0=1;-1=0.1;-2=0.01;-3=0.001;-4=0.0001;-5=0.00001;-6=0.000001 default=-3 Pulse_Scale1 f32.7 title=PulseScale decpl=7 Pulse_Scale2 f32.7 title=PulseScale decpl=7 Title_8 ustr.30 title="%TXT%ch_title 1 Inf.Cnt." default="%TXT%ch 1 Inf.Cnt." Title_9 ustr.30 title="%TXT%ch_title 2 Inf.Cnt." default="%TXT%ch 2 Inf.Cnt." Unit_8 ustr.8 title=%TXT%ch_unit // === // === MEASUREMENT DATA // === #histdata0 measurement_channels up title=%TXT%measurement_channels UI1 f32.3 title=%configA%Title_1 units=%configA%Unit_1 chmode=%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_1 min=%config1%UI1_Min max=%config1%UI1_Max ialarm_low=%config2%ThresholdAlarmLow_1 ialarm_high=%config2%ThresholdAlarmHigh_1 iwarn_low=%config2%ThresholdWarningLow_1 iwarn_high=%config2%ThresholdWarningHigh_1 itrigger=%config2%ThresholdTrigger_1 UI2 f32.3 title=%configA%Title_2 units=%configA%Unit_2 chmode=%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_2 min=%config1%UI2_Min max=%config1%UI2_Max ialarm_low=%config2%ThresholdAlarmLow_2 ialarm_high=%config2%ThresholdAlarmHigh_2 iwarn_low=%config2%ThresholdWarningLow_2 iwarn_high=%config2%ThresholdWarningHigh_2 itrigger=%config2%ThresholdTrigger_2 UI3 f32.3 title=%configA%Title_3 units=%configA%Unit_3 chmode=%config1%UI3_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8 editmask=%5.1n decpl=%configA%Decpl_3 min=%config1%UI3_Min max=%config1%UI3_Max ialarm_low=%config2%ThresholdAlarmLow_3 ialarm_high=%config2%ThresholdAlarmHigh_3 iwarn_low=%config2%ThresholdWarningLow_3 iwarn_high=%config2%ThresholdWarningHigh_3 itrigger=%config2%ThresholdTrigger_3 GSM f32.0 title=%configA%Title_4 units=dBm%configA%Unit_4 ialarm_low=%config2%ThresholdAlarmLow_6 ialarm_high=%config2%ThresholdAlarmHigh_6 iwarn_low=%config2%ThresholdWarningLow_6 iwarn_high=%config2%ThresholdWarningHigh_6 itrigger=%config2%ThresholdTrigger_6 min=-20 max=90 Vin f32.3 title=%configA%Title_5 units=V%configA%Unit_5 decpl=1 ialarm_low=%config2%ThresholdAlarmLow_7 ialarm_high=%config2%ThresholdAlarmHigh_7 iwarn_low=%config2%ThresholdWarningLow_7 iwarn_high=%config2%ThresholdWarningHigh_7 itrigger=%config2%ThresholdTrigger_7 OutDigital1 f32.0 title=%configA%Title_6 units=%configA%Unit_8 chmode=1 setpoint=config3;OutValue1;actual_output_value_1 // NOTE: setpoint=CONFIG;CONFIG_FIELD;actual_output_value_(n) - TODO chmode depending on digital mode OutDigital2 f32.0 title=%configA%Title_7 units=%configA%Unit_8 chmode=1 setpoint=config3;OutValue2;actual_output_value_2 // NOTE: setpoint=CONFIG;CONFIG_FIELD;actual_output_value_(n) - TODO chmode depending on digital mode // InfCnt1 s64 title=%configA%Title_8 vscale=%configA%Pulse_Scale1 units=%configA%Unit_1 chmode=%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 param0=%INTEL% editmask=%5.1n decpl=%configA%Decpl_1 // InfCnt2 s64 title=%configA%Title_9 vscale=%configA%Pulse_Scale2 units=%configA%Unit_2 chmode=%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 param0=%INTEL% editmask=%5.1n decpl=%configA%Decpl_2 // === // === ALOHA LOG // === // #aloha up // UI1 f32.3 title=%configA%Title_1 units=%configA%Unit_1 chmode=6%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_1 min=%config1%UI1_Min max=%config1%UI1_Max // UI2 f32.3 title=%configA%Title_2 units=%configA%Unit_2 chmode=6%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n decpl=%configA%Decpl_2 min=%config1%UI2_Min max=%config1%UI2_Max // UI3 f32.3 title=%configA%Title_3 units=%configA%Unit_3 chmode=6%config1%UI3_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8 editmask=%5.1n decpl=%configA%Decpl_3 min=%config1%UI3_Min max=%config1%UI3_Max // GSM f32.0 title=%configA%Title_4 units=dBm%configA%Unit_4 min=-120 max=-20 // Vin f32.3 title=%configA%Title_5 units=V%configA%Unit_5 decpl=1 min=0 max=50 // OutDigital1 f32.0 title=%configA%Title_6 units=%configA%Unit_8 // OutDigital2 f32.0 title=%configA%Title_7 units=%configA%Unit_8 // InfCnt1 s64 title=%configA%Title_8 vscale=%configA%Pulse_Scale1 units=%configA%Unit_1 chmode=6%config1%UI1_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n param0=%INTEL% decpl=%configA%Decpl_1 // InfCnt2 s64 title=%configA%Title_9 vscale=%configA%Pulse_Scale2 units=%configA%Unit_2 chmode=6%config1%UI2_Mode%0=0;1=1;2=3;18=2;5=5;21=6;7=7;8=8;34=12 editmask=%5.1n param0=%INTEL% decpl=%configA%Decpl_2 // === // === Alarms // === #alerts // === // === App-Log // === #applog // === // === Notes // === // *note1: The value of this field is calculated through more than one shadow field. To prevent an update of this field without the consideration of all its shadow fields edit=99 is needed.
How_to_use:

DLO

Copy the following code snippet into the main.p file.
/* Application entry point */ main() { /* Starts the myDataconC3 universal datalogger application DLO */ myDataconC3_Init(); }

POV - Details View

Copy the following code snippet into the details.vue file.
<template lang="pug"> // === this is the PORTAL VIEW's DETAILS representation === .pov-details // Creates the myDataconC3 universal datalogger application details POV .loading-spinner.fa.fa-spinner.fa-spin.fa-3x.fa-fw(v-if='!loaded_') myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") table.btn-line(cellspacing='0' cellpadding='0' width='100%') tr td .btn-group button.btn.btn-default(type='button' @click='back') %TXT%cancel button.btn.btn-default(v-if='!newSite_' @click='apply(false)' :disabled='!!saving_') %TXT%apply button.btn.btn-default(type='button' @click='save' :disabled='!!saving_') %TXT%save </template> <script> import "./~auto.mjs" // adds DDE #define vars to window object for global use // Import the myDataconC3DetailsPOV sub-component import { myDataconC3DetailsPOV } from 'mydataconc3-mt'; export default { name: "pov-details", mixins: [MDN.vueSiteDetailsMixin], // Registers sub-components components: { myDataconC3DetailsPOV }, data() { return { } }, watch: { loaded_() { MDN.siteEditor = this; //------- EVENT controlled --------------------- if (this.PAPI.site_uid) { //not needed in APPL config const siteEditor = this; if (this.basic.device) { const updateBlock = async (eventId) => { if (eventId==='device') { //information about currently assigned device is contained in site object siteEditor.siteController_.loadSite(function(){ if (!siteEditor.siteController_.resultCache.basic.device) Vue.set(siteEditor.basic, 'device', null); else { if (!siteEditor.basic.device || siteEditor.basic.device._uid !== siteEditor.siteController_.resultCache.basic.device._uid) Vue.set(siteEditor.basic, 'device', siteEditor.siteController_.resultCache.basic.device); else //if the device is already there Vue.set(siteEditor.basic.device, 'con', siteEditor.siteController_.resultCache.basic.device.con); } }); } }; AutoReloadSpanOnChange("__id", updateBlock, "device", this.basic.device._uid); } } //------- END EVENT controlled ----------------- }, }, methods: { beforeSave(onDone) { // Call the child method using the reference this.$refs.mydataconc3mt.beforeSave(()=>{ onDone(); }); } }, created() { }, mounted() { } } </script> <style lang="less" scoped> // the DETAILS POV style definitions .pov-details { } </style>

POV - List View

Copy the following code snippet into the list.vue file.
<template lang="pug"> // === this is the PORTAL VIEW's LIST representation === .pov-list // Creates the myDataconC3 universal datalogger application list POV myDataconC3ListPOV() </template> <script> // Import the myDataconC3ListPOV sub-component import { myDataconC3ListPOV } from 'mydataconc3-mt'; export default { name: "pov-list", // Registers sub-components components: { myDataconC3ListPOV }, data() { return { } }, methods: { }, created() { } } </script> <style lang="less" scoped> // the LIST POV style definitions .pov-list { } </style>

Migration Guide V1 to V2

DDE:
With version 2 a bug got fixed that could happen when configuring triggers. A trigger field consists out of several shadow fields and sometime it could happen that the trigger field got updated without considering all shadow fields. This ment that the alarm config sent to the device could differ to what was configured.

Another change is that applog is activated by default.

Migrating from "V1" to "V2"

Search your project for the file main.dde and do the following:
Within config2
Change all trigger fields (from Trigger_1 to Trigger_5) from
Trigger_X u16 decpl=0 view=8 edit=8
to
Trigger_X u16 decpl=0 view=8 edit=99 // see *note1
At the end
Add the following:
// === // === App-Log // === #applog // === // === Notes // === // *note1: The value of this field is calculated through more than one shadow field. To prevent an update of this field without the consideration of all its shadow fields edit=99 is needed.
POV:
With version 1 you only had to add the myDataconC3DetailsPOV component to your details.pov. This resulted in several limitations if for instance if you wanted to add your own configuration fields or if you wanted to use other POV components from other libraries.

With version 2 you need to add several other things to your details.pov. This leads to the POV being much more flexible. You can add your configuration fields in several different locations and not just at the end. Adding POV components from other libraries is now possible.

Migrating from "V1" to "V2"

Search your project for the file details.pov and do the following:
Within <template>
Replace the call of
myDataconC3DetailsPOV()
with
.loading-spinner.fa.fa-spinner.fa-spin.fa-3x.fa-fw(v-if='!loaded_') myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic")
If you have used the slot "conC3_AppSpecificConfig" change it to the slot "addon-slot-7"
// V1 template(v-slot:conC3_AppSpecificConfig="slotProps") // V2 template(v-slot:addon-slot-7)
addon-slot-7 is the last slot available and at the end of the POV. If you want you can use a different slot which is higher up. E.g. addon-slot-2 is between the foldables "Measurement channels" and "Output channels".
Add the buttons for saving and canceling at the and of the template:
table.btn-line(cellspacing='0' cellpadding='0' width='100%') tr td .btn-group button.btn.btn-default(type='button' @click='back') %TXT%cancel button.btn.btn-default(v-if='!newSite_' @click='apply(false)' :disabled='!!saving_') %TXT%apply button.btn.btn-default(type='button' @click='save' :disabled='!!saving_') %TXT%save
Within <script>
Add the following at the beginning:
import "./~auto.mjs" // adds DDE #define vars to window object for global use
Replace export default with the following:
export default { name: "pov-details", mixins: [MDN.vueSiteDetailsMixin], // Registers sub-components components: { myDataconC3DetailsPOV }, data() { return { } }, watch: { loaded_() { MDN.siteEditor = this; //------- EVENT controlled --------------------- if (this.PAPI.site_uid) { //not needed in APPL config const siteEditor = this; if (this.basic.device) { const updateBlock = async (eventId) => { if (eventId==='device') { //information about currently assigned device is contained in site object siteEditor.siteController_.loadSite(function(){ if (!siteEditor.siteController_.resultCache.basic.device) Vue.set(siteEditor.basic, 'device', null); else { if (!siteEditor.basic.device || siteEditor.basic.device._uid !== siteEditor.siteController_.resultCache.basic.device._uid) Vue.set(siteEditor.basic, 'device', siteEditor.siteController_.resultCache.basic.device); else //if the device is already there Vue.set(siteEditor.basic.device, 'con', siteEditor.siteController_.resultCache.basic.device.con); } }); } }; AutoReloadSpanOnChange("__id", updateBlock, "device", this.basic.device._uid); } } //------- END EVENT controlled ----------------- }, }, methods: { beforeSave(onDone) { // Call the child method using the reference this.$refs.mydataconc3mt.beforeSave(()=>{ onDone(); }); } }, created() { }, mounted() { } }
DDE:
With version 2 a bug got fixed that could happen when configuring triggers. A trigger field consists out of several shadow fields and sometime it could happen that the trigger field got updated without considering all shadow fields. This ment that the alarm config sent to the device could differ to what was configured.

Another change is that applog is activated by default.

Migrating from "V1" to "V2"

Search your project for the file main.dde and do the following:
Within config2
Change all trigger fields (from Trigger_1 to Trigger_5) from
Trigger_X u16 decpl=0 view=8 edit=8
to
Trigger_X u16 decpl=0 view=8 edit=99 // see *note1
At the end
Add the following:
// === // === App-Log // === #applog // === // === Notes // === // *note1: The value of this field is calculated through more than one shadow field. To prevent an update of this field without the consideration of all its shadow fields edit=99 is needed.
POV:
With version 1 you only had to add the myDataconC3DetailsPOV component to your details.pov. This resulted in several limitations if for instance if you wanted to add your own configuration fields or if you wanted to use other POV components from other libraries.

With version 2 you need to add several other things to your details.pov. This leads to the POV being much more flexible. You can add your configuration fields in several different locations and not just at the end. Adding POV components from other libraries is now possible.

Migrating from "V1" to "V2"

Search your project for the file details.pov and do the following:
Within <template>
Replace the call of
myDataconC3DetailsPOV()
with
.loading-spinner.fa.fa-spinner.fa-spin.fa-3x.fa-fw(v-if='!loaded_') myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic")
If you have used the slot "conC3_AppSpecificConfig" change it to the slot "addon-slot-7"
// V1 template(v-slot:conC3_AppSpecificConfig="slotProps") // V2 template(v-slot:addon-slot-7)
addon-slot-7 is the last slot available and at the end of the POV. If you want you can use a different slot which is higher up. E.g. addon-slot-2 is between the foldables "Measurement channels" and "Output channels".
Add the buttons for saving and canceling at the and of the template:
table.btn-line(cellspacing='0' cellpadding='0' width='100%') tr td .btn-group button.btn.btn-default(type='button' @click='back') %TXT%cancel button.btn.btn-default(v-if='!newSite_' @click='apply(false)' :disabled='!!saving_') %TXT%apply button.btn.btn-default(type='button' @click='save' :disabled='!!saving_') %TXT%save
Within <script>
Add the following at the beginning:
import "./~auto.mjs" // adds DDE #define vars to window object for global use
Replace export default with the following:
export default { name: "pov-details", mixins: [MDN.vueSiteDetailsMixin], // Registers sub-components components: { myDataconC3DetailsPOV }, data() { return { } }, watch: { loaded_() { MDN.siteEditor = this; //------- EVENT controlled --------------------- if (this.PAPI.site_uid) { //not needed in APPL config const siteEditor = this; if (this.basic.device) { const updateBlock = async (eventId) => { if (eventId==='device') { //information about currently assigned device is contained in site object siteEditor.siteController_.loadSite(function(){ if (!siteEditor.siteController_.resultCache.basic.device) Vue.set(siteEditor.basic, 'device', null); else { if (!siteEditor.basic.device || siteEditor.basic.device._uid !== siteEditor.siteController_.resultCache.basic.device._uid) Vue.set(siteEditor.basic, 'device', siteEditor.siteController_.resultCache.basic.device); else //if the device is already there Vue.set(siteEditor.basic.device, 'con', siteEditor.siteController_.resultCache.basic.device.con); } }); } }; AutoReloadSpanOnChange("__id", updateBlock, "device", this.basic.device._uid); } } //------- END EVENT controlled ----------------- }, }, methods: { beforeSave(onDone) { // Call the child method using the reference this.$refs.mydataconc3mt.beforeSave(()=>{ onDone(); }); } }, created() { }, mounted() { } }

Basic DLO

myDataconC3_Init()

Sets up and runs the myDataconC3 datalogger application

How_to_use
myDataconC3_Init()

Sets up and runs the myDataconC3 datalogger application

How_to_use

Basic POV

myDataconC3DetailsPOV(

Vue component that includes the complete myDataconC3 "details" part of the POV

How_to_use
myDataconC3ListPOV(

Vue component that includes the complete myDataconC3 "list" part of the POV

How_to_use
myDataconC3DetailsPOV(

Vue component that includes the complete myDataconC3 "details" part of the POV

How_to_use
myDataconC3ListPOV(

Vue component that includes the complete myDataconC3 "list" part of the POV

How_to_use

Expert DLO

Advanced_Config:
/** ---------------------------------------------------------------------------- * mydataconc3-mt: Callback Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature */ #define CONC3_COMMON 0 // General information regarding the myDataconC3 datalogger application #define CONC3_MEASURE 0 // Data measurement #define CONC3_RECORDDATA 0 // Record data #define CONC3_HISTDATA0_EXTENDED 0 // Add app specific data to histdata0

General information regarding the myDataconC3 datalogger application

CONC3_COMMON >= 1
  • conC3_IOCtrlStateCallback
  • Data measurement

    CONC3_MEASURE >= 1
  • conC3_MeasurementDoneCallback
  • Record data

    CONC3_RECORDDATA >= 1
  • conC3_RecordDataCallback
  • Add app specific data to histdata0

    CONC3_HISTDATA0_EXTENDED >= 1
  • conC3_AppSpecificHistdata0_Get
  • Do not add a structure to histdata0, as this would lead to incompatible function calls within this library. If you need structures consider adding a new histdata and use conC3_RecordDataCallback.
    CONC3_CH_DATA_x:

    Numbers of the channels

    CONC3_CH_DATA_UI1 - Universal input 1
    CONC3_CH_DATA_UI2 - Universal input 2
    CONC3_CH_DATA_UI3 - Universal input 3
    CONC3_CH_DATA_GSM - Internal measurement channel "GSM level"
    CONC3_CH_DATA_VIN - Internal measurement channel "Voltage"
    CONC3_CH_DATA_DIGOUT1 - Relay 1
    CONC3_CH_DATA_DIGOUT2 - Relay 2
    CONC3_CH_CH_DATA_NUM - Total number of all channels (all of the in- and outputs)
    CONC3_CH_STATUS_x:

    Status of the measurement channel

    CONC3_CH_STATUS_OK - Value is OK
    CONC3_CH_STATUS_NAN - Invalid measurement value / undefined error
    CONC3_CH_STATUS_OF - The measurement value is above the upper limit (overflow)
    CONC3_CH_STATUS_UF - The measurement value is below the lower limit (underflow)
    CONC3_CH_STATUS_OL - Cable break was detected or no sensor was connected (open loop)
    CONC3_CH_STATUS_SC - Short circuit was detected
    conC3_IOCtrlStateCallback(iResult)

    IO Controller state changed

    iResult - IO Controller state
    OK - IOController is ready, rapidm2m-c3xx-base library functions can be used
    ERROR - IO Controller not responding, limited functionality from the rapidm2m-c3xx-base library
    conC3_MeasurementDoneCallback()

    Measurement finished

    This function is called up at the time of every measurement once all of the measurement values have been generated and before the outputs have been set.
    conC3_RecordDataCallback(iStamp)

    Record data event finished

    This function is called up when the record data event is finished.
    iStamp : Tstamp32 - Timestamp used when writing histdata0.
    conC3_AppSpecificHistdata0_Get(aData)

    Add app specific data to histdata0

    This function is called before histdata0 gets written so that app specific data can be added.
    aData : DDE_measurement_channels - Structure to add the app specific data to. The base fields are already filled.
    conC3_GetValue(iChannel, &Float:fValue, &iStatus=CONC3_CH_STATUS_OK)

    Reads out the current value and status of a channel

    iChannel : s32 - Number of the channel (see CONC3_CH_DATA_x)
    fValue : f32 - Variable to store the measurement value of the channel
    iStatus : s32 - Variable to store the status of the channel - OPTIONAL (see CONC3_CH_STATUS_x)
    returns : s32
    OK - The channel value was successfully read
    ERROR - If no valid channel number was transferred
    conC3_SetValue(iChannel, fValue, iState=CONC3_CH_STATUS_OK)

    Sets the current value and status of a channel

    iChannel : s32 - Number of the channel (see CONC3_CH_DATA_x)
    fValue : f32 - Value to set the channels value to
    iStatus : s32 - Status to set the channels status to - OPTIONAL (see CONC3_CH_STATUS_x)
    returns : s32
    OK - The channel value was successfully written
    ERROR - If no valid channel number was transferred
    Advanced_Config:
    /** ---------------------------------------------------------------------------- * mydataconc3-mt: Callback Config * ----------------------------------------------------------------------------- * * Use this macro to enable the callback functions for the features which you want to use: * * 0: disables all callback functions for a specific feature * 1: only enables the essential callback functions for a specific feature */ #define CONC3_COMMON 0 // General information regarding the myDataconC3 datalogger application #define CONC3_MEASURE 0 // Data measurement #define CONC3_RECORDDATA 0 // Record data #define CONC3_HISTDATA0_EXTENDED 0 // Add app specific data to histdata0

    General information regarding the myDataconC3 datalogger application

    CONC3_COMMON >= 1
  • conC3_IOCtrlStateCallback
  • Data measurement

    CONC3_MEASURE >= 1
  • conC3_MeasurementDoneCallback
  • Record data

    CONC3_RECORDDATA >= 1
  • conC3_RecordDataCallback
  • Add app specific data to histdata0

    CONC3_HISTDATA0_EXTENDED >= 1
  • conC3_AppSpecificHistdata0_Get
  • Do not add a structure to histdata0, as this would lead to incompatible function calls within this library. If you need structures consider adding a new histdata and use conC3_RecordDataCallback.
    CONC3_CH_DATA_x:

    Numbers of the channels

    CONC3_CH_DATA_UI1 - Universal input 1
    CONC3_CH_DATA_UI2 - Universal input 2
    CONC3_CH_DATA_UI3 - Universal input 3
    CONC3_CH_DATA_GSM - Internal measurement channel "GSM level"
    CONC3_CH_DATA_VIN - Internal measurement channel "Voltage"
    CONC3_CH_DATA_DIGOUT1 - Relay 1
    CONC3_CH_DATA_DIGOUT2 - Relay 2
    CONC3_CH_CH_DATA_NUM - Total number of all channels (all of the in- and outputs)
    CONC3_CH_STATUS_x:

    Status of the measurement channel

    CONC3_CH_STATUS_OK - Value is OK
    CONC3_CH_STATUS_NAN - Invalid measurement value / undefined error
    CONC3_CH_STATUS_OF - The measurement value is above the upper limit (overflow)
    CONC3_CH_STATUS_UF - The measurement value is below the lower limit (underflow)
    CONC3_CH_STATUS_OL - Cable break was detected or no sensor was connected (open loop)
    CONC3_CH_STATUS_SC - Short circuit was detected
    conC3_IOCtrlStateCallback(iResult)

    IO Controller state changed

    iResult - IO Controller state
    OK - IOController is ready, rapidm2m-c3xx-base library functions can be used
    ERROR - IO Controller not responding, limited functionality from the rapidm2m-c3xx-base library
    conC3_MeasurementDoneCallback()

    Measurement finished

    This function is called up at the time of every measurement once all of the measurement values have been generated and before the outputs have been set.
    conC3_RecordDataCallback(iStamp)

    Record data event finished

    This function is called up when the record data event is finished.
    iStamp : Tstamp32 - Timestamp used when writing histdata0.
    conC3_AppSpecificHistdata0_Get(aData)

    Add app specific data to histdata0

    This function is called before histdata0 gets written so that app specific data can be added.
    aData : DDE_measurement_channels - Structure to add the app specific data to. The base fields are already filled.
    conC3_GetValue(iChannel, &Float:fValue, &iStatus=CONC3_CH_STATUS_OK)

    Reads out the current value and status of a channel

    iChannel : s32 - Number of the channel (see CONC3_CH_DATA_x)
    fValue : f32 - Variable to store the measurement value of the channel
    iStatus : s32 - Variable to store the status of the channel - OPTIONAL (see CONC3_CH_STATUS_x)
    returns : s32
    OK - The channel value was successfully read
    ERROR - If no valid channel number was transferred
    conC3_SetValue(iChannel, fValue, iState=CONC3_CH_STATUS_OK)

    Sets the current value and status of a channel

    iChannel : s32 - Number of the channel (see CONC3_CH_DATA_x)
    fValue : f32 - Value to set the channels value to
    iStatus : s32 - Status to set the channels status to - OPTIONAL (see CONC3_CH_STATUS_x)
    returns : s32
    OK - The channel value was successfully written
    ERROR - If no valid channel number was transferred

    Expert POV

    addon-slot-1(

    Vue slot that enables app specific POV parts before the "Measurement channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-1") // Application specific code
    addon-slot-2(

    Vue slot that enables app specific POV parts between the "Measurement channels" foldable and the "Output channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-2") // Application specific code
    addon-slot-3(

    Vue slot that enables app specific POV parts between the "Output channels" foldable and the "Internal channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-3") // Application specific code
    addon-slot-4(

    Vue slot that enables app specific POV parts between the "Internal channels" foldable and the "Alarm settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-4") // Application specific code
    addon-slot-5(

    Vue slot that enables app specific POV parts between the "Alarm settings" foldable and the "Calculated channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-5") // Application specific code
    addon-slot-6(

    Vue slot that enables app specific POV parts between the "Calculated channels" foldable and the "Basic settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-6") // Application specific code
    addon-slot-7(

    Vue slot that enables app specific POV parts after the "Basic settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-7") // Application specific code
    addon-slot-1(

    Vue slot that enables app specific POV parts before the "Measurement channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-1") // Application specific code
    addon-slot-2(

    Vue slot that enables app specific POV parts between the "Measurement channels" foldable and the "Output channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-2") // Application specific code
    addon-slot-3(

    Vue slot that enables app specific POV parts between the "Output channels" foldable and the "Internal channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-3") // Application specific code
    addon-slot-4(

    Vue slot that enables app specific POV parts between the "Internal channels" foldable and the "Alarm settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-4") // Application specific code
    addon-slot-5(

    Vue slot that enables app specific POV parts between the "Alarm settings" foldable and the "Calculated channels" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-5") // Application specific code
    addon-slot-6(

    Vue slot that enables app specific POV parts between the "Calculated channels" foldable and the "Basic settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-6") // Application specific code
    addon-slot-7(

    Vue slot that enables app specific POV parts after the "Basic settings" foldable

    myDataconC3DetailsPOV(v-if="loaded_", ref="mydataconc3mt", :siteController_="siteController_", :createEMwDef="createEMwDef", :isAppl_="isAppl_", :calcChannelsTabNames="calcChannelsTabNames", :blueprint="blueprint", :data="data", :basic="basic") template(slot="addon-slot-7") // Application specific code