Вопрос: как иницилизировать структуру в коде программы?
Предположим, что объявлена такая структура:
Понятно, что в коде программы можно инициализировать ее таким образом:Код:TYPE TEST_DATA : STRUCT iVar: INT; rVar: REAL; END_STRUCT END_TYPE
Но нет ли более простого способа?Код:PROGRAM PLC_PRG VAR stData: TEST_DATA; xInit: BOOL; END_VAR IF xInit THEN stData.iVar := 11; stData.rVar := 22.33; ... xInit := FALSE; END_IF
Ответ: можно инициализировать структуру с помощью специального оператора STRUCT (не описанного в данный момент в справке CODESYS).
Этот способ также позволяет инициализировать структуры, объявленные в области VAR_INPUT CONSTANT в редакторе языка CFC:Код:PROGRAM PLC_PRG VAR stData: TEST_DATA; xInit: BOOL; END_VAR IF xInit THEN stData := STRUCT(iVar := 11, rVar := 22.33); xInit := FALSE; END_IF
2021-10-20_8-16-36.png




