Crate open_plc_schema

Crate open_plc_schema 

Source
Expand description

This crate contains all different data types defined in the tc6_xml_v201.xsd that you can download from https://www.plcopen.org/downloads/ under Code Components of IEC 61131-10 "PLC open XML exchange format".

The XML schema itself is not part of this crate, it only contains code generated from it.

Using Project with quick-xml, you can for example deserialize a complete project export from a CODESYS project.

This crate uses the great xsd_parser crate to generate the Rust code.

§Features

  • generate enables code generation during build. Requires you to set OPEN_PLC_SCHEMA_PATH to the XML schema (usually named something like tc6_xml_v201.xsd)

Modules§

quick_xml_deserialize
quick_xml_serialize
xs

Structs§

ActionBlockActionElementType
Association of an action with qualifier
ActionBlockActionReferenceElementType
ActionBlockElementType
AddDataDataElementType
AddDataInfoInfoElementType
AddDataInfoType
List of additional data elements used in the document with description
AddDataType
Application specific data defined in external schemata
ArrayElementType
BlockElementType
Describes a graphical object representing a call statement
BlockInOutVariablesElementType
BlockInOutVariablesVariableElementType
Describes a inOutVariable of a Function or a FunctionBlock
BlockInputVariablesElementType
BlockInputVariablesVariableElementType
Describes an inputVariable of a Function or a FunctionBlock
BlockOutputVariablesElementType
BlockOutputVariablesVariableElementType
Describes a outputVariable of a Function or a FunctionBlock
BodyFbdElementType
BodyLdElementType
BodySfcElementType
BodyType
Implementation part of a POU, action or transistion
CoilElementType
Describes a graphical object representing a boolean variable which can be used as l-value and r-value at the same time
CommentElementType
ConnectionPointInType
Defines a connection point on the consumer side
ConnectionPointOutType
Defines a connection point on the producer side
ConnectionType
Describes a connection between the consumer element (eg. input variable of a function block) and the producer element (eg. output variable of a function block). It may contain a list of positions that describes the path of the connection.
ConnectorElementType
Describes a graphical object representing a variable, literal or expression used as r-value
ContinuationElementType
Describes a graphical object representing a variable, literal or expression used as r-value
DerivedElementType
The user defined alias type
EnumElementType
EnumValuesElementType
EnumValuesElementTypeContent
EnumValuesValueElementType
An enumeration value used to build up enumeration types
FormattedTextType
Formatted text according to parts of XHTML 1.1
InOutVariableElementType
Describes a graphical object representing a variable which can be used as l-value and r-value at the same time
InVariableElementType
Describes a graphical object representing a variable, literal or expression used as r-value
JumpElementType
Describes a graphical object representing a jump statement
JumpStepElementType
LabelElementType
Describes a graphical object representing a jump label
LeftPowerRailConnectionPointOutElementType
LeftPowerRailElementType
Describes a graphical object representing a left powerrail
MacroStepElementType
OutVariableElementType
Describes a graphical object representing a variable or expression used as l-value
PointerElementType
PositionType
Defines a graphical position in X, Y coordinates
PouInstanceType
Represents a program or function block instance either running with or without a task
ProjectContentHeaderCoordinateInfoElementType
ProjectContentHeaderCoordinateInfoFbdElementType
ProjectContentHeaderElementType
ProjectElementType
ProjectFileHeaderElementType
ProjectInstancesConfigurationsConfigurationElementType
Represents a group of resources and global variables
ProjectInstancesConfigurationsConfigurationResourceElementType
Represents a group of programs and tasks and global variables
ProjectInstancesConfigurationsConfigurationResourceTaskElementType
Represents a periodic or triggered task
ProjectInstancesConfigurationsElementType
ProjectInstancesElementType
ProjectTypesDataTypesDataTypeElementType
ProjectTypesDataTypesElementType
ProjectTypesElementType
ProjectTypesPousElementType
ProjectTypesPousPouActionsActionElementType
ProjectTypesPousPouActionsElementType
ProjectTypesPousPouElementType
ProjectTypesPousPouInterfaceElementType
ProjectTypesPousPouInterfaceExternalVarsElementType
ProjectTypesPousPouTransitionsElementType
RangeSignedType
Defines a range with signed bounds
ReturnElementType
Describes a graphical object representing areturn statement
RightPowerRailElementType
Describes a graphical object representing a right powerrail
SelectionConvergenceConnectionPointInElementType
SelectionConvergenceElementType
SelectionDivergenceElementType
SimultaneousConvergenceElementType
SimultaneousDivergenceElementType
StepElementType
Contains actions
StringElementType
The single byte character string type
SubrangeSignedElementType
TransitionConditionElementType
TransitionConditionInlineElementType
TransitionElementType
ValueArrayValueElementType
Array value consisting of a list of occurrances - value pairs
ValueArrayValueElementTypeContent
Array value consisting of a list of occurrances - value pairs
ValueArrayValueValueElementType
ValueSimpleValueElementType
Value that can be represented as a single token string
ValueStructValueElementType
Struct value consisting of a list of member - value pairs
ValueStructValueElementTypeContent
Struct value consisting of a list of member - value pairs
ValueStructValueValueElementType
VarListAccessAccessVariableElementType
Declaration of an access variable
VarListAccessType
List of access variable declarations
VarListConfigConfigVariableElementType
Declaration of an access variable
VarListConfigType
List of VAR_CONFIG variables
VarListPlainType
List of variable declarations without attributes
VarListPlainVariableElementType
Declaration of a variable
VarListType
List of variable declarations that share the same memory attributes (CONSTANT, RETAIN, NON_RETAIN, PERSISTENT)
VendorElementElementType
Describes a graphical object representing a call statement

Enums§

AccessType
Defines the different access types to an accessVariable
ActionBlockActionQualifierType
AddDataDataHandleUnknownType
BodyFbdElementTypeContent
BodyLdElementTypeContent
BodySfcElementTypeContent
BodyTypeContent
Implementation part of a POU, action or transistion
ConnectionPointInTypeContent
Defines a connection point on the consumer side
DataType
A generic data type
EdgeModifierType
Defines the edge detection behaviour of a variable
PouType
Defines the different types of a POU
ProjectTypesPousPouInterfaceElementTypeContent
SelectionConvergenceConnectionPointInElementTypeContent
StorageModifierType
Defines the storage mode (S/R) behaviour of a variable
TransitionConditionElementTypeContent
TransitionConditionInlineElementTypeContent
ValueArrayValueValueElementTypeContent
ValueStructValueValueElementTypeContent
ValueType
A generic value

Constants§

NS_PPX
NS_XML
NS_XS

Type Aliases§

Project
The complete project
RangeUnsignedType
Defines a range with unsigned bounds