Hi, I am trying to perform the migration to add the functionalities for the S7 driver, associated with the subscription handling of alarm and system events, but I am generating a failure in compiling the driver from the mspec.
In [1] I extend the step of the parameter 'cpuSubFunction' since I require it to indicate the subscription model. The change is in bold. In [2] I select the type based on the 'cpuSubFunction'. I try to generate the driver and the compiler sends me the message indicated in [3]. It points to 'S7PayloadWriteVarRequest', but I haven't touched it. I appreciate your comments, [1] [discriminatedType 'S7Payload' [uint 8 'messageType', S7Parameter 'parameter'] [typeSwitch 'parameter.discriminatorValues[0]', 'messageType' ['0x04','0x03' S7PayloadReadVarResponse [array S7VarPayloadDataItem 'items' count 'CAST(parameter, S7ParameterReadVarResponse).numItems' ['lastItem']] ] ['0x05','0x01' S7PayloadWriteVarRequest [array S7VarPayloadDataItem 'items' count 'COUNT(CAST(parameter, S7ParameterWriteVarRequest).items)' ['lastItem']] ] ['0x05','0x03' S7PayloadWriteVarResponse [array S7VarPayloadStatusItem 'items' count 'CAST(parameter, S7ParameterWriteVarResponse).numItems'] ] ['0x00','0x07' S7PayloadUserData [array S7PayloadUserDataItem 'items' count 'COUNT(CAST(parameter, S7ParameterUserData).items)' ['CAST(CAST(parameter, S7ParameterUserData).items[0], S7ParameterUserDataItemCPUFunctions).cpuFunctionType',* 'CAST(CAST(parameter, S7ParameterUserData).items[0], S7ParameterUserDataItemCPUFunctions).getCpuSubfunction']*] ] ] ] [2] [discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType', uint 8 'cpuSubfunction'] [enum DataTransportErrorCode 'returnCode'] [enum DataTransportSize 'transportSize'] [implicit uint 16 'dataLength' 'lengthInBytes - 4'] * [typeSwitch 'cpuSubfunction' ['0x01' [simple SzlId 'szlId'] [simple uint 16 'szlIndex'] [typeSwitch 'cpuFunctionType' ['0x04' S7PayloadUserDataItemCpuFunctionReadSzlRequest ] ['0x08' S7PayloadUserDataItemCpuFunctionReadSzlResponse [const uint 16 'szlItemLength' '28'] [implicit uint 16 'szlItemCount' 'COUNT(items)'] [array SzlDataTreeItem 'items' count 'szlItemCount'] ] ] ] ['0x02' ] ]* ] [3] Failed to execute goal org.apache.plc4x.plugins:plc4x-maven-plugin:1.2.0:generate-driver (generate-driver) on project plc4j-driver-s7: Error generating sources: Error generating output for type 'S7PayloadWriteVarRequest': Java method "org.apache.plc4x.language.java.JavaLanguageTemplateHelper.getArgumentType(org.apache.plc4x.plugins.codegenerator.types.references.TypeReference, int)" threw an exception when invoked on org.apache.plc4x.language.java.JavaLanguageTemplateHelper object "org.apache.plc4x.language.java.JavaLanguageTemplateHelper@8ac512e"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: ${helper.getArgumentType(field.type, ... [in template "templates/java/io-template.ftlh" at line 136, column 248] ----: Could not find definition of complex type S7VarPayloadDataItem -> [Help 1] -- *CEOS Automatización, C.A.* *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,* *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,* *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI* *Ing. César García* *Cel: +58 414-760.98.95* *Hotline Técnica SIEMENS: 0800 1005080* *Email: support.aan.automat...@siemens.com <support.aan.automat...@siemens.com>*