--- a/codesys-ide/scripts/plcopenxml.xslt +++ b/codesys-ide/scripts/plcopenxml.xslt @@ -7,21 +7,64 @@ | Parse POU start tags --> <xsl:template match="po:pou[@pouType='functionBlock']"> - <xsl:call-template name="trim"> - <xsl:with-param name="input" select="po:interface/po:documentation"/> - </xsl:call-template> + +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:value-of select="@name" /> +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:call-template name="trim"> +<xsl:with-param name="input" select="po:interface/po:documentation"/> +</xsl:call-template> +<xsl:text> + +</xsl:text> <xsl:text>FUNCTION_BLOCK </xsl:text><xsl:value-of select="@name" /> <xsl:apply-templates select="po:interface"/> <xsl:apply-templates select="po:body"/> <xsl:apply-templates select="po:addData/po:data/po:Method"/> </xsl:template> + + + <xsl:template match="po:pou[@pouType='program']"> +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:value-of select="@name" /> +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:call-template name="trim"> +<xsl:with-param name="input" select="po:interface/po:documentation"/> +</xsl:call-template> +<xsl:text> + +</xsl:text> <xsl:text>PROGRAM </xsl:text><xsl:value-of select="@name" /> <xsl:apply-templates select="po:interface"/> <xsl:apply-templates select="po:body"/> </xsl:template> + + + <xsl:template match="po:Method"> - <xsl:text>METHOD </xsl:text><xsl:value-of select="@name" /> +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:value-of select="@name" /> +<xsl:text> +------------------------------------------------------------------------------- +</xsl:text> +<xsl:call-template name="trim"> +<xsl:with-param name="input" select="po:interface/po:documentation"/> +</xsl:call-template> +<xsl:text> + +</xsl:text> +<xsl:text>METHOD </xsl:text><xsl:value-of select="@name" /> <xsl:text>: </xsl:text> <xsl:apply-templates select="*/po:returnType"/> <xsl:apply-templates select="po:interface"/> @@ -53,49 +96,57 @@ | Variables (Part of the interface) --> <xsl:template match="po:localVars"> - <xsl:text>VAR + <xsl:text> +VAR </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR </xsl:text> </xsl:template> <xsl:template match="po:tempVars"> - <xsl:text>VAR_TEMP + <xsl:text> +VAR_TEMP </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR </xsl:text> </xsl:template> <xsl:template match="po:inputVars"> - <xsl:text>VAR_INPUT + <xsl:text> +VAR_INPUT </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR </xsl:text> </xsl:template> <xsl:template match="po:outputVars"> - <xsl:text>VAR_OUTPUT + <xsl:text> +VAR_OUTPUT </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR </xsl:text> </xsl:template> <xsl:template match="po:inOutVars"> - <xsl:text>VAR_INOUT -</xsl:text> - <xsl:apply-templates select="po:variable"/> - <xsl:text>END_VAR + <xsl:text> +VAR_INOUT +</xsl:text> + <xsl:apply-templates select="po:variable"/> + <xsl:text> +END_VAR </xsl:text> </xsl:template> <xsl:template match="po:externalVars"> - <xsl:text>VAR_EXTERNAL + <xsl:text> +VAR_EXTERNAL </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR </xsl:text> </xsl:template> <xsl:template match="po:globalVars"> - <xsl:text>VAR_GLOBAL + <xsl:text> +VAR_GLOBAL </xsl:text> <xsl:apply-templates select="po:variable"/> <xsl:text>END_VAR