//Globals Begin
AXIS_REF CiA402_AXIS_0;
DEV_VAR_global_var_list_type_def DEV_VAR;
LOCAL_IO Local_Hardware_IO;
ECAT_MASTER_KPA_IO EtherCAT_master_2;
AXIS_BASE Motor_7_1;
AXIS_CIA402_IO Motor_CiA402_7_1;
//Globals End

#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"

extern "C" IEC_INT ZMC_SetFreeEncoderPosition_func(AXIS_REF Axis, IEC_DINT diEncoderPosition);

#line 3 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"

extern "C" int32_t ZMC_Add_func(int32_t in1, int32_t in2);

#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"

extern "C" int32_t ZMC_GetVersion_func(int32_t in1);

#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
void AXIS_BASE::exec_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
  AXIS_BASE_exec(this, sizeof(*this));
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
  goto __end;
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
__end:
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
  return;
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_base.st"
}

#line 0 "_unkonwn_xxxx.c"
void AXIS_BASE::init_static_(void) {
  __s_has_AXIS_BASE_on_copy = component_vt_has_func("AXIS_BASE_on_copy");
}
bool AXIS_BASE::__s_has_AXIS_BASE_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void AXIS_BASE::init_(void) {
  refAxisIO = NULL;
}

void AXIS_BASE::deinit_(void) {
  AXIS_BASE_destroy(this, sizeof(*this));
}
#line 0 "_unkonwn_xxxx.c"
void MC_CAM_ID::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  pCT = NULL;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  Periodic = false;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  MasterAbsolute = false;
#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  SlaveAbsolute = false;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  StartMaster = 0.0f;
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  EndMaster = 0.0f;
#line 19 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  StartSlave = 0.0f;
#line 20 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  EndSlave = 0.0f;
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_id.st"
  byCompatibilityMode = 0;
}

void MC_CAM_ID::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_CAMXYVA::init_(void) {
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_xyva.st"
  dX = 0.0f;
#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_xyva.st"
  dY = 0.0f;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_xyva.st"
  dV = 0.0f;
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_xyva.st"
  dA = 0.0f;
}

void ZMC_CAMXYVA::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_CAMTappet::init_(void) {
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  ctt = ZMC_CAMTAPPETTYPE_TAPPET_pos;
#line 19 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  cta = ZMC_CAMTAPPETACTION_TAPPETACTION_on;
#line 20 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  dwDelay = 0;
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  dwDuration = 0;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  iGroupID = 0;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  x = 0.0f;
#line 24 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_tappet.st"
  dwActive = 0;
}

void ZMC_CAMTappet::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_CAM_TABLE::init_(void) {
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  wCamStructID = 0;
#line 27 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  byType = ZMC_CAM_TYPE_POLY;
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  byVarType = 0;
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  xStart = 0.0f;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  xEnd = 0.0f;
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  nElements = 0;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  nTappets = 0;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  pce = NULL;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  pt = NULL;
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  dwTappetActiveBits = 0;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  strCAMName = "";
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  byInterpolationQuality = 0;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  byCompatibilityMode = 0;
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  bChangedOnline = false;
#line 40 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_cam_table.st"
  xPartofLM = false;
}

void ZMC_CAM_TABLE::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_CAMSWITCH_TR::init_(void) {
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  TrackNumber = 0;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  FirstOnPosition = 0.0f;
#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  LastOnPosition = 0.0f;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  AxisDirection = 0;
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  CamSwitchMode = 0;
#line 19 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  Duration = 0;
#line 20 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  bOn = false;
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_tr.st"
  CounterOff = 0;
}

void MC_CAMSWITCH_TR::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_CAMSWITCH_REF::init_(void) {
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_ref.st"
  NoOfSwitches = 0;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_switch_ref.st"
  CamSwitchPtr = NULL;
}

void MC_CAMSWITCH_REF::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_TA::init_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_ta.st"
  delta_time = 0;
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_ta.st"
  acceleration = 0.0f;
}

void ZMC_TA::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_TA_REF::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_ta_ref.st"
  Number_of_pairs = 0;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_ta_ref.st"
  IsAbsolute = false;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_ta_ref.st"
  IEC_Vector1_ZMC_TA_1_100_init_(&(MC_TA_ARRAY));
}

void MC_TA_REF::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_TP::init_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tp.st"
  delta_time = 0;
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tp.st"
  position = 0.0f;
}

void ZMC_TP::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_TP_REF::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tp_ref.st"
  Number_of_pairs = 0;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tp_ref.st"
  IsAbsolute = false;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tp_ref.st"
  IEC_Vector1_ZMC_TP_1_100_init_(&(MV_TP_ARRAY));
}

void MC_TP_REF::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_TRACK_TR::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_track_tr.st"
  OnCompensation = 0.0f;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_track_tr.st"
  OffCompensation = 0.0f;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_track_tr.st"
  Hysteresis = 0.0f;
}

void MC_TRACK_TR::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_TV::init_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tv.st"
  delta_time = 0;
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tv.st"
  velocity = 0.0f;
}

void ZMC_TV::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void MC_TV_REF::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tv_ref.st"
  Number_of_pairs = 0;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tv_ref.st"
  IsAbsolute = false;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_tv_ref.st"
  IEC_Vector1_ZMC_TV_1_100_init_(&(MC_TV_ARRAY));
}

void MC_TV_REF::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void TRIGGER_REF::init_(void) {
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\trigger_ref.st"
  iTriggerNumber = 0;
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\trigger_ref.st"
  bFastLatching = true;
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\trigger_ref.st"
  bInput = false;
}

void TRIGGER_REF::deinit_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void ZMC_TappetData::init_(void) {
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tappet_data.st"
  IEC_Vector1_ZMC_CAMTappet__0_2_init_(&(pTaps));
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tappet_data.st"
  dwCycleTime = 0;
#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tappet_data.st"
  byChannels = 3;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_tappet_data.st"
  bRestart = false;
}

void ZMC_TappetData::deinit_(void) {
}
#line 3 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
void DEV_VAR_global_var_list_type_def::exec_(void) {
#line 9 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
IEC_LOG_DEBUG("DEV VAR:\"DEV_VAR\" created.");
#line 9 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
  goto __end;
#line 9 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
__end:
#line 9 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
  return;
#line 9 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\DEV_VAR.st"
}

#line 0 "_unkonwn_xxxx.c"
void DEV_VAR_global_var_list_type_def::init_static_(void) {
}
#line 0 "_unkonwn_xxxx.c"
void DEV_VAR_global_var_list_type_def::init_(void) {
  CiA402_AXIS_0 = NULL;
}

void DEV_VAR_global_var_list_type_def::deinit_(void) {
}
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
void ECAT_MASTER_KPA_IO::exec_(void) {
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  ECAT_MASTER_KPA_IO_exec(this, sizeof(*this));
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  goto __end;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
__end:
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  return;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
}

#line 0 "_unkonwn_xxxx.c"
void ECAT_MASTER_KPA_IO::init_static_(void) {
  __s_has_ECAT_MASTER_KPA_IO_on_copy = component_vt_has_func("ECAT_MASTER_KPA_IO_on_copy");
}
bool ECAT_MASTER_KPA_IO::__s_has_ECAT_MASTER_KPA_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ECAT_MASTER_KPA_IO::init_(void) {
}

void ECAT_MASTER_KPA_IO::deinit_(void) {
  ECAT_MASTER_KPA_IO_destroy(this, sizeof(*this));
}
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
void ETC_CO_SdoRead::exec_(void) {
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  ETC_CO_SdoRead_exec(this, sizeof(*this));
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  goto __end;
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
__end:
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  return;
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
}

#line 0 "_unkonwn_xxxx.c"
void ETC_CO_SdoRead::init_static_(void) {
  __s_has_ETC_CO_SdoRead_on_copy = component_vt_has_func("ETC_CO_SdoRead_on_copy");
}
bool ETC_CO_SdoRead::__s_has_ETC_CO_SdoRead_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ETC_CO_SdoRead::init_(void) {
  xExecute = false;
  xAbort = false;
  usiCom = 0;
  uiDevice = 0;
  usiChannel = 0;
  wIndex = 0;
  bySubindex = 0;
  udiTimeOut = 0;
  pBuffer = NULL;
  szSize = 0;
  xDone = false;
  xBusy = false;
  xError = false;
  eError = 0;
  udiSdoAbort = 0;
  szDataRead = 0;
}

void ETC_CO_SdoRead::deinit_(void) {
  ETC_CO_SdoRead_destroy(this, sizeof(*this));
}
#line 52 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
void ETC_CO_SdoWrite::exec_(void) {
#line 80 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  ETC_CO_SdoWrite_exec(this, sizeof(*this));
#line 80 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  goto __end;
#line 80 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
__end:
#line 80 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
  return;
#line 80 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_ethercat_master\\ecat_master_kpa.st"
}

#line 0 "_unkonwn_xxxx.c"
void ETC_CO_SdoWrite::init_static_(void) {
  __s_has_ETC_CO_SdoWrite_on_copy = component_vt_has_func("ETC_CO_SdoWrite_on_copy");
}
bool ETC_CO_SdoWrite::__s_has_ETC_CO_SdoWrite_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ETC_CO_SdoWrite::init_(void) {
  xExecute = false;
  xAbort = false;
  usiCom = 0;
  uiDevice = 0;
  usiChannel = 0;
  wIndex = 0;
  bySubindex = 0;
  udiTimeOut = 0;
  pBuffer = NULL;
  szSize = 0;
  xDone = false;
  xBusy = false;
  xError = false;
  eError = 0;
  udiSdoAbort = 0;
  szDataWritten = 0;
}

void ETC_CO_SdoWrite::deinit_(void) {
  ETC_CO_SdoWrite_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
void MODBUS_MASTER_IO::exec_(void) {
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
  MODBUS_MASTER_IO_exec(this, sizeof(*this));
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
  goto __end;
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
__end:
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
  return;
#line 18 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\awplc_plugin_io_modbus_master\\modbus_master_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void MODBUS_MASTER_IO::init_static_(void) {
  __s_has_MODBUS_MASTER_IO_on_copy = component_vt_has_func("MODBUS_MASTER_IO_on_copy");
}
bool MODBUS_MASTER_IO::__s_has_MODBUS_MASTER_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MODBUS_MASTER_IO::init_(void) {
  xDone = false;
  xBusy = false;
  xError = false;
  iErrorCode = 0;
}

void MODBUS_MASTER_IO::deinit_(void) {
  MODBUS_MASTER_IO_destroy(this, sizeof(*this));
}
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
void AXIS_CIA402_IO::exec_(void) {
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
  AXIS_CIA402_IO_exec(this, sizeof(*this));
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
  goto __end;
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
__end:
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
  return;
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_cia402_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void AXIS_CIA402_IO::init_static_(void) {
  __s_has_AXIS_CIA402_IO_on_copy = component_vt_has_func("AXIS_CIA402_IO_on_copy");
}
bool AXIS_CIA402_IO::__s_has_AXIS_CIA402_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void AXIS_CIA402_IO::init_(void) {
}

void AXIS_CIA402_IO::deinit_(void) {
  AXIS_CIA402_IO_destroy(this, sizeof(*this));
}
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
void AXIS_FREE_ENCODER_IO::exec_(void) {
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
  AXIS_FREE_ENCODER_IO_exec(this, sizeof(*this));
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
  goto __end;
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
__end:
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
  return;
#line 9 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_free_encoder_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void AXIS_FREE_ENCODER_IO::init_static_(void) {
  __s_has_AXIS_FREE_ENCODER_IO_on_copy = component_vt_has_func("AXIS_FREE_ENCODER_IO_on_copy");
}
bool AXIS_FREE_ENCODER_IO::__s_has_AXIS_FREE_ENCODER_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void AXIS_FREE_ENCODER_IO::init_(void) {
}

void AXIS_FREE_ENCODER_IO::deinit_(void) {
  AXIS_FREE_ENCODER_IO_destroy(this, sizeof(*this));
}
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
void AXIS_VIRTUAL_IO::exec_(void) {
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
  AXIS_VIRTUAL_IO_exec(this, sizeof(*this));
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
  goto __end;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
__end:
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
  return;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\axis_virtual_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void AXIS_VIRTUAL_IO::init_static_(void) {
  __s_has_AXIS_VIRTUAL_IO_on_copy = component_vt_has_func("AXIS_VIRTUAL_IO_on_copy");
}
bool AXIS_VIRTUAL_IO::__s_has_AXIS_VIRTUAL_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void AXIS_VIRTUAL_IO::init_(void) {
}

void AXIS_VIRTUAL_IO::deinit_(void) {
  AXIS_VIRTUAL_IO_destroy(this, sizeof(*this));
}
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
void MC_AbortTrigger::exec_(void) {
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
  MC_AbortTrigger_exec(this, sizeof(*this));
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
  goto __end;
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
__end:
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
  return;
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_abort_trigger.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_AbortTrigger::init_static_(void) {
  __s_has_MC_AbortTrigger_on_copy = component_vt_has_func("MC_AbortTrigger_on_copy");
}
bool MC_AbortTrigger::__s_has_MC_AbortTrigger_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_AbortTrigger::init_(void) {
  Axis = NULL;
  TRIGGER_REF_init_(&(TriggerInput));
  Execute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_AbortTrigger::deinit_(void) {
  MC_AbortTrigger_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
void MC_AccelerationProfile::exec_(void) {
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
  MC_AccelerationProfile_exec(this, sizeof(*this));
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
  goto __end;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
__end:
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
  return;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_acceleration_profile.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_AccelerationProfile::init_static_(void) {
  __s_has_MC_AccelerationProfile_on_copy = component_vt_has_func("MC_AccelerationProfile_on_copy");
}
bool MC_AccelerationProfile::__s_has_MC_AccelerationProfile_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_AccelerationProfile::init_(void) {
  Axis = NULL;
  MC_TA_REF_init_(&(TimeAcceleration));
  Execute = false;
  ArraySize = 0;
  AccelerationScale = 0.0f;
  Offset = 0.0f;
  Done = false;
  Busy = false;
  CommandAbort = false;
  Error = false;
  ErrorID = 0;
}

void MC_AccelerationProfile::deinit_(void) {
  MC_AccelerationProfile_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
void MC_CamIn::exec_(void) {
#line 47 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
  MC_CamIn_exec(this, sizeof(*this));
#line 47 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
  goto __end;
#line 47 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
__end:
#line 47 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
  return;
#line 47 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_in.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_CamIn::init_static_(void) {
  __s_has_MC_CamIn_on_copy = component_vt_has_func("MC_CamIn_on_copy");
}
bool MC_CamIn::__s_has_MC_CamIn_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_CamIn::init_(void) {
  Master = NULL;
  Slave = NULL;
  Execute = false;
  MasterOffset = 0.0f;
  SlaveOffset = 0.0f;
  MasterScaling = 0.0f;
  SlaveScaling = 0.0f;
  StartMode = MC_STARTMODE_absolute;
  MC_CAM_ID_init_(&(CamTableID));
  VelocityDiff = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  TappetHysteresis = 0.0f;
  InSync = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
  EndOfProfile = false;
  ZMC_TappetData_init_(&(Tappets));
}

void MC_CamIn::deinit_(void) {
  MC_CamIn_destroy(this, sizeof(*this));
}
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
void MC_CamOut::exec_(void) {
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
  MC_CamOut_exec(this, sizeof(*this));
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
  goto __end;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
__end:
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
  return;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_out.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_CamOut::init_static_(void) {
  __s_has_MC_CamOut_on_copy = component_vt_has_func("MC_CamOut_on_copy");
}
bool MC_CamOut::__s_has_MC_CamOut_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_CamOut::init_(void) {
  Slave = NULL;
  Execute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_CamOut::deinit_(void) {
  MC_CamOut_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
void MC_CamTableSelect::exec_(void) {
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
  MC_CamTableSelect_exec(this, sizeof(*this));
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
  goto __end;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
__end:
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
  return;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_cam_table_select.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_CamTableSelect::init_static_(void) {
  __s_has_MC_CamTableSelect_on_copy = component_vt_has_func("MC_CamTableSelect_on_copy");
}
bool MC_CamTableSelect::__s_has_MC_CamTableSelect_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_CamTableSelect::init_(void) {
  Master = NULL;
  Slave = NULL;
  CamTable = NULL;
  Execute = false;
  Periodic = false;
  MasterAbsolute = false;
  SlaveAbsolute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  MC_CAM_ID_init_(&(CamTableID));
}

void MC_CamTableSelect::deinit_(void) {
  MC_CamTableSelect_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
void MC_DigitalCamSwitch::exec_(void) {
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
  MC_DigitalCamSwitch_exec(this, sizeof(*this));
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
  goto __end;
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
__end:
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
  return;
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_digital_cam_switch.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_DigitalCamSwitch::init_static_(void) {
  __s_has_MC_DigitalCamSwitch_on_copy = component_vt_has_func("MC_DigitalCamSwitch_on_copy");
}
bool MC_DigitalCamSwitch::__s_has_MC_DigitalCamSwitch_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_DigitalCamSwitch::init_(void) {
  Axis = NULL;
  MC_CAMSWITCH_REF_init_(&(Switches));
  MC_OUTPUT_REF_init_(&(Outputs));
  MC_TRACK_REF_init_(&(TrackOptions));
  Enable = false;
  EnableMask = 0;
  TappetMode = MC_TAPPETMODE_tp_mode_auto;
  InOperation = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  SwitchCorrupted = 0;
}

void MC_DigitalCamSwitch::deinit_(void) {
  MC_DigitalCamSwitch_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
void MC_GearIn::exec_(void) {
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
  MC_GearIn_exec(this, sizeof(*this));
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
  goto __end;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
__end:
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
  return;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_GearIn::init_static_(void) {
  __s_has_MC_GearIn_on_copy = component_vt_has_func("MC_GearIn_on_copy");
}
bool MC_GearIn::__s_has_MC_GearIn_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_GearIn::init_(void) {
  Master = NULL;
  Slave = NULL;
  Execute = false;
  RatioNumerator = 0;
  RatioDenominator = 0;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  BufferMode = MC_BUFFER_MODE_Aborting;
  InGear = false;
  Busy = false;
  Active = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_GearIn::deinit_(void) {
  MC_GearIn_destroy(this, sizeof(*this));
}
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
void MC_GearInPos::exec_(void) {
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
  MC_GearInPos_exec(this, sizeof(*this));
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
  goto __end;
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
__end:
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
  return;
#line 45 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_in_pos.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_GearInPos::init_static_(void) {
  __s_has_MC_GearInPos_on_copy = component_vt_has_func("MC_GearInPos_on_copy");
}
bool MC_GearInPos::__s_has_MC_GearInPos_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_GearInPos::init_(void) {
  Master = NULL;
  Slave = NULL;
  Execute = false;
  RatioNumerator = 0;
  RatioDenominator = 0;
  MasterSyncPosition = 0.0f;
  SlaveSyncPosition = 0.0f;
  MasterStartDistance = 0.0f;
  BufferMode = MC_BUFFER_MODE_Aborting;
  AvoidReversal = false;
  StartSync = false;
  InSync = false;
  Busy = false;
  Active = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_GearInPos::deinit_(void) {
  MC_GearInPos_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
void MC_GearOut::exec_(void) {
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
  MC_GearOut_exec(this, sizeof(*this));
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
  goto __end;
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
__end:
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
  return;
#line 31 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_gear_out.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_GearOut::init_static_(void) {
  __s_has_MC_GearOut_on_copy = component_vt_has_func("MC_GearOut_on_copy");
}
bool MC_GearOut::__s_has_MC_GearOut_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_GearOut::init_(void) {
  Slave = NULL;
  Execute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_GearOut::deinit_(void) {
  MC_GearOut_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
void MC_Halt::exec_(void) {
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
  MC_Halt_exec(this, sizeof(*this));
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
  goto __end;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
__end:
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
  return;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_halt.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Halt::init_static_(void) {
  __s_has_MC_Halt_on_copy = component_vt_has_func("MC_Halt_on_copy");
}
bool MC_Halt::__s_has_MC_Halt_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Halt::init_(void) {
  Axis = NULL;
  Execute = false;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_Halt::deinit_(void) {
  MC_Halt_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
void MC_Home::exec_(void) {
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
  MC_Home_exec(this, sizeof(*this));
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
  goto __end;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
__end:
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
  return;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_home.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Home::init_static_(void) {
  __s_has_MC_Home_on_copy = component_vt_has_func("MC_Home_on_copy");
}
bool MC_Home::__s_has_MC_Home_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Home::init_(void) {
  Axis = NULL;
  Execute = false;
  Position = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_Home::deinit_(void) {
  MC_Home_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
void MC_Jog::exec_(void) {
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
  MC_Jog_exec(this, sizeof(*this));
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
  goto __end;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
__end:
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
  return;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_jog.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Jog::init_static_(void) {
  __s_has_MC_Jog_on_copy = component_vt_has_func("MC_Jog_on_copy");
}
bool MC_Jog::__s_has_MC_Jog_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Jog::init_(void) {
  Axis = NULL;
  JogForward = false;
  JogBackward = false;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_Jog::deinit_(void) {
  MC_Jog_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
void MC_MoveAbsolute::exec_(void) {
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
  MC_MoveAbsolute_exec(this, sizeof(*this));
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
  goto __end;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
__end:
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
  return;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_absolute.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveAbsolute::init_static_(void) {
  __s_has_MC_MoveAbsolute_on_copy = component_vt_has_func("MC_MoveAbsolute_on_copy");
}
bool MC_MoveAbsolute::__s_has_MC_MoveAbsolute_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveAbsolute::init_(void) {
  Axis = NULL;
  Execute = false;
  Position = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Direction = MC_DIRECTION_negative;
  BufferMode = MC_BUFFER_MODE_Aborting;
  Done = false;
  Busy = false;
  Active = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveAbsolute::deinit_(void) {
  MC_MoveAbsolute_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
void MC_MoveAdditive::exec_(void) {
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
  MC_MoveAdditive_exec(this, sizeof(*this));
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
  goto __end;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
__end:
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
  return;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_additive.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveAdditive::init_static_(void) {
  __s_has_MC_MoveAdditive_on_copy = component_vt_has_func("MC_MoveAdditive_on_copy");
}
bool MC_MoveAdditive::__s_has_MC_MoveAdditive_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveAdditive::init_(void) {
  Axis = NULL;
  Execute = false;
  Distance = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveAdditive::deinit_(void) {
  MC_MoveAdditive_destroy(this, sizeof(*this));
}
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
void MC_MoveContinuousAbsolute::exec_(void) {
#line 44 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
  MC_MoveContinuousAbsolute_exec(this, sizeof(*this));
#line 44 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
  goto __end;
#line 44 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
__end:
#line 44 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
  return;
#line 44 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_absolute.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveContinuousAbsolute::init_static_(void) {
  __s_has_MC_MoveContinuousAbsolute_on_copy = component_vt_has_func("MC_MoveContinuousAbsolute_on_copy");
}
bool MC_MoveContinuousAbsolute::__s_has_MC_MoveContinuousAbsolute_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveContinuousAbsolute::init_(void) {
  Axis = NULL;
  Execute = false;
  Position = 0.0f;
  Velocity = 0.0f;
  EndVelocity = 0.0f;
  EndVelocityDirection = 0;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Direction = MC_DIRECTION_negative;
  AdaptEndVelToAvoidOvershoot = false;
  InEndVelocity = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveContinuousAbsolute::deinit_(void) {
  MC_MoveContinuousAbsolute_destroy(this, sizeof(*this));
}
#line 16 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
void MC_MoveContinuousRelative::exec_(void) {
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
  MC_MoveContinuousRelative_exec(this, sizeof(*this));
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
  goto __end;
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
__end:
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
  return;
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_continuous_relative.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveContinuousRelative::init_static_(void) {
  __s_has_MC_MoveContinuousRelative_on_copy = component_vt_has_func("MC_MoveContinuousRelative_on_copy");
}
bool MC_MoveContinuousRelative::__s_has_MC_MoveContinuousRelative_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveContinuousRelative::init_(void) {
  Axis = NULL;
  Execute = false;
  Distance = 0.0f;
  Velocity = 0.0f;
  EndVelocity = 0.0f;
  EndVelocityDirection = 0;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  InEndVelocity = false;
  Busy = false;
  CommandAbort = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveContinuousRelative::deinit_(void) {
  MC_MoveContinuousRelative_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
void MC_MoveRelative::exec_(void) {
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
  MC_MoveRelative_exec(this, sizeof(*this));
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
  goto __end;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
__end:
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
  return;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_relative.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveRelative::init_static_(void) {
  __s_has_MC_MoveRelative_on_copy = component_vt_has_func("MC_MoveRelative_on_copy");
}
bool MC_MoveRelative::__s_has_MC_MoveRelative_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveRelative::init_(void) {
  Axis = NULL;
  Execute = false;
  Distance = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  BufferMode = MC_BUFFER_MODE_Aborting;
  Done = false;
  Busy = false;
  Active = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveRelative::deinit_(void) {
  MC_MoveRelative_destroy(this, sizeof(*this));
}
#line 15 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
void MC_MoveSuperImposed::exec_(void) {
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
  MC_MoveSuperImposed_exec(this, sizeof(*this));
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
  goto __end;
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
__end:
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
  return;
#line 42 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_super_imposed.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveSuperImposed::init_static_(void) {
  __s_has_MC_MoveSuperImposed_on_copy = component_vt_has_func("MC_MoveSuperImposed_on_copy");
}
bool MC_MoveSuperImposed::__s_has_MC_MoveSuperImposed_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveSuperImposed::init_(void) {
  Axis = NULL;
  Execute = false;
  Distance = 0.0f;
  VelocityDiff = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
  SuperImposedVelocity = 0.0f;
  SuperImposedAcceleration = 0.0f;
}

void MC_MoveSuperImposed::deinit_(void) {
  MC_MoveSuperImposed_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
void MC_MoveVelocity::exec_(void) {
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
  MC_MoveVelocity_exec(this, sizeof(*this));
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
  goto __end;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
__end:
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
  return;
#line 41 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_move_velocity.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_MoveVelocity::init_static_(void) {
  __s_has_MC_MoveVelocity_on_copy = component_vt_has_func("MC_MoveVelocity_on_copy");
}
bool MC_MoveVelocity::__s_has_MC_MoveVelocity_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_MoveVelocity::init_(void) {
  Axis = NULL;
  Execute = false;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Direction = MC_DIRECTION_negative;
  BufferMode = MC_BUFFER_MODE_Aborting;
  InVelocity = false;
  Busy = false;
  Active = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_MoveVelocity::deinit_(void) {
  MC_MoveVelocity_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
void MC_Phasing::exec_(void) {
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
  MC_Phasing_exec(this, sizeof(*this));
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
  goto __end;
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
__end:
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
  return;
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_phasing.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Phasing::init_static_(void) {
  __s_has_MC_Phasing_on_copy = component_vt_has_func("MC_Phasing_on_copy");
}
bool MC_Phasing::__s_has_MC_Phasing_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Phasing::init_(void) {
  Master = NULL;
  Slave = NULL;
  Execute = false;
  PhaseShift = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_Phasing::deinit_(void) {
  MC_Phasing_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
void MC_PositionProfile::exec_(void) {
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
  MC_PositionProfile_exec(this, sizeof(*this));
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
  goto __end;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
__end:
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
  return;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_position_profile.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_PositionProfile::init_static_(void) {
  __s_has_MC_PositionProfile_on_copy = component_vt_has_func("MC_PositionProfile_on_copy");
}
bool MC_PositionProfile::__s_has_MC_PositionProfile_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_PositionProfile::init_(void) {
  Axis = NULL;
  MC_TP_REF_init_(&(TimePosition));
  Execute = false;
  ArraySize = 0;
  PositionScale = 0.0f;
  Offset = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_PositionProfile::deinit_(void) {
  MC_PositionProfile_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
void MC_Power::exec_(void) {
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
  MC_Power_exec(this, sizeof(*this));
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
  goto __end;
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
__end:
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
  return;
#line 37 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_power.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Power::init_static_(void) {
  __s_has_MC_Power_on_copy = component_vt_has_func("MC_Power_on_copy");
}
bool MC_Power::__s_has_MC_Power_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Power::init_(void) {
  Axis = NULL;
  Enable = false;
  bRegulatorOn = false;
  bDriveStart = false;
  Status = false;
  bRegulatorRealState = false;
  bDriveRealState = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_Power::deinit_(void) {
  MC_Power_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
void MC_ReadActualPosition::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
  MC_ReadActualPosition_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_position.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualPosition::init_static_(void) {
  __s_has_MC_ReadActualPosition_on_copy = component_vt_has_func("MC_ReadActualPosition_on_copy");
}
bool MC_ReadActualPosition::__s_has_MC_ReadActualPosition_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualPosition::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Position = 0.0f;
}

void MC_ReadActualPosition::deinit_(void) {
  MC_ReadActualPosition_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
void MC_ReadActualTorque::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
  MC_ReadActualTorque_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_torque.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualTorque::init_static_(void) {
  __s_has_MC_ReadActualTorque_on_copy = component_vt_has_func("MC_ReadActualTorque_on_copy");
}
bool MC_ReadActualTorque::__s_has_MC_ReadActualTorque_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualTorque::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Torque = 0.0f;
}

void MC_ReadActualTorque::deinit_(void) {
  MC_ReadActualTorque_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
void MC_ReadActualVelocity::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
  MC_ReadActualVelocity_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_actual_velocity.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualVelocity::init_static_(void) {
  __s_has_MC_ReadActualVelocity_on_copy = component_vt_has_func("MC_ReadActualVelocity_on_copy");
}
bool MC_ReadActualVelocity::__s_has_MC_ReadActualVelocity_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualVelocity::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Velocity = 0.0f;
}

void MC_ReadActualVelocity::deinit_(void) {
  MC_ReadActualVelocity_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
void MC_ReadAxisError::exec_(void) {
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
  MC_ReadAxisError_exec(this, sizeof(*this));
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
  goto __end;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
__end:
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
  return;
#line 36 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_axis_error.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadAxisError::init_static_(void) {
  __s_has_MC_ReadAxisError_on_copy = component_vt_has_func("MC_ReadAxisError_on_copy");
}
bool MC_ReadAxisError::__s_has_MC_ReadAxisError_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadAxisError::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  AxisError = false;
  AxisErrorID = 0;
  SWEndSwitchActive = false;
}

void MC_ReadAxisError::deinit_(void) {
  MC_ReadAxisError_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
void MC_ReadBoolParameter::exec_(void) {
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
  MC_ReadBoolParameter_exec(this, sizeof(*this));
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
  goto __end;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
__end:
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
  return;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_bool_parameter.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadBoolParameter::init_static_(void) {
  __s_has_MC_ReadBoolParameter_on_copy = component_vt_has_func("MC_ReadBoolParameter_on_copy");
}
bool MC_ReadBoolParameter::__s_has_MC_ReadBoolParameter_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadBoolParameter::init_(void) {
  Axis = NULL;
  Enable = false;
  ParameterNumber = 0;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Value = false;
}

void MC_ReadBoolParameter::deinit_(void) {
  MC_ReadBoolParameter_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
void MC_ReadCommandPosition::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
  MC_ReadCommandPosition_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_command_position.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadCommandPosition::init_static_(void) {
  __s_has_MC_ReadCommandPosition_on_copy = component_vt_has_func("MC_ReadCommandPosition_on_copy");
}
bool MC_ReadCommandPosition::__s_has_MC_ReadCommandPosition_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadCommandPosition::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Position = 0.0f;
  Error = false;
  ErrorID = 0;
}

void MC_ReadCommandPosition::deinit_(void) {
  MC_ReadCommandPosition_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
void MC_ReadParameter::exec_(void) {
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
  MC_ReadParameter_exec(this, sizeof(*this));
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
  goto __end;
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
__end:
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
  return;
#line 35 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_parameter.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadParameter::init_static_(void) {
  __s_has_MC_ReadParameter_on_copy = component_vt_has_func("MC_ReadParameter_on_copy");
}
bool MC_ReadParameter::__s_has_MC_ReadParameter_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadParameter::init_(void) {
  Axis = NULL;
  Enable = false;
  ParameterNumber = 0;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Value = 0.0f;
}

void MC_ReadParameter::deinit_(void) {
  MC_ReadParameter_destroy(this, sizeof(*this));
}
#line 24 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
void MC_ReadStatus::exec_(void) {
#line 55 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
  MC_ReadStatus_exec(this, sizeof(*this));
#line 55 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
  goto __end;
#line 55 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
__end:
#line 55 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
  return;
#line 55 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_read_status.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadStatus::init_static_(void) {
  __s_has_MC_ReadStatus_on_copy = component_vt_has_func("MC_ReadStatus_on_copy");
}
bool MC_ReadStatus::__s_has_MC_ReadStatus_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadStatus::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Disabled = false;
  ErrorStop = false;
  Stopping = false;
  Standstill = false;
  DiscreteMotion = false;
  ContinuousMotion = false;
  SynchronizedMotion = false;
  Homing = false;
  ConstantVelocity = false;
  Accelerating = false;
  Decelerating = false;
  FBErrorOccurred = false;
}

void MC_ReadStatus::deinit_(void) {
  MC_ReadStatus_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
void MC_Reset::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
  MC_Reset_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_reset.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Reset::init_static_(void) {
  __s_has_MC_Reset_on_copy = component_vt_has_func("MC_Reset_on_copy");
}
bool MC_Reset::__s_has_MC_Reset_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Reset::init_(void) {
  Axis = NULL;
  Execute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_Reset::deinit_(void) {
  MC_Reset_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
void MC_SetPosition::exec_(void) {
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
  MC_SetPosition_exec(this, sizeof(*this));
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
  goto __end;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
__end:
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
  return;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_set_position.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_SetPosition::init_static_(void) {
  __s_has_MC_SetPosition_on_copy = component_vt_has_func("MC_SetPosition_on_copy");
}
bool MC_SetPosition::__s_has_MC_SetPosition_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_SetPosition::init_(void) {
  Axis = NULL;
  Execute = false;
  Position = 0.0f;
  Mode = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_SetPosition::deinit_(void) {
  MC_SetPosition_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
void MC_Stop::exec_(void) {
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
  MC_Stop_exec(this, sizeof(*this));
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
  goto __end;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
__end:
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
  return;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_stop.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_Stop::init_static_(void) {
  __s_has_MC_Stop_on_copy = component_vt_has_func("MC_Stop_on_copy");
}
bool MC_Stop::__s_has_MC_Stop_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_Stop::init_(void) {
  Axis = NULL;
  Execute = false;
  Deceleration = 0.0f;
  Jerk = 0.0f;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_Stop::deinit_(void) {
  MC_Stop_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
void MC_TouchProbe::exec_(void) {
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
  MC_TouchProbe_exec(this, sizeof(*this));
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
  goto __end;
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
__end:
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
  return;
#line 39 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_touch_probe.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_TouchProbe::init_static_(void) {
  __s_has_MC_TouchProbe_on_copy = component_vt_has_func("MC_TouchProbe_on_copy");
}
bool MC_TouchProbe::__s_has_MC_TouchProbe_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_TouchProbe::init_(void) {
  Axis = NULL;
  TRIGGER_REF_init_(&(TriggerInput));
  Execute = false;
  WindowOnly = false;
  FirstPosition = 0.0f;
  LastPosition = 0.0f;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  RecordedPosition = 0.0f;
  CommandAborted = false;
}

void MC_TouchProbe::deinit_(void) {
  MC_TouchProbe_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
void MC_VelocityProfile::exec_(void) {
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
  MC_VelocityProfile_exec(this, sizeof(*this));
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
  goto __end;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
__end:
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
  return;
#line 38 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_velocity_profile.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_VelocityProfile::init_static_(void) {
  __s_has_MC_VelocityProfile_on_copy = component_vt_has_func("MC_VelocityProfile_on_copy");
}
bool MC_VelocityProfile::__s_has_MC_VelocityProfile_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_VelocityProfile::init_(void) {
  Axis = NULL;
  MC_TV_REF_init_(&(TimeVelocity));
  Execute = false;
  ArraySize = 0;
  VelocityScale = 0.0f;
  Offset = 0.0f;
  Done = false;
  Busy = false;
  CommandAborted = false;
  Error = false;
  ErrorID = 0;
}

void MC_VelocityProfile::deinit_(void) {
  MC_VelocityProfile_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
void MC_WriteBoolParameter::exec_(void) {
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
  MC_WriteBoolParameter_exec(this, sizeof(*this));
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
  goto __end;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
__end:
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
  return;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_bool_parameter.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_WriteBoolParameter::init_static_(void) {
  __s_has_MC_WriteBoolParameter_on_copy = component_vt_has_func("MC_WriteBoolParameter_on_copy");
}
bool MC_WriteBoolParameter::__s_has_MC_WriteBoolParameter_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_WriteBoolParameter::init_(void) {
  Axis = NULL;
  Execute = false;
  ParameterNumber = 0;
  Value = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_WriteBoolParameter::deinit_(void) {
  MC_WriteBoolParameter_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
void MC_WriteParameter::exec_(void) {
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
  MC_WriteParameter_exec(this, sizeof(*this));
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
  goto __end;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
__end:
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
  return;
#line 34 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\mc_write_parameter.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_WriteParameter::init_static_(void) {
  __s_has_MC_WriteParameter_on_copy = component_vt_has_func("MC_WriteParameter_on_copy");
}
bool MC_WriteParameter::__s_has_MC_WriteParameter_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_WriteParameter::init_(void) {
  Axis = NULL;
  Execute = false;
  ParameterNumber = 0;
  Value = 0.0f;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_WriteParameter::deinit_(void) {
  MC_WriteParameter_destroy(this, sizeof(*this));
}
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
void ZMC_FollowPosition::exec_(void) {
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
  ZMC_FollowPosition_exec(this, sizeof(*this));
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
  goto __end;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
__end:
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
  return;
#line 32 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_follow_position.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_FollowPosition::init_static_(void) {
  __s_has_ZMC_FollowPosition_on_copy = component_vt_has_func("ZMC_FollowPosition_on_copy");
}
bool ZMC_FollowPosition::__s_has_ZMC_FollowPosition_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_FollowPosition::init_(void) {
  Axis = NULL;
  bExecute = false;
  fSetPosition = 0.0f;
  bBusy = false;
  bCommandAborted = false;
  bError = false;
  iErrorID = 0;
}

void ZMC_FollowPosition::deinit_(void) {
  ZMC_FollowPosition_destroy(this, sizeof(*this));
}
#line 14 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
void ZMC_GetTappetValue::exec_(void) {
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
  ZMC_GetTappetValue_exec(this, sizeof(*this));
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
  goto __end;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
__end:
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
  return;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_get_tappet_value.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_GetTappetValue::init_static_(void) {
  __s_has_ZMC_GetTappetValue_on_copy = component_vt_has_func("ZMC_GetTappetValue_on_copy");
}
bool ZMC_GetTappetValue::__s_has_ZMC_GetTappetValue_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_GetTappetValue::init_(void) {
  Tappets = NULL;
  iID = 0;
  bInitValue = false;
  bSetInitValueAtReset = false;
  bTappet = false;
}

void ZMC_GetTappetValue::deinit_(void) {
  ZMC_GetTappetValue_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
void ZMC_ReadCAM::exec_(void) {
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
  ZMC_ReadCAM_exec(this, sizeof(*this));
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
  goto __end;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
__end:
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
  return;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_read_cam.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadCAM::init_static_(void) {
  __s_has_ZMC_ReadCAM_on_copy = component_vt_has_func("ZMC_ReadCAM_on_copy");
}
bool ZMC_ReadCAM::__s_has_ZMC_ReadCAM_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadCAM::init_(void) {
  bExecute = false;
  sFileName = "";
  bDone = false;
  bBusy = false;
  bError = false;
  ErrorID = 0;
  CAM = NULL;
}

void ZMC_ReadCAM::deinit_(void) {
  ZMC_ReadCAM_destroy(this, sizeof(*this));
}
#line 13 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
void ZMC_WriteCAM::exec_(void) {
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
  ZMC_WriteCAM_exec(this, sizeof(*this));
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
  goto __end;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
__end:
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
  return;
#line 33 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_write_cam.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_WriteCAM::init_static_(void) {
  __s_has_ZMC_WriteCAM_on_copy = component_vt_has_func("ZMC_WriteCAM_on_copy");
}
bool ZMC_WriteCAM::__s_has_ZMC_WriteCAM_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_WriteCAM::init_(void) {
  CAM = NULL;
  bExecute = false;
  sFileName = "";
  bDone = false;
  bBusy = false;
  bError = false;
  ErrorID = 0;
}

void ZMC_WriteCAM::deinit_(void) {
  ZMC_WriteCAM_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
void MC_ReadActualDriveValues::exec_(void) {
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
  MC_ReadActualDriveValues_exec(this, sizeof(*this));
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
  goto __end;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
__end:
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
  return;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_drive_values.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualDriveValues::init_static_(void) {
  __s_has_MC_ReadActualDriveValues_on_copy = component_vt_has_func("MC_ReadActualDriveValues_on_copy");
}
bool MC_ReadActualDriveValues::__s_has_MC_ReadActualDriveValues_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualDriveValues::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Position = 0;
  Velocity = 0;
  Acceleration = 0;
  Jerk = 0;
}

void MC_ReadActualDriveValues::deinit_(void) {
  MC_ReadActualDriveValues_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
void MC_ReadActualValues::exec_(void) {
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
  MC_ReadActualValues_exec(this, sizeof(*this));
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
  goto __end;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
__end:
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
  return;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_actual_values.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualValues::init_static_(void) {
  __s_has_MC_ReadActualValues_on_copy = component_vt_has_func("MC_ReadActualValues_on_copy");
}
bool MC_ReadActualValues::__s_has_MC_ReadActualValues_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadActualValues::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Position = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Jerk = 0.0f;
}

void MC_ReadActualValues::deinit_(void) {
  MC_ReadActualValues_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
void MC_ReadSetDriveValues::exec_(void) {
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
  MC_ReadSetDriveValues_exec(this, sizeof(*this));
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
  goto __end;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
__end:
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
  return;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_drive_values.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadSetDriveValues::init_static_(void) {
  __s_has_MC_ReadSetDriveValues_on_copy = component_vt_has_func("MC_ReadSetDriveValues_on_copy");
}
bool MC_ReadSetDriveValues::__s_has_MC_ReadSetDriveValues_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadSetDriveValues::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Position = 0;
  Velocity = 0;
  Acceleration = 0;
  Jerk = 0;
}

void MC_ReadSetDriveValues::deinit_(void) {
  MC_ReadSetDriveValues_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
void MC_ReadSetValues::exec_(void) {
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
  MC_ReadSetValues_exec(this, sizeof(*this));
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
  goto __end;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
__end:
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
  return;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\mc_read_set_values.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_ReadSetValues::init_static_(void) {
  __s_has_MC_ReadSetValues_on_copy = component_vt_has_func("MC_ReadSetValues_on_copy");
}
bool MC_ReadSetValues::__s_has_MC_ReadSetValues_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_ReadSetValues::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  Position = 0.0f;
  Velocity = 0.0f;
  Acceleration = 0.0f;
  Jerk = 0.0f;
}

void MC_ReadSetValues::deinit_(void) {
  MC_ReadSetValues_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
void ZMC_ChangeGearingRatio::exec_(void) {
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
  ZMC_ChangeGearingRatio_exec(this, sizeof(*this));
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
  goto __end;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
__end:
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
  return;
#line 25 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_change_gear_ratio.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ChangeGearingRatio::init_static_(void) {
  __s_has_ZMC_ChangeGearingRatio_on_copy = component_vt_has_func("ZMC_ChangeGearingRatio_on_copy");
}
bool ZMC_ChangeGearingRatio::__s_has_ZMC_ChangeGearingRatio_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ChangeGearingRatio::init_(void) {
  Axis = NULL;
  bExecute = false;
  dwRatioTechUnitsDenom = 0;
  iRatioTechUnitsNum = 0;
  fPositionPeriod = 0.0f;
  iMovementType = 0;
  bDone = false;
  bBusy = false;
  bError = false;
  nErrorID = 0;
}

void ZMC_ChangeGearingRatio::deinit_(void) {
  ZMC_ChangeGearingRatio_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
void ZMC_CheckLimits::exec_(void) {
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
  ZMC_CheckLimits_exec(this, sizeof(*this));
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
  goto __end;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
__end:
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
  return;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_check_limits.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_CheckLimits::init_static_(void) {
  __s_has_ZMC_CheckLimits_on_copy = component_vt_has_func("ZMC_CheckLimits_on_copy");
}
bool ZMC_CheckLimits::__s_has_ZMC_CheckLimits_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_CheckLimits::init_(void) {
  Axis = NULL;
  bEnable = false;
  bCheckVel = false;
  bCheckAccDec = false;
  bBusy = false;
  bError = false;
  iErrorID = 0;
  bLimitsExceeded = false;
}

void ZMC_CheckLimits::deinit_(void) {
  ZMC_CheckLimits_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
void ZMC_ControlAxisByPos::exec_(void) {
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
  ZMC_ControlAxisByPos_exec(this, sizeof(*this));
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
  goto __end;
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
__end:
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
  return;
#line 29 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByPos::init_static_(void) {
  __s_has_ZMC_ControlAxisByPos_on_copy = component_vt_has_func("ZMC_ControlAxisByPos_on_copy");
}
bool ZMC_ControlAxisByPos::__s_has_ZMC_ControlAxisByPos_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByPos::init_(void) {
  Axis = NULL;
  iStatus = 0;
  bEnable = false;
  bAvoidGaps = false;
  fSetPosition = 0.0f;
  fGapVelocity = 0.0f;
  fGapAcceleration = 0.0f;
  fGapDeceleration = 0.0f;
  fGapJerk = 0.0f;
  bBusy = false;
  bCommandAborted = false;
  bError = false;
  iErrorID = 0;
  bStopIpo = false;
}

void ZMC_ControlAxisByPos::deinit_(void) {
  ZMC_ControlAxisByPos_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
void ZMC_ControlAxisByPosVel::exec_(void) {
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
  ZMC_ControlAxisByPosVel_exec(this, sizeof(*this));
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
  goto __end;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
__end:
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
  return;
#line 30 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_pos_vel.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByPosVel::init_static_(void) {
  __s_has_ZMC_ControlAxisByPosVel_on_copy = component_vt_has_func("ZMC_ControlAxisByPosVel_on_copy");
}
bool ZMC_ControlAxisByPosVel::__s_has_ZMC_ControlAxisByPosVel_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByPosVel::init_(void) {
  Axis = NULL;
  iStatus = 0;
  bEnable = false;
  bAvoidGaps = false;
  fSetPosition = 0.0f;
  fSetVelocity = 0.0f;
  fGapVelocity = 0.0f;
  fGapAcceleration = 0.0f;
  fGapDeceleration = 0.0f;
  fGapJerk = 0.0f;
  bBusy = false;
  bCommandAborted = false;
  bError = false;
  iErrorID = 0;
  bStopIpo = false;
}

void ZMC_ControlAxisByPosVel::deinit_(void) {
  ZMC_ControlAxisByPosVel_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
void ZMC_ControlAxisByVel::exec_(void) {
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
  ZMC_ControlAxisByVel_exec(this, sizeof(*this));
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
  goto __end;
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
__end:
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
  return;
#line 28 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_control_axis_by_vel.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByVel::init_static_(void) {
  __s_has_ZMC_ControlAxisByVel_on_copy = component_vt_has_func("ZMC_ControlAxisByVel_on_copy");
}
bool ZMC_ControlAxisByVel::__s_has_ZMC_ControlAxisByVel_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ControlAxisByVel::init_(void) {
  Axis = NULL;
  iStatus = 0;
  bEnable = false;
  bAvoidGaps = false;
  fSetVelocity = 0.0f;
  fGapAcceleration = 0.0f;
  fGapDeceleration = 0.0f;
  fGapJerk = 0.0f;
  bBusy = false;
  bCommandAborted = false;
  bError = false;
  iErrorID = 0;
  bStopIpo = false;
}

void ZMC_ControlAxisByVel::deinit_(void) {
  ZMC_ControlAxisByVel_destroy(this, sizeof(*this));
}
#line 3 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
void ZMC_ReadErrorMsg::exec_(void) {
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
  ZMC_ReadErrorMsg_exec(this, sizeof(*this));
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
  goto __end;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
__end:
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
  return;
#line 17 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_error_msg.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadErrorMsg::init_static_(void) {
  __s_has_ZMC_ReadErrorMsg_on_copy = component_vt_has_func("ZMC_ReadErrorMsg_on_copy");
}
bool ZMC_ReadErrorMsg::__s_has_ZMC_ReadErrorMsg_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadErrorMsg::init_(void) {
  Enable = false;
  Index = 0;
  ErrorMsg = "";
  Valid = false;
  Busy = false;
}

void ZMC_ReadErrorMsg::deinit_(void) {
  ZMC_ReadErrorMsg_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
void ZMC_ReadAxisMappingID::exec_(void) {
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
  ZMC_ReadAxisMappingID_exec(this, sizeof(*this));
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
  goto __end;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
__end:
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
  return;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_read_axis_mapping_id.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadAxisMappingID::init_static_(void) {
  __s_has_ZMC_ReadAxisMappingID_on_copy = component_vt_has_func("ZMC_ReadAxisMappingID_on_copy");
}
bool ZMC_ReadAxisMappingID::__s_has_ZMC_ReadAxisMappingID_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_ReadAxisMappingID::init_(void) {
  Axis = NULL;
  Enable = false;
  Valid = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
  MappingID = 0;
}

void ZMC_ReadAxisMappingID::deinit_(void) {
  ZMC_ReadAxisMappingID_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
void ZMC_SetMovementType::exec_(void) {
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
  ZMC_SetMovementType_exec(this, sizeof(*this));
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
  goto __end;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
__end:
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
  return;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_movements_type.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_SetMovementType::init_static_(void) {
  __s_has_ZMC_SetMovementType_on_copy = component_vt_has_func("ZMC_SetMovementType_on_copy");
}
bool ZMC_SetMovementType::__s_has_ZMC_SetMovementType_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_SetMovementType::init_(void) {
  Axis = NULL;
  bExecute = false;
  iMovementType = 0;
  fPositionPeriod = 0.0f;
  bDone = false;
  bError = false;
  eErrorID = 0;
}

void ZMC_SetMovementType::deinit_(void) {
  ZMC_SetMovementType_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
void ZMC_SetRampType::exec_(void) {
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
  ZMC_SetRampType_exec(this, sizeof(*this));
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
  goto __end;
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
__end:
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
  return;
#line 21 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_ramp_type.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_SetRampType::init_static_(void) {
  __s_has_ZMC_SetRampType_on_copy = component_vt_has_func("ZMC_SetRampType_on_copy");
}
bool ZMC_SetRampType::__s_has_ZMC_SetRampType_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_SetRampType::init_(void) {
  Axis = NULL;
  bExecute = false;
  eRampType = 0;
  bDone = false;
  bError = false;
  eErrorID = 0;
}

void ZMC_SetRampType::deinit_(void) {
  ZMC_SetRampType_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
void ZMC_SetSoftwareLimits::exec_(void) {
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
  ZMC_SetSoftwareLimits_exec(this, sizeof(*this));
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
  goto __end;
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
__end:
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
  return;
#line 26 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_set_software_limits.st"
}

#line 0 "_unkonwn_xxxx.c"
void ZMC_SetSoftwareLimits::init_static_(void) {
  __s_has_ZMC_SetSoftwareLimits_on_copy = component_vt_has_func("ZMC_SetSoftwareLimits_on_copy");
}
bool ZMC_SetSoftwareLimits::__s_has_ZMC_SetSoftwareLimits_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void ZMC_SetSoftwareLimits::init_(void) {
  Axis = NULL;
  bExecute = false;
  SWL_Activated = false;
  SWL_Positive = 0.0f;
  SWL_Negative = 0.0f;
  SWL_Error_Decelerate = false;
  SWL_Error_Deceleration = 0.0f;
  SWL_Error_MaxDistance = 0.0f;
  bDone = false;
  bError = false;
  ErrorID = 0;
}

void ZMC_SetSoftwareLimits::deinit_(void) {
  ZMC_SetSoftwareLimits_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
void AXIS_GROUP_REF::exec_(void) {
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
  AXIS_GROUP_REF_exec(this, sizeof(*this));
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
  goto __end;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
__end:
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
  return;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\axis_group_ref.st"
}

#line 0 "_unkonwn_xxxx.c"
void AXIS_GROUP_REF::init_static_(void) {
  __s_has_AXIS_GROUP_REF_on_copy = component_vt_has_func("AXIS_GROUP_REF_on_copy");
}
bool AXIS_GROUP_REF::__s_has_AXIS_GROUP_REF_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void AXIS_GROUP_REF::init_(void) {
  id = 0;
}

void AXIS_GROUP_REF::deinit_(void) {
  AXIS_GROUP_REF_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
void MC_AddAxisToGroup::exec_(void) {
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
  MC_AddAxisToGroup_exec(this, sizeof(*this));
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
  goto __end;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
__end:
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
  return;
#line 22 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\robot\\mc_add_axis_to_group.st"
}

#line 0 "_unkonwn_xxxx.c"
void MC_AddAxisToGroup::init_static_(void) {
  __s_has_MC_AddAxisToGroup_on_copy = component_vt_has_func("MC_AddAxisToGroup_on_copy");
}
bool MC_AddAxisToGroup::__s_has_MC_AddAxisToGroup_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MC_AddAxisToGroup::init_(void) {
  AXIS_GROUP_REF_init_(&(AxisGroup));
  Axis = NULL;
  Execute = false;
  Done = false;
  Busy = false;
  Error = false;
  ErrorID = 0;
}

void MC_AddAxisToGroup::deinit_(void) {
  MC_AddAxisToGroup_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
void MODBUS_SLAVE_IO::exec_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
  MODBUS_SLAVE_IO_exec(this, sizeof(*this));
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
  goto __end;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
__end:
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
  return;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_modbus_slave\\modbus_slave_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void MODBUS_SLAVE_IO::init_static_(void) {
  __s_has_MODBUS_SLAVE_IO_on_copy = component_vt_has_func("MODBUS_SLAVE_IO_on_copy");
}
bool MODBUS_SLAVE_IO::__s_has_MODBUS_SLAVE_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void MODBUS_SLAVE_IO::init_(void) {
}

void MODBUS_SLAVE_IO::deinit_(void) {
  MODBUS_SLAVE_IO_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
void LOCAL_EQEP::exec_(void) {
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
  LOCAL_EQEP_exec(this, sizeof(*this));
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
  goto __end;
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
__end:
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
  return;
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_eqep.st"
}

#line 0 "_unkonwn_xxxx.c"
void LOCAL_EQEP::init_static_(void) {
  __s_has_LOCAL_EQEP_on_copy = component_vt_has_func("LOCAL_EQEP_on_copy");
}
bool LOCAL_EQEP::__s_has_LOCAL_EQEP_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void LOCAL_EQEP::init_(void) {
}

void LOCAL_EQEP::deinit_(void) {
  LOCAL_EQEP_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
void LOCAL_IO::exec_(void) {
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
  LOCAL_IO_exec(this, sizeof(*this));
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
  goto __end;
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
__end:
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
  return;
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void LOCAL_IO::init_static_(void) {
  __s_has_LOCAL_IO_on_copy = component_vt_has_func("LOCAL_IO_on_copy");
}
bool LOCAL_IO::__s_has_LOCAL_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void LOCAL_IO::init_(void) {
}

void LOCAL_IO::deinit_(void) {
  LOCAL_IO_destroy(this, sizeof(*this));
}
#line 2 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
void LOCAL_PWM::exec_(void) {
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
  LOCAL_PWM_exec(this, sizeof(*this));
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
  goto __end;
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
__end:
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
  return;
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_io_zmcio\\local_pwm.st"
}

#line 0 "_unkonwn_xxxx.c"
void LOCAL_PWM::init_static_(void) {
  __s_has_LOCAL_PWM_on_copy = component_vt_has_func("LOCAL_PWM_on_copy");
}
bool LOCAL_PWM::__s_has_LOCAL_PWM_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void LOCAL_PWM::init_(void) {
}

void LOCAL_PWM::deinit_(void) {
  LOCAL_PWM_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
void CANOPEN_MASTER_IO::exec_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
  CANOPEN_MASTER_IO_exec(this, sizeof(*this));
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
  goto __end;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
__end:
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
  return;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_master_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void CANOPEN_MASTER_IO::init_static_(void) {
  __s_has_CANOPEN_MASTER_IO_on_copy = component_vt_has_func("CANOPEN_MASTER_IO_on_copy");
}
bool CANOPEN_MASTER_IO::__s_has_CANOPEN_MASTER_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void CANOPEN_MASTER_IO::init_(void) {
}

void CANOPEN_MASTER_IO::deinit_(void) {
  CANOPEN_MASTER_IO_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
void CANOPEN_SLAVE_IO::exec_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
  CANOPEN_SLAVE_IO_exec(this, sizeof(*this));
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
  goto __end;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
__end:
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
  return;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\canopen_slave_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void CANOPEN_SLAVE_IO::init_static_(void) {
  __s_has_CANOPEN_SLAVE_IO_on_copy = component_vt_has_func("CANOPEN_SLAVE_IO_on_copy");
}
bool CANOPEN_SLAVE_IO::__s_has_CANOPEN_SLAVE_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void CANOPEN_SLAVE_IO::init_(void) {
}

void CANOPEN_SLAVE_IO::deinit_(void) {
  CANOPEN_SLAVE_IO_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
void EIP_SLAVE_IO::exec_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
  EIP_SLAVE_IO_exec(this, sizeof(*this));
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
  goto __end;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
__end:
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
  return;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\ethernetip_slave_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void EIP_SLAVE_IO::init_static_(void) {
  __s_has_EIP_SLAVE_IO_on_copy = component_vt_has_func("EIP_SLAVE_IO_on_copy");
}
bool EIP_SLAVE_IO::__s_has_EIP_SLAVE_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void EIP_SLAVE_IO::init_(void) {
}

void EIP_SLAVE_IO::deinit_(void) {
  EIP_SLAVE_IO_destroy(this, sizeof(*this));
}
#line 7 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
void OPCUA_IO::exec_(void) {
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
  OPCUA_IO_exec(this, sizeof(*this));
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
  goto __end;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
__end:
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
  return;
#line 12 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\opcua_io.st"
}

#line 0 "_unkonwn_xxxx.c"
void OPCUA_IO::init_static_(void) {
  __s_has_OPCUA_IO_on_copy = component_vt_has_func("OPCUA_IO_on_copy");
}
bool OPCUA_IO::__s_has_OPCUA_IO_on_copy = false;
#line 0 "_unkonwn_xxxx.c"
void OPCUA_IO::init_(void) {
}

void OPCUA_IO::deinit_(void) {
  OPCUA_IO_destroy(this, sizeof(*this));
}
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
IEC_INT ZMC_SetFreeEncoderPosition(AXIS_REF Axis, IEC_DINT diEncoderPosition) {
#line 5 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
  IEC_INT __ret_value = 0;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"

	__ret_value = ZMC_SetFreeEncoderPosition_func(Axis, diEncoderPosition);

#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
  goto __end;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
__end:
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
  return __ret_value;
#line 10 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\basic\\zmc_set_free_encoder_position.st"
}
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
IEC_DINT ZMC_Add(IEC_DINT IN1, IEC_DINT IN2) {
#line 6 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  IEC_DINT __ret_value = 0;
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"

__ret_value = ZMC_Add_func(IN1, IN2);

#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  goto __end;
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
__end:
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  return __ret_value;
#line 11 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
}
#line 19 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
IEC_DINT ZMC_GetVersion(IEC_DINT IN1) {
#line 19 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  IEC_DINT __ret_value = 0;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"

__ret_value = ZMC_GetVersion_func(IN1);

#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  goto __end;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
__end:
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
  return __ret_value;
#line 23 "d:\\AWStudio-for-Develop-x64-2.2.0-rc.98\\extensions\\editor_script\\build_includes\\st\\aw_plc_plugin_fb_motion_ctrl\\private\\zmc_get_version.st"
}
#line 1 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
void main::exec_(void) {
#line 46 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
count = (count + 1);
#line 49 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if((count < 10)) {
#line 50 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mPower = false;
#line 51 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mReset = true;
#line 52 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mStop = false;
#line 53 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mMoveRel = false;
#line 54 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
} else if((count < 20)) {
#line 55 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mPower = true;
#line 56 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mReset = false;
#line 57 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mMoveRel = true;
}

#line 61 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if((BTN_RUN.get() == 0)) {
#line 62 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mRunCmd = true;
#line 63 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mStopCmd = false;
#line 64 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mHalt = false;
}

#line 68 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if((BTN_STOP.get() == 0)) {
#line 69 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mStopCmd = true;
#line 70 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mRunCmd = false;
}

#line 74 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if((BTN_CLOSE.get() == 0)) {
#line 75 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mHalt = true;
#line 76 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  mRunCmd = false;
}

#line 79 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if(mRunCmd) {
#line 80 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  LED_GREEN = 1;
#line 80 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
} else {
#line 83 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  if(mLEDReverse) {
#line 84 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    LED_GREEN = !(LED_GREEN.get());
#line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    #line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.IN = false;
#line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.PT = 500000000LL;
#line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.exec_();
#line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    mLEDReverse = Tick.Q;
#line 85 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  } else {
#line 87 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    #line 87 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.IN = true;
#line 87 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.PT = 500000000LL;
#line 87 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    Tick.exec_();
#line 87 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    mLEDReverse = Tick.Q;
  }
}

#line 92 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if(mHalt) {
#line 93 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  LED_GREEN = false;
#line 94 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  LED_RED = true;
#line 94 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
} else {
#line 96 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  LED_RED = false;
}

#line 100 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if(((mDone || (mStop || mStopCmd)) || mHalt)) {
#line 101 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  count = 0;
}

#line 104 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
if((mDone && mMoveRel)) {
#line 105 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  if((mDisRel > 0)) {
#line 106 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    mDisRel = -5;
#line 106 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  } else {
#line 108 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
    mDisRel = 5;
  }
}

#line 113 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
#line 113 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Reset.Axis = CiA402_AXIS_0;
#line 113 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Reset.Execute = ((mReset && !(mStopCmd)) && !(mHalt));
#line 113 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Reset.exec_();
#line 113 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
CiA402_AXIS_0 = Reset.Axis;
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Power.Axis = CiA402_AXIS_0;
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Power.Enable = ((mPower && !(mStopCmd)) && !(mHalt));
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Power.bRegulatorOn = true;
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Power.bDriveStart = true;
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Power.exec_();
#line 115 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
CiA402_AXIS_0 = Power.Axis;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Axis = CiA402_AXIS_0;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Execute = (mMoveRel && mRunCmd);
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Distance = mDisRel;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Velocity = 1;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Acceleration = 10;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.Deceleration = 10;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
MoveRel.exec_();
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
CiA402_AXIS_0 = MoveRel.Axis;
#line 117 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
mDone = MoveRel.Done;
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Stop.Axis = CiA402_AXIS_0;
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Stop.Execute = (mStop || mStopCmd);
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Stop.Deceleration = 10;
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Stop.exec_();
#line 119 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
CiA402_AXIS_0 = Stop.Axis;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Halt.Axis = CiA402_AXIS_0;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Halt.Execute = mHalt;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Halt.Deceleration = 100;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
Halt.exec_();
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
CiA402_AXIS_0 = Halt.Axis;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  goto __end;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
__end:
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
  return;
#line 121 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\Logic\\src\\main.st"
}
#line 0 "_unkonwn_xxxx.c"
void main::init_(void) {
  BTN_RUN = false;
  BTN_STOP = false;
  BTN_CLOSE = false;
  LED_RED = false;
  LED_GREEN = false;
  count = 0;
  mPower = false;
  mReset = false;
  mMoveRel = false;
  mStop = false;
  mDisRel = 5;
  mDone = false;
  MC_Power_init_(&(Power));
  MC_Reset_init_(&(Reset));
  MC_Stop_init_(&(Stop));
  MC_MoveRelative_init_(&(MoveRel));
  MC_Halt_init_(&(Halt));
  TON_init_(&(Tick));
  mLEDReverse = false;
  mRunCmd = false;
  mStopCmd = false;
  mHalt = false;
}

void main::deinit_(void) {
}
#line 2 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
void SYSTEM_INIT::exec_(void) {
#line 3 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
#line 3 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
Motor_7_1.refAxisIO = (VOID_ADR*)(IEC_VOID_ADR(Motor_CiA402_7_1));
#line 3 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
Motor_7_1.exec_();
#line 4 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
CiA402_AXIS_0 = &(Motor_7_1);
#line 5 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
DEV_VAR.CiA402_AXIS_0 = CiA402_AXIS_0;
#line 5 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
  goto __end;
#line 5 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
__end:
#line 5 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
  return;
#line 5 "d:\\docs\\ECATSlave\\ZhiyuanSlave\\IO_Motor_demo\\examples\\awplc\\AWPLCMotionController\\.awstudio\\temp\\tmp_cpp_dir\\system_init.st"
}
#line 0 "_unkonwn_xxxx.c"
void SYSTEM_INIT::init_(void) {
}

void SYSTEM_INIT::deinit_(void) {
}
static ret_t LOCAL_IO_Local_Hardware_IO_init_(void) {
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.0", 1, "DI00", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.1", 1, "DI01", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.2", 1, "DI02", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.3", 1, "DI03", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.4", 1, "DI04", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.5", 1, "DI05", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.6", 1, "DI06", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX0.7", 1, "DI07", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.0", 1, "DI08", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.1", 1, "DI09", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.2", 1, "DI10", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.3", 1, "DI11", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.4", 1, "DI12", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.5", 1, "DI13", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.6", 1, "DI14", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%IX1.7", 1, "DI15", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.0", 1, "DO00", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.1", 1, "DO01", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.2", 1, "DO02", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.3", 1, "DO03", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.4", 1, "DO04", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.5", 1, "DO05", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.6", 1, "DO06", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX0.7", 1, "DO07", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.0", 1, "DO08", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.1", 1, "DO09", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.2", 1, "DO10", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.3", 1, "DO11", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.4", 1, "DO12", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.5", 1, "DO13", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.6", 1, "DO14", "BOOL");
  component_io_map(&(Local_Hardware_IO), sizeof(Local_Hardware_IO), NULL, 0, "%QX1.7", 1, "DO15", "BOOL");
  return component_init(&Local_Hardware_IO, sizeof(Local_Hardware_IO), "Local_Hardware_IO");
}
static ret_t LOCAL_IO_Local_Hardware_IO_wait_for_comm(void) {
  while (component_wait_for_comm(&Local_Hardware_IO, sizeof(Local_Hardware_IO), 100) != RET_OK) {
  }
  return RET_OK;
}
static ret_t ECAT_MASTER_KPA_IO_EtherCAT_master_2_init_(void) {
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX2.0", 1, "outputs[12].0", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX3.0", 1, "outputs[12].1", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX4.0", 1, "outputs[12].2", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX5.0", 1, "outputs[12].3", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX6.0", 1, "outputs[12].4", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX7.0", 1, "outputs[12].5", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX8.0", 1, "outputs[12].6", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX9.0", 1, "outputs[12].7", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX10.0", 1, "outputs[13].0", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX11.0", 1, "outputs[13].1", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX12.0", 1, "outputs[13].2", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX13.0", 1, "outputs[13].3", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX14.0", 1, "outputs[13].4", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX15.0", 1, "outputs[13].5", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX16.0", 1, "outputs[13].6", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QX17.0", 1, "outputs[13].7", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX2.0", 1, "inputs[12].0", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX3.0", 1, "inputs[12].1", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX4.0", 1, "inputs[12].2", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX5.0", 1, "inputs[12].3", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX6.0", 1, "inputs[12].4", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX7.0", 1, "inputs[12].5", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX8.0", 1, "inputs[12].6", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX9.0", 1, "inputs[12].7", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX10.0", 1, "inputs[13].0", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX11.0", 1, "inputs[13].1", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX12.0", 1, "inputs[13].2", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX13.0", 1, "inputs[13].3", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX14.0", 1, "inputs[13].4", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX15.0", 1, "inputs[13].5", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX16.0", 1, "inputs[13].6", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IX17.0", 1, "inputs[13].7", "BOOL");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IW9", 16, "inputs[0]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%ID5", 32, "inputs[2]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IW12", 16, "inputs[6]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%ID7", 32, "inputs[8]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QW9", 16, "outputs[0]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QD5", 32, "outputs[2]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%QB24", 8, "sdo_outputs[0]", "BYTE");
  component_io_map(&(EtherCAT_master_2), sizeof(EtherCAT_master_2), NULL, 0, "%IB32", 8, "sdo_inputs[0]", "BYTE");
  return component_init(&EtherCAT_master_2, sizeof(EtherCAT_master_2), "EtherCAT_master_2");
}
static ret_t ECAT_MASTER_KPA_IO_EtherCAT_master_2_wait_for_comm(void) {
  while (component_wait_for_comm(&EtherCAT_master_2, sizeof(EtherCAT_master_2), 100) != RET_OK) {
  }
  return RET_OK;
}
static ret_t AXIS_BASE_Motor_7_1_init_(void) {
  return component_init(&Motor_7_1, sizeof(Motor_7_1), "Motor_7_1");
}
static ret_t AXIS_BASE_Motor_7_1_wait_for_comm(void) {
  while (component_wait_for_comm(&Motor_7_1, sizeof(Motor_7_1), 100) != RET_OK) {
  }
  return RET_OK;
}
static ret_t AXIS_CIA402_IO_Motor_CiA402_7_1_init_(void) {
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%IW9", 16, "outputs[0]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%IB32", 8, "outputs[4]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%ID5", 32, "outputs[8]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%ID7", 32, "outputs[44]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%QW9", 16, "inputs[0]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%QB24", 8, "inputs[4]", "BYTE");
  component_io_map(&(Motor_CiA402_7_1), sizeof(Motor_CiA402_7_1), NULL, 0, "%QD5", 32, "inputs[12]", "BYTE");
  return component_init(&Motor_CiA402_7_1, sizeof(Motor_CiA402_7_1), "Motor_CiA402_7_1");
}
static ret_t AXIS_CIA402_IO_Motor_CiA402_7_1_wait_for_comm(void) {
  while (component_wait_for_comm(&Motor_CiA402_7_1, sizeof(Motor_CiA402_7_1), 100) != RET_OK) {
  }
  return RET_OK;
}
