Developer Docs v3
Example App

Classes

struct  GlueVariable
 Defines the mapping for a glued variable. More...
 

Macros

#define __LOCATED_VAR(type, name, ...)   type __##name;
 
#define __LOCATED_VAR(type, name, ...)   type* name = &__##name;
 
#define OPLC_GLUE_VARIABLE
 
#define OPLC_IEC_GLUE_VALUE_TYPE
 

Enumerations

enum  IecGlueValueType {
  IECVT_BOOL = 0, IECVT_BYTE, IECVT_SINT, IECVT_USINT,
  IECVT_INT, IECVT_UINT, IECVT_WORD, IECVT_DINT,
  IECVT_UDINT, IECVT_DWORD, IECVT_REAL, IECVT_LREAL,
  IECVT_LWORD, IECVT_LINT, IECVT_ULINT, IECVT_UNASSIGNED,
  IECVT_BOOL = 0, IECVT_BYTE, IECVT_SINT, IECVT_USINT,
  IECVT_INT, IECVT_UINT, IECVT_WORD, IECVT_DINT,
  IECVT_UDINT, IECVT_DWORD, IECVT_REAL, IECVT_LREAL,
  IECVT_LWORD, IECVT_LINT, IECVT_ULINT, IECVT_UNASSIGNED
}
 

Functions

void config_init__ (void)
 
void config_run__ (unsigned long tick)
 
void glueVars ()
 
int modbus_set_slave (modbus_t *ctx, int slave)
 
std::uint16_t const OPLCGLUE_INPUT_SIZE (0)
 The size of the array of input variables. More...
 
std::uint16_t const OPLCGLUE_OUTPUT_SIZE (0)
 The size of the array of output variables. More...
 
void updateTime ()
 

Variables

TIME __CURRENT_TIME
 
IEC_BOOLbool_input [BUFFER_SIZE][8]
 
IEC_BOOLbool_output [BUFFER_SIZE][8]
 
const uint16_t BUFFER_SIZE = 1024
 
IEC_BYTEbyte_input [BUFFER_SIZE]
 
IEC_BYTEbyte_output [BUFFER_SIZE]
 
unsigned long long common_ticktime__
 
unsigned long long common_ticktime__ = 50000000ULL
 
IEC_DINTdint_memory [BUFFER_SIZE]
 
IEC_UINTint_input [BUFFER_SIZE]
 
IEC_UINTint_memory [BUFFER_SIZE]
 
IEC_UINTint_output [BUFFER_SIZE]
 
IEC_LINTlint_memory [BUFFER_SIZE]
 
GlueVariable oplc_input_vars []
 
GlueVariable oplc_output_vars []
 
IEC_LINTspecial_functions [BUFFER_SIZE]
 

Detailed Description

Macro Definition Documentation

◆ __LOCATED_VAR [1/2]

#define __LOCATED_VAR (   type,
  name,
  ... 
)    type __##name;

Definition at line 95 of file noop.cpp.

◆ __LOCATED_VAR [2/2]

#define __LOCATED_VAR (   type,
  name,
  ... 
)    type* name = &__##name;

Definition at line 95 of file noop.cpp.

◆ OPLC_GLUE_VARIABLE

#define OPLC_GLUE_VARIABLE

Definition at line 55 of file noop.cpp.

◆ OPLC_IEC_GLUE_VALUE_TYPE

#define OPLC_IEC_GLUE_VALUE_TYPE

Definition at line 32 of file noop.cpp.

Enumeration Type Documentation

◆ IecGlueValueType

Enumerator
IECVT_BOOL 
IECVT_BYTE 
IECVT_SINT 
IECVT_USINT 
IECVT_INT 
IECVT_UINT 
IECVT_WORD 
IECVT_DINT 
IECVT_UDINT 
IECVT_DWORD 
IECVT_REAL 
IECVT_LREAL 
IECVT_LWORD 
IECVT_LINT 
IECVT_ULINT 
IECVT_UNASSIGNED 

This is not a normal type and won't appear in the glue variables here.

But it does allow you to create your own indexed mapping and have a way to indicate a value that is not assigned a type.

IECVT_BOOL 
IECVT_BYTE 
IECVT_SINT 
IECVT_USINT 
IECVT_INT 
IECVT_UINT 
IECVT_WORD 
IECVT_DINT 
IECVT_UDINT 
IECVT_DWORD 
IECVT_REAL 
IECVT_LREAL 
IECVT_LWORD 
IECVT_LINT 
IECVT_ULINT 
IECVT_UNASSIGNED 

Definition at line 33 of file noop.cpp.

Function Documentation

◆ config_init__()

void config_init__ ( void  )

Definition at line 24 of file Config0.cpp.

◆ config_run__()

void config_run__ ( unsigned long  tick)

Definition at line 27 of file Config0.cpp.

◆ glueVars()

void glueVars ( )

Definition at line 99 of file noop.cpp.

◆ modbus_set_slave()

int modbus_set_slave ( modbus_t ctx,
int  slave 
)

Definition at line 20 of file mock_io.cpp.

◆ OPLCGLUE_INPUT_SIZE()

std::uint16_t const OPLCGLUE_INPUT_SIZE ( )

The size of the array of input variables.

◆ OPLCGLUE_OUTPUT_SIZE()

std::uint16_t const OPLCGLUE_OUTPUT_SIZE ( )

The size of the array of output variables.

◆ updateTime()

void updateTime ( )

Definition at line 115 of file noop.cpp.

Variable Documentation

◆ __CURRENT_TIME

TIME __CURRENT_TIME

Definition at line 28 of file noop.cpp.

◆ bool_input

IEC_BOOL* bool_input[BUFFER_SIZE][8]

Definition at line 73 of file noop.cpp.

◆ bool_output

IEC_BOOL* bool_output[BUFFER_SIZE][8]

Definition at line 74 of file noop.cpp.

◆ BUFFER_SIZE

const uint16_t BUFFER_SIZE = 1024

Definition at line 70 of file noop.cpp.

◆ byte_input

IEC_BYTE* byte_input[BUFFER_SIZE]

Definition at line 77 of file noop.cpp.

◆ byte_output

IEC_BYTE* byte_output[BUFFER_SIZE]

Definition at line 78 of file noop.cpp.

◆ common_ticktime__ [1/2]

unsigned long long common_ticktime__

Definition at line 31 of file Config0.cpp.

◆ common_ticktime__ [2/2]

unsigned long long common_ticktime__ = 50000000ULL

Definition at line 31 of file Config0.cpp.

◆ dint_memory

IEC_DINT* dint_memory[BUFFER_SIZE]

Definition at line 86 of file noop.cpp.

◆ int_input

IEC_UINT* int_input[BUFFER_SIZE]

Definition at line 81 of file noop.cpp.

◆ int_memory

IEC_UINT* int_memory[BUFFER_SIZE]

Definition at line 85 of file noop.cpp.

◆ int_output

IEC_UINT* int_output[BUFFER_SIZE]

Definition at line 82 of file noop.cpp.

◆ lint_memory

IEC_LINT* lint_memory[BUFFER_SIZE]

Definition at line 87 of file noop.cpp.

◆ oplc_input_vars

GlueVariable oplc_input_vars[]
Initial value:
= {
{ IECVT_UNASSIGNED, nullptr },
}

Definition at line 105 of file noop.cpp.

◆ oplc_output_vars

GlueVariable oplc_output_vars[]
Initial value:
= {
{ IECVT_UNASSIGNED, nullptr },
}

Definition at line 111 of file noop.cpp.

◆ special_functions

IEC_LINT* special_functions[BUFFER_SIZE]

Definition at line 90 of file noop.cpp.