use serde::{Serialize, Deserialize};
use super::*;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RungCollection {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "@Start", default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(rename = "@Count", default, skip_serializing_if = "Option::is_none")]
pub count: Option<String>,
#[serde(rename = "@OnlineEditType", default, skip_serializing_if = "Option::is_none")]
pub online_edit_type: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Labels", default, skip_serializing_if = "Vec::is_empty")]
pub labels: Vec<LabelsWide>,
#[serde(rename = "Rung", default, skip_serializing_if = "Vec::is_empty")]
pub rung: Vec<Rung>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Rung {
#[serde(rename = "@Number", default, skip_serializing_if = "Option::is_none")]
pub number: Option<String>,
#[serde(rename = "@Type", default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@RungId", default, skip_serializing_if = "Option::is_none")]
pub rung_id: Option<String>,
#[serde(rename = "@Verified", default, skip_serializing_if = "Option::is_none")]
pub verified: Option<String>,
#[serde(rename = "@RegionId", default, skip_serializing_if = "Option::is_none")]
pub region_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Vec::is_empty")]
pub custom_properties: Vec<CustomPropertiesCollection>,
#[serde(rename = "Comment", default, skip_serializing_if = "Vec::is_empty")]
pub comment: Vec<CommentWide>,
#[serde(rename = "Text", default, skip_serializing_if = "Vec::is_empty")]
pub text: Vec<TextWide>,
#[serde(rename = "TextIOI", default, skip_serializing_if = "Vec::is_empty")]
pub text_ioi: Vec<String>,
#[serde(rename = "TextNTT", default, skip_serializing_if = "Vec::is_empty")]
pub text_ntt: Vec<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RungComment {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "LocalizedComment", default, skip_serializing_if = "Vec::is_empty")]
pub localized_comment: Vec<LocalizedCommentWide>,
#[serde(rename = "$text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RungCommentText {
#[serde(rename = "@Lang", default, skip_serializing_if = "Option::is_none")]
pub lang: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "$text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AFBD_Block {
#[serde(rename = "@Type", default)]
pub r#type: String,
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default)]
pub x: String,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@Operand", default, skip_serializing_if = "Option::is_none")]
pub operand: Option<String>,
#[serde(rename = "@OperandIOI", default, skip_serializing_if = "Option::is_none")]
pub operand_ioi: Option<String>,
#[serde(rename = "@OperandIOINTT", default, skip_serializing_if = "Option::is_none")]
pub operand_iointt: Option<String>,
#[serde(rename = "@VisiblePins", default, skip_serializing_if = "Option::is_none")]
pub visible_pins: Option<String>,
#[serde(rename = "@HideDesc", default, skip_serializing_if = "Option::is_none")]
pub hide_desc: Option<String>,
#[serde(rename = "@AutotuneTag", default, skip_serializing_if = "Option::is_none")]
pub autotune_tag: Option<String>,
#[serde(rename = "@AutotuneTagIOI", default, skip_serializing_if = "Option::is_none")]
pub autotune_tag_ioi: Option<String>,
#[serde(rename = "@AutotuneTagIOINTT", default, skip_serializing_if = "Option::is_none")]
pub autotune_tag_iointt: Option<String>,
#[serde(rename = "@Verified", default, skip_serializing_if = "Option::is_none")]
pub verified: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@RegionId", default, skip_serializing_if = "Option::is_none")]
pub region_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Array", default, skip_serializing_if = "Vec::is_empty")]
pub array: Vec<FBD_SpecialArray>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct AFBD_Function {
#[serde(rename = "@Type", default)]
pub r#type: String,
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default)]
pub x: String,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@OutputTagIOI", default, skip_serializing_if = "Option::is_none")]
pub output_tag_ioi: Option<String>,
#[serde(rename = "@OutputTagIOINTT", default, skip_serializing_if = "Option::is_none")]
pub output_tag_iointt: Option<String>,
#[serde(rename = "@RegionId", default, skip_serializing_if = "Option::is_none")]
pub region_id: Option<String>,
#[serde(rename = "@OutputTagArrayIndex", default, skip_serializing_if = "Option::is_none")]
pub output_tag_array_index: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_StepElement {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default)]
pub x: String,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@Operand", default, skip_serializing_if = "Option::is_none")]
pub operand: Option<String>,
#[serde(rename = "@OperandIOI", default, skip_serializing_if = "Option::is_none")]
pub operand_ioi: Option<String>,
#[serde(rename = "@ComponentIOI", default, skip_serializing_if = "Option::is_none")]
pub component_ioi: Option<String>,
#[serde(rename = "@HideDesc", default, skip_serializing_if = "Option::is_none")]
pub hide_desc: Option<String>,
#[serde(rename = "@DescX", default, skip_serializing_if = "Option::is_none")]
pub desc_x: Option<String>,
#[serde(rename = "@DescY", default, skip_serializing_if = "Option::is_none")]
pub desc_y: Option<String>,
#[serde(rename = "@DescWidth", default, skip_serializing_if = "Option::is_none")]
pub desc_width: Option<String>,
#[serde(rename = "@InitialStep", default, skip_serializing_if = "Option::is_none")]
pub initial_step: Option<String>,
#[serde(rename = "@PresetUsesExpr", default, skip_serializing_if = "Option::is_none")]
pub preset_uses_expr: Option<String>,
#[serde(rename = "@LimitHighUsesExpr", default, skip_serializing_if = "Option::is_none")]
pub limit_high_uses_expr: Option<String>,
#[serde(rename = "@LimitLowUsesExpr", default, skip_serializing_if = "Option::is_none")]
pub limit_low_uses_expr: Option<String>,
#[serde(rename = "@ShowActions", default, skip_serializing_if = "Option::is_none")]
pub show_actions: Option<String>,
#[serde(rename = "@NoPhaseStep", default, skip_serializing_if = "Option::is_none")]
pub no_phase_step: Option<String>,
#[serde(rename = "@PhaseName", default, skip_serializing_if = "Option::is_none")]
pub phase_name: Option<String>,
#[serde(rename = "@PhaseIOI", default, skip_serializing_if = "Option::is_none")]
pub phase_ioi: Option<String>,
#[serde(rename = "@TransferOfControlSource", default, skip_serializing_if = "Option::is_none")]
pub transfer_of_control_source: Option<String>,
#[serde(rename = "@TransferOfControlTarget", default, skip_serializing_if = "Option::is_none")]
pub transfer_of_control_target: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Preset", default, skip_serializing_if = "Option::is_none")]
pub preset: Option<EmbeddedLanguageBlock>,
#[serde(rename = "LimitHigh", default, skip_serializing_if = "Option::is_none")]
pub limit_high: Option<EmbeddedLanguageBlock>,
#[serde(rename = "LimitLow", default, skip_serializing_if = "Option::is_none")]
pub limit_low: Option<EmbeddedLanguageBlock>,
#[serde(rename = "Action", default, skip_serializing_if = "Vec::is_empty")]
pub action: Vec<SFC_ActionElement>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_TransitionElement {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default)]
pub x: String,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@Operand", default, skip_serializing_if = "Option::is_none")]
pub operand: Option<String>,
#[serde(rename = "@OperandIOI", default, skip_serializing_if = "Option::is_none")]
pub operand_ioi: Option<String>,
#[serde(rename = "@ComponentIOI", default, skip_serializing_if = "Option::is_none")]
pub component_ioi: Option<String>,
#[serde(rename = "@HideDesc", default, skip_serializing_if = "Option::is_none")]
pub hide_desc: Option<String>,
#[serde(rename = "@DescX", default, skip_serializing_if = "Option::is_none")]
pub desc_x: Option<String>,
#[serde(rename = "@DescY", default, skip_serializing_if = "Option::is_none")]
pub desc_y: Option<String>,
#[serde(rename = "@DescWidth", default, skip_serializing_if = "Option::is_none")]
pub desc_width: Option<String>,
#[serde(rename = "@Force", default, skip_serializing_if = "Option::is_none")]
pub force: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Condition", default, skip_serializing_if = "Option::is_none")]
pub condition: Option<EmbeddedLanguageBlock>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_BranchElement {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default, skip_serializing_if = "Option::is_none")]
pub x: Option<String>,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@BranchType", default)]
pub branch_type: String,
#[serde(rename = "@BranchFlow", default)]
pub branch_flow: String,
#[serde(rename = "@Priority", default, skip_serializing_if = "Option::is_none")]
pub priority: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "Leg", default, skip_serializing_if = "Vec::is_empty")]
pub leg: Vec<ASFC_LegElement>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_LegElement {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@Force", default, skip_serializing_if = "Option::is_none")]
pub force: Option<String>,
#[serde(rename = "@ComponentIOI", default, skip_serializing_if = "Option::is_none")]
pub component_ioi: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_StopElement {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@X", default)]
pub x: String,
#[serde(rename = "@Y", default)]
pub y: String,
#[serde(rename = "@Operand", default, skip_serializing_if = "Option::is_none")]
pub operand: Option<String>,
#[serde(rename = "@OperandIOI", default, skip_serializing_if = "Option::is_none")]
pub operand_ioi: Option<String>,
#[serde(rename = "@ComponentIOI", default, skip_serializing_if = "Option::is_none")]
pub component_ioi: Option<String>,
#[serde(rename = "@HideDesc", default, skip_serializing_if = "Option::is_none")]
pub hide_desc: Option<String>,
#[serde(rename = "@DescX", default, skip_serializing_if = "Option::is_none")]
pub desc_x: Option<String>,
#[serde(rename = "@DescY", default, skip_serializing_if = "Option::is_none")]
pub desc_y: Option<String>,
#[serde(rename = "@DescWidth", default, skip_serializing_if = "Option::is_none")]
pub desc_width: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ASFC_LangElemWire {
#[serde(rename = "@FromID", default)]
pub from_id: String,
#[serde(rename = "@ToID", default)]
pub to_id: String,
#[serde(rename = "@Show", default)]
pub show: String,
#[serde(rename = "@Verified", default, skip_serializing_if = "Option::is_none")]
pub verified: Option<String>,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@MetadataId", default, skip_serializing_if = "Option::is_none")]
pub metadata_id: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}