diff --git a/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py b/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py index 3bc2315d3bab4306f8b0d6e9c57e020856c25cf7..5171e2dd0c491de899a7bc6613d102427afde7ba 100644 --- a/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py +++ b/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py @@ -506,7 +506,7 @@ cGetUnsignedArray2DReg = """ uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); ${fesaType}* ${regName} = (${fesaType}*)calloc(dim1*dim2, sizeof(${fesaType})); - pRegister->getVal${regType}Array2D(${regName}, dim1, dim2);\t//use automatic conversion for JAVA non-supported type + pRegister->getVal${regType}Array2D(${regName}, dim1, dim2); pDevice->${fesaFieldName}.set(${regName}, dim1, dim2, pContext); free(${regName}); } @@ -516,8 +516,8 @@ cGetUnsignedArrayReg = """ { Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}"); uint32_t dim1 = pRegister->getDimension1(); - ${regType}* ${regName} = (${regType}*)calloc(dim1, sizeof(${regType})); - pRegister->getVal${regType}Array(${regName}, dim1);\t//use automatic conversion for JAVA non-supported type + ${fesaType}* ${regName} = (${fesaType}*)calloc(dim1, sizeof(${fesaType})); + pRegister->getVal${regType}Array(${regName}, dim1); pDevice->${fesaFieldName}.set(${regName}, dim1, pContext); free(${regName}); } @@ -591,7 +591,7 @@ cSetArray2DReg = """ cSetStringRegData = """ (data.is${fesaFieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setValString(data.${fesaFieldName}.get()) : - pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fesaFieldName}.get(pContext));""" + pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fesaFieldName}.get(${context}));""" cSetStringArrayRegData = """ { @@ -751,9 +751,9 @@ def genCGetScalarReg(register): def genCGetArrayReg(register): if register.isUnsigned(): - return cGetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', register.getFesaType()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${fesaType}', register.getFesaType()) + return cGetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${fesaType}', register.getFesaType()) else: - return cGetArrayReg.replace('${regName}', register.name).replace('${regType}', register.getFesaType()).replace('${fesaFieldName}', register.getFesaFieldName()) + return cGetArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()) def genCGetArray2DReg(register): if register.isUnsigned(): @@ -768,7 +768,7 @@ def genCDatatypeSet(blockName,propName,className): return cDatatypeSet.replace('${className}', className).replace('${blockName}', blockName).replace('${propName}', propName) def genCSetStringReg(register): - context = ", pContext" + context = "pContext" if register.isConfiguration(): context = "" return cSetStringReg.replace('${regName}', register.name).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${context}', context) @@ -781,7 +781,7 @@ def genCSetStringArrayReg(register): def genCSetScalarReg(register): cCast = "" - context = ", pContext" + context = "pContext" if register.isUnsigned(): cCast = "(" + register.getCType() + ")" if register.isConfiguration(): @@ -801,7 +801,7 @@ def genCSetArray2DReg(register): return cSetArray2DReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${context}', context) def genCSetStringRegData(register): - context = ", pContext" + context = "pContext" if register.isConfiguration(): context = "" return cSetStringRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${context}', context) diff --git a/silecs-codegen/src/xml/test/AllTypes.silecsdesign b/silecs-codegen/src/xml/test/AllTypes.silecsdesign index d72cc901edff1e0f66aec3d109a7f24cee0d52cd..43990ce50699b99de1403d40a4ae1ea3d4cf1afd 100644 --- a/silecs-codegen/src/xml/test/AllTypes.silecsdesign +++ b/silecs-codegen/src/xml/test/AllTypes.silecsdesign @@ -5,174 +5,226 @@ <Editor user-login="schwinn"/> </Information> <SILECS-Class name="AllTypes" version="0.1.0" domain="OPERATIONAL"> - <Acquisition-Block name="MyROBlock" generateFesaProperty="true" fesaPropertyName="MyROBlockProp"> - <Acquisition-Register name="RO_int8" generateFesaValueItem="true"> - <scalar format="int8"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa"> - <scalar format="uint8"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa"> - <scalar format="int16"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa"> - <scalar format="uint16"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa"> - <scalar format="int32"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa"> - <scalar format="uint32"/> - </Acquisition-Register> - <!--<Register name="RO_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_int64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!--<Register name="RO_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_uint64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa"> - <scalar format="float32"/> - </Acquisition-Register> - <!--<Register name="RO_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RO_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa"> - <string string-length="64" format="string"/> - </Acquisition-Register> - <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa"> - <scalar format="date"/> - </Acquisition-Register> - <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa"> - <scalar format="char"/> - </Acquisition-Register> - <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa"> - <scalar format="byte"/> - </Acquisition-Register> - <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa"> - <scalar format="word"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa"> - <scalar format="dword"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa"> - <scalar format="int"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa"> - <scalar format="dint"/> - </Acquisition-Register> - <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa"> - <scalar format="real"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa"> - <scalar format="dt"/> - </Acquisition-Register> - </Acquisition-Block> - <Setting-Block name="MyRWBlock" generateFesaProperty="true" fesaPropertyName="MyRWBlockProp"> - <Setting-Register name="RW_int8" generateFesaValueItem="true"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <!--<Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> - </Setting-Block> - <Command-Block name="MyWOBlock" generateFesaProperty="true" fesaPropertyName="MyWOBlockProp"> - <Setting-Register name="WO_int8" generateFesaValueItem="true"> - <array dim="10" format="int8"/> - </Setting-Register> - <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa"> - <array dim="10" format="uint8"/> - </Setting-Register> - <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa"> - <array dim="10" format="int16"/> - </Setting-Register> - <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa"> - <array dim="10" format="uint16"/> - </Setting-Register> - <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa"> - <array dim="10" format="int32"/> - </Setting-Register> - <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa"> - <array dim="10" format="uint32"/> - </Setting-Register> - <!--<Register name="WO_int64" format="int64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_int64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!--<Register name="WO_uint64" format="uint64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_uint64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa"> - <array dim="10" format="float32"/> - </Setting-Register> - <!--<Register name="WO_float64" format="float64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_float64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa"> - <array dim="10" format="date"/> - </Setting-Register> - <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa"> - <array dim="10" format="char"/> - </Setting-Register> - <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa"> - <array dim="10" format="byte"/> - </Setting-Register> - <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa"> - <array dim="10" format="word"/> - </Setting-Register> - <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa"> - <array dim="10" format="dword"/> - </Setting-Register> - <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa"> - <array dim="10" format="int"/> - </Setting-Register> - <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa"> - <array dim="10" format="dint"/> - </Setting-Register> - <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa"> - <array dim="10" format="real"/> - </Setting-Register> - <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa"> - <array dim="10" format="dt"/> - </Setting-Register> - </Command-Block> + <Acquisition-Block name="MyROBlock" generateFesaProperty="true" fesaPropertyName="MyROBlockProp"> + <Acquisition-Register name="RO_int8" generateFesaValueItem="true"> + <scalar format="int8"/> + </Acquisition-Register> + <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa"> + <scalar format="uint8"/> + </Acquisition-Register> + <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa"> + <scalar format="int16"/> + </Acquisition-Register> + <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa"> + <scalar format="uint16"/> + </Acquisition-Register> + <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa"> + <scalar format="int32"/> + </Acquisition-Register> + <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa"> + <scalar format="uint32"/> + </Acquisition-Register> + <!--<Register name="RO_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <!--<Register name="RO_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa"> + <scalar format="float32"/> + </Acquisition-Register> + <!--<Register name="RO_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RO_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> + <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa"> + <string string-length="64" format="string"/> + </Acquisition-Register> + <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa"> + <scalar format="date"/> + </Acquisition-Register> + <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa"> + <scalar format="char"/> + </Acquisition-Register> + <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa"> + <scalar format="byte"/> + </Acquisition-Register> + <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa"> + <scalar format="word"/> + </Acquisition-Register> + <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa"> + <scalar format="dword"/> + </Acquisition-Register> + <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa"> + <scalar format="int"/> + </Acquisition-Register> + <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa"> + <scalar format="dint"/> + </Acquisition-Register> + <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa"> + <scalar format="real"/> + </Acquisition-Register> + <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa"> + <scalar format="dt"/> + </Acquisition-Register> + </Acquisition-Block> + <Setting-Block name="MyRWBlock" generateFesaProperty="true" fesaPropertyName="MyRWBlockProp"> + <Setting-Register name="RW_int8" generateFesaValueItem="true"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa"> + <scalar format="uint32"/> + </Setting-Register> + <!--<Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa"> + <scalar format="float32"/> + </Setting-Register> + <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RW_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <!-- <Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> + <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> + <!-- <Register name="RW_string" format="string" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" array-dim1="2" array-dim2="2"/> 2d string arrays not supported in FESA --> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> + </Setting-Block> + <Command-Block name="MyWOBlock" generateFesaProperty="true" fesaPropertyName="MyWOBlockProp"> + <Setting-Register name="WO_int8" generateFesaValueItem="true"> + <array dim="10" format="int8"/> + </Setting-Register> + <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa"> + <array dim="10" format="uint8"/> + </Setting-Register> + <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa"> + <array dim="10" format="int16"/> + </Setting-Register> + <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa"> + <array dim="10" format="uint16"/> + </Setting-Register> + <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa"> + <array dim="10" format="int32"/> + </Setting-Register> + <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa"> + <array dim="10" format="uint32"/> + </Setting-Register> + <!--<Register name="WO_int64" format="int64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_int64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider --> + <!--<Register name="WO_uint64" format="uint64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_uint64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider --> + <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa"> + <array dim="10" format="float32"/> + </Setting-Register> + <!--<Register name="WO_float64" format="float64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_float64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> + <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa"> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa"> + <array dim="10" format="date"/> + </Setting-Register> + <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa"> + <array dim="10" format="char"/> + </Setting-Register> + <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa"> + <array dim="10" format="byte"/> + </Setting-Register> + <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa"> + <array dim="10" format="word"/> + </Setting-Register> + <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa"> + <array dim="10" format="dword"/> + </Setting-Register> + <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa"> + <array dim="10" format="int"/> + </Setting-Register> + <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa"> + <array dim="10" format="dint"/> + </Setting-Register> + <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa"> + <array dim="10" format="real"/> + </Setting-Register> + <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa"> + <array dim="10" format="dt"/> + </Setting-Register> + </Command-Block> <Configuration-Block name="MyCBlock" generateFesaProperty="true" fesaPropertyName="MyCBlockProp"> <Configuration-Register name="C_int8" generateFesaValueItem="true"> <array2D dim1="2" dim2="2" format="int8"/> diff --git a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign index a4c90afbafe18308fe0f3f40e53e88d2f9238a8f..1e5b06d00537d22d3196a5937725b9036a220e88 100644 --- a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign +++ b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign @@ -62,56 +62,110 @@ </Acquisition-Register> </Acquisition-Block> <Setting-Block name="MyRWBlock" generateFesaProperty="true" fesaPropertyName="MyRWBlockProp"> - <Setting-Register name="RW_int8" generateFesaValueItem="true"> + <Setting-Register name="RW_int8" generateFesaValueItem="true"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa"> + <scalar format="uint32"/> + </Setting-Register> + <!--<Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa"> + <scalar format="float32"/> + </Setting-Register> + <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RW_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true"> <array2D dim1="2" dim2="2" format="int8"/> </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa"> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa"> <array2D dim1="2" dim2="2" format="uint8"/> </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa"> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa"> <array2D dim1="2" dim2="2" format="int16"/> </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa"> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa"> <array2D dim1="2" dim2="2" format="uint16"/> </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa"> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa"> <array2D dim1="2" dim2="2" format="int32"/> </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa"> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa"> <array2D dim1="2" dim2="2" format="uint32"/> </Setting-Register> <!-- <Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa"> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa"> <array2D dim1="2" dim2="2" format="float32"/> </Setting-Register> <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> <!-- <Register name="RW_string" format="string" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" array-dim1="2" array-dim2="2"/> 2d string arrays not supported in FESA --> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa"> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa"> <array2D dim1="2" dim2="2" format="date"/> </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa"> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa"> <array2D dim1="2" dim2="2" format="char"/> </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa"> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa"> <array2D dim1="2" dim2="2" format="byte"/> </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa"> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa"> <array2D dim1="2" dim2="2" format="word"/> </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa"> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa"> <array2D dim1="2" dim2="2" format="dword"/> </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa"> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa"> <array2D dim1="2" dim2="2" format="int"/> </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa"> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa"> <array2D dim1="2" dim2="2" format="dint"/> </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa"> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa"> <array2D dim1="2" dim2="2" format="real"/> </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa"> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa"> <array2D dim1="2" dim2="2" format="dt"/> </Setting-Register> </Setting-Block> diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypes.cpp b/silecs-codegen/src/xml/test/generated_correct/AllTypes.cpp index fad71dc718d2336c4ac6a5c3a5f712b8c1a18d0d..887d00f775f8c60072ddd3a4f8dd2956082250ce 100644 --- a/silecs-codegen/src/xml/test/generated_correct/AllTypes.cpp +++ b/silecs-codegen/src/xml/test/generated_correct/AllTypes.cpp @@ -232,134 +232,155 @@ namespace AllTypes if (recvNow) pPLCDevice -> recv(blockName_); + pDevice->RW_int8.set( pPLCDevice->getRegister("RW_int8")->getValInt8(), pContext); + pDevice->RW_uint8_fesa.set( pPLCDevice->getRegister("RW_uint8")->getValUInt8(), pContext); + pDevice->RW_int16_fesa.set( pPLCDevice->getRegister("RW_int16")->getValInt16(), pContext); + pDevice->RW_uint16_fesa.set( pPLCDevice->getRegister("RW_uint16")->getValUInt16(), pContext); + pDevice->RW_int32_fesa.set( pPLCDevice->getRegister("RW_int32")->getValInt32(), pContext); + pDevice->RW_uint32_fesa.set( pPLCDevice->getRegister("RW_uint32")->getValUInt32(), pContext); + pDevice->RW_float32_fesa.set( pPLCDevice->getRegister("RW_float32")->getValFloat32(), pContext); { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW_string"); + pDevice->RW_string_fesa.set(pRegister->getValString().c_str(), pContext); + } + + pDevice->RW_date_fesa.set( pPLCDevice->getRegister("RW_date")->getValDate(), pContext); + pDevice->RW_char_fesa.set( pPLCDevice->getRegister("RW_char")->getValInt8(), pContext); + pDevice->RW_byte_fesa.set( pPLCDevice->getRegister("RW_byte")->getValUInt8(), pContext); + pDevice->RW_word_fesa.set( pPLCDevice->getRegister("RW_word")->getValUInt16(), pContext); + pDevice->RW_dword_fesa.set( pPLCDevice->getRegister("RW_dword")->getValUInt32(), pContext); + pDevice->RW_int_fesa.set( pPLCDevice->getRegister("RW_int")->getValInt16(), pContext); + pDevice->RW_dint_fesa.set( pPLCDevice->getRegister("RW_dint")->getValInt32(), pContext); + pDevice->RW_real_fesa.set( pPLCDevice->getRegister("RW_real")->getValFloat32(), pContext); + pDevice->RW_dt_fesa.set( pPLCDevice->getRegister("RW_dt")->getValDate(), pContext); + { + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_int8.set(pRegister->getRefInt8Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_int8.set(pRegister->getRefInt8Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int16_t* RW_uint8 = (int16_t*)calloc(dim1*dim2, sizeof(int16_t)); - pRegister->getValUInt8Array2D(RW_uint8, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_uint8_fesa.set(RW_uint8, dim1, dim2, pContext); - free(RW_uint8); + int16_t* RW2_uint8 = (int16_t*)calloc(dim1*dim2, sizeof(int16_t)); + pRegister->getValUInt8Array2D(RW2_uint8, dim1, dim2); + pDevice->RW2_uint8_fesa.set(RW2_uint8, dim1, dim2, pContext); + free(RW2_uint8); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_int16_fesa.set(pRegister->getRefInt16Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_int16_fesa.set(pRegister->getRefInt16Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int32_t* RW_uint16 = (int32_t*)calloc(dim1*dim2, sizeof(int32_t)); - pRegister->getValUInt16Array2D(RW_uint16, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_uint16_fesa.set(RW_uint16, dim1, dim2, pContext); - free(RW_uint16); + int32_t* RW2_uint16 = (int32_t*)calloc(dim1*dim2, sizeof(int32_t)); + pRegister->getValUInt16Array2D(RW2_uint16, dim1, dim2); + pDevice->RW2_uint16_fesa.set(RW2_uint16, dim1, dim2, pContext); + free(RW2_uint16); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_int32_fesa.set(pRegister->getRefInt32Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_int32_fesa.set(pRegister->getRefInt32Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int64_t* RW_uint32 = (int64_t*)calloc(dim1*dim2, sizeof(int64_t)); - pRegister->getValUInt32Array2D(RW_uint32, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_uint32_fesa.set(RW_uint32, dim1, dim2, pContext); - free(RW_uint32); + int64_t* RW2_uint32 = (int64_t*)calloc(dim1*dim2, sizeof(int64_t)); + pRegister->getValUInt32Array2D(RW2_uint32, dim1, dim2); + pDevice->RW2_uint32_fesa.set(RW2_uint32, dim1, dim2, pContext); + free(RW2_uint32); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_float32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_float32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_float32_fesa.set(pRegister->getRefFloat32Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_float32_fesa.set(pRegister->getRefFloat32Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_date"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_date"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_date_fesa.set(pRegister->getRefDateArray2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_date_fesa.set(pRegister->getRefDateArray2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_char"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_char"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_char_fesa.set(pRegister->getRefInt8Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_char_fesa.set(pRegister->getRefInt8Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_byte"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_byte"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int16_t* RW_byte = (int16_t*)calloc(dim1*dim2, sizeof(int16_t)); - pRegister->getValUInt8Array2D(RW_byte, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_byte_fesa.set(RW_byte, dim1, dim2, pContext); - free(RW_byte); + int16_t* RW2_byte = (int16_t*)calloc(dim1*dim2, sizeof(int16_t)); + pRegister->getValUInt8Array2D(RW2_byte, dim1, dim2); + pDevice->RW2_byte_fesa.set(RW2_byte, dim1, dim2, pContext); + free(RW2_byte); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_word"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_word"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int32_t* RW_word = (int32_t*)calloc(dim1*dim2, sizeof(int32_t)); - pRegister->getValUInt16Array2D(RW_word, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_word_fesa.set(RW_word, dim1, dim2, pContext); - free(RW_word); + int32_t* RW2_word = (int32_t*)calloc(dim1*dim2, sizeof(int32_t)); + pRegister->getValUInt16Array2D(RW2_word, dim1, dim2); + pDevice->RW2_word_fesa.set(RW2_word, dim1, dim2, pContext); + free(RW2_word); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dword"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dword"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - int64_t* RW_dword = (int64_t*)calloc(dim1*dim2, sizeof(int64_t)); - pRegister->getValUInt32Array2D(RW_dword, dim1, dim2); //use automatic conversion for JAVA non-supported type - pDevice->RW_dword_fesa.set(RW_dword, dim1, dim2, pContext); - free(RW_dword); + int64_t* RW2_dword = (int64_t*)calloc(dim1*dim2, sizeof(int64_t)); + pRegister->getValUInt32Array2D(RW2_dword, dim1, dim2); + pDevice->RW2_dword_fesa.set(RW2_dword, dim1, dim2, pContext); + free(RW2_dword); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_int_fesa.set(pRegister->getRefInt16Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_int_fesa.set(pRegister->getRefInt16Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dint"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dint"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_dint_fesa.set(pRegister->getRefInt32Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_dint_fesa.set(pRegister->getRefInt32Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_real"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_real"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_real_fesa.set(pRegister->getRefFloat32Array2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_real_fesa.set(pRegister->getRefFloat32Array2D(dim1, dim2), dim1, dim2, pContext); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dt"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dt"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); - pDevice->RW_dt_fesa.set(pRegister->getRefDateArray2D(dim1, dim2), dim1, dim2, pContext); + pDevice->RW2_dt_fesa.set(pRegister->getRefDateArray2D(dim1, dim2), dim1, dim2, pContext); } } @@ -373,132 +394,150 @@ namespace AllTypes Silecs::PLC* pPLC = pCluster_->getPLC(pDevice->plcHostName.get()); Silecs::Device* pPLCDevice = pPLC->getDevice(pDevice->plcDeviceLabel.get()); + pPLCDevice->getRegister("RW_int8")->setValInt8( pDevice->RW_int8.get(pContext)); + pPLCDevice->getRegister("RW_uint8")->setValUInt8( (uint8_t)pDevice->RW_uint8_fesa.get(pContext)); + pPLCDevice->getRegister("RW_int16")->setValInt16( pDevice->RW_int16_fesa.get(pContext)); + pPLCDevice->getRegister("RW_uint16")->setValUInt16( (uint16_t)pDevice->RW_uint16_fesa.get(pContext)); + pPLCDevice->getRegister("RW_int32")->setValInt32( pDevice->RW_int32_fesa.get(pContext)); + pPLCDevice->getRegister("RW_uint32")->setValUInt32( (uint32_t)pDevice->RW_uint32_fesa.get(pContext)); + pPLCDevice->getRegister("RW_float32")->setValFloat32( pDevice->RW_float32_fesa.get(pContext)); + pPLCDevice->getRegister("RW_string")->setValString(pDevice->RW_string_fesa.get(pContext)); + + pPLCDevice->getRegister("RW_date")->setValDate( pDevice->RW_date_fesa.get(pContext)); + pPLCDevice->getRegister("RW_char")->setValInt8( pDevice->RW_char_fesa.get(pContext)); + pPLCDevice->getRegister("RW_byte")->setValUInt8( (uint8_t)pDevice->RW_byte_fesa.get(pContext)); + pPLCDevice->getRegister("RW_word")->setValUInt16( (uint16_t)pDevice->RW_word_fesa.get(pContext)); + pPLCDevice->getRegister("RW_dword")->setValUInt32( (uint32_t)pDevice->RW_dword_fesa.get(pContext)); + pPLCDevice->getRegister("RW_int")->setValInt16( pDevice->RW_int_fesa.get(pContext)); + pPLCDevice->getRegister("RW_dint")->setValInt32( pDevice->RW_dint_fesa.get(pContext)); + pPLCDevice->getRegister("RW_real")->setValFloat32( pDevice->RW_real_fesa.get(pContext)); + pPLCDevice->getRegister("RW_dt")->setValDate( pDevice->RW_dt_fesa.get(pContext)); { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt8Array2D(pDevice->RW_int8.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt8Array2D(pDevice->RW2_int8.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt8Array2D(pDevice->RW_uint8_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt8Array2D(pDevice->RW2_uint8_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt16Array2D(pDevice->RW_int16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt16Array2D(pDevice->RW2_int16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt16Array2D(pDevice->RW_uint16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt16Array2D(pDevice->RW2_uint16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt32Array2D(pDevice->RW_int32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt32Array2D(pDevice->RW2_int32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt32Array2D(pDevice->RW_uint32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt32Array2D(pDevice->RW2_uint32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_float32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_float32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValFloat32Array2D(pDevice->RW_float32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValFloat32Array2D(pDevice->RW2_float32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_date"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_date"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValDateArray2D(pDevice->RW_date_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValDateArray2D(pDevice->RW2_date_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_char"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_char"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt8Array2D(pDevice->RW_char_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt8Array2D(pDevice->RW2_char_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_byte"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_byte"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt8Array2D(pDevice->RW_byte_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt8Array2D(pDevice->RW2_byte_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_word"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_word"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt16Array2D(pDevice->RW_word_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt16Array2D(pDevice->RW2_word_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dword"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dword"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValUInt32Array2D(pDevice->RW_dword_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValUInt32Array2D(pDevice->RW2_dword_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt16Array2D(pDevice->RW_int_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt16Array2D(pDevice->RW2_int_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dint"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dint"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValInt32Array2D(pDevice->RW_dint_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValInt32Array2D(pDevice->RW2_dint_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_real"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_real"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValFloat32Array2D(pDevice->RW_real_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValFloat32Array2D(pDevice->RW2_real_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dt"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dt"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - pRegister->setValDateArray2D(pDevice->RW_dt_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + pRegister->setValDateArray2D(pDevice->RW2_dt_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } if (sendNow) pPLCDevice->send(blockName_); @@ -513,148 +552,182 @@ namespace AllTypes Silecs::PLC* pPLC = pCluster_->getPLC(pDevice->plcHostName.get()); Silecs::Device* pPLCDevice = pPLC->getDevice(pDevice->plcDeviceLabel.get()); + (data.isRW_int8Available()) ? pPLCDevice->getRegister("RW_int8")->setValInt8( data.RW_int8.get()) : + pPLCDevice->getRegister("RW_int8")->setValInt8( pDevice->RW_int8.get(pContext)); + (data.isRW_uint8_fesaAvailable()) ? pPLCDevice->getRegister("RW_uint8")->setValUInt8( (uint8_t)data.RW_uint8_fesa.get()) : + pPLCDevice->getRegister("RW_uint8")->setValUInt8( (uint8_t)pDevice->RW_uint8_fesa.get(pContext)); + (data.isRW_int16_fesaAvailable()) ? pPLCDevice->getRegister("RW_int16")->setValInt16( data.RW_int16_fesa.get()) : + pPLCDevice->getRegister("RW_int16")->setValInt16( pDevice->RW_int16_fesa.get(pContext)); + (data.isRW_uint16_fesaAvailable()) ? pPLCDevice->getRegister("RW_uint16")->setValUInt16( (uint16_t)data.RW_uint16_fesa.get()) : + pPLCDevice->getRegister("RW_uint16")->setValUInt16( (uint16_t)pDevice->RW_uint16_fesa.get(pContext)); + (data.isRW_int32_fesaAvailable()) ? pPLCDevice->getRegister("RW_int32")->setValInt32( data.RW_int32_fesa.get()) : + pPLCDevice->getRegister("RW_int32")->setValInt32( pDevice->RW_int32_fesa.get(pContext)); + (data.isRW_uint32_fesaAvailable()) ? pPLCDevice->getRegister("RW_uint32")->setValUInt32( (uint32_t)data.RW_uint32_fesa.get()) : + pPLCDevice->getRegister("RW_uint32")->setValUInt32( (uint32_t)pDevice->RW_uint32_fesa.get(pContext)); + (data.isRW_float32_fesaAvailable()) ? pPLCDevice->getRegister("RW_float32")->setValFloat32( data.RW_float32_fesa.get()) : + pPLCDevice->getRegister("RW_float32")->setValFloat32( pDevice->RW_float32_fesa.get(pContext)); + (data.isRW_string_fesaAvailable()) ? pPLCDevice->getRegister("RW_string")->setValString(data.RW_string_fesa.get()) : + pPLCDevice->getRegister("RW_string")->setValString(pDevice->RW_string_fesa.get(pContext)); + (data.isRW_date_fesaAvailable()) ? pPLCDevice->getRegister("RW_date")->setValDate( data.RW_date_fesa.get()) : + pPLCDevice->getRegister("RW_date")->setValDate( pDevice->RW_date_fesa.get(pContext)); + (data.isRW_char_fesaAvailable()) ? pPLCDevice->getRegister("RW_char")->setValInt8( data.RW_char_fesa.get()) : + pPLCDevice->getRegister("RW_char")->setValInt8( pDevice->RW_char_fesa.get(pContext)); + (data.isRW_byte_fesaAvailable()) ? pPLCDevice->getRegister("RW_byte")->setValUInt8( (uint8_t)data.RW_byte_fesa.get()) : + pPLCDevice->getRegister("RW_byte")->setValUInt8( (uint8_t)pDevice->RW_byte_fesa.get(pContext)); + (data.isRW_word_fesaAvailable()) ? pPLCDevice->getRegister("RW_word")->setValUInt16( (uint16_t)data.RW_word_fesa.get()) : + pPLCDevice->getRegister("RW_word")->setValUInt16( (uint16_t)pDevice->RW_word_fesa.get(pContext)); + (data.isRW_dword_fesaAvailable()) ? pPLCDevice->getRegister("RW_dword")->setValUInt32( (uint32_t)data.RW_dword_fesa.get()) : + pPLCDevice->getRegister("RW_dword")->setValUInt32( (uint32_t)pDevice->RW_dword_fesa.get(pContext)); + (data.isRW_int_fesaAvailable()) ? pPLCDevice->getRegister("RW_int")->setValInt16( data.RW_int_fesa.get()) : + pPLCDevice->getRegister("RW_int")->setValInt16( pDevice->RW_int_fesa.get(pContext)); + (data.isRW_dint_fesaAvailable()) ? pPLCDevice->getRegister("RW_dint")->setValInt32( data.RW_dint_fesa.get()) : + pPLCDevice->getRegister("RW_dint")->setValInt32( pDevice->RW_dint_fesa.get(pContext)); + (data.isRW_real_fesaAvailable()) ? pPLCDevice->getRegister("RW_real")->setValFloat32( data.RW_real_fesa.get()) : + pPLCDevice->getRegister("RW_real")->setValFloat32( pDevice->RW_real_fesa.get(pContext)); + (data.isRW_dt_fesaAvailable()) ? pPLCDevice->getRegister("RW_dt")->setValDate( data.RW_dt_fesa.get()) : + pPLCDevice->getRegister("RW_dt")->setValDate( pDevice->RW_dt_fesa.get(pContext)); { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_int8Available()) ? pRegister->setValInt8Array2D(data.RW_int8.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt8Array2D(pDevice->RW_int8.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_int8Available()) ? pRegister->setValInt8Array2D(data.RW2_int8.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt8Array2D(pDevice->RW2_int8.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint8"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint8"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_uint8_fesaAvailable()) ? pRegister->setValUInt8Array2D(data.RW_uint8_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt8Array2D(pDevice->RW_uint8_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_uint8_fesaAvailable()) ? pRegister->setValUInt8Array2D(data.RW2_uint8_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt8Array2D(pDevice->RW2_uint8_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_int16_fesaAvailable()) ? pRegister->setValInt16Array2D(data.RW_int16_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt16Array2D(pDevice->RW_int16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_int16_fesaAvailable()) ? pRegister->setValInt16Array2D(data.RW2_int16_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt16Array2D(pDevice->RW2_int16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint16"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint16"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_uint16_fesaAvailable()) ? pRegister->setValUInt16Array2D(data.RW_uint16_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt16Array2D(pDevice->RW_uint16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_uint16_fesaAvailable()) ? pRegister->setValUInt16Array2D(data.RW2_uint16_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt16Array2D(pDevice->RW2_uint16_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_int32_fesaAvailable()) ? pRegister->setValInt32Array2D(data.RW_int32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt32Array2D(pDevice->RW_int32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_int32_fesaAvailable()) ? pRegister->setValInt32Array2D(data.RW2_int32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt32Array2D(pDevice->RW2_int32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_uint32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_uint32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_uint32_fesaAvailable()) ? pRegister->setValUInt32Array2D(data.RW_uint32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt32Array2D(pDevice->RW_uint32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_uint32_fesaAvailable()) ? pRegister->setValUInt32Array2D(data.RW2_uint32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt32Array2D(pDevice->RW2_uint32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_float32"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_float32"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_float32_fesaAvailable()) ? pRegister->setValFloat32Array2D(data.RW_float32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValFloat32Array2D(pDevice->RW_float32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_float32_fesaAvailable()) ? pRegister->setValFloat32Array2D(data.RW2_float32_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValFloat32Array2D(pDevice->RW2_float32_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_date"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_date"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_date_fesaAvailable()) ? pRegister->setValDateArray2D(data.RW_date_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValDateArray2D(pDevice->RW_date_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_date_fesaAvailable()) ? pRegister->setValDateArray2D(data.RW2_date_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValDateArray2D(pDevice->RW2_date_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_char"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_char"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_char_fesaAvailable()) ? pRegister->setValInt8Array2D(data.RW_char_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt8Array2D(pDevice->RW_char_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_char_fesaAvailable()) ? pRegister->setValInt8Array2D(data.RW2_char_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt8Array2D(pDevice->RW2_char_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_byte"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_byte"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_byte_fesaAvailable()) ? pRegister->setValUInt8Array2D(data.RW_byte_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt8Array2D(pDevice->RW_byte_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_byte_fesaAvailable()) ? pRegister->setValUInt8Array2D(data.RW2_byte_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt8Array2D(pDevice->RW2_byte_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_word"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_word"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_word_fesaAvailable()) ? pRegister->setValUInt16Array2D(data.RW_word_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt16Array2D(pDevice->RW_word_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_word_fesaAvailable()) ? pRegister->setValUInt16Array2D(data.RW2_word_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt16Array2D(pDevice->RW2_word_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dword"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dword"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_dword_fesaAvailable()) ? pRegister->setValUInt32Array2D(data.RW_dword_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValUInt32Array2D(pDevice->RW_dword_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_dword_fesaAvailable()) ? pRegister->setValUInt32Array2D(data.RW2_dword_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValUInt32Array2D(pDevice->RW2_dword_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_int"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_int"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_int_fesaAvailable()) ? pRegister->setValInt16Array2D(data.RW_int_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt16Array2D(pDevice->RW_int_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_int_fesaAvailable()) ? pRegister->setValInt16Array2D(data.RW2_int_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt16Array2D(pDevice->RW2_int_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dint"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dint"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_dint_fesaAvailable()) ? pRegister->setValInt32Array2D(data.RW_dint_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValInt32Array2D(pDevice->RW_dint_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_dint_fesaAvailable()) ? pRegister->setValInt32Array2D(data.RW2_dint_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValInt32Array2D(pDevice->RW2_dint_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_real"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_real"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_real_fesaAvailable()) ? pRegister->setValFloat32Array2D(data.RW_real_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValFloat32Array2D(pDevice->RW_real_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_real_fesaAvailable()) ? pRegister->setValFloat32Array2D(data.RW2_real_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValFloat32Array2D(pDevice->RW2_real_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } { - Silecs::Register* pRegister = pPLCDevice->getRegister("RW_dt"); + Silecs::Register* pRegister = pPLCDevice->getRegister("RW2_dt"); uint32_t dim1 = pRegister->getDimension1(); uint32_t dim2 = pRegister->getDimension2(); uint32_t fesaDim1,fesaDim2; - (data.isRW_dt_fesaAvailable()) ? pRegister->setValDateArray2D(data.RW_dt_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : - pRegister->setValDateArray2D(pDevice->RW_dt_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); + (data.isRW2_dt_fesaAvailable()) ? pRegister->setValDateArray2D(data.RW2_dt_fesa.get(fesaDim1, fesaDim2), dim1, dim2) : + pRegister->setValDateArray2D(pDevice->RW2_dt_fesa.get(fesaDim1, fesaDim2, pContext), dim1, dim2); } if (sendNow) pPLCDevice->send(blockName_); diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design index 4b25e6602f826fb3af5c527dd5684e320a303741..4c4333c495448afb9b882c16350dc2814695965c 100644 --- a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design +++ b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design @@ -47,7 +47,7 @@ <server-action-ref server-action-name-ref="SettingGetAction"/> </get-action> </GSI-Setting-Property> - <GSI-Setting-Property name="MyRWBlockProp" multiplexed="false" visibility="development"><value-item name="RW_dt_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" optional="true" name="updateFlags"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" optional="true" name="cycleName"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational"> + <GSI-Setting-Property name="MyRWBlockProp" multiplexed="false" visibility="development"><value-item name="RW2_dt_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dt_fesa"/></value-item><value-item name="RW2_real_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_real_fesa"/></value-item><value-item name="RW2_dint_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dint_fesa"/></value-item><value-item name="RW2_int_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int_fesa"/></value-item><value-item name="RW2_dword_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dword_fesa"/></value-item><value-item name="RW2_word_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_word_fesa"/></value-item><value-item name="RW2_byte_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_byte_fesa"/></value-item><value-item name="RW2_char_fesa" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_char_fesa"/></value-item><value-item name="RW2_date_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_date_fesa"/></value-item><value-item name="RW2_float32_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_float32_fesa"/></value-item><value-item name="RW2_uint32_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint32_fesa"/></value-item><value-item name="RW2_int32_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int32_fesa"/></value-item><value-item name="RW2_uint16_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint16_fesa"/></value-item><value-item name="RW2_int16_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int16_fesa"/></value-item><value-item name="RW2_uint8_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint8_fesa"/></value-item><value-item name="RW2_int8" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int8"/></value-item><value-item name="RW_dt_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_string_fesa" direction="INOUT"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RW_string_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" optional="true" name="updateFlags"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" optional="true" name="cycleName"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational"> <description>Used to turn the power of a device on or off.</description> <update-flag-item direction="OUT" name="updateFlags" optional="true"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> @@ -632,7 +632,7 @@ corresponding string array containing keys to illustrate the meaning of the deta </GSI-module-status-labels-field> </configuration> <setting> - <field name="WO_dt_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="RW_dt_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_real_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dint_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_int_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dword_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_word_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_byte_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_char_fesa" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_date_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_float32_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_int32_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_int16_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_int8" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><GSI-power-field multiplexed="false" name="power" persistent="false"> + <field name="WO_dt_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="RW2_dt_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_real_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dint_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dword_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_word_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_byte_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_char_fesa" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_date_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_float32_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint32_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int32_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint16_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int16_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint8_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int8" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dt_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_real_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_dint_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_dword_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_word_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_byte_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_char_fesa" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><field name="RW_date_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_string_fesa" multiplexed="false" persistent="true"><array type="char"><dim>64</dim></array></field><field name="RW_float32_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_int32_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int16_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_int8" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false"> <custom-type-scalar data-type-name-ref="DEVICE_POWER"/> </GSI-power-field> </setting> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam index 70ee79b851f440d31b521726f23c8321176b0b31..28f3785ffc5f66822b0c745c5c57be27ce206d0b 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.878641"/> - <Deployment checksum="2903751780"/> + <Generation date="2018-01-31 17:06:08.923964"/> + <Deployment checksum="698440379"/> </Mapping-Info> <SILECS-Mapping plc-name="Beckhoff_BC9020" plc-brand="BECKHOFF" plc-system="TWINCat-2" plc-model="BC9020" protocol="BLOCK_MODE" address="32768" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="32768" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW23/24 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="32816" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW24..MW2251/2228 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="32816" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW24..MW2113/2090 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="32816" mem-size="122"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="65"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="86" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="94" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="96" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="98" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="100" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="104" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="106" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="110" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="114" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="33060" mem-size="468"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="260"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="332" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="364" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="372" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="380" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="396" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="404" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="420" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="436" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="33060" mem-size="330"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="65"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="86" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="94" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="96" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="98" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="100" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="104" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="106" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="110" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="114" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="126" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="130" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="138" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="146" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="162" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="178" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="194" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="230" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="234" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="242" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="258" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="266" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="282" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="298" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="33996" mem-size="1170"> + <Command-Block name="MyWOBlock" size="530" address="33720" mem-size="1170"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="650"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="830" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="910" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="930" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="950" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="990" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1010" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1050" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1090" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="36336" mem-size="468"> + <Configuration-Block name="MyCBlock" size="212" address="36060" mem-size="468"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam index 76c23b00b403ccec86e7c51d60c2e5287ae302f6..77d518b42cee876970e4cca547db06a0f5c81014 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.926827"/> - <Deployment checksum="2305663869"/> + <Generation date="2018-01-31 17:06:08.965570"/> + <Deployment checksum="3857507129"/> </Mapping-Info> <SILECS-Mapping plc-name="Beckhoff_CX9020_TC2" plc-brand="BECKHOFF" plc-system="TWINCat-2" plc-model="CX9020" protocol="BLOCK_MODE" address="24576" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="24576" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW51/52 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW52..MW4523/4472 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW52..MW4259/4208 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="24628" mem-size="128"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="65"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="88" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="96" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="98" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="100" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="104" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="108" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="112" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="116" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="120" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="24884" mem-size="468"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="260"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="332" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="364" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="372" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="380" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="396" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="404" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="420" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="436" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="24884" mem-size="336"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="65"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="88" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="96" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="98" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="100" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="104" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="108" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="112" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="116" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="120" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="128" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="132" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="136" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="144" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="152" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="168" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="184" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="200" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="232" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="236" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="240" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="248" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="264" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="272" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="288" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="304" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="25820" mem-size="1172"> + <Command-Block name="MyWOBlock" size="530" address="25556" mem-size="1172"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="650"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="832" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="912" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="922" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="932" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="952" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="992" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1012" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1052" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1092" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="28164" mem-size="468"> + <Configuration-Block name="MyCBlock" size="212" address="27900" mem-size="468"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam index 21b1f9d2b8d124af58dba9f8e64514f20114980b..e64e770715254d15252637b6bdc41df3fb17d124 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.976073"/> - <Deployment checksum="2305663869"/> + <Generation date="2018-01-31 17:06:09.018813"/> + <Deployment checksum="3857507129"/> </Mapping-Info> <SILECS-Mapping plc-name="Beckhoff_CX9020_TC3" plc-brand="BECKHOFF" plc-system="TWINCat-3" plc-model="CX9020" protocol="BLOCK_MODE" address="24576" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="24576" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW25/26 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW26..MW2261/2236 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW26..MW2129/2104 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="24628" mem-size="128"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="65"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="88" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="96" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="98" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="100" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="104" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="108" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="112" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="116" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="120" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="24884" mem-size="468"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="260"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="332" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="364" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="372" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="380" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="396" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="404" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="420" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="436" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="24884" mem-size="336"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="65"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="88" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="96" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="98" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="100" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="104" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="108" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="112" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="116" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="120" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="128" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="132" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="136" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="144" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="152" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="168" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="184" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="200" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="232" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="236" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="240" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="248" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="264" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="272" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="288" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="304" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="25820" mem-size="1172"> + <Command-Block name="MyWOBlock" size="530" address="25556" mem-size="1172"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="650"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="832" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="912" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="922" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="932" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="952" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="992" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1012" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1052" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1092" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="28164" mem-size="468"> + <Configuration-Block name="MyCBlock" size="212" address="27900" mem-size="468"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam index 9d4a8c0c5409fb22ca0d6d8081accdf8e04ff51c..1db0bb1f2eb880c5588cd9b97eaea838e97ab934 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:12.122661"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:09.210682"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Rabbit_BlockMode" plc-brand="DIGI" plc-system="Standard-C" plc-model="Rabbit_RCM_4010" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW21/22 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2301/2280 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2165/2144 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="120"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="2"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="64"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="2"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="94" mem-size="2"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="96" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="98" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="102" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="104" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="108" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="112" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="284" mem-size="480"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="24" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="32" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="48" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="64" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="80" mem-size="256"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="8"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="384" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="392" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="408" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="416" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="432" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="448" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="284" mem-size="344"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="2"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="64"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="2"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="94" mem-size="2"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="96" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="98" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="102" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="104" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="108" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="112" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="120" mem-size="8"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="128" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="136" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="144" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="152" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="168" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="184" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="200" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="232" mem-size="8"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="240" mem-size="8"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="248" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="256" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="272" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="280" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="296" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="312" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="1244" mem-size="1200"> + <Command-Block name="MyWOBlock" size="530" address="972" mem-size="1200"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="20"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="20" mem-size="20"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="60" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="80" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="120" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="160" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="200" mem-size="640"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="20"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="940" mem-size="20"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="960" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="980" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1020" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1040" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1080" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1120" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="3644" mem-size="480"> + <Configuration-Block name="MyCBlock" size="212" address="3372" mem-size="480"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam index 05907d64f98bbba4d880f4a1638fe126e9711d87..02a9573ec99115dc74a6f6a4bad6acd04c75346d 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:12.087466"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:09.167728"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Rabbit_DeviceMode" plc-brand="DIGI" plc-system="Standard-C" plc-model="Rabbit_RCM_4010" protocol="DEVICE_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW21/22 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2301/2280 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2165/2144 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="120"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="2"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="64"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="2"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="94" mem-size="2"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="96" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="98" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="102" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="104" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="108" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="112" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="120" mem-size="480"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="24" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="32" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="48" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="64" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="80" mem-size="256"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="8"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="384" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="392" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="408" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="416" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="432" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="448" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="120" mem-size="344"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="2"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="64"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="2"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="94" mem-size="2"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="96" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="98" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="102" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="104" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="108" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="112" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="120" mem-size="8"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="128" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="136" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="144" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="152" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="168" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="184" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="200" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="232" mem-size="8"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="240" mem-size="8"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="248" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="256" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="272" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="280" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="296" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="312" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="600" mem-size="1200"> + <Command-Block name="MyWOBlock" size="530" address="464" mem-size="1200"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="20"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="20" mem-size="20"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="60" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="80" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="120" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="160" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="200" mem-size="640"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="20"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="940" mem-size="20"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="960" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="980" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1020" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1040" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1080" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1120" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="1800" mem-size="480"> + <Configuration-Block name="MyCBlock" size="212" address="1664" mem-size="480"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> @@ -237,7 +285,7 @@ </Configuration-Register> </Configuration-Block> <Instance label="testDevice1" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> - <Instance label="testDevice2" address="2324" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> + <Instance label="testDevice2" address="2188" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> </SILECS-Mapping> </SILECS-Param> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam index f367184de1de98ed33a6cab28085841a98b46e63..ffe64ae92876f25e257fd2d8b40e11d3f4a14a50 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:12.045673"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:09.115829"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Schneider_M340" plc-brand="SCHNEIDER" plc-system="UNITY Pro" plc-model="M340" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW21/22 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2273/2252 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2141/2120 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="124"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="64"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="2"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="94" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="96" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="100" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="104" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="108" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="112" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="116" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="292" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="8" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="12" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="20" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="28" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="44" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="60" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="76" mem-size="256"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="332" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="364" mem-size="8"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="292" mem-size="340"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="64"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="2"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="94" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="96" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="100" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="104" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="108" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="112" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="116" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="124" mem-size="8"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="132" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="136" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="144" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="152" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="168" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="184" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="200" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="232" mem-size="8"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="240" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="244" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="252" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="268" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="276" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="292" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="308" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="1236" mem-size="1184"> + <Command-Block name="MyWOBlock" size="530" address="972" mem-size="1184"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="20"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="20" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="30" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="50" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="72" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="112" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="152" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="192" mem-size="640"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="832" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="912" mem-size="20"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="932" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="942" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="964" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1004" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1024" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1064" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1104" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="3604" mem-size="472"> + <Configuration-Block name="MyCBlock" size="212" address="3340" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam index a86a8e78c1c22c55a86816ea9f2fd1300215e19b..d35da53b02d7be1236cb022f7938199a24a1cb05 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:12.015393"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:09.065295"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Schneider_PremiumQuantum" plc-brand="SCHNEIDER" plc-system="UNITY Pro" plc-model="Premium" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW0..MW21/22 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2265/2244 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> + <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2129/2108 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word"> <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="120"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="2" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="4" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="6" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="8" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="12" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="16" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="20" mem-size="64"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="2"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="94" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="96" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="98" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="102" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="104" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="108" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="112" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="284" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="8" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="12" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="20" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="28" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="44" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="60" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="76" mem-size="256"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="332" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="364" mem-size="8"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="284" mem-size="336"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="2"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="2" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="4" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="6" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="8" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="12" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="16" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="20" mem-size="64"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="2"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="94" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="96" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="98" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="102" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="104" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="108" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="112" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="120" mem-size="8"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="128" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="132" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="140" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="148" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="164" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="180" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="196" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="228" mem-size="8"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="236" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="240" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="248" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="264" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="272" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="288" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="304" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="1228" mem-size="1180"> + <Command-Block name="MyWOBlock" size="530" address="956" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="20"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="20" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="30" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="50" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="70" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="110" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="150" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="190" mem-size="640"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="830" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="910" mem-size="20"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="3588" mem-size="472"> + <Configuration-Block name="MyCBlock" size="212" address="3316" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="8"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam index 1785329088b0837817b7134a213ed0b4d72cf676..376b8a7847957ff19bff0039428e0fbc2b73977c 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.709988"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.722245"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Siemens_Step7Block" plc-brand="SIEMENS" plc-system="STEP-7" plc-model="SIMATIC_S7-300" protocol="DEVICE_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="118" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="118" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="590" mem-size="1180"> + <Command-Block name="MyWOBlock" size="530" address="444" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="1770" mem-size="472"> + <Configuration-Block name="MyCBlock" size="212" address="1624" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam index 0dcb2f4f302c3f654c821c3c59521b4b96cd32c8..05d4dcab0b2d75734921584f27ec1f6af38ab43e 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.759024"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.779231"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Siemens_Step7Device" plc-brand="SIEMENS" plc-system="STEP-7" plc-model="SIMATIC_S7-300" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,165 +23,213 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="2" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="2" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> <Command-Block name="MyWOBlock" size="530" address="3" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> <Configuration-Block name="MyCBlock" size="212" address="4" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam index 9520df2fdd83e3b4f229b688bbefbdfcb21347b9..1eb150cc370d47b28bbfda966c054c51ec93a345 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.677527"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.664473"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Siemens_TiaBlock" plc-brand="SIEMENS" plc-system="TIA-PORTAL" plc-model="SIMATIC_S7-300" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,165 +23,213 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="2" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="2" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> <Command-Block name="MyWOBlock" size="530" address="3" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> <Configuration-Block name="MyCBlock" size="212" address="4" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam index 6dadcb0b895968ba79966827aff88fd8799e3520..a5ec4f63d36afe9adbaae9b455d67b715bea8fd6 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.639987"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.626917"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Siemens_TiaDevice" plc-brand="SIEMENS" plc-system="TIA-PORTAL" plc-model="SIMATIC_S7-300" protocol="DEVICE_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="118" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="118" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="590" mem-size="1180"> + <Command-Block name="MyWOBlock" size="530" address="444" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="1770" mem-size="472"> + <Configuration-Block name="MyCBlock" size="212" address="1624" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam index cd3ba1ac19342a190b83287ce5dc25f7a2cc2ff8..0dedaabe0ad83b2ebf3139852e50970ccdd1f1a4 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.842372"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.881285"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Virtual_SiemensBlock" plc-brand="SIEMENS" plc-system="SNAP7 linux32" plc-model="SIMATIC_S7-VIRTUAL" protocol="BLOCK_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,165 +23,213 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="2" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="2" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> <Command-Block name="MyWOBlock" size="530" address="3" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> <Configuration-Block name="MyCBlock" size="212" address="4" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam index ec48ebe0b3eefb4e1f97121474eaa6283d28f37a..99fd26f2efa783d5d38a38694c4ced2731595d4b 100644 --- a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam +++ b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam @@ -2,8 +2,8 @@ <SILECS-Param silecs-version="DEV"> <Mapping-Info> <Owner user-login="schwinn"/> - <Generation date="2018-01-31 10:48:11.796522"/> - <Deployment checksum="582399177"/> + <Generation date="2018-01-31 17:06:08.834131"/> + <Deployment checksum="1058313111"/> </Mapping-Info> <SILECS-Mapping plc-name="Virtual_SiemensDevice" plc-brand="SIEMENS" plc-system="SNAP7 linux32" plc-model="SIMATIC_S7-VIRTUAL" protocol="DEVICE_MODE" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" domain="" used-mem="TODO"> <SILECS-Class name="SilecsHeader" version="1.0.0" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB0..DB0/48 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> @@ -23,167 +23,215 @@ </Acquisition-Block> <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/> </SILECS-Class> - <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4484 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> + <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte"> <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118"> <Acquisition-Register name="RO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> - <scalar format="int8"/> - </Acquisition-Register> + <scalar format="int8"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa" size="1" address="1" mem-size="1"> - <scalar format="uint8"/> - </Acquisition-Register> + <scalar format="uint8"/> + </Acquisition-Register> <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa" size="2" address="2" mem-size="2"> - <scalar format="int16"/> - </Acquisition-Register> + <scalar format="int16"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa" size="2" address="4" mem-size="2"> - <scalar format="uint16"/> - </Acquisition-Register> + <scalar format="uint16"/> + </Acquisition-Register> <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa" size="4" address="6" mem-size="4"> - <scalar format="int32"/> - </Acquisition-Register> + <scalar format="int32"/> + </Acquisition-Register> <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa" size="4" address="10" mem-size="4"> - <scalar format="uint32"/> - </Acquisition-Register> + <scalar format="uint32"/> + </Acquisition-Register> <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa" size="4" address="14" mem-size="4"> - <scalar format="float32"/> - </Acquisition-Register> + <scalar format="float32"/> + </Acquisition-Register> <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa" size="1" address="18" mem-size="66"> - <string string-length="64" format="string"/> - </Acquisition-Register> + <string string-length="64" format="string"/> + </Acquisition-Register> <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa" size="8" address="84" mem-size="8"> - <scalar format="date"/> - </Acquisition-Register> + <scalar format="date"/> + </Acquisition-Register> <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa" size="1" address="92" mem-size="1"> - <scalar format="char"/> - </Acquisition-Register> + <scalar format="char"/> + </Acquisition-Register> <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa" size="1" address="93" mem-size="1"> - <scalar format="byte"/> - </Acquisition-Register> + <scalar format="byte"/> + </Acquisition-Register> <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa" size="2" address="94" mem-size="2"> - <scalar format="word"/> - </Acquisition-Register> + <scalar format="word"/> + </Acquisition-Register> <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa" size="4" address="96" mem-size="4"> - <scalar format="dword"/> - </Acquisition-Register> + <scalar format="dword"/> + </Acquisition-Register> <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa" size="2" address="100" mem-size="2"> - <scalar format="int"/> - </Acquisition-Register> + <scalar format="int"/> + </Acquisition-Register> <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa" size="4" address="102" mem-size="4"> - <scalar format="dint"/> - </Acquisition-Register> + <scalar format="dint"/> + </Acquisition-Register> <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa" size="4" address="106" mem-size="4"> - <scalar format="real"/> - </Acquisition-Register> + <scalar format="real"/> + </Acquisition-Register> <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa" size="8" address="110" mem-size="8"> - <scalar format="dt"/> - </Acquisition-Register> + <scalar format="dt"/> + </Acquisition-Register> </Acquisition-Block> - <Setting-Block name="MyRWBlock" size="212" address="118" mem-size="472"> - <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="4" mem-size="4"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="8" mem-size="8"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="16" mem-size="8"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="24" mem-size="16"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="40" mem-size="16"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="56" mem-size="16"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="72" mem-size="264"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="336" mem-size="32"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="368" mem-size="4"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="372" mem-size="4"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="376" mem-size="8"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="384" mem-size="16"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="400" mem-size="8"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="408" mem-size="16"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="424" mem-size="16"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="440" mem-size="32"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> + <Setting-Block name="MyRWBlock" size="261" address="118" mem-size="326"> + <Setting-Register name="RW_int8" generateFesaValueItem="true" size="1" address="0" mem-size="1"> + <scalar format="int8"/> + </Setting-Register> + <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa" size="1" address="1" mem-size="1"> + <scalar format="uint8"/> + </Setting-Register> + <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa" size="2" address="2" mem-size="2"> + <scalar format="int16"/> + </Setting-Register> + <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa" size="2" address="4" mem-size="2"> + <scalar format="uint16"/> + </Setting-Register> + <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa" size="4" address="6" mem-size="4"> + <scalar format="int32"/> + </Setting-Register> + <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa" size="4" address="10" mem-size="4"> + <scalar format="uint32"/> + </Setting-Register> + <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa" size="4" address="14" mem-size="4"> + <scalar format="float32"/> + </Setting-Register> + <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" size="1" address="18" mem-size="66"> + <string string-length="64" format="string"/> + </Setting-Register> + <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa" size="8" address="84" mem-size="8"> + <scalar format="date"/> + </Setting-Register> + <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa" size="1" address="92" mem-size="1"> + <scalar format="char"/> + </Setting-Register> + <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa" size="1" address="93" mem-size="1"> + <scalar format="byte"/> + </Setting-Register> + <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa" size="2" address="94" mem-size="2"> + <scalar format="word"/> + </Setting-Register> + <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa" size="4" address="96" mem-size="4"> + <scalar format="dword"/> + </Setting-Register> + <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa" size="2" address="100" mem-size="2"> + <scalar format="int"/> + </Setting-Register> + <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa" size="4" address="102" mem-size="4"> + <scalar format="dint"/> + </Setting-Register> + <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa" size="4" address="106" mem-size="4"> + <scalar format="real"/> + </Setting-Register> + <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa" size="8" address="110" mem-size="8"> + <scalar format="dt"/> + </Setting-Register> + <Setting-Register name="RW2_int8" generateFesaValueItem="true" size="1" address="118" mem-size="4"> + <array2D dim1="2" dim2="2" format="int8"/> + </Setting-Register> + <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa" size="1" address="122" mem-size="4"> + <array2D dim1="2" dim2="2" format="uint8"/> + </Setting-Register> + <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa" size="2" address="126" mem-size="8"> + <array2D dim1="2" dim2="2" format="int16"/> + </Setting-Register> + <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa" size="2" address="134" mem-size="8"> + <array2D dim1="2" dim2="2" format="uint16"/> + </Setting-Register> + <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa" size="4" address="142" mem-size="16"> + <array2D dim1="2" dim2="2" format="int32"/> + </Setting-Register> + <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa" size="4" address="158" mem-size="16"> + <array2D dim1="2" dim2="2" format="uint32"/> + </Setting-Register> + <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa" size="4" address="174" mem-size="16"> + <array2D dim1="2" dim2="2" format="float32"/> + </Setting-Register> + <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa" size="8" address="190" mem-size="32"> + <array2D dim1="2" dim2="2" format="date"/> + </Setting-Register> + <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa" size="1" address="222" mem-size="4"> + <array2D dim1="2" dim2="2" format="char"/> + </Setting-Register> + <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa" size="1" address="226" mem-size="4"> + <array2D dim1="2" dim2="2" format="byte"/> + </Setting-Register> + <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa" size="2" address="230" mem-size="8"> + <array2D dim1="2" dim2="2" format="word"/> + </Setting-Register> + <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa" size="4" address="238" mem-size="16"> + <array2D dim1="2" dim2="2" format="dword"/> + </Setting-Register> + <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa" size="2" address="254" mem-size="8"> + <array2D dim1="2" dim2="2" format="int"/> + </Setting-Register> + <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa" size="4" address="262" mem-size="16"> + <array2D dim1="2" dim2="2" format="dint"/> + </Setting-Register> + <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa" size="4" address="278" mem-size="16"> + <array2D dim1="2" dim2="2" format="real"/> + </Setting-Register> + <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa" size="8" address="294" mem-size="32"> + <array2D dim1="2" dim2="2" format="dt"/> + </Setting-Register> </Setting-Block> - <Command-Block name="MyWOBlock" size="530" address="590" mem-size="1180"> + <Command-Block name="MyWOBlock" size="530" address="444" mem-size="1180"> <Setting-Register name="WO_int8" generateFesaValueItem="true" size="1" address="0" mem-size="10"> - <array dim="10" format="int8"/> - </Setting-Register> + <array dim="10" format="int8"/> + </Setting-Register> <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa" size="1" address="10" mem-size="10"> - <array dim="10" format="uint8"/> - </Setting-Register> + <array dim="10" format="uint8"/> + </Setting-Register> <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa" size="2" address="20" mem-size="20"> - <array dim="10" format="int16"/> - </Setting-Register> + <array dim="10" format="int16"/> + </Setting-Register> <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa" size="2" address="40" mem-size="20"> - <array dim="10" format="uint16"/> - </Setting-Register> + <array dim="10" format="uint16"/> + </Setting-Register> <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa" size="4" address="60" mem-size="40"> - <array dim="10" format="int32"/> - </Setting-Register> + <array dim="10" format="int32"/> + </Setting-Register> <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa" size="4" address="100" mem-size="40"> - <array dim="10" format="uint32"/> - </Setting-Register> + <array dim="10" format="uint32"/> + </Setting-Register> <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa" size="4" address="140" mem-size="40"> - <array dim="10" format="float32"/> - </Setting-Register> + <array dim="10" format="float32"/> + </Setting-Register> <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa" size="1" address="180" mem-size="660"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> + <stringArray dim="10" string-length="64" format="string"/> + </Setting-Register> <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa" size="8" address="840" mem-size="80"> - <array dim="10" format="date"/> - </Setting-Register> + <array dim="10" format="date"/> + </Setting-Register> <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa" size="1" address="920" mem-size="10"> - <array dim="10" format="char"/> - </Setting-Register> + <array dim="10" format="char"/> + </Setting-Register> <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa" size="1" address="930" mem-size="10"> - <array dim="10" format="byte"/> - </Setting-Register> + <array dim="10" format="byte"/> + </Setting-Register> <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa" size="2" address="940" mem-size="20"> - <array dim="10" format="word"/> - </Setting-Register> + <array dim="10" format="word"/> + </Setting-Register> <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa" size="4" address="960" mem-size="40"> - <array dim="10" format="dword"/> - </Setting-Register> + <array dim="10" format="dword"/> + </Setting-Register> <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa" size="2" address="1000" mem-size="20"> - <array dim="10" format="int"/> - </Setting-Register> + <array dim="10" format="int"/> + </Setting-Register> <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa" size="4" address="1020" mem-size="40"> - <array dim="10" format="dint"/> - </Setting-Register> + <array dim="10" format="dint"/> + </Setting-Register> <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa" size="4" address="1060" mem-size="40"> - <array dim="10" format="real"/> - </Setting-Register> + <array dim="10" format="real"/> + </Setting-Register> <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa" size="8" address="1100" mem-size="80"> - <array dim="10" format="dt"/> - </Setting-Register> + <array dim="10" format="dt"/> + </Setting-Register> </Command-Block> - <Configuration-Block name="MyCBlock" size="212" address="1770" mem-size="472"> + <Configuration-Block name="MyCBlock" size="212" address="1624" mem-size="472"> <Configuration-Register name="C_int8" generateFesaValueItem="true" size="1" address="0" mem-size="4"> <array2D dim1="2" dim2="2" format="int8"/> </Configuration-Register> diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_BC9020.exp b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_BC9020.exp index bfdd8f3041e888e9347236421d595193ac2a1f55..90aa5cc74ed7fe62b0cb12b75a0ac32656fc2e25 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_BC9020.exp +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_BC9020.exp @@ -11,13 +11,13 @@ VAR_GLOBAL _version_a781_SilecsHeader AT %MW0: STRING(16):= DEV; (*SilecsHeader/SilecsHeader/hdrBlk *) - _checksum_a781_SilecsHeader AT %MW9: DWORD:= 2903751780; + _checksum_a781_SilecsHeader AT %MW9: DWORD:= 698440379; (*SilecsHeader/SilecsHeader/hdrBlk *) _user_a781_SilecsHeader AT %MW11: STRING(16):= 'schwinn'; (*SilecsHeader/SilecsHeader/hdrBlk *) - _date_a781_SilecsHeader AT %MW20: DT:= DT#2018-1-31-10:49:39; + _date_a781_SilecsHeader AT %MW20: DT:= DT#2018-1-31-17:6:28; (*AllTypes/testDevice1/MyROBlock *) RO_int8_a583_testDevice1 AT %MW24: SINT; @@ -122,309 +122,405 @@ VAR_GLOBAL RO_dt_a583_testDevice2 AT %MW142: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_int8_a583_testDevice1 AT %MW146: ARRAY [0..1, 0..1] OF SINT; + RW_int8_a583_testDevice1 AT %MW146: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint8_a583_testDevice1 AT %MW148: ARRAY [0..1, 0..1] OF BYTE; + RW_uint8_a583_testDevice1 AT %MW147: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_int16_a583_testDevice1 AT %MW150: ARRAY [0..1, 0..1] OF INT; + RW_int16_a583_testDevice1 AT %MW148: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint16_a583_testDevice1 AT %MW154: ARRAY [0..1, 0..1] OF WORD; + RW_uint16_a583_testDevice1 AT %MW149: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int32_a583_testDevice1 AT %MW158: ARRAY [0..1, 0..1] OF DINT; + RW_int32_a583_testDevice1 AT %MW150: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint32_a583_testDevice1 AT %MW166: ARRAY [0..1, 0..1] OF DWORD; + RW_uint32_a583_testDevice1 AT %MW152: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_float32_a583_testDevice1 AT %MW174: ARRAY [0..1, 0..1] OF REAL; + RW_float32_a583_testDevice1 AT %MW154: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_string_a583_testDevice1 AT %MW182: ARRAY [0..1, 0..1] OF STRING(64); + RW_string_a583_testDevice1 AT %MW156: STRING(64); (*AllTypes/testDevice1/MyRWBlock *) - RW_date_a583_testDevice1 AT %MW312: ARRAY [0..1, 0..1] OF DT; + RW_date_a583_testDevice1 AT %MW189: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_char_a583_testDevice1 AT %MW328: ARRAY [0..1, 0..1] OF SINT; + RW_char_a583_testDevice1 AT %MW193: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_byte_a583_testDevice1 AT %MW330: ARRAY [0..1, 0..1] OF BYTE; + RW_byte_a583_testDevice1 AT %MW194: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_word_a583_testDevice1 AT %MW332: ARRAY [0..1, 0..1] OF WORD; + RW_word_a583_testDevice1 AT %MW195: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_dword_a583_testDevice1 AT %MW336: ARRAY [0..1, 0..1] OF DWORD; + RW_dword_a583_testDevice1 AT %MW196: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int_a583_testDevice1 AT %MW344: ARRAY [0..1, 0..1] OF INT; + RW_int_a583_testDevice1 AT %MW198: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_dint_a583_testDevice1 AT %MW348: ARRAY [0..1, 0..1] OF DINT; + RW_dint_a583_testDevice1 AT %MW199: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_real_a583_testDevice1 AT %MW356: ARRAY [0..1, 0..1] OF REAL; + RW_real_a583_testDevice1 AT %MW201: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_dt_a583_testDevice1 AT %MW364: ARRAY [0..1, 0..1] OF DT; + RW_dt_a583_testDevice1 AT %MW203: DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int8_a583_testDevice1 AT %MW207: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint8_a583_testDevice1 AT %MW209: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int16_a583_testDevice1 AT %MW211: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint16_a583_testDevice1 AT %MW215: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int32_a583_testDevice1 AT %MW219: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint32_a583_testDevice1 AT %MW227: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_float32_a583_testDevice1 AT %MW235: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_date_a583_testDevice1 AT %MW243: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_char_a583_testDevice1 AT %MW259: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_byte_a583_testDevice1 AT %MW261: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_word_a583_testDevice1 AT %MW263: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dword_a583_testDevice1 AT %MW267: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int_a583_testDevice1 AT %MW275: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dint_a583_testDevice1 AT %MW279: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_real_a583_testDevice1 AT %MW287: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dt_a583_testDevice1 AT %MW295: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int8_a583_testDevice2 AT %MW311: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint8_a583_testDevice2 AT %MW312: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int16_a583_testDevice2 AT %MW313: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint16_a583_testDevice2 AT %MW314: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int32_a583_testDevice2 AT %MW315: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint32_a583_testDevice2 AT %MW317: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_float32_a583_testDevice2 AT %MW319: REAL; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_string_a583_testDevice2 AT %MW321: STRING(64); + + (*AllTypes/testDevice2/MyRWBlock *) + RW_date_a583_testDevice2 AT %MW354: DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_char_a583_testDevice2 AT %MW358: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_byte_a583_testDevice2 AT %MW359: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_word_a583_testDevice2 AT %MW360: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dword_a583_testDevice2 AT %MW361: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int_a583_testDevice2 AT %MW363: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dint_a583_testDevice2 AT %MW364: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_real_a583_testDevice2 AT %MW366: REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_int8_a583_testDevice2 AT %MW380: ARRAY [0..1, 0..1] OF SINT; + RW_dt_a583_testDevice2 AT %MW368: DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint8_a583_testDevice2 AT %MW382: ARRAY [0..1, 0..1] OF BYTE; + RW2_int8_a583_testDevice2 AT %MW372: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int16_a583_testDevice2 AT %MW384: ARRAY [0..1, 0..1] OF INT; + RW2_uint8_a583_testDevice2 AT %MW374: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint16_a583_testDevice2 AT %MW388: ARRAY [0..1, 0..1] OF WORD; + RW2_int16_a583_testDevice2 AT %MW376: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int32_a583_testDevice2 AT %MW392: ARRAY [0..1, 0..1] OF DINT; + RW2_uint16_a583_testDevice2 AT %MW380: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint32_a583_testDevice2 AT %MW400: ARRAY [0..1, 0..1] OF DWORD; + RW2_int32_a583_testDevice2 AT %MW384: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_float32_a583_testDevice2 AT %MW408: ARRAY [0..1, 0..1] OF REAL; + RW2_uint32_a583_testDevice2 AT %MW392: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_string_a583_testDevice2 AT %MW416: ARRAY [0..1, 0..1] OF STRING(64); + RW2_float32_a583_testDevice2 AT %MW400: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_date_a583_testDevice2 AT %MW546: ARRAY [0..1, 0..1] OF DT; + RW2_date_a583_testDevice2 AT %MW408: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_char_a583_testDevice2 AT %MW562: ARRAY [0..1, 0..1] OF SINT; + RW2_char_a583_testDevice2 AT %MW424: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_byte_a583_testDevice2 AT %MW564: ARRAY [0..1, 0..1] OF BYTE; + RW2_byte_a583_testDevice2 AT %MW426: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_word_a583_testDevice2 AT %MW566: ARRAY [0..1, 0..1] OF WORD; + RW2_word_a583_testDevice2 AT %MW428: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_dword_a583_testDevice2 AT %MW570: ARRAY [0..1, 0..1] OF DWORD; + RW2_dword_a583_testDevice2 AT %MW432: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_int_a583_testDevice2 AT %MW578: ARRAY [0..1, 0..1] OF INT; + RW2_int_a583_testDevice2 AT %MW440: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_dint_a583_testDevice2 AT %MW582: ARRAY [0..1, 0..1] OF DINT; + RW2_dint_a583_testDevice2 AT %MW444: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_real_a583_testDevice2 AT %MW590: ARRAY [0..1, 0..1] OF REAL; + RW2_real_a583_testDevice2 AT %MW452: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_dt_a583_testDevice2 AT %MW598: ARRAY [0..1, 0..1] OF DT; + RW2_dt_a583_testDevice2 AT %MW460: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_int8_a583_testDevice1 AT %MW614: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice1 AT %MW476: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint8_a583_testDevice1 AT %MW619: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice1 AT %MW481: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_int16_a583_testDevice1 AT %MW624: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice1 AT %MW486: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint16_a583_testDevice1 AT %MW634: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice1 AT %MW496: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int32_a583_testDevice1 AT %MW644: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice1 AT %MW506: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint32_a583_testDevice1 AT %MW664: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice1 AT %MW526: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_float32_a583_testDevice1 AT %MW684: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice1 AT %MW546: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_string_a583_testDevice1 AT %MW704: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice1 AT %MW566: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice1/MyWOBlock *) - WO_date_a583_testDevice1 AT %MW1029: ARRAY [0..9] OF DT; + WO_date_a583_testDevice1 AT %MW891: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_char_a583_testDevice1 AT %MW1069: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice1 AT %MW931: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_byte_a583_testDevice1 AT %MW1074: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice1 AT %MW936: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_word_a583_testDevice1 AT %MW1079: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice1 AT %MW941: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_dword_a583_testDevice1 AT %MW1089: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice1 AT %MW951: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int_a583_testDevice1 AT %MW1109: ARRAY [0..9] OF INT; + WO_int_a583_testDevice1 AT %MW971: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_dint_a583_testDevice1 AT %MW1119: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice1 AT %MW981: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_real_a583_testDevice1 AT %MW1139: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice1 AT %MW1001: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_dt_a583_testDevice1 AT %MW1159: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice1 AT %MW1021: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_int8_a583_testDevice2 AT %MW1199: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice2 AT %MW1061: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint8_a583_testDevice2 AT %MW1204: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice2 AT %MW1066: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_int16_a583_testDevice2 AT %MW1209: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice2 AT %MW1071: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint16_a583_testDevice2 AT %MW1219: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice2 AT %MW1081: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int32_a583_testDevice2 AT %MW1229: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice2 AT %MW1091: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint32_a583_testDevice2 AT %MW1249: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice2 AT %MW1111: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_float32_a583_testDevice2 AT %MW1269: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice2 AT %MW1131: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_string_a583_testDevice2 AT %MW1289: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice2 AT %MW1151: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice2/MyWOBlock *) - WO_date_a583_testDevice2 AT %MW1614: ARRAY [0..9] OF DT; + WO_date_a583_testDevice2 AT %MW1476: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_char_a583_testDevice2 AT %MW1654: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice2 AT %MW1516: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_byte_a583_testDevice2 AT %MW1659: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice2 AT %MW1521: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_word_a583_testDevice2 AT %MW1664: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice2 AT %MW1526: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_dword_a583_testDevice2 AT %MW1674: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice2 AT %MW1536: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int_a583_testDevice2 AT %MW1694: ARRAY [0..9] OF INT; + WO_int_a583_testDevice2 AT %MW1556: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_dint_a583_testDevice2 AT %MW1704: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice2 AT %MW1566: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_real_a583_testDevice2 AT %MW1724: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice2 AT %MW1586: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_dt_a583_testDevice2 AT %MW1744: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice2 AT %MW1606: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_int8_a583_testDevice1 AT %MW1784: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice1 AT %MW1646: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint8_a583_testDevice1 AT %MW1786: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice1 AT %MW1648: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_int16_a583_testDevice1 AT %MW1788: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice1 AT %MW1650: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_uint16_a583_testDevice1 AT %MW1792: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice1 AT %MW1654: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_int32_a583_testDevice1 AT %MW1796: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice1 AT %MW1658: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint32_a583_testDevice1 AT %MW1804: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice1 AT %MW1666: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_float32_a583_testDevice1 AT %MW1812: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice1 AT %MW1674: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_string_a583_testDevice1 AT %MW1820: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice1 AT %MW1682: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice1/MyCBlock *) - C_date_a583_testDevice1 AT %MW1950: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice1 AT %MW1812: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_char_a583_testDevice1 AT %MW1966: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice1 AT %MW1828: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_byte_a583_testDevice1 AT %MW1968: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice1 AT %MW1830: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_word_a583_testDevice1 AT %MW1970: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice1 AT %MW1832: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_dword_a583_testDevice1 AT %MW1974: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice1 AT %MW1836: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_int_a583_testDevice1 AT %MW1982: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice1 AT %MW1844: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_dint_a583_testDevice1 AT %MW1986: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice1 AT %MW1848: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_real_a583_testDevice1 AT %MW1994: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice1 AT %MW1856: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_dt_a583_testDevice1 AT %MW2002: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice1 AT %MW1864: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_int8_a583_testDevice2 AT %MW2018: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice2 AT %MW1880: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint8_a583_testDevice2 AT %MW2020: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice2 AT %MW1882: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_int16_a583_testDevice2 AT %MW2022: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice2 AT %MW1884: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_uint16_a583_testDevice2 AT %MW2026: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice2 AT %MW1888: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_int32_a583_testDevice2 AT %MW2030: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice2 AT %MW1892: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint32_a583_testDevice2 AT %MW2038: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice2 AT %MW1900: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_float32_a583_testDevice2 AT %MW2046: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice2 AT %MW1908: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_string_a583_testDevice2 AT %MW2054: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice2 AT %MW1916: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice2/MyCBlock *) - C_date_a583_testDevice2 AT %MW2184: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice2 AT %MW2046: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_char_a583_testDevice2 AT %MW2200: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice2 AT %MW2062: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_byte_a583_testDevice2 AT %MW2202: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice2 AT %MW2064: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_word_a583_testDevice2 AT %MW2204: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice2 AT %MW2066: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_dword_a583_testDevice2 AT %MW2208: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice2 AT %MW2070: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_int_a583_testDevice2 AT %MW2216: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice2 AT %MW2078: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_dint_a583_testDevice2 AT %MW2220: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice2 AT %MW2082: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_real_a583_testDevice2 AT %MW2228: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice2 AT %MW2090: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_dt_a583_testDevice2 AT %MW2236: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice2 AT %MW2098: ARRAY [0..1, 0..1] OF DT; END_VAR \ No newline at end of file diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC2.exp b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC2.exp index a501100e4e6c813ec15d2f293c5c004541c5d599..322cb027bf384afb288a934798631eaf551143bd 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC2.exp +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC2.exp @@ -11,13 +11,13 @@ VAR_GLOBAL _version_a781_SilecsHeader AT %MW0: STRING(16):= DEV; (*SilecsHeader/SilecsHeader/hdrBlk *) - _checksum_a781_SilecsHeader AT %MW20: DWORD:= 2305663869; + _checksum_a781_SilecsHeader AT %MW20: DWORD:= 3857507129; (*SilecsHeader/SilecsHeader/hdrBlk *) _user_a781_SilecsHeader AT %MW24: STRING(16):= 'schwinn'; (*SilecsHeader/SilecsHeader/hdrBlk *) - _date_a781_SilecsHeader AT %MW44: DT:= DT#2018-1-31-10:49:39; + _date_a781_SilecsHeader AT %MW44: DT:= DT#2018-1-31-17:6:28; (*AllTypes/testDevice1/MyROBlock *) RO_int8_a583_testDevice1 AT %MW52: SINT; @@ -122,309 +122,405 @@ VAR_GLOBAL RO_dt_a583_testDevice2 AT %MW300: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_int8_a583_testDevice1 AT %MW308: ARRAY [0..1, 0..1] OF SINT; + RW_int8_a583_testDevice1 AT %MW308: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint8_a583_testDevice1 AT %MW312: ARRAY [0..1, 0..1] OF BYTE; + RW_uint8_a583_testDevice1 AT %MW310: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_int16_a583_testDevice1 AT %MW316: ARRAY [0..1, 0..1] OF INT; + RW_int16_a583_testDevice1 AT %MW312: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint16_a583_testDevice1 AT %MW324: ARRAY [0..1, 0..1] OF WORD; + RW_uint16_a583_testDevice1 AT %MW314: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int32_a583_testDevice1 AT %MW332: ARRAY [0..1, 0..1] OF DINT; + RW_int32_a583_testDevice1 AT %MW316: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint32_a583_testDevice1 AT %MW348: ARRAY [0..1, 0..1] OF DWORD; + RW_uint32_a583_testDevice1 AT %MW320: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_float32_a583_testDevice1 AT %MW364: ARRAY [0..1, 0..1] OF REAL; + RW_float32_a583_testDevice1 AT %MW324: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_string_a583_testDevice1 AT %MW380: ARRAY [0..1, 0..1] OF STRING(64); + RW_string_a583_testDevice1 AT %MW328: STRING(64); (*AllTypes/testDevice1/MyRWBlock *) - RW_date_a583_testDevice1 AT %MW640: ARRAY [0..1, 0..1] OF DT; + RW_date_a583_testDevice1 AT %MW396: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_char_a583_testDevice1 AT %MW672: ARRAY [0..1, 0..1] OF SINT; + RW_char_a583_testDevice1 AT %MW404: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_byte_a583_testDevice1 AT %MW676: ARRAY [0..1, 0..1] OF BYTE; + RW_byte_a583_testDevice1 AT %MW406: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_word_a583_testDevice1 AT %MW680: ARRAY [0..1, 0..1] OF WORD; + RW_word_a583_testDevice1 AT %MW408: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_dword_a583_testDevice1 AT %MW688: ARRAY [0..1, 0..1] OF DWORD; + RW_dword_a583_testDevice1 AT %MW412: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int_a583_testDevice1 AT %MW704: ARRAY [0..1, 0..1] OF INT; + RW_int_a583_testDevice1 AT %MW416: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_dint_a583_testDevice1 AT %MW712: ARRAY [0..1, 0..1] OF DINT; + RW_dint_a583_testDevice1 AT %MW420: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_real_a583_testDevice1 AT %MW728: ARRAY [0..1, 0..1] OF REAL; + RW_real_a583_testDevice1 AT %MW424: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_dt_a583_testDevice1 AT %MW744: ARRAY [0..1, 0..1] OF DT; + RW_dt_a583_testDevice1 AT %MW428: DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int8_a583_testDevice1 AT %MW436: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint8_a583_testDevice1 AT %MW440: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int16_a583_testDevice1 AT %MW444: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint16_a583_testDevice1 AT %MW452: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int32_a583_testDevice1 AT %MW460: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint32_a583_testDevice1 AT %MW476: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_float32_a583_testDevice1 AT %MW492: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_date_a583_testDevice1 AT %MW508: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_char_a583_testDevice1 AT %MW540: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_byte_a583_testDevice1 AT %MW544: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_word_a583_testDevice1 AT %MW548: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dword_a583_testDevice1 AT %MW556: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int_a583_testDevice1 AT %MW572: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dint_a583_testDevice1 AT %MW580: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_real_a583_testDevice1 AT %MW596: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dt_a583_testDevice1 AT %MW612: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int8_a583_testDevice2 AT %MW644: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint8_a583_testDevice2 AT %MW646: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int16_a583_testDevice2 AT %MW648: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint16_a583_testDevice2 AT %MW650: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int32_a583_testDevice2 AT %MW652: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint32_a583_testDevice2 AT %MW656: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_float32_a583_testDevice2 AT %MW660: REAL; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_string_a583_testDevice2 AT %MW664: STRING(64); + + (*AllTypes/testDevice2/MyRWBlock *) + RW_date_a583_testDevice2 AT %MW732: DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_char_a583_testDevice2 AT %MW740: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_byte_a583_testDevice2 AT %MW742: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_word_a583_testDevice2 AT %MW744: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dword_a583_testDevice2 AT %MW748: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int_a583_testDevice2 AT %MW752: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dint_a583_testDevice2 AT %MW756: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_real_a583_testDevice2 AT %MW760: REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_int8_a583_testDevice2 AT %MW776: ARRAY [0..1, 0..1] OF SINT; + RW_dt_a583_testDevice2 AT %MW764: DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint8_a583_testDevice2 AT %MW780: ARRAY [0..1, 0..1] OF BYTE; + RW2_int8_a583_testDevice2 AT %MW772: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int16_a583_testDevice2 AT %MW784: ARRAY [0..1, 0..1] OF INT; + RW2_uint8_a583_testDevice2 AT %MW776: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint16_a583_testDevice2 AT %MW792: ARRAY [0..1, 0..1] OF WORD; + RW2_int16_a583_testDevice2 AT %MW780: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int32_a583_testDevice2 AT %MW800: ARRAY [0..1, 0..1] OF DINT; + RW2_uint16_a583_testDevice2 AT %MW788: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint32_a583_testDevice2 AT %MW816: ARRAY [0..1, 0..1] OF DWORD; + RW2_int32_a583_testDevice2 AT %MW796: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_float32_a583_testDevice2 AT %MW832: ARRAY [0..1, 0..1] OF REAL; + RW2_uint32_a583_testDevice2 AT %MW812: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_string_a583_testDevice2 AT %MW848: ARRAY [0..1, 0..1] OF STRING(64); + RW2_float32_a583_testDevice2 AT %MW828: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_date_a583_testDevice2 AT %MW1108: ARRAY [0..1, 0..1] OF DT; + RW2_date_a583_testDevice2 AT %MW844: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_char_a583_testDevice2 AT %MW1140: ARRAY [0..1, 0..1] OF SINT; + RW2_char_a583_testDevice2 AT %MW876: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_byte_a583_testDevice2 AT %MW1144: ARRAY [0..1, 0..1] OF BYTE; + RW2_byte_a583_testDevice2 AT %MW880: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_word_a583_testDevice2 AT %MW1148: ARRAY [0..1, 0..1] OF WORD; + RW2_word_a583_testDevice2 AT %MW884: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_dword_a583_testDevice2 AT %MW1156: ARRAY [0..1, 0..1] OF DWORD; + RW2_dword_a583_testDevice2 AT %MW892: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_int_a583_testDevice2 AT %MW1172: ARRAY [0..1, 0..1] OF INT; + RW2_int_a583_testDevice2 AT %MW908: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_dint_a583_testDevice2 AT %MW1180: ARRAY [0..1, 0..1] OF DINT; + RW2_dint_a583_testDevice2 AT %MW916: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_real_a583_testDevice2 AT %MW1196: ARRAY [0..1, 0..1] OF REAL; + RW2_real_a583_testDevice2 AT %MW932: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_dt_a583_testDevice2 AT %MW1212: ARRAY [0..1, 0..1] OF DT; + RW2_dt_a583_testDevice2 AT %MW948: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_int8_a583_testDevice1 AT %MW1244: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice1 AT %MW980: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint8_a583_testDevice1 AT %MW1254: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice1 AT %MW990: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_int16_a583_testDevice1 AT %MW1264: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice1 AT %MW1000: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint16_a583_testDevice1 AT %MW1284: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice1 AT %MW1020: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int32_a583_testDevice1 AT %MW1304: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice1 AT %MW1040: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint32_a583_testDevice1 AT %MW1344: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice1 AT %MW1080: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_float32_a583_testDevice1 AT %MW1384: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice1 AT %MW1120: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_string_a583_testDevice1 AT %MW1424: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice1 AT %MW1160: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice1/MyWOBlock *) - WO_date_a583_testDevice1 AT %MW2076: ARRAY [0..9] OF DT; + WO_date_a583_testDevice1 AT %MW1812: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_char_a583_testDevice1 AT %MW2156: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice1 AT %MW1892: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_byte_a583_testDevice1 AT %MW2166: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice1 AT %MW1902: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_word_a583_testDevice1 AT %MW2176: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice1 AT %MW1912: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_dword_a583_testDevice1 AT %MW2196: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice1 AT %MW1932: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int_a583_testDevice1 AT %MW2236: ARRAY [0..9] OF INT; + WO_int_a583_testDevice1 AT %MW1972: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_dint_a583_testDevice1 AT %MW2256: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice1 AT %MW1992: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_real_a583_testDevice1 AT %MW2296: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice1 AT %MW2032: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_dt_a583_testDevice1 AT %MW2336: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice1 AT %MW2072: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_int8_a583_testDevice2 AT %MW2416: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice2 AT %MW2152: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint8_a583_testDevice2 AT %MW2426: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice2 AT %MW2162: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_int16_a583_testDevice2 AT %MW2436: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice2 AT %MW2172: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint16_a583_testDevice2 AT %MW2456: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice2 AT %MW2192: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int32_a583_testDevice2 AT %MW2476: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice2 AT %MW2212: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint32_a583_testDevice2 AT %MW2516: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice2 AT %MW2252: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_float32_a583_testDevice2 AT %MW2556: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice2 AT %MW2292: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_string_a583_testDevice2 AT %MW2596: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice2 AT %MW2332: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice2/MyWOBlock *) - WO_date_a583_testDevice2 AT %MW3248: ARRAY [0..9] OF DT; + WO_date_a583_testDevice2 AT %MW2984: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_char_a583_testDevice2 AT %MW3328: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice2 AT %MW3064: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_byte_a583_testDevice2 AT %MW3338: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice2 AT %MW3074: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_word_a583_testDevice2 AT %MW3348: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice2 AT %MW3084: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_dword_a583_testDevice2 AT %MW3368: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice2 AT %MW3104: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int_a583_testDevice2 AT %MW3408: ARRAY [0..9] OF INT; + WO_int_a583_testDevice2 AT %MW3144: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_dint_a583_testDevice2 AT %MW3428: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice2 AT %MW3164: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_real_a583_testDevice2 AT %MW3468: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice2 AT %MW3204: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_dt_a583_testDevice2 AT %MW3508: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice2 AT %MW3244: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_int8_a583_testDevice1 AT %MW3588: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice1 AT %MW3324: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint8_a583_testDevice1 AT %MW3592: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice1 AT %MW3328: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_int16_a583_testDevice1 AT %MW3596: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice1 AT %MW3332: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_uint16_a583_testDevice1 AT %MW3604: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice1 AT %MW3340: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_int32_a583_testDevice1 AT %MW3612: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice1 AT %MW3348: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint32_a583_testDevice1 AT %MW3628: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice1 AT %MW3364: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_float32_a583_testDevice1 AT %MW3644: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice1 AT %MW3380: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_string_a583_testDevice1 AT %MW3660: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice1 AT %MW3396: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice1/MyCBlock *) - C_date_a583_testDevice1 AT %MW3920: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice1 AT %MW3656: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_char_a583_testDevice1 AT %MW3952: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice1 AT %MW3688: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_byte_a583_testDevice1 AT %MW3956: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice1 AT %MW3692: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_word_a583_testDevice1 AT %MW3960: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice1 AT %MW3696: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_dword_a583_testDevice1 AT %MW3968: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice1 AT %MW3704: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_int_a583_testDevice1 AT %MW3984: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice1 AT %MW3720: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_dint_a583_testDevice1 AT %MW3992: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice1 AT %MW3728: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_real_a583_testDevice1 AT %MW4008: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice1 AT %MW3744: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_dt_a583_testDevice1 AT %MW4024: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice1 AT %MW3760: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_int8_a583_testDevice2 AT %MW4056: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice2 AT %MW3792: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint8_a583_testDevice2 AT %MW4060: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice2 AT %MW3796: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_int16_a583_testDevice2 AT %MW4064: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice2 AT %MW3800: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_uint16_a583_testDevice2 AT %MW4072: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice2 AT %MW3808: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_int32_a583_testDevice2 AT %MW4080: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice2 AT %MW3816: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint32_a583_testDevice2 AT %MW4096: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice2 AT %MW3832: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_float32_a583_testDevice2 AT %MW4112: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice2 AT %MW3848: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_string_a583_testDevice2 AT %MW4128: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice2 AT %MW3864: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice2/MyCBlock *) - C_date_a583_testDevice2 AT %MW4388: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice2 AT %MW4124: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_char_a583_testDevice2 AT %MW4420: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice2 AT %MW4156: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_byte_a583_testDevice2 AT %MW4424: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice2 AT %MW4160: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_word_a583_testDevice2 AT %MW4428: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice2 AT %MW4164: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_dword_a583_testDevice2 AT %MW4436: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice2 AT %MW4172: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_int_a583_testDevice2 AT %MW4452: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice2 AT %MW4188: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_dint_a583_testDevice2 AT %MW4460: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice2 AT %MW4196: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_real_a583_testDevice2 AT %MW4476: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice2 AT %MW4212: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_dt_a583_testDevice2 AT %MW4492: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice2 AT %MW4228: ARRAY [0..1, 0..1] OF DT; END_VAR \ No newline at end of file diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC3.exp b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC3.exp index a501100e4e6c813ec15d2f293c5c004541c5d599..322cb027bf384afb288a934798631eaf551143bd 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC3.exp +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Beckhoff_CX9020_TC3.exp @@ -11,13 +11,13 @@ VAR_GLOBAL _version_a781_SilecsHeader AT %MW0: STRING(16):= DEV; (*SilecsHeader/SilecsHeader/hdrBlk *) - _checksum_a781_SilecsHeader AT %MW20: DWORD:= 2305663869; + _checksum_a781_SilecsHeader AT %MW20: DWORD:= 3857507129; (*SilecsHeader/SilecsHeader/hdrBlk *) _user_a781_SilecsHeader AT %MW24: STRING(16):= 'schwinn'; (*SilecsHeader/SilecsHeader/hdrBlk *) - _date_a781_SilecsHeader AT %MW44: DT:= DT#2018-1-31-10:49:39; + _date_a781_SilecsHeader AT %MW44: DT:= DT#2018-1-31-17:6:28; (*AllTypes/testDevice1/MyROBlock *) RO_int8_a583_testDevice1 AT %MW52: SINT; @@ -122,309 +122,405 @@ VAR_GLOBAL RO_dt_a583_testDevice2 AT %MW300: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_int8_a583_testDevice1 AT %MW308: ARRAY [0..1, 0..1] OF SINT; + RW_int8_a583_testDevice1 AT %MW308: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint8_a583_testDevice1 AT %MW312: ARRAY [0..1, 0..1] OF BYTE; + RW_uint8_a583_testDevice1 AT %MW310: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_int16_a583_testDevice1 AT %MW316: ARRAY [0..1, 0..1] OF INT; + RW_int16_a583_testDevice1 AT %MW312: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint16_a583_testDevice1 AT %MW324: ARRAY [0..1, 0..1] OF WORD; + RW_uint16_a583_testDevice1 AT %MW314: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int32_a583_testDevice1 AT %MW332: ARRAY [0..1, 0..1] OF DINT; + RW_int32_a583_testDevice1 AT %MW316: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_uint32_a583_testDevice1 AT %MW348: ARRAY [0..1, 0..1] OF DWORD; + RW_uint32_a583_testDevice1 AT %MW320: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_float32_a583_testDevice1 AT %MW364: ARRAY [0..1, 0..1] OF REAL; + RW_float32_a583_testDevice1 AT %MW324: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_string_a583_testDevice1 AT %MW380: ARRAY [0..1, 0..1] OF STRING(64); + RW_string_a583_testDevice1 AT %MW328: STRING(64); (*AllTypes/testDevice1/MyRWBlock *) - RW_date_a583_testDevice1 AT %MW640: ARRAY [0..1, 0..1] OF DT; + RW_date_a583_testDevice1 AT %MW396: DT; (*AllTypes/testDevice1/MyRWBlock *) - RW_char_a583_testDevice1 AT %MW672: ARRAY [0..1, 0..1] OF SINT; + RW_char_a583_testDevice1 AT %MW404: SINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_byte_a583_testDevice1 AT %MW676: ARRAY [0..1, 0..1] OF BYTE; + RW_byte_a583_testDevice1 AT %MW406: BYTE; (*AllTypes/testDevice1/MyRWBlock *) - RW_word_a583_testDevice1 AT %MW680: ARRAY [0..1, 0..1] OF WORD; + RW_word_a583_testDevice1 AT %MW408: WORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_dword_a583_testDevice1 AT %MW688: ARRAY [0..1, 0..1] OF DWORD; + RW_dword_a583_testDevice1 AT %MW412: DWORD; (*AllTypes/testDevice1/MyRWBlock *) - RW_int_a583_testDevice1 AT %MW704: ARRAY [0..1, 0..1] OF INT; + RW_int_a583_testDevice1 AT %MW416: INT; (*AllTypes/testDevice1/MyRWBlock *) - RW_dint_a583_testDevice1 AT %MW712: ARRAY [0..1, 0..1] OF DINT; + RW_dint_a583_testDevice1 AT %MW420: DINT; (*AllTypes/testDevice1/MyRWBlock *) - RW_real_a583_testDevice1 AT %MW728: ARRAY [0..1, 0..1] OF REAL; + RW_real_a583_testDevice1 AT %MW424: REAL; (*AllTypes/testDevice1/MyRWBlock *) - RW_dt_a583_testDevice1 AT %MW744: ARRAY [0..1, 0..1] OF DT; + RW_dt_a583_testDevice1 AT %MW428: DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int8_a583_testDevice1 AT %MW436: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint8_a583_testDevice1 AT %MW440: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int16_a583_testDevice1 AT %MW444: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint16_a583_testDevice1 AT %MW452: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int32_a583_testDevice1 AT %MW460: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_uint32_a583_testDevice1 AT %MW476: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_float32_a583_testDevice1 AT %MW492: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_date_a583_testDevice1 AT %MW508: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_char_a583_testDevice1 AT %MW540: ARRAY [0..1, 0..1] OF SINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_byte_a583_testDevice1 AT %MW544: ARRAY [0..1, 0..1] OF BYTE; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_word_a583_testDevice1 AT %MW548: ARRAY [0..1, 0..1] OF WORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dword_a583_testDevice1 AT %MW556: ARRAY [0..1, 0..1] OF DWORD; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_int_a583_testDevice1 AT %MW572: ARRAY [0..1, 0..1] OF INT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dint_a583_testDevice1 AT %MW580: ARRAY [0..1, 0..1] OF DINT; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_real_a583_testDevice1 AT %MW596: ARRAY [0..1, 0..1] OF REAL; + + (*AllTypes/testDevice1/MyRWBlock *) + RW2_dt_a583_testDevice1 AT %MW612: ARRAY [0..1, 0..1] OF DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int8_a583_testDevice2 AT %MW644: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint8_a583_testDevice2 AT %MW646: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int16_a583_testDevice2 AT %MW648: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint16_a583_testDevice2 AT %MW650: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int32_a583_testDevice2 AT %MW652: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_uint32_a583_testDevice2 AT %MW656: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_float32_a583_testDevice2 AT %MW660: REAL; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_string_a583_testDevice2 AT %MW664: STRING(64); + + (*AllTypes/testDevice2/MyRWBlock *) + RW_date_a583_testDevice2 AT %MW732: DT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_char_a583_testDevice2 AT %MW740: SINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_byte_a583_testDevice2 AT %MW742: BYTE; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_word_a583_testDevice2 AT %MW744: WORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dword_a583_testDevice2 AT %MW748: DWORD; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_int_a583_testDevice2 AT %MW752: INT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_dint_a583_testDevice2 AT %MW756: DINT; + + (*AllTypes/testDevice2/MyRWBlock *) + RW_real_a583_testDevice2 AT %MW760: REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_int8_a583_testDevice2 AT %MW776: ARRAY [0..1, 0..1] OF SINT; + RW_dt_a583_testDevice2 AT %MW764: DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint8_a583_testDevice2 AT %MW780: ARRAY [0..1, 0..1] OF BYTE; + RW2_int8_a583_testDevice2 AT %MW772: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int16_a583_testDevice2 AT %MW784: ARRAY [0..1, 0..1] OF INT; + RW2_uint8_a583_testDevice2 AT %MW776: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint16_a583_testDevice2 AT %MW792: ARRAY [0..1, 0..1] OF WORD; + RW2_int16_a583_testDevice2 AT %MW780: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_int32_a583_testDevice2 AT %MW800: ARRAY [0..1, 0..1] OF DINT; + RW2_uint16_a583_testDevice2 AT %MW788: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_uint32_a583_testDevice2 AT %MW816: ARRAY [0..1, 0..1] OF DWORD; + RW2_int32_a583_testDevice2 AT %MW796: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_float32_a583_testDevice2 AT %MW832: ARRAY [0..1, 0..1] OF REAL; + RW2_uint32_a583_testDevice2 AT %MW812: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_string_a583_testDevice2 AT %MW848: ARRAY [0..1, 0..1] OF STRING(64); + RW2_float32_a583_testDevice2 AT %MW828: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_date_a583_testDevice2 AT %MW1108: ARRAY [0..1, 0..1] OF DT; + RW2_date_a583_testDevice2 AT %MW844: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyRWBlock *) - RW_char_a583_testDevice2 AT %MW1140: ARRAY [0..1, 0..1] OF SINT; + RW2_char_a583_testDevice2 AT %MW876: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_byte_a583_testDevice2 AT %MW1144: ARRAY [0..1, 0..1] OF BYTE; + RW2_byte_a583_testDevice2 AT %MW880: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyRWBlock *) - RW_word_a583_testDevice2 AT %MW1148: ARRAY [0..1, 0..1] OF WORD; + RW2_word_a583_testDevice2 AT %MW884: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_dword_a583_testDevice2 AT %MW1156: ARRAY [0..1, 0..1] OF DWORD; + RW2_dword_a583_testDevice2 AT %MW892: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyRWBlock *) - RW_int_a583_testDevice2 AT %MW1172: ARRAY [0..1, 0..1] OF INT; + RW2_int_a583_testDevice2 AT %MW908: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyRWBlock *) - RW_dint_a583_testDevice2 AT %MW1180: ARRAY [0..1, 0..1] OF DINT; + RW2_dint_a583_testDevice2 AT %MW916: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyRWBlock *) - RW_real_a583_testDevice2 AT %MW1196: ARRAY [0..1, 0..1] OF REAL; + RW2_real_a583_testDevice2 AT %MW932: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyRWBlock *) - RW_dt_a583_testDevice2 AT %MW1212: ARRAY [0..1, 0..1] OF DT; + RW2_dt_a583_testDevice2 AT %MW948: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_int8_a583_testDevice1 AT %MW1244: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice1 AT %MW980: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint8_a583_testDevice1 AT %MW1254: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice1 AT %MW990: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_int16_a583_testDevice1 AT %MW1264: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice1 AT %MW1000: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint16_a583_testDevice1 AT %MW1284: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice1 AT %MW1020: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int32_a583_testDevice1 AT %MW1304: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice1 AT %MW1040: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_uint32_a583_testDevice1 AT %MW1344: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice1 AT %MW1080: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_float32_a583_testDevice1 AT %MW1384: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice1 AT %MW1120: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_string_a583_testDevice1 AT %MW1424: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice1 AT %MW1160: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice1/MyWOBlock *) - WO_date_a583_testDevice1 AT %MW2076: ARRAY [0..9] OF DT; + WO_date_a583_testDevice1 AT %MW1812: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyWOBlock *) - WO_char_a583_testDevice1 AT %MW2156: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice1 AT %MW1892: ARRAY [0..9] OF SINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_byte_a583_testDevice1 AT %MW2166: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice1 AT %MW1902: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice1/MyWOBlock *) - WO_word_a583_testDevice1 AT %MW2176: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice1 AT %MW1912: ARRAY [0..9] OF WORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_dword_a583_testDevice1 AT %MW2196: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice1 AT %MW1932: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice1/MyWOBlock *) - WO_int_a583_testDevice1 AT %MW2236: ARRAY [0..9] OF INT; + WO_int_a583_testDevice1 AT %MW1972: ARRAY [0..9] OF INT; (*AllTypes/testDevice1/MyWOBlock *) - WO_dint_a583_testDevice1 AT %MW2256: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice1 AT %MW1992: ARRAY [0..9] OF DINT; (*AllTypes/testDevice1/MyWOBlock *) - WO_real_a583_testDevice1 AT %MW2296: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice1 AT %MW2032: ARRAY [0..9] OF REAL; (*AllTypes/testDevice1/MyWOBlock *) - WO_dt_a583_testDevice1 AT %MW2336: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice1 AT %MW2072: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_int8_a583_testDevice2 AT %MW2416: ARRAY [0..9] OF SINT; + WO_int8_a583_testDevice2 AT %MW2152: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint8_a583_testDevice2 AT %MW2426: ARRAY [0..9] OF BYTE; + WO_uint8_a583_testDevice2 AT %MW2162: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_int16_a583_testDevice2 AT %MW2436: ARRAY [0..9] OF INT; + WO_int16_a583_testDevice2 AT %MW2172: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint16_a583_testDevice2 AT %MW2456: ARRAY [0..9] OF WORD; + WO_uint16_a583_testDevice2 AT %MW2192: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int32_a583_testDevice2 AT %MW2476: ARRAY [0..9] OF DINT; + WO_int32_a583_testDevice2 AT %MW2212: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_uint32_a583_testDevice2 AT %MW2516: ARRAY [0..9] OF DWORD; + WO_uint32_a583_testDevice2 AT %MW2252: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_float32_a583_testDevice2 AT %MW2556: ARRAY [0..9] OF REAL; + WO_float32_a583_testDevice2 AT %MW2292: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_string_a583_testDevice2 AT %MW2596: ARRAY [0..9] OF STRING(64); + WO_string_a583_testDevice2 AT %MW2332: ARRAY [0..9] OF STRING(64); (*AllTypes/testDevice2/MyWOBlock *) - WO_date_a583_testDevice2 AT %MW3248: ARRAY [0..9] OF DT; + WO_date_a583_testDevice2 AT %MW2984: ARRAY [0..9] OF DT; (*AllTypes/testDevice2/MyWOBlock *) - WO_char_a583_testDevice2 AT %MW3328: ARRAY [0..9] OF SINT; + WO_char_a583_testDevice2 AT %MW3064: ARRAY [0..9] OF SINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_byte_a583_testDevice2 AT %MW3338: ARRAY [0..9] OF BYTE; + WO_byte_a583_testDevice2 AT %MW3074: ARRAY [0..9] OF BYTE; (*AllTypes/testDevice2/MyWOBlock *) - WO_word_a583_testDevice2 AT %MW3348: ARRAY [0..9] OF WORD; + WO_word_a583_testDevice2 AT %MW3084: ARRAY [0..9] OF WORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_dword_a583_testDevice2 AT %MW3368: ARRAY [0..9] OF DWORD; + WO_dword_a583_testDevice2 AT %MW3104: ARRAY [0..9] OF DWORD; (*AllTypes/testDevice2/MyWOBlock *) - WO_int_a583_testDevice2 AT %MW3408: ARRAY [0..9] OF INT; + WO_int_a583_testDevice2 AT %MW3144: ARRAY [0..9] OF INT; (*AllTypes/testDevice2/MyWOBlock *) - WO_dint_a583_testDevice2 AT %MW3428: ARRAY [0..9] OF DINT; + WO_dint_a583_testDevice2 AT %MW3164: ARRAY [0..9] OF DINT; (*AllTypes/testDevice2/MyWOBlock *) - WO_real_a583_testDevice2 AT %MW3468: ARRAY [0..9] OF REAL; + WO_real_a583_testDevice2 AT %MW3204: ARRAY [0..9] OF REAL; (*AllTypes/testDevice2/MyWOBlock *) - WO_dt_a583_testDevice2 AT %MW3508: ARRAY [0..9] OF DT; + WO_dt_a583_testDevice2 AT %MW3244: ARRAY [0..9] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_int8_a583_testDevice1 AT %MW3588: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice1 AT %MW3324: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint8_a583_testDevice1 AT %MW3592: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice1 AT %MW3328: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_int16_a583_testDevice1 AT %MW3596: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice1 AT %MW3332: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_uint16_a583_testDevice1 AT %MW3604: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice1 AT %MW3340: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_int32_a583_testDevice1 AT %MW3612: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice1 AT %MW3348: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_uint32_a583_testDevice1 AT %MW3628: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice1 AT %MW3364: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_float32_a583_testDevice1 AT %MW3644: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice1 AT %MW3380: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_string_a583_testDevice1 AT %MW3660: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice1 AT %MW3396: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice1/MyCBlock *) - C_date_a583_testDevice1 AT %MW3920: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice1 AT %MW3656: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice1/MyCBlock *) - C_char_a583_testDevice1 AT %MW3952: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice1 AT %MW3688: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice1/MyCBlock *) - C_byte_a583_testDevice1 AT %MW3956: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice1 AT %MW3692: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice1/MyCBlock *) - C_word_a583_testDevice1 AT %MW3960: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice1 AT %MW3696: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice1/MyCBlock *) - C_dword_a583_testDevice1 AT %MW3968: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice1 AT %MW3704: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice1/MyCBlock *) - C_int_a583_testDevice1 AT %MW3984: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice1 AT %MW3720: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice1/MyCBlock *) - C_dint_a583_testDevice1 AT %MW3992: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice1 AT %MW3728: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice1/MyCBlock *) - C_real_a583_testDevice1 AT %MW4008: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice1 AT %MW3744: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice1/MyCBlock *) - C_dt_a583_testDevice1 AT %MW4024: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice1 AT %MW3760: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_int8_a583_testDevice2 AT %MW4056: ARRAY [0..1, 0..1] OF SINT; + C_int8_a583_testDevice2 AT %MW3792: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint8_a583_testDevice2 AT %MW4060: ARRAY [0..1, 0..1] OF BYTE; + C_uint8_a583_testDevice2 AT %MW3796: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_int16_a583_testDevice2 AT %MW4064: ARRAY [0..1, 0..1] OF INT; + C_int16_a583_testDevice2 AT %MW3800: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_uint16_a583_testDevice2 AT %MW4072: ARRAY [0..1, 0..1] OF WORD; + C_uint16_a583_testDevice2 AT %MW3808: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_int32_a583_testDevice2 AT %MW4080: ARRAY [0..1, 0..1] OF DINT; + C_int32_a583_testDevice2 AT %MW3816: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_uint32_a583_testDevice2 AT %MW4096: ARRAY [0..1, 0..1] OF DWORD; + C_uint32_a583_testDevice2 AT %MW3832: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_float32_a583_testDevice2 AT %MW4112: ARRAY [0..1, 0..1] OF REAL; + C_float32_a583_testDevice2 AT %MW3848: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_string_a583_testDevice2 AT %MW4128: ARRAY [0..1, 0..1] OF STRING(64); + C_string_a583_testDevice2 AT %MW3864: ARRAY [0..1, 0..1] OF STRING(64); (*AllTypes/testDevice2/MyCBlock *) - C_date_a583_testDevice2 AT %MW4388: ARRAY [0..1, 0..1] OF DT; + C_date_a583_testDevice2 AT %MW4124: ARRAY [0..1, 0..1] OF DT; (*AllTypes/testDevice2/MyCBlock *) - C_char_a583_testDevice2 AT %MW4420: ARRAY [0..1, 0..1] OF SINT; + C_char_a583_testDevice2 AT %MW4156: ARRAY [0..1, 0..1] OF SINT; (*AllTypes/testDevice2/MyCBlock *) - C_byte_a583_testDevice2 AT %MW4424: ARRAY [0..1, 0..1] OF BYTE; + C_byte_a583_testDevice2 AT %MW4160: ARRAY [0..1, 0..1] OF BYTE; (*AllTypes/testDevice2/MyCBlock *) - C_word_a583_testDevice2 AT %MW4428: ARRAY [0..1, 0..1] OF WORD; + C_word_a583_testDevice2 AT %MW4164: ARRAY [0..1, 0..1] OF WORD; (*AllTypes/testDevice2/MyCBlock *) - C_dword_a583_testDevice2 AT %MW4436: ARRAY [0..1, 0..1] OF DWORD; + C_dword_a583_testDevice2 AT %MW4172: ARRAY [0..1, 0..1] OF DWORD; (*AllTypes/testDevice2/MyCBlock *) - C_int_a583_testDevice2 AT %MW4452: ARRAY [0..1, 0..1] OF INT; + C_int_a583_testDevice2 AT %MW4188: ARRAY [0..1, 0..1] OF INT; (*AllTypes/testDevice2/MyCBlock *) - C_dint_a583_testDevice2 AT %MW4460: ARRAY [0..1, 0..1] OF DINT; + C_dint_a583_testDevice2 AT %MW4196: ARRAY [0..1, 0..1] OF DINT; (*AllTypes/testDevice2/MyCBlock *) - C_real_a583_testDevice2 AT %MW4476: ARRAY [0..1, 0..1] OF REAL; + C_real_a583_testDevice2 AT %MW4212: ARRAY [0..1, 0..1] OF REAL; (*AllTypes/testDevice2/MyCBlock *) - C_dt_a583_testDevice2 AT %MW4492: ARRAY [0..1, 0..1] OF DT; + C_dt_a583_testDevice2 AT %MW4228: ARRAY [0..1, 0..1] OF DT; END_VAR \ No newline at end of file diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_BlockMode.h b/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_BlockMode.h index 11f0be4e718fad06c3ba19db6d7a05f5e7a771e1..d514f88bf3225f38cccdb2d291d14835c1130fba 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_BlockMode.h +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_BlockMode.h @@ -97,23 +97,39 @@ typedef struct typedef struct { - int16_t RW_int8[2][2]; - uint16_t RW_uint8[2][2]; - int16_t RW_int16[2][2]; - uint16_t RW_uint16[2][2]; - int32_t RW_int32[2][2]; - uint32_t RW_uint32[2][2]; - float RW_float32[2][2]; - uint8_t RW_string[2][2][64]; - dt RW_date[2][2]; - int16_t RW_char[2][2]; - uint16_t RW_byte[2][2]; - uint16_t RW_word[2][2]; - uint32_t RW_dword[2][2]; - int16_t RW_int[2][2]; - int32_t RW_dint[2][2]; - float RW_real[2][2]; - dt RW_dt[2][2]; + int16_t RW_int8; + uint16_t RW_uint8; + int16_t RW_int16; + uint16_t RW_uint16; + int32_t RW_int32; + uint32_t RW_uint32; + float RW_float32; + uint8_t RW_string[64]; + dt RW_date; + int16_t RW_char; + uint16_t RW_byte; + uint16_t RW_word; + uint32_t RW_dword; + int16_t RW_int; + int32_t RW_dint; + float RW_real; + dt RW_dt; + int16_t RW2_int8[2][2]; + uint16_t RW2_uint8[2][2]; + int16_t RW2_int16[2][2]; + uint16_t RW2_uint16[2][2]; + int32_t RW2_int32[2][2]; + uint32_t RW2_uint32[2][2]; + float RW2_float32[2][2]; + dt RW2_date[2][2]; + int16_t RW2_char[2][2]; + uint16_t RW2_byte[2][2]; + uint16_t RW2_word[2][2]; + uint32_t RW2_dword[2][2]; + int16_t RW2_int[2][2]; + int32_t RW2_dint[2][2]; + float RW2_real[2][2]; + dt RW2_dt[2][2]; } _AllTypes_MyRWBlock; @@ -210,13 +226,13 @@ int SILECS_init() strcpy((unsigned char *)silecsData.data.SilecsHeader_hdrBlk.device[0]._version, "SILECS_DEV"); /* Silecs checksum initialization */ - silecsData.data.SilecsHeader_hdrBlk.device[0]._checksum = 582399177; + silecsData.data.SilecsHeader_hdrBlk.device[0]._checksum = 1058313111; /* Silecs user initialization */ strcpy((unsigned char *)silecsData.data.SilecsHeader_hdrBlk.device[0]._user, "schwinn"); /* Silecs date initialization */ - SILECS_set_dt(2,39,49,10,31,1,2018,&silecsData.data.SilecsHeader_hdrBlk.device[0]._date); + SILECS_set_dt(2,28,6,17,31,1,2018,&silecsData.data.SilecsHeader_hdrBlk.device[0]._date); } /* diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_DeviceMode.h b/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_DeviceMode.h index 6660421af5e56aaf0fc19af8438dd3255bd9df5c..d8ecb7956aeab10773fc73605eaeecb05029d1c2 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_DeviceMode.h +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Rabbit_DeviceMode.h @@ -97,23 +97,39 @@ typedef struct typedef struct { - int16_t RW_int8[2][2]; - uint16_t RW_uint8[2][2]; - int16_t RW_int16[2][2]; - uint16_t RW_uint16[2][2]; - int32_t RW_int32[2][2]; - uint32_t RW_uint32[2][2]; - float RW_float32[2][2]; - uint8_t RW_string[2][2][64]; - dt RW_date[2][2]; - int16_t RW_char[2][2]; - uint16_t RW_byte[2][2]; - uint16_t RW_word[2][2]; - uint32_t RW_dword[2][2]; - int16_t RW_int[2][2]; - int32_t RW_dint[2][2]; - float RW_real[2][2]; - dt RW_dt[2][2]; + int16_t RW_int8; + uint16_t RW_uint8; + int16_t RW_int16; + uint16_t RW_uint16; + int32_t RW_int32; + uint32_t RW_uint32; + float RW_float32; + uint8_t RW_string[64]; + dt RW_date; + int16_t RW_char; + uint16_t RW_byte; + uint16_t RW_word; + uint32_t RW_dword; + int16_t RW_int; + int32_t RW_dint; + float RW_real; + dt RW_dt; + int16_t RW2_int8[2][2]; + uint16_t RW2_uint8[2][2]; + int16_t RW2_int16[2][2]; + uint16_t RW2_uint16[2][2]; + int32_t RW2_int32[2][2]; + uint32_t RW2_uint32[2][2]; + float RW2_float32[2][2]; + dt RW2_date[2][2]; + int16_t RW2_char[2][2]; + uint16_t RW2_byte[2][2]; + uint16_t RW2_word[2][2]; + uint32_t RW2_dword[2][2]; + int16_t RW2_int[2][2]; + int32_t RW2_dint[2][2]; + float RW2_real[2][2]; + dt RW2_dt[2][2]; } _AllTypes_MyRWBlock; @@ -199,13 +215,13 @@ int SILECS_init() strcpy((unsigned char *)silecsData.data.SilecsHeader_device[0].hdrBlk._version, "SILECS_DEV"); /* Silecs checksum initialization */ - silecsData.data.SilecsHeader_device[0].hdrBlk._checksum = 582399177; + silecsData.data.SilecsHeader_device[0].hdrBlk._checksum = 1058313111; /* Silecs user initialization */ strcpy((unsigned char *)silecsData.data.SilecsHeader_device[0].hdrBlk._user, "schwinn"); /* Silecs date initialization */ - SILECS_set_dt(2,39,49,10,31,1,2018,&silecsData.data.SilecsHeader_device[0].hdrBlk._date); + SILECS_set_dt(2,28,6,17,31,1,2018,&silecsData.data.SilecsHeader_device[0].hdrBlk._date); } /* diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_M340.xsy b/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_M340.xsy index d90bebd5a816e852c8638cfd6998505e049c6370..3eed6c479fe9e71e6278c6063baa22a682a89385 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_M340.xsy +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_M340.xsy @@ -5,7 +5,7 @@ <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_checksum_a781_SilecsHeader" typeName="DWORD" topologicalAddress="%MW8"> - <variableInit value="582399177"/> + <variableInit value="1058313111"/> <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_user_a781_SilecsHeader" typeName="STRING[16]" topologicalAddress="%MW10"> @@ -13,7 +13,7 @@ <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_date_a781_SilecsHeader" typeName="DT" topologicalAddress="%MW18"> - <variableInit value="DT#2018-1-31-10:49:39"/> + <variableInit value="DT#2018-1-31-17:6:28"/> <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="RO_int8_a583_testDevice1" typeName="WORD" topologicalAddress="%MW22"> @@ -118,310 +118,406 @@ <variables name="RO_dt_a583_testDevice2" typeName="DT" topologicalAddress="%MW142"> <comment>AllTypes/testDevice2/MyROBlock</comment> </variables> - <variables name="RW_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW146"> + <variables name="RW_int8_a583_testDevice1" typeName="WORD" topologicalAddress="%MW146"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW150"> + <variables name="RW_uint8_a583_testDevice1" typeName="BYTE" topologicalAddress="%MW147"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW152"> + <variables name="RW_int16_a583_testDevice1" typeName="INT" topologicalAddress="%MW148"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW156"> + <variables name="RW_uint16_a583_testDevice1" typeName="WORD" topologicalAddress="%MW149"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW160"> + <variables name="RW_int32_a583_testDevice1" typeName="DINT" topologicalAddress="%MW150"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW168"> + <variables name="RW_uint32_a583_testDevice1" typeName="DWORD" topologicalAddress="%MW152"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW176"> + <variables name="RW_float32_a583_testDevice1" typeName="REAL" topologicalAddress="%MW154"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW184"> + <variables name="RW_string_a583_testDevice1" typeName="STRING[64]" topologicalAddress="%MW156"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW312"> + <variables name="RW_date_a583_testDevice1" typeName="DT" topologicalAddress="%MW188"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW328"> + <variables name="RW_char_a583_testDevice1" typeName="WORD" topologicalAddress="%MW192"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW332"> + <variables name="RW_byte_a583_testDevice1" typeName="BYTE" topologicalAddress="%MW193"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW334"> + <variables name="RW_word_a583_testDevice1" typeName="WORD" topologicalAddress="%MW194"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW338"> + <variables name="RW_dword_a583_testDevice1" typeName="DWORD" topologicalAddress="%MW196"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW346"> + <variables name="RW_int_a583_testDevice1" typeName="INT" topologicalAddress="%MW198"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW350"> + <variables name="RW_dint_a583_testDevice1" typeName="DINT" topologicalAddress="%MW200"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW358"> + <variables name="RW_real_a583_testDevice1" typeName="REAL" topologicalAddress="%MW202"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW366"> + <variables name="RW_dt_a583_testDevice1" typeName="DT" topologicalAddress="%MW204"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW382"> + <variables name="RW2_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW208"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW212"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW214"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW218"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW222"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW230"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW238"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW246"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW262"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW266"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW268"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW272"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW280"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW284"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW292"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW300"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW_int8_a583_testDevice2" typeName="WORD" topologicalAddress="%MW316"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint8_a583_testDevice2" typeName="BYTE" topologicalAddress="%MW317"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int16_a583_testDevice2" typeName="INT" topologicalAddress="%MW318"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint16_a583_testDevice2" typeName="WORD" topologicalAddress="%MW319"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int32_a583_testDevice2" typeName="DINT" topologicalAddress="%MW320"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint32_a583_testDevice2" typeName="DWORD" topologicalAddress="%MW322"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_float32_a583_testDevice2" typeName="REAL" topologicalAddress="%MW324"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_string_a583_testDevice2" typeName="STRING[64]" topologicalAddress="%MW326"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_date_a583_testDevice2" typeName="DT" topologicalAddress="%MW358"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_char_a583_testDevice2" typeName="WORD" topologicalAddress="%MW362"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_byte_a583_testDevice2" typeName="BYTE" topologicalAddress="%MW363"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_word_a583_testDevice2" typeName="WORD" topologicalAddress="%MW364"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dword_a583_testDevice2" typeName="DWORD" topologicalAddress="%MW366"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int_a583_testDevice2" typeName="INT" topologicalAddress="%MW368"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dint_a583_testDevice2" typeName="DINT" topologicalAddress="%MW370"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_real_a583_testDevice2" typeName="REAL" topologicalAddress="%MW372"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dt_a583_testDevice2" typeName="DT" topologicalAddress="%MW374"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW386"> + <variables name="RW2_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW378"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW388"> + <variables name="RW2_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW382"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW392"> + <variables name="RW2_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW384"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW396"> + <variables name="RW2_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW388"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW404"> + <variables name="RW2_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW392"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW412"> + <variables name="RW2_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW400"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW420"> + <variables name="RW2_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW408"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW548"> + <variables name="RW2_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW416"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW564"> + <variables name="RW2_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW432"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW568"> + <variables name="RW2_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW436"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW570"> + <variables name="RW2_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW438"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW574"> + <variables name="RW2_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW442"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW582"> + <variables name="RW2_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW450"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW586"> + <variables name="RW2_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW454"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW594"> + <variables name="RW2_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW462"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW602"> + <variables name="RW2_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW470"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="WO_int8_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW618"> + <variables name="WO_int8_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW486"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint8_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW628"> + <variables name="WO_uint8_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW496"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int16_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW633"> + <variables name="WO_int16_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW501"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint16_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW643"> + <variables name="WO_uint16_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW511"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int32_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW654"> + <variables name="WO_int32_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW522"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint32_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW674"> + <variables name="WO_uint32_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW542"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_float32_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW694"> + <variables name="WO_float32_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW562"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_string_a583_testDevice1" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW714"> + <variables name="WO_string_a583_testDevice1" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW582"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_date_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1034"> + <variables name="WO_date_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW902"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_char_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1074"> + <variables name="WO_char_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW942"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_byte_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1084"> + <variables name="WO_byte_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW952"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_word_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1089"> + <variables name="WO_word_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW957"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dword_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1100"> + <variables name="WO_dword_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW968"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1120"> + <variables name="WO_int_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW988"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dint_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1130"> + <variables name="WO_dint_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW998"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_real_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1150"> + <variables name="WO_real_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1018"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dt_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1170"> + <variables name="WO_dt_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1038"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int8_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1210"> + <variables name="WO_int8_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1078"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint8_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1220"> + <variables name="WO_uint8_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1088"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int16_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1225"> + <variables name="WO_int16_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1093"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint16_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1235"> + <variables name="WO_uint16_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1103"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int32_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1246"> + <variables name="WO_int32_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1114"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint32_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1266"> + <variables name="WO_uint32_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1134"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_float32_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1286"> + <variables name="WO_float32_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1154"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_string_a583_testDevice2" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW1306"> + <variables name="WO_string_a583_testDevice2" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW1174"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_date_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1626"> + <variables name="WO_date_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1494"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_char_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1666"> + <variables name="WO_char_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1534"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_byte_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1676"> + <variables name="WO_byte_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1544"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_word_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1681"> + <variables name="WO_word_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1549"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dword_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1692"> + <variables name="WO_dword_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1560"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1712"> + <variables name="WO_int_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1580"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dint_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1722"> + <variables name="WO_dint_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1590"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_real_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1742"> + <variables name="WO_real_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1610"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dt_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1762"> + <variables name="WO_dt_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1630"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="C_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1802"> + <variables name="C_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1670"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1806"> + <variables name="C_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1674"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1808"> + <variables name="C_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1676"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1812"> + <variables name="C_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1680"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1816"> + <variables name="C_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1684"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1824"> + <variables name="C_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1692"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1832"> + <variables name="C_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1700"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1840"> + <variables name="C_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1708"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1968"> + <variables name="C_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1836"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1984"> + <variables name="C_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1852"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1988"> + <variables name="C_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1856"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1990"> + <variables name="C_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1858"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1994"> + <variables name="C_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1862"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2002"> + <variables name="C_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1870"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2006"> + <variables name="C_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1874"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2014"> + <variables name="C_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1882"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2022"> + <variables name="C_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1890"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2038"> + <variables name="C_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1906"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2042"> + <variables name="C_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1910"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2044"> + <variables name="C_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1912"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2048"> + <variables name="C_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1916"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2052"> + <variables name="C_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1920"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2060"> + <variables name="C_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1928"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2068"> + <variables name="C_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1936"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW2076"> + <variables name="C_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1944"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2204"> + <variables name="C_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2072"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2220"> + <variables name="C_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2088"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2224"> + <variables name="C_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2092"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2226"> + <variables name="C_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2094"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2230"> + <variables name="C_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2098"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2238"> + <variables name="C_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2106"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2242"> + <variables name="C_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2110"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2250"> + <variables name="C_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2118"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2258"> + <variables name="C_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2126"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> </dataBlock> diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_PremiumQuantum.xsy b/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_PremiumQuantum.xsy index 9a513184edd4e2fb6947151dcd4222d639725332..f16e4122e959abe70ddb18b606648cecbb2568c8 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_PremiumQuantum.xsy +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Schneider_PremiumQuantum.xsy @@ -5,7 +5,7 @@ <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_checksum_a781_SilecsHeader" typeName="DWORD" topologicalAddress="%MW8"> - <variableInit value="582399177"/> + <variableInit value="1058313111"/> <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_user_a781_SilecsHeader" typeName="STRING[16]" topologicalAddress="%MW10"> @@ -13,7 +13,7 @@ <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="_date_a781_SilecsHeader" typeName="DT" topologicalAddress="%MW18"> - <variableInit value="DT#2018-1-31-10:49:39"/> + <variableInit value="DT#2018-1-31-17:6:28"/> <comment>SilecsHeader/SilecsHeader/hdrBlk</comment> </variables> <variables name="RO_int8_a583_testDevice1" typeName="WORD" topologicalAddress="%MW22"> @@ -118,310 +118,406 @@ <variables name="RO_dt_a583_testDevice2" typeName="DT" topologicalAddress="%MW138"> <comment>AllTypes/testDevice2/MyROBlock</comment> </variables> - <variables name="RW_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW142"> + <variables name="RW_int8_a583_testDevice1" typeName="WORD" topologicalAddress="%MW142"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW146"> + <variables name="RW_uint8_a583_testDevice1" typeName="BYTE" topologicalAddress="%MW143"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW148"> + <variables name="RW_int16_a583_testDevice1" typeName="INT" topologicalAddress="%MW144"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW152"> + <variables name="RW_uint16_a583_testDevice1" typeName="WORD" topologicalAddress="%MW145"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW156"> + <variables name="RW_int32_a583_testDevice1" typeName="DINT" topologicalAddress="%MW146"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW164"> + <variables name="RW_uint32_a583_testDevice1" typeName="DWORD" topologicalAddress="%MW148"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW172"> + <variables name="RW_float32_a583_testDevice1" typeName="REAL" topologicalAddress="%MW150"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW180"> + <variables name="RW_string_a583_testDevice1" typeName="STRING[64]" topologicalAddress="%MW152"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW308"> + <variables name="RW_date_a583_testDevice1" typeName="DT" topologicalAddress="%MW184"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW324"> + <variables name="RW_char_a583_testDevice1" typeName="WORD" topologicalAddress="%MW188"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW328"> + <variables name="RW_byte_a583_testDevice1" typeName="BYTE" topologicalAddress="%MW189"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW330"> + <variables name="RW_word_a583_testDevice1" typeName="WORD" topologicalAddress="%MW190"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW334"> + <variables name="RW_dword_a583_testDevice1" typeName="DWORD" topologicalAddress="%MW191"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW342"> + <variables name="RW_int_a583_testDevice1" typeName="INT" topologicalAddress="%MW193"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW346"> + <variables name="RW_dint_a583_testDevice1" typeName="DINT" topologicalAddress="%MW194"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW354"> + <variables name="RW_real_a583_testDevice1" typeName="REAL" topologicalAddress="%MW196"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW362"> + <variables name="RW_dt_a583_testDevice1" typeName="DT" topologicalAddress="%MW198"> <comment>AllTypes/testDevice1/MyRWBlock</comment> </variables> - <variables name="RW_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW378"> + <variables name="RW2_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW202"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW206"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW208"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW212"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW216"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW224"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW232"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW240"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW256"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW260"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW262"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW266"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW274"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW278"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW286"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW2_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW294"> + <comment>AllTypes/testDevice1/MyRWBlock</comment> + </variables> + <variables name="RW_int8_a583_testDevice2" typeName="WORD" topologicalAddress="%MW310"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint8_a583_testDevice2" typeName="BYTE" topologicalAddress="%MW311"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int16_a583_testDevice2" typeName="INT" topologicalAddress="%MW312"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint16_a583_testDevice2" typeName="WORD" topologicalAddress="%MW313"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int32_a583_testDevice2" typeName="DINT" topologicalAddress="%MW314"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_uint32_a583_testDevice2" typeName="DWORD" topologicalAddress="%MW316"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_float32_a583_testDevice2" typeName="REAL" topologicalAddress="%MW318"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_string_a583_testDevice2" typeName="STRING[64]" topologicalAddress="%MW320"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_date_a583_testDevice2" typeName="DT" topologicalAddress="%MW352"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_char_a583_testDevice2" typeName="WORD" topologicalAddress="%MW356"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_byte_a583_testDevice2" typeName="BYTE" topologicalAddress="%MW357"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_word_a583_testDevice2" typeName="WORD" topologicalAddress="%MW358"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dword_a583_testDevice2" typeName="DWORD" topologicalAddress="%MW359"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_int_a583_testDevice2" typeName="INT" topologicalAddress="%MW361"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dint_a583_testDevice2" typeName="DINT" topologicalAddress="%MW362"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_real_a583_testDevice2" typeName="REAL" topologicalAddress="%MW364"> + <comment>AllTypes/testDevice2/MyRWBlock</comment> + </variables> + <variables name="RW_dt_a583_testDevice2" typeName="DT" topologicalAddress="%MW366"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW382"> + <variables name="RW2_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW370"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW384"> + <variables name="RW2_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW374"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW388"> + <variables name="RW2_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW376"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW392"> + <variables name="RW2_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW380"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW400"> + <variables name="RW2_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW384"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW408"> + <variables name="RW2_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW392"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW416"> + <variables name="RW2_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW400"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW544"> + <variables name="RW2_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW408"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW560"> + <variables name="RW2_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW424"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW564"> + <variables name="RW2_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW428"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW566"> + <variables name="RW2_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW430"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW570"> + <variables name="RW2_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW434"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW578"> + <variables name="RW2_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW442"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW582"> + <variables name="RW2_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW446"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW590"> + <variables name="RW2_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW454"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="RW_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW598"> + <variables name="RW2_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW462"> <comment>AllTypes/testDevice2/MyRWBlock</comment> </variables> - <variables name="WO_int8_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW614"> + <variables name="WO_int8_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW478"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint8_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW624"> + <variables name="WO_uint8_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW488"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int16_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW629"> + <variables name="WO_int16_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW493"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint16_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW639"> + <variables name="WO_uint16_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW503"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int32_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW649"> + <variables name="WO_int32_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW513"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_uint32_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW669"> + <variables name="WO_uint32_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW533"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_float32_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW689"> + <variables name="WO_float32_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW553"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_string_a583_testDevice1" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW709"> + <variables name="WO_string_a583_testDevice1" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW573"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_date_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1029"> + <variables name="WO_date_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW893"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_char_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1069"> + <variables name="WO_char_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW933"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_byte_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1079"> + <variables name="WO_byte_a583_testDevice1" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW943"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_word_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1084"> + <variables name="WO_word_a583_testDevice1" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW948"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dword_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1094"> + <variables name="WO_dword_a583_testDevice1" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW958"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1114"> + <variables name="WO_int_a583_testDevice1" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW978"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dint_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1124"> + <variables name="WO_dint_a583_testDevice1" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW988"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_real_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1144"> + <variables name="WO_real_a583_testDevice1" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1008"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_dt_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1164"> + <variables name="WO_dt_a583_testDevice1" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1028"> <comment>AllTypes/testDevice1/MyWOBlock</comment> </variables> - <variables name="WO_int8_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1204"> + <variables name="WO_int8_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1068"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint8_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1214"> + <variables name="WO_uint8_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1078"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int16_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1219"> + <variables name="WO_int16_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1083"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint16_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1229"> + <variables name="WO_uint16_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1093"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int32_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1239"> + <variables name="WO_int32_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1103"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_uint32_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1259"> + <variables name="WO_uint32_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1123"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_float32_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1279"> + <variables name="WO_float32_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1143"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_string_a583_testDevice2" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW1299"> + <variables name="WO_string_a583_testDevice2" typeName="ARRAY[0..9] OF STRING[64]" topologicalAddress="%MW1163"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_date_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1619"> + <variables name="WO_date_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1483"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_char_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1659"> + <variables name="WO_char_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1523"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_byte_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1669"> + <variables name="WO_byte_a583_testDevice2" typeName="ARRAY[0..9] OF BYTE" topologicalAddress="%MW1533"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_word_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1674"> + <variables name="WO_word_a583_testDevice2" typeName="ARRAY[0..9] OF WORD" topologicalAddress="%MW1538"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dword_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1684"> + <variables name="WO_dword_a583_testDevice2" typeName="ARRAY[0..9] OF DWORD" topologicalAddress="%MW1548"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_int_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1704"> + <variables name="WO_int_a583_testDevice2" typeName="ARRAY[0..9] OF INT" topologicalAddress="%MW1568"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dint_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1714"> + <variables name="WO_dint_a583_testDevice2" typeName="ARRAY[0..9] OF DINT" topologicalAddress="%MW1578"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_real_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1734"> + <variables name="WO_real_a583_testDevice2" typeName="ARRAY[0..9] OF REAL" topologicalAddress="%MW1598"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="WO_dt_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1754"> + <variables name="WO_dt_a583_testDevice2" typeName="ARRAY[0..9] OF DT" topologicalAddress="%MW1618"> <comment>AllTypes/testDevice2/MyWOBlock</comment> </variables> - <variables name="C_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1794"> + <variables name="C_int8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1658"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1798"> + <variables name="C_uint8_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1662"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1800"> + <variables name="C_int16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1664"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1804"> + <variables name="C_uint16_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1668"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1808"> + <variables name="C_int32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1672"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1816"> + <variables name="C_uint32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1680"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1824"> + <variables name="C_float32_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1688"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1832"> + <variables name="C_string_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1696"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1960"> + <variables name="C_date_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1824"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1976"> + <variables name="C_char_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1840"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1980"> + <variables name="C_byte_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1844"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1982"> + <variables name="C_word_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1846"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1986"> + <variables name="C_dword_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1850"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1994"> + <variables name="C_int_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1858"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1998"> + <variables name="C_dint_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1862"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2006"> + <variables name="C_real_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1870"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2014"> + <variables name="C_dt_a583_testDevice1" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW1878"> <comment>AllTypes/testDevice1/MyCBlock</comment> </variables> - <variables name="C_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2030"> + <variables name="C_int8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1894"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2034"> + <variables name="C_uint8_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW1898"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2036"> + <variables name="C_int16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW1900"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2040"> + <variables name="C_uint16_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW1904"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2044"> + <variables name="C_int32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW1908"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2052"> + <variables name="C_uint32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW1916"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2060"> + <variables name="C_float32_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW1924"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW2068"> + <variables name="C_string_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF STRING[64]" topologicalAddress="%MW1932"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2196"> + <variables name="C_date_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2060"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2212"> + <variables name="C_char_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2076"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2216"> + <variables name="C_byte_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF BYTE" topologicalAddress="%MW2080"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2218"> + <variables name="C_word_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF WORD" topologicalAddress="%MW2082"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2222"> + <variables name="C_dword_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DWORD" topologicalAddress="%MW2086"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2230"> + <variables name="C_int_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF INT" topologicalAddress="%MW2094"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2234"> + <variables name="C_dint_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DINT" topologicalAddress="%MW2098"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2242"> + <variables name="C_real_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF REAL" topologicalAddress="%MW2106"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> - <variables name="C_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2250"> + <variables name="C_dt_a583_testDevice2" typeName="ARRAY[0..1, 0..1] OF DT" topologicalAddress="%MW2114"> <comment>AllTypes/testDevice2/MyCBlock</comment> </variables> </dataBlock> diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Block.scl b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Block.scl index 718641684885d5845a6653b0a840cef0a7fe91fe..75130d27c8734aece251390647bf3e79b5fecb0a 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Block.scl +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Block.scl @@ -10,9 +10,9 @@ FAMILY: SILECS NAME: UDTB STRUCT _version: STRING[16] := 'SILECS_DEV'; - _checksum: DWORD := DW#16#22b6b4c9; + _checksum: DWORD := DW#16#3f149397; _user: STRING[16] := 'schwinn'; - _date: DT := DT#2018-1-31-10:49:39; + _date: DT := DT#2018-1-31-17:6:28; END_STRUCT; END_TYPE @@ -73,23 +73,39 @@ AUTHOR: schwinn FAMILY: SILECS NAME: UDTB STRUCT - RW_int8: ARRAY[0..1, 0..1] OF CHAR; - RW_uint8: ARRAY[0..1, 0..1] OF BYTE; - RW_int16: ARRAY[0..1, 0..1] OF INT; - RW_uint16: ARRAY[0..1, 0..1] OF WORD; - RW_int32: ARRAY[0..1, 0..1] OF DINT; - RW_uint32: ARRAY[0..1, 0..1] OF DWORD; - RW_float32: ARRAY[0..1, 0..1] OF REAL; - RW_string: ARRAY[0..1, 0..1] OF STRING[64]; - RW_date: ARRAY[0..1, 0..1] OF DT; - RW_char: ARRAY[0..1, 0..1] OF CHAR; - RW_byte: ARRAY[0..1, 0..1] OF BYTE; - RW_word: ARRAY[0..1, 0..1] OF WORD; - RW_dword: ARRAY[0..1, 0..1] OF DWORD; - RW_int: ARRAY[0..1, 0..1] OF INT; - RW_dint: ARRAY[0..1, 0..1] OF DINT; - RW_real: ARRAY[0..1, 0..1] OF REAL; - RW_dt: ARRAY[0..1, 0..1] OF DT; + RW_int8: CHAR; + RW_uint8: BYTE; + RW_int16: INT; + RW_uint16: WORD; + RW_int32: DINT; + RW_uint32: DWORD; + RW_float32: REAL; + RW_string: STRING[64]; + RW_date: DT; + RW_char: CHAR; + RW_byte: BYTE; + RW_word: WORD; + RW_dword: DWORD; + RW_int: INT; + RW_dint: DINT; + RW_real: REAL; + RW_dt: DT; + RW2_int8: ARRAY[0..1, 0..1] OF CHAR; + RW2_uint8: ARRAY[0..1, 0..1] OF BYTE; + RW2_int16: ARRAY[0..1, 0..1] OF INT; + RW2_uint16: ARRAY[0..1, 0..1] OF WORD; + RW2_int32: ARRAY[0..1, 0..1] OF DINT; + RW2_uint32: ARRAY[0..1, 0..1] OF DWORD; + RW2_float32: ARRAY[0..1, 0..1] OF REAL; + RW2_date: ARRAY[0..1, 0..1] OF DT; + RW2_char: ARRAY[0..1, 0..1] OF CHAR; + RW2_byte: ARRAY[0..1, 0..1] OF BYTE; + RW2_word: ARRAY[0..1, 0..1] OF WORD; + RW2_dword: ARRAY[0..1, 0..1] OF DWORD; + RW2_int: ARRAY[0..1, 0..1] OF INT; + RW2_dint: ARRAY[0..1, 0..1] OF DINT; + RW2_real: ARRAY[0..1, 0..1] OF REAL; + RW2_dt: ARRAY[0..1, 0..1] OF DT; END_STRUCT; END_TYPE diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Device.scl b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Device.scl index 439b2cf69d2ae881c5a372727bd3d517ea374ae7..d6aca17a288d12f833d3f360def6a8c6a6fa4867 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Device.scl +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_Step7Device.scl @@ -10,9 +10,9 @@ FAMILY: SILECS NAME: UDTB STRUCT _version: STRING[16] := 'SILECS_DEV'; - _checksum: DWORD := DW#16#22b6b4c9; + _checksum: DWORD := DW#16#3f149397; _user: STRING[16] := 'schwinn'; - _date: DT := DT#2018-1-31-10:49:39; + _date: DT := DT#2018-1-31-17:6:28; END_STRUCT; END_TYPE @@ -73,23 +73,39 @@ AUTHOR: schwinn FAMILY: SILECS NAME: UDTB STRUCT - RW_int8: ARRAY[0..1, 0..1] OF CHAR; - RW_uint8: ARRAY[0..1, 0..1] OF BYTE; - RW_int16: ARRAY[0..1, 0..1] OF INT; - RW_uint16: ARRAY[0..1, 0..1] OF WORD; - RW_int32: ARRAY[0..1, 0..1] OF DINT; - RW_uint32: ARRAY[0..1, 0..1] OF DWORD; - RW_float32: ARRAY[0..1, 0..1] OF REAL; - RW_string: ARRAY[0..1, 0..1] OF STRING[64]; - RW_date: ARRAY[0..1, 0..1] OF DT; - RW_char: ARRAY[0..1, 0..1] OF CHAR; - RW_byte: ARRAY[0..1, 0..1] OF BYTE; - RW_word: ARRAY[0..1, 0..1] OF WORD; - RW_dword: ARRAY[0..1, 0..1] OF DWORD; - RW_int: ARRAY[0..1, 0..1] OF INT; - RW_dint: ARRAY[0..1, 0..1] OF DINT; - RW_real: ARRAY[0..1, 0..1] OF REAL; - RW_dt: ARRAY[0..1, 0..1] OF DT; + RW_int8: CHAR; + RW_uint8: BYTE; + RW_int16: INT; + RW_uint16: WORD; + RW_int32: DINT; + RW_uint32: DWORD; + RW_float32: REAL; + RW_string: STRING[64]; + RW_date: DT; + RW_char: CHAR; + RW_byte: BYTE; + RW_word: WORD; + RW_dword: DWORD; + RW_int: INT; + RW_dint: DINT; + RW_real: REAL; + RW_dt: DT; + RW2_int8: ARRAY[0..1, 0..1] OF CHAR; + RW2_uint8: ARRAY[0..1, 0..1] OF BYTE; + RW2_int16: ARRAY[0..1, 0..1] OF INT; + RW2_uint16: ARRAY[0..1, 0..1] OF WORD; + RW2_int32: ARRAY[0..1, 0..1] OF DINT; + RW2_uint32: ARRAY[0..1, 0..1] OF DWORD; + RW2_float32: ARRAY[0..1, 0..1] OF REAL; + RW2_date: ARRAY[0..1, 0..1] OF DT; + RW2_char: ARRAY[0..1, 0..1] OF CHAR; + RW2_byte: ARRAY[0..1, 0..1] OF BYTE; + RW2_word: ARRAY[0..1, 0..1] OF WORD; + RW2_dword: ARRAY[0..1, 0..1] OF DWORD; + RW2_int: ARRAY[0..1, 0..1] OF INT; + RW2_dint: ARRAY[0..1, 0..1] OF DINT; + RW2_real: ARRAY[0..1, 0..1] OF REAL; + RW2_dt: ARRAY[0..1, 0..1] OF DT; END_STRUCT; END_TYPE diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl index b70e773c926b030aed70c4d4f39394c5e5bd93bf..27403832634a8ab74399cd6caf811d4fd2a8cf6a 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl @@ -10,9 +10,9 @@ FAMILY: SILECS NAME: UDTB STRUCT _version: STRING[16] := 'SILECS_DEV'; - _checksum: DWORD := DW#16#22b6b4c9; + _checksum: DWORD := DW#16#3f149397; _user: STRING[16] := 'schwinn'; - _date: DT := DT#2018-1-31-10:49:39; + _date: DT := DT#2018-1-31-17:6:28; END_STRUCT; END_TYPE @@ -72,23 +72,39 @@ AUTHOR: schwinn FAMILY: SILECS NAME: UDTB STRUCT - RW_int8: ARRAY[0..1, 0..1] OF CHAR; - RW_uint8: ARRAY[0..1, 0..1] OF BYTE; - RW_int16: ARRAY[0..1, 0..1] OF INT; - RW_uint16: ARRAY[0..1, 0..1] OF WORD; - RW_int32: ARRAY[0..1, 0..1] OF DINT; - RW_uint32: ARRAY[0..1, 0..1] OF DWORD; - RW_float32: ARRAY[0..1, 0..1] OF REAL; - RW_string: ARRAY[0..1, 0..1] OF STRING[64]; - RW_date: ARRAY[0..1, 0..1] OF DT; - RW_char: ARRAY[0..1, 0..1] OF CHAR; - RW_byte: ARRAY[0..1, 0..1] OF BYTE; - RW_word: ARRAY[0..1, 0..1] OF WORD; - RW_dword: ARRAY[0..1, 0..1] OF DWORD; - RW_int: ARRAY[0..1, 0..1] OF INT; - RW_dint: ARRAY[0..1, 0..1] OF DINT; - RW_real: ARRAY[0..1, 0..1] OF REAL; - RW_dt: ARRAY[0..1, 0..1] OF DT; + RW_int8: CHAR; + RW_uint8: BYTE; + RW_int16: INT; + RW_uint16: WORD; + RW_int32: DINT; + RW_uint32: DWORD; + RW_float32: REAL; + RW_string: STRING[64]; + RW_date: DT; + RW_char: CHAR; + RW_byte: BYTE; + RW_word: WORD; + RW_dword: DWORD; + RW_int: INT; + RW_dint: DINT; + RW_real: REAL; + RW_dt: DT; + RW2_int8: ARRAY[0..1, 0..1] OF CHAR; + RW2_uint8: ARRAY[0..1, 0..1] OF BYTE; + RW2_int16: ARRAY[0..1, 0..1] OF INT; + RW2_uint16: ARRAY[0..1, 0..1] OF WORD; + RW2_int32: ARRAY[0..1, 0..1] OF DINT; + RW2_uint32: ARRAY[0..1, 0..1] OF DWORD; + RW2_float32: ARRAY[0..1, 0..1] OF REAL; + RW2_date: ARRAY[0..1, 0..1] OF DT; + RW2_char: ARRAY[0..1, 0..1] OF CHAR; + RW2_byte: ARRAY[0..1, 0..1] OF BYTE; + RW2_word: ARRAY[0..1, 0..1] OF WORD; + RW2_dword: ARRAY[0..1, 0..1] OF DWORD; + RW2_int: ARRAY[0..1, 0..1] OF INT; + RW2_dint: ARRAY[0..1, 0..1] OF DINT; + RW2_real: ARRAY[0..1, 0..1] OF REAL; + RW2_dt: ARRAY[0..1, 0..1] OF DT; END_STRUCT; END_TYPE diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaDevice.scl b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaDevice.scl index 57a2d8fe89666c34b58200e6fafba23f82dac71d..7b6143acaf43f810e7360cf0c07cda33cb004072 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaDevice.scl +++ b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaDevice.scl @@ -10,9 +10,9 @@ FAMILY: SILECS NAME: UDTB STRUCT _version: STRING[16] := 'SILECS_DEV'; - _checksum: DWORD := DW#16#22b6b4c9; + _checksum: DWORD := DW#16#3f149397; _user: STRING[16] := 'schwinn'; - _date: DT := DT#2018-1-31-10:49:39; + _date: DT := DT#2018-1-31-17:6:28; END_STRUCT; END_TYPE @@ -72,23 +72,39 @@ AUTHOR: schwinn FAMILY: SILECS NAME: UDTB STRUCT - RW_int8: ARRAY[0..1, 0..1] OF CHAR; - RW_uint8: ARRAY[0..1, 0..1] OF BYTE; - RW_int16: ARRAY[0..1, 0..1] OF INT; - RW_uint16: ARRAY[0..1, 0..1] OF WORD; - RW_int32: ARRAY[0..1, 0..1] OF DINT; - RW_uint32: ARRAY[0..1, 0..1] OF DWORD; - RW_float32: ARRAY[0..1, 0..1] OF REAL; - RW_string: ARRAY[0..1, 0..1] OF STRING[64]; - RW_date: ARRAY[0..1, 0..1] OF DT; - RW_char: ARRAY[0..1, 0..1] OF CHAR; - RW_byte: ARRAY[0..1, 0..1] OF BYTE; - RW_word: ARRAY[0..1, 0..1] OF WORD; - RW_dword: ARRAY[0..1, 0..1] OF DWORD; - RW_int: ARRAY[0..1, 0..1] OF INT; - RW_dint: ARRAY[0..1, 0..1] OF DINT; - RW_real: ARRAY[0..1, 0..1] OF REAL; - RW_dt: ARRAY[0..1, 0..1] OF DT; + RW_int8: CHAR; + RW_uint8: BYTE; + RW_int16: INT; + RW_uint16: WORD; + RW_int32: DINT; + RW_uint32: DWORD; + RW_float32: REAL; + RW_string: STRING[64]; + RW_date: DT; + RW_char: CHAR; + RW_byte: BYTE; + RW_word: WORD; + RW_dword: DWORD; + RW_int: INT; + RW_dint: DINT; + RW_real: REAL; + RW_dt: DT; + RW2_int8: ARRAY[0..1, 0..1] OF CHAR; + RW2_uint8: ARRAY[0..1, 0..1] OF BYTE; + RW2_int16: ARRAY[0..1, 0..1] OF INT; + RW2_uint16: ARRAY[0..1, 0..1] OF WORD; + RW2_int32: ARRAY[0..1, 0..1] OF DINT; + RW2_uint32: ARRAY[0..1, 0..1] OF DWORD; + RW2_float32: ARRAY[0..1, 0..1] OF REAL; + RW2_date: ARRAY[0..1, 0..1] OF DT; + RW2_char: ARRAY[0..1, 0..1] OF CHAR; + RW2_byte: ARRAY[0..1, 0..1] OF BYTE; + RW2_word: ARRAY[0..1, 0..1] OF WORD; + RW2_dword: ARRAY[0..1, 0..1] OF DWORD; + RW2_int: ARRAY[0..1, 0..1] OF INT; + RW2_dint: ARRAY[0..1, 0..1] OF DINT; + RW2_real: ARRAY[0..1, 0..1] OF REAL; + RW2_dt: ARRAY[0..1, 0..1] OF DT; END_STRUCT; END_TYPE diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/SilecsHeader_1.0.0.h b/silecs-codegen/src/xml/test/generated_correct/controller/SilecsHeader_1.0.0.h index 4c5b0f60076d41a1dd273ab678d84fd67f6b25d5..7daab50efed369451c9098b9184a2e3a92295c08 100644 --- a/silecs-codegen/src/xml/test/generated_correct/controller/SilecsHeader_1.0.0.h +++ b/silecs-codegen/src/xml/test/generated_correct/controller/SilecsHeader_1.0.0.h @@ -30,7 +30,7 @@ public: HdrBlk() : SilecsServer::Block("SilecsHeader:hdrBlk") { set_version("DEV"); - set_checksum(0XC9B4B622); + set_checksum(0X9793143F); set_user("schwinn"); set_date(0.0); }