sew伺服控制器手册
SEW操作手册

2.1 概述
切勿安装或运行受损产品。 立即向承运公司就损伤进行投诉。
运行过程中,变频器可能带有相应于防护等级的通电、裸露甚至活动或转动的部件及高 温表面。
违规拆卸必要的盖板、违规应用设备及错误安装或操作设备均可导致严重的人员损伤或 物资损失。
其他信息请参见相应文件。
2.2 目标组
所有有关设备运输、安装、开机调试及维护的操作均由电气专业人员进行 (请遵守 IEC 60364和CENELEC HD 384或DIN VDE 0100和IEC 60664或DIN VDE 0110和国家事故 防范规定)。
重伤或死亡
轻伤 危害驱动系统或周围环境
1.2 质保承诺
遵循操作手册是确保设备正常运行和要求厂家履行质保承诺的前提条件。 因此,在操作 设备之前,请仔细阅读本使用说明! 请确保,设备和设备运行负责人及设备操作人员可以随时查阅本使用说明。
1.3 质保范围
遵循操作手册是确保变频器正常运行和达到产品规定功率和特性的前提条件。 对由违背 使用说明而引起的人员、物资或财产损失, SEW-EURODRIVE 公司概不负责。 该情况 下,质保承诺失去效力。
5 运行 ................................................................................................................... 22 5.1 返回码 (r-19 ... r-38) ................................................................................ 22 5.2 设备状态代码 .......................................................................................... 22
SEW-MDX61B-同步伺服系统调试方法和步骤-转摆伺服-带绝对值编码器A..H

_SetSys( SS_POSSPEED,CreepSpeed )
_SetSys( SS_POSSPEED,RapidSpeed )
//Declaration of Variables: long Pointer, Position, CurrentPosition ;
//Declaration of structures: SSPOSSPEED CreepSpeed, RapidSpeed;
4
923 → 设为所需值;(位置运行曲线跟踪窗口,默认值 5000)
:使用 MOTION STUDIO 软件,输入驱动器内位控程序(详见 PPT)
/*============================================= IPOS Source File
===============================================*/ #include <constb.h> #include <iob.h> #pragma globals 350 399
/*============================================= Main Function (IPOS Entry Function)
#define #define #define #define
in_Position InputImage SlowRunning FastRunning
(StatusWord & 0x80000)
//Mask out bit 19 of the status word
((InpLevelB >> 5)& 0x00000003) //Scanning DI05-DI06
SEW MOVIDRIVE MDX61B调试步骤同步伺服(binary setpoint)

9、选择“Execute complete start-up(执行完整的初始化)”;
10、选择“Stand-alone motor > Vector-controlled/Servo(独立电机 > 矢量 控制/伺服电机)”;
11、参照电机铭牌,检查电机及编码器信息是否准确;
12、检查电机类型信息;
47、可选择“project > save(as)”,保存项目;
48、可选择“project > export”,导出项目到压缩文件;
49、若后期设备应用有更改,需初始化控制器,可在“parameter tree”P802中选择“delivery state”,将控制器还原为出厂状态。
4、定义硬件名称,点击“finish”开始硬件配置;
5、硬件配置中;
6、硬件配置完成后,去除控制器X13/DIΦΦ“控制器禁止”端子的二进 制输入,然后点击“startup”;
7、点击“perform startup”,开始初始化;
8、点击“startup set-1”,进行parameter set-1设置( 如果需要两套参数 运行,parameter set-2设置采取同样步骤);
SEW MOVIDRIVE MDX61B调试步骤
(binary setpoint)
WEISS-CHINA
2014/05
1、打开MOVITOOLS MotionStudio软件,创建项目;
2、用USB11A连接电脑和MDX61B控制器的XT插槽,扫描网络上的设备;
3、选择“configure device”,对连接到的设备进行硬件配置;
21、点击“完成”,将初始化信息下载至控制器。如需配置parameter set-2,点击“download”,再进行参数包示框,点击“确定”;
SEW伺服电机IPOS典型控制程序

/**************************************************************************** --------------------------------10.18.01 D.Broerman Copied from Version 5 of Rack Stacker Software08.01.02 D.Broerman Added Position_6a to control the Vaccum Cup extend position 10.08.02 D.Broerman V04 Added sequence to Load from Rack31.01.03 St. Reuter V05 Communication via Device Net17.04.03 IBB China CSG Pos.13Necessary Parameters:--------------------------Operating Mode = VFC-n-Reg. & IPOSParameter P700Parameter P100 Sollwertquelle = FeldbusParameter P101 Steuerquelle = FeldbusBinary Inputs Base UnitDI00 EnableP600 DI01 Release/Rapid StopP601 DI02 High Speed Input 1P602 DI03 High Speed Input 2P603 DI04 SpareP604 DI05 SpareaaaBinary Option Card 1P610 DI10 IPOS Input (Vacuum Cup Extended Prox)P611 DI11 IPOS Input (V acuum Cup Retracted Prox)P612 DI12 IPOS Input (Vacuum Switch)P613 DI13 IPOS Input (Spare)P614 DI14 IPOS Input (Spare)P615 DI15 IPOS Input (Spare)P616 DI16 IPOS Input (Spare)P617 DI17 IPOS Input (Spare)Binary Inputs IPOS Inputs PA 1 (Device Net)DI20 IPOS Input (Start Cycle Signal Stacking)DI21 IPOS Input (Stop Cycle Signal)DI22 IPOS Input (MotorRight/ Halt, Arm Up Hand)DI23 IPOS Input (MotorLeft/ Halt, Arm Down Hand)DI24 IPOS Input (Vacuum Man Mode)DI25 IPOS Input (Release Man Mode)DI26 IPOS Input (Vacuum Cup In/Out Man Mode)DI27 IPOS Input (Stacker Mode)(Automatic = 1)(ManualMode = 0)DI30 IPOS Input (Loading Cycle Start)DI31 IPOS Input (Start Rack Reference)DI32 SpareDI33 SpareDI34 SpareDI35 SpareDI36 SpareDI37 SpareBinary Outputs Base UnitDB00 Configured with BrakeP620 DO01 Drive ReadyP621 DO02 Drive FaultBinary Output Option Card 1P630 DO10 IPOS Output (Arm Down)P631 DO11 IPOS Output (Conv Release In Transport)P632 DO12 IPOS Output (Stacker Fault)P633 DO13 IPOS Output (Basic Position)P634 DO14 IPOS Output (Conv Release Out Transport)P635 DO15 IPOS Output (Vacuum Cup Extended)P636 DO16 IPOS Output (Rack Reference Position)P637 DO17 IPOS Output (Vacuum Fault)Output Option Card 2DO20 IPOS Output (Vacuum Cup Extend Sol)DO21 IPOS Output (Vacuum Cup Retract Sol)DO22 IPOS Output (Vacuum On Sol)D023 IPOS Output (Vacuum Off Sol)DO24 IPOS Output (Blow Off On)DO25 IPOS Output (Spare)DO26 IPOS Output (Spare)DO27 IPOS Output (Spare)P941 IPOS Geberquelle = Motor Encoder on Terminal X15Anwenderprogramm mit folgenden Funktionen :-------------------------------------------1)Allgemeiner ManualMode eines positioniergeregelten Antriebs.- 黚er zwei Eingangsklemmen kann der Antrieb mit einer festenGeschwindigkeit in beide Richtungen gefahren werden.- Die Lageregelung ist dabei aktiv.- Eine vorherige Referenzfahrt ist nicht notwendig.2)Betriebsart Automatic****************************************************************************/#include <const.h>#include <io.h>//================= Fahr Variables ===========================================#pragma globals 200 250long V_MotorRight, V_MotorLeft;//================= Ziel Position - Variables ==============================#define Position_0 H0#define Position_1 H1#define Position_2 H2#define Position_3 H3#define Position_4 H4#define Position_5 H5#define Position_6 H6#define Position_7 H7#define Position_8 H8#define Position_9 H9#define Position_10 H10#define Ref_Pos H11#define Position_6a H12#define Auto_Speed_0 H20#define Auto_Speed_1 H21#define Auto_Speed_2 H22#define Ref_Speed_0 H23#define Auto_Speed_3 H24#define Man_Speed_0 H25#define Auto_Speed_4 H26#define Auto_Speed_5 H27#define Auto_Speed_6 H28#define Position_Window H30#define M_State H31#define M_Fault H32#define M_Merker H33#define Pos_0 H35#define M_Loading H36#define M_Stacking H37#define Load_Pos_0 H40#define Load_Pos_1 H41#define Load_Pos_2 H42#define Load_Pos_3 H43#define Load_Pos_4 H44#define Load_Pos_5 H45#define Load_Pos_6 H46#define Load_Pos_7 H47#define Load_Pos_8 H48#define Load_Pos_9 H49#define Load_Pos_10 H50#define Load_Pos_11 H51#define Load_Pos_12 H52#define Load_Pos_6a H53#define Bustyp H100#define Le_PA_DATA H101#define PA1 H102#define PA2 H103#define PA3 H104#define Le_PE_DA TA H110#define PE1 H111#define PE2 H112#define PE3 H113//================= INPUTS ========================================= //Onboard Inputs#define E_DriveEnable DI00#define E_DriveRel DI01#define E_Touchp_1 DI02#define E_Touchp_2 DI03#define E_Spare_1 DI04#define E_Spare_2 DI05//Inputs Card DIO 11A#define E_CupExtendedProx DI10#define E_CupRetractedProx DI11#define E_VacuumSwitch DI12#define E_Spare_3 DI13#define E_Spare_4 DI14#define E_Spare_5 DI15#define E_Spare_6 DI16#define E_Spare_7 DI17//Inputs Field Bus#define E_Start_Cycle ((PA1 & 0b1)!=0)#define E_Stop_Cycle ((PA1 & 0b10)!=0)#define E_ArmRight ((PA1 & 0b100)!=0)#define E_ArmLeft ((PA1 & 0b1000)!=0)#define E_VacManMode ((PA1 & 0b10000)!=0)#define E_RelManMode ((PA1 & 0b100000)!=0)#define E_CupInOutManMode ((PA1 & 0b1000000)!=0)#define E_AutoMode ((PA1 & 0b10000000)!=0)#define E_LoadCycleStart ((PA1 & 0b100000000)!=0)#define E_ReferenceRack ((PA1 & 0b1000000000)!=0)#define E_Continue_Cycle ((PA1 & 0b10000000000)!=0)#define E_Reset_Cycle ((PA1 & 0b100000000000)!=0)#define E_Resume_Cycle ((PA1 & 0b1000000000000)!=0)#define E_Vacuum_On_Auto ((PA1 & 0b10000000000000)!=0)//================= OUTPUTS =========================================//Onboard Outputs#define A_DriveReady DO01#define A_DriveFault DO02//Outputs Card DIO 11A#define A_CupExtendSol 0 //DO20#define A_CupRetractSol 1 //DO21#define A_VacuumOnSol 2 //DO22#define A_VacuumOffSol 3 //DO23#define A_BlowOffSol 4 //DO24//Outputs Fieldbus#define PE1_Output PE1#define A_StackerArmDown 0#define A_ConvRel 1 //((PE1 & 0b10)!=0)#define A_StackerFault 2 //((PE1 & 0b100)!=0)#define A_HomePosition 3 //((PE1 & 0b1000)!=0)#define A_ConvRelOut 4 //((PE1 & 0b10000)!=0)#define A_CupExtendSwitch 5 //((PE1 & 0b100000)!=0)#define A_ArmReferencePos 6 //((PE1 & 0b1000000)!=0)#define A_VacuumFault 7 //((PE1 & 0b10000000)!=0)#define A_ArmProbePos 8 //((PE1 & 0b100000000)!=0)#define A_CupRetractSwitch 9 //((PE1 & 0b1000000000)!=0)#define A_VacuumConfirm 10 //((PE1 & 0b10000000000)!=0)#define A_RelCrosstrREV 11 //((PE1 & 0b100000000000)!=0)//================= Festwerte ===============================================#pragma list/*==================================================================== =======Subroutines====================================================================== =====*//*================================================Subroutine for Initializing the System.==================================================*/Initialize(){_AxisStop( AS_RSTOP );OptOutpIPOS = 0; // all Outputs OffControlWord = 0; // IPOS Control Word OffPos_0 = 1000;Auto_Speed_0 = 15000; // Touch Probe SearchingAuto_Speed_1 = 19500; // Drive Down StackingAuto_Speed_2 = 5000;Auto_Speed_3 = 10000;Auto_Speed_4 = 15000; // Drive UP StackingAuto_Speed_5 = 1500; // Med Peel off speedAuto_Speed_6 = 100; // Slow Peel off speedRef_Speed_0 = 29000;Man_Speed_0 = 5000;Position_1 = 250000;M_State = 0;M_Fault = 0;M_Loading = 0;M_Stacking = 0;Bustyp = 3; //Value 3 = FieldbusLe_PA_DATA = 3; //Value 3 = Rrocess Input WordsLe_PE_DATA = 3; //Value 3 = Rrocess Output Words}// End Initialize()/*================================================= Interrupt Subroutine=================================================*/ Interrupt(){_TouchProbe( TP_DIS1 );M_State = 4 ;Position_2 = H507;Position_3 = H507 + 10000; // Vacuum On 10000 Position_4 = H507 + 345834; // 345834 Position_5 = H507 + 140000; // Vac Cups Ret 200000 Position_6 = H507 + 320000; // Slow Speed 400000 Position_6a = H507 + 363000; // Vac Cup Ext 411000 Position_7 = H507 + 421000; // Vac Rel vorher 250000 // 425000 Position_8 = H507 + 438000; // Blow-off off 438000 Position_9 = H507 + 850000; // Conv Rel 850000 Position_10 = H507 + 870000; // 870000Ref_Pos = H507 + 415000; // 275000 Load_Pos_0 = H507 -10000;Load_Pos_1 = H507 + 80000; // Vac Cups RetLoad_Pos_2 = H507 + 200000; // Slow SpeedLoad_Pos_3 = H507 + 230000; // Vac Cups Ext Vac OnLoad_Pos_4 = H507 + 280000; //Load_Pos_5 = H507 + 250000; // Ret Vac CupLoad_Pos_6 = H507 + 248000; // Low SpeedLoad_Pos_6a = H507 + 220000; // Med SpeedLoad_Pos_7 = H507 + 185000; // Hi Speed Ext Vac CupLoad_Pos_8 = H507 + 70000; // Low SpeedLoad_Pos_9 = H507 + 40000; // Vac RelLoad_Pos_10 = H507 + 2000; // Conv Relreturn;} // End Interrupt()/***************************************************************** Cycling Subroutine.******************************************************************/ Cycling(){if (!E_DriveRel){M_State = 0;_BitClear (PE1_Output, A_ArmProbePos );_BitClear (PE1_Output, A_ArmReferencePos);_AxisStop(AS_RSTOP);TargetPos = SetpointPos;}}// End Cycling/***************************************************************** Manual Mode Subroutine******************************************************************/ ManualMode(){// Stacker Arm Up and Downif(E_ArmRight || E_ArmLeft ){_AxisStop( AS_ENABLE );V_MotorRight = V_MotorLeft = Man_Speed_0;_SetSys (SS_POSSPEED, V_MotorRight);if (E_ArmRight && (!E_ArmLeft)) // Klemmen abfragen_GoAbs(GO_NOW AIT, (ActPos_Mot + 409600));if (E_ArmLeft && (!E_ArmRight))_GoAbs(GO_NOW AIT, (ActPos_Mot - 409600));}if(!E_ArmRight && !E_ArmLeft ){_AxisStop( AS_RSTOP );TargetPos = SetpointPos;}// Vacuum and Releaseif (E_VacManMode){_BitSet(OptOutpIPOS, A_VacuumOnSol);_BitClear (OptOutpIPOS, A_VacuumOffSol);}if (E_RelManMode && !E_VacManMode){_BitSet(OptOutpIPOS, A_VacuumOffSol);_BitSet(OptOutpIPOS, A_BlowOffSol);_BitClear (OptOutpIPOS, A_VacuumOnSol);}else{_BitClear (OptOutpIPOS, A_BlowOffSol);}// Vacuum Cup In Out Sequenceif (E_CupInOutManMode && E_CupExtendedProx && !(M_Merker && Bit_0)) {_BitSet(OptOutpIPOS, A_CupRetractSol);_BitClear (OptOutpIPOS, A_CupExtendSol);_BitSet (M_Merker, Bit_0);}if (E_CupInOutManMode && !E_CupExtendedProx && !(M_Merker && Bit_0)) {_BitClear(OptOutpIPOS, A_CupRetractSol);_BitSet (OptOutpIPOS, A_CupExtendSol);_BitSet (M_Merker, Bit_0);}if (!E_CupInOutManMode)_BitClear (M_Merker, Bit_0);/*if (E_CupExtendedProx){_BitClear (OptOutpIPOS, A_CupExtendSol);}if (E_CupRetractedProx){_BitClear (OptOutpIPOS, A_CupRetractSol);}*/} // End ManualMode()/*================================================Automatic Mode Subroutine==================================================*/AutomaticMode(){// Scope474 = StatusWord; // only for testingif (E_Start_Cycle && !E_Stop_Cycle && E_Touchp_1 && E_DriveEnable && E_DriveRel && (M_State == 0) && (M_Fault == 0 )){_BitClear (PE1_Output, A_ConvRel);_BitSet (OptOutpIPOS, A_CupExtendSol);_BitClear(OptOutpIPOS, A_CupRetractSol);M_State = 1 ;M_Stacking = 1 ;M_Loading = 0 ;}if (E_LoadCycleStart && !E_Stop_Cycle && E_Touchp_1 && E_DriveEnable && E_DriveRel&& (M_State == 0) && (M_Fault == 0 )){_BitClear (PE1_Output, A_ConvRel);M_State = 1 ;M_Stacking = 0 ;M_Loading = 1 ;}if (E_Stop_Cycle){M_State = 0 ;M_Fault = 0 ;_AxisStop( AS_RSTOP );_TouchProbe( TP_DIS1 );_BitClear (PE1_Output, A_ArmReferencePos);_BitClear (PE1_Output, A_ArmProbePos);_BitClear (OptOutpIPOS, A_CupExtendSol);_BitClear (OptOutpIPOS, A_CupRetractSol);}switch (M_State){case 1:_SetSys( SS_ACTPOS, Pos_0 );_BitSet(H484,1);_Wait(2);ActPos_Mot = 0;TargetPos = 0;_Wait(2);_BitClear(H484,1);_TouchProbe( TP_EN1 );V_MotorRight = V_MotorLeft = Auto_Speed_0;_SetSys (SS_POSSPEED, V_MotorRight);_GoAbs (GO_NOW AIT, Position_1);M_State = 2 ;break ;case 2: //Check Drive Stopped, Start Position not Found if (StatusWord & Bit_19){( M_State = 3 );}break ;case 3: //Start Position Not Found _AxisStop( AS_RSTOP );_BitSet(PE1_Output, A_StackerFault);_TouchProbe( TP_DIS1 );M_State = 0 ;M_Fault = 1 ;break ;case 4: // Start Position Found if (!E_ReferenceRack){M_State = 5 ;}else{M_State = 8 ;}break ;case 5: // Move to Rack Reference Position V_MotorRight = V_MotorLeft = Auto_Speed_1;_SetSys (SS_POSSPEED, V_MotorRight);_GoAbs (GO_NOW AIT, Ref_Pos); // Rack Reference PositionM_State = 6 ;break ;case 6: // Release Rack Reference Motion (ge鋘dert: Stadelmeierif ((StatusWord & Bit_19) && E_CupExtendedProx) // 15.09.03){M_State = 7 ;_BitSet(PE1_Output, A_ArmReferencePos);_BitSet(PE1_Output, A_ArmProbePos);}break ;case 7:if (E_Continue_Cycle){if (!E_ReferenceRack && (M_Stacking == 1)){_BitClear (OptOutpIPOS, A_VacuumOnSol);_BitSet (OptOutpIPOS, A_VacuumOffSol);_BitSet(OptOutpIPOS, A_BlowOffSol);_Wait(500);_BitClear (PE1_Output, A_ArmReferencePos);_BitClear (PE1_Output, A_ArmProbePos);M_State = 8 ;}}else if (M_Loading == 1){_Wait(500);_BitClear (PE1_Output, A_ArmReferencePos);_BitClear (PE1_Output, A_ArmProbePos);if (!E_VacuumSwitch){M_State = 8 ;_BitSet(PE1_Output, A_VacuumFault);}else{M_State = 8 ;}}break ;case 8: // move to End Positionif (M_Stacking == 1){V_MotorRight = V_MotorLeft = Auto_Speed_4; //*******_SetSys (SS_POSSPEED, V_MotorRight);_GoAbs (GO_NOW AIT, Position_10); //End PositionM_State = 9 ;}else if (M_Loading == 1){V_MotorRight = V_MotorLeft = Auto_Speed_5; //*******_SetSys (SS_POSSPEED, V_MotorRight);_GoAbs (GO_NOW AIT, Load_Pos_0); //End PositionM_State = 9 ;}break ;case 9:if (StatusWord & Bit_19) // in Position{( M_State = 0 );}break ;}} // End AutomaticMode()/*================================================Task2 Program PositionStateMachine.Hier werden die binary Output zur R點kmeldungder Istposition gesetzt.=================================================*/ PositionStateMachine(){if (E_AutoMode && (M_State >= 5) && (M_Stacking == 1)) // Stacking Active {if ((ActPos_Mot > Position_3) && (ActPos_Mot <= Position_4)){_BitClear (OptOutpIPOS, A_VacuumOffSol); // Vac On_BitSet(OptOutpIPOS, A_VacuumOnSol);}if ((ActPos_Mot > Position_4) && (ActPos_Mot <= Position_5)){}if ((ActPos_Mot > Position_5) && (ActPos_Mot <= Position_6)){/* _BitClear (OptOutpIPOS, A_CupExtendSol); // Vac Cup Ret*//* _BitSet(OptOutpIPOS, A_CupRetractSol);*/}if ((ActPos_Mot > Position_6) && (ActPos_Mot <= Position_7)){V_MotorRight = V_MotorLeft = Auto_Speed_2; // Slow Speed_SetSys (SS_POSSPEED, V_MotorRight);if (A_CupExtendSol && (!E_VacuumSwitch)) // Check Vac Switch_BitSet(PE1_Output, A_VacuumFault);}if ((ActPos_Mot > Position_6a) && (ActPos_Mot <= Position_7)) {/* _BitClear (OptOutpIPOS, A_CupRetractSol); // Vac Cup Ext*//* _BitSet(OptOutpIPOS, A_CupExtendSol);*/_BitClear (OptOutpIPOS, A_CupExtendSol);}if ((ActPos_Mot > Position_7) && (ActPos_Mot <= Position_8)){if ((M_State >= 8)){_BitClear (OptOutpIPOS, A_VacuumOnSol); // Vac Rel_BitSet (OptOutpIPOS, A_VacuumOffSol);_BitSet (OptOutpIPOS, A_BlowOffSol);}}if ((ActPos_Mot > Position_8) && (ActPos_Mot <= Position_9)){_BitClear (OptOutpIPOS, A_VacuumOffSol); // Blow-Off Off_BitClear(OptOutpIPOS, A_CupExtendSol);V_MotorRight = V_MotorLeft = Auto_Speed_1;_SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Position_9) && (ActPos_Mot <= Position_10)){_BitClear (OptOutpIPOS, A_BlowOffSol);_BitSet (PE1_Output, A_ConvRel); // Conv Release_BitClear (OptOutpIPOS, A_CupExtendSol);_BitSet(OptOutpIPOS, A_CupRetractSol);}} // End Stacking Activeif (E_AutoMode && (M_State == 6) && (M_Loading == 1)) // Loading Active{if ((ActPos_Mot > Load_Pos_1) && (ActPos_Mot <= Load_Pos_2)){_BitClear (OptOutpIPOS, A_CupExtendSol); // Vac Cup Ret_BitSet(OptOutpIPOS, A_CupRetractSol);}if ((ActPos_Mot > Load_Pos_2) && (ActPos_Mot <= Load_Pos_3)){// V_MotorRight = V_MotorLeft = Auto_Speed_2; // Slow Speed// _SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Load_Pos_3) && (ActPos_Mot <= Load_Pos_4)){_BitClear(OptOutpIPOS, A_CupRetractSol);_BitSet (OptOutpIPOS, A_CupExtendSol); // Vac Cup Ext_BitClear (OptOutpIPOS, A_VacuumOffSol); // Vac On_BitSet(OptOutpIPOS, A_VacuumOnSol);}} // End Loading Up Activeif (E_AutoMode && (M_State == 9) && (M_Loading == 1)) // Loading Down{if ((ActPos_Mot > Load_Pos_6) && (ActPos_Mot <= Load_Pos_5)){_BitClear(OptOutpIPOS, A_CupExtendSol);_BitSet (OptOutpIPOS, A_CupRetractSol); // Vac Cup RetV_MotorRight = V_MotorLeft = Auto_Speed_6; // Low Speed_SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Load_Pos_6a) && (ActPos_Mot <= Load_Pos_6)){V_MotorRight = V_MotorLeft = Auto_Speed_2; // Med Speed*******************************_SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Load_Pos_7) && (ActPos_Mot <= Load_Pos_6a)){V_MotorRight = V_MotorLeft = Auto_Speed_4; // Hi Speed *******************************_SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Load_Pos_8) && (ActPos_Mot <= Load_Pos_7)){V_MotorRight = V_MotorLeft = Auto_Speed_4; // Hi Speed_SetSys (SS_POSSPEED, V_MotorRight);_BitClear(OptOutpIPOS, A_CupRetractSol);_BitSet (OptOutpIPOS, A_CupExtendSol); // Vac Cup Ext}if ((ActPos_Mot > Load_Pos_9) && (ActPos_Mot <= Load_Pos_8)){V_MotorRight = V_MotorLeft = Auto_Speed_2; // Slow Speed_SetSys (SS_POSSPEED, V_MotorRight);}if ((ActPos_Mot > Load_Pos_10) && (ActPos_Mot <= Load_Pos_9)){_BitClear (OptOutpIPOS, A_VacuumOnSol); // Vac Rel_BitSet (OptOutpIPOS, A_VacuumOffSol);_BitSet(OptOutpIPOS, A_BlowOffSol);}if ((ActPos_Mot <= Load_Pos_10)){_BitClear (OptOutpIPOS, A_VacuumOffSol); // Blow Off Off_BitClear(OptOutpIPOS, A_CupExtendSol);_BitClear (OptOutpIPOS, A_BlowOffSol);_BitSet(OptOutpIPOS, A_CupRetractSol);_BitSet (PE1_Output, A_ConvRel); // Conv Rel}} // End Loading Activeif ( E_Touchp_1 ) // Arm Down Signal {_BitSet (PE1_Output, A_StackerArmDown);_BitClear(PE1_Output, A_VacuumFault); // Reset Vacuum Fault}else{_BitClear (PE1_Output, A_StackerArmDown);}if ( E_CupExtendedProx ) // Cup Extended Signal {_BitSet (PE1_Output, A_CupExtendSwitch);}else{_BitClear (PE1_Output, A_CupExtendSwitch);}//Signal VacuumCups retract Switch => SPSif ( E_CupRetractedProx ){_BitSet(PE1_Output, A_CupRetractSwitch);}else{_BitClear(PE1_Output, A_CupRetractSwitch);}if ( E_VacuumSwitch ) // Vacuum Confirm Signal {_BitSet (PE1_Output, A_VacuumConfirm);}else{_BitClear (PE1_Output, A_VacuumConfirm);}Cycling ();} // End PositionStateMachine()/*=============================================Main Program (IPOS-Eintrittsfunktion)===============================================*/main(){/*-------------------------------------Initialization--------------------------------------*/Initialize();_SetInterrupt( SI_TOUCHP1, Interrupt);_SetTask2(T2_START, PositionStateMachine);/*-------------------------------------Main Program--------------------------------------*/while(1){_GetSys (Bustyp, GS_PODATA); //PA-Data from Field Bus in Var.H102-H104if (!E_AutoMode){M_Fault = 0;M_State = 0;_BitClear (PE1_Output, A_StackerFault);_BitClear (PE1_Output, A_ArmReferencePos);_BitClear (PE1_Output, A_ArmProbePos);_TouchProbe( TP_DIS1 );ManualMode();}if (E_AutoMode){AutomaticMode();}if (E_AutoMode && !E_Stop_Cycle && !E_V acuumSwitch && (M_State == 0) && (M_Fault == 0 )){/* _BitClear (OptOutpIPOS, A_CupExtendSol);_BitSet(OptOutpIPOS, A_CupRetractSol);*/}_SetSys (SS_PIDA TA, Le_PE_DA TA); //Variablen H111-113 as PE-Data back to Fieldbus}}。
SEW伺服PROFIBUS通信说明

DFP21B总线板概述总线协议选项:支持PROFIBUS DP、PROFIBUS FMS和PROFIBUS FMS/DP混合方式; 总线通讯速率支持:9.6-----12Mbaud;总线连接形式:D型9针插头,符合DIN19245和EN50170标准;站地址:由DIP拨码开关设定0---125;GSD文件:SEW-6004.GSDDP的结构类型;1个过程字、2个过程字、3个过程字---10个过程字参数通道+ 1个过程字、参数通道+ 2个过程字、参数通道+ 3个过程字DFP21B总线板电源灯总线故障灯DP-地址DP-终端电阻D 型9针插头总线终端电阻激活禁止如果MDV系列控制器在PROFIBUS网的开端或在网的末端,总线终端电阻需要激活----增加总线系统的抗干扰能力。
DIP-地址拨码开关DP 地址PROFIBUS 从站地址通过DIP 拨码开关设定;PROFIBUS 支持0---125地址范围;控制器得电时,设置DIP 拨码开关无效,站地址只有在断开电源再合电后,才有效; DP 地址可在P092参数显示;显示说明RUN指示灯BUS FAULTDP---结构❑PROFIBUS-DP支持参数通道和过程字通道;❑参数通道为非周期性的数据交换,用于访问和设置控制器的参数;❑过程字通道为周期性的数据交换,用于访问和设置过程值;过程值的个数和结构:说明:▪支持过程值通道和参数通道;▪过程值通道最多支持10个过程输入字和10个过程输出字;▪前三个过程值的含义可以在参数中设定,后面的过程值可在IPOS程序中调用;过程值描述过程输出值(PO)过程输入值(PI)过程值分为过程输出字和过程输入字;过程输出值为PLC→控制器的数值,包括控制字和设定值; 过程输入值为控制器→PLC的数值,包括状态字和实际值;过程值描述过程值值比例PLC过程值过程输出字P870:PO1P871:PO2P872:PO3P876总线PO 值使能PO 值使能如果修改了PO1、PO2和PO3的设定含义,P876会自动恢复到OFF 状态;需要人为的将P876设定为ON 状态,系统才可确认PO1、PO2和PO3的设定值;Control Word1说明:控制字1的低字节控制器禁止使能/快停使能/停车保持控制斜率发生器组选择参数组选择故障复位e.g…00hex …02hex1控制字说明▪控制器禁止:0001hec ▪快停:0000hec▪正常停车:0002hec ▪使能:0006hec控制字1的高字节电动电位计方向选择9电动电位计转速增加10 电动电位计转速减速固定转速设定值选择固定转速设定组选择高字节主要控制电动电位计和固定转速设定值控制字2说明:控制字2的低字节和控制字1的低字节相同,高字节为虚拟端子。
SEW-MDX61B-同步伺服调试方法-总线位置控制-6PD-Profinet IO-双驱力矩分配升降-带增量型编码器R..M(L)

配置:①驱动器MDX61B… ②编码器板DER11B ③Profinet IO 网卡:DFE32B④同步伺服电机-带增量型编码器…CM…RH1M(L)系统架构:L1L2L3PE电机编码器CM / CMP(Z)同步伺服电机硬件接线:升降驱动!! (建议:制动器采用快速制动;PLC 保护制动)(防止溜车,及意外坠落)驱动器输出U,V,W 须与伺服电机的U,V,W将网卡的Def IP开关设置到“0”的位置,用PLC设置相应的IP地址如果Def IP开关在“1”的位置,用PLC设置好的IP地址,在断电后,又重新上电时,会恢复成默认地址192.168.10.4/CONTROL.INHIBIT端子功能:在对伺服系统作初始化配置,以及对一些重要的结构功能性参数进行设置时,必须将/CONTROL.INHIBIT端子置为0,而系统运行前,需将/CONTROL.INHIBIT端子置为1,在此端子由1变为0时,伺服控制器将立即停止所有输出,电机马上处于无控制状态,系统按其惯性自由停车,因此不能用此端子进行正常的快速停止功能。
ENABLE/RAP.STOP端子功能:当ENABLE/RAP.STOP端子置为1时,电机即进入0速力矩保持状态;当ENABLE/RAP.STOP端子置为0时,电机处于无控制状态;在电机运行时,将ENABLE/RAP.STOP端子置为0,电机会按参数136设定的值快速停下来,然后处于无控制状态;当电机运行到达设定位置,电机即进入0速力矩保持状态。
FAULT RESET端子功能:当遇到非正常情况,伺服系统报警停机,在排除故障原因后,可给FAULT RESET端子一个脉冲信号,使伺服系统退出报警状态:使用MOTION STUDIO软件配置电机详见PPT:使用MOTION STUDIOS软件-手动操作模拟器直接驱动电机运行,以检测电机接线,编码器接线,电机特性配置是否良好详见PPT:使用MOTION STUDIO软件设定参数主机参数:100→设为Fieldbus;(总线控制)101→设为Fieldbus;(总线控制)130→设为所需值;(速度控制时CW顺时针运行加速斜坡时间);131 →设为所需值;(速度控制时CW顺时针运行减速斜坡时间)132 →设为所需值;(速度控制时CCW逆时针运行加速斜坡时间)133 →设为所需值;(速度控制时CCW逆时针运行减速斜坡时间)136→设为所需值;(当ENABLE/RAP.STOP端子由1变为0时,电机的停转时间)200 →设为所需值;(电机的速度环增益,系统会按电机配置时,输入的负载情况,设定建议值)301 →设为0;(输出最小转速);302 →设为所需值;(输出最大转速);303 →设为所需值;(输出最大电流限幅);304 →设为所需值;(输出最大力矩限幅);500 →设为MOT. & REGEN.MODE;(电机过载保护功能打开);501 →设为所需值;(电机过载,达到参数303设定值后,多长时间才停机报警); 600 →设为Enable/stop;(输出使能)601 →设为Fault reset;(故障复位)602 →设为NO FUNCTION;603 →设为NO FUNCTION;604 →设为/External fault;(从机故障通知)622 →设为Rotating field ON;(电机是否运行)623 →设为IPOS in position;(目标位置到位)624 →设为/Fault;(故障报警)700 →设为Servo & IPOS;(伺服位置控制模式)731 →制动器释放时间,升降驱动时:设为0.25s(升降控制时,起动时防溜车时间)732 →制动器应用时间,升降驱动时:设为0.25s(升降控制时,停止时防溜车时间)750 →设为Torque SBus;(力矩控制从机模式)830 →设为Rapid stop/fault(从机故障时立即停止输出,持续报警,等待复位信号)831 →设为Rapid stop/fault(PN总线故障时立即停止输出,持续报警,等待复位信号)836 →设为Rapid stop/fault(SBUS总线故障时立即停止输出,持续报警,等待复位信号)870 →设为IPOS PO data;(总线PO1定义,控制零点坐标系建立;发送速度值)871 →设为Setpoint position high;(总线PO2定义,发送要到达目标位置脉冲值高位)872 →设为Setpoint position low;(总线PO3定义,发送要到达目标位置脉冲值低位)873 →设为Status word 1;(总线PI1定义,反馈驱动器状态;到位信息) 874 →设为Actual position high;(总线PI2定义,反馈当前位置脉冲值高位)875 →设为Actual position low;(总线PI3定义,反馈当前位置脉冲值低位)876 →设为Yes;(允许总线数据传输)881 →设为1;(主机SBUS总线地址)882 →设为1;(主从机SBUS总线组地址)883 →设为0.1;(主从机SBUS总线通讯监控时间)910 →设为所需值;(位置控制运行时,电机的位置环增益,建议0.1-0.4)911 →设为所需值;(位置控制运行时电机的加速时间)912 →设为所需值;(位置控制运行时电机的减速时间)922 →设为所需值;(目标位置到位窗口,默认值50)923 →设为所需值;(位置运行曲线跟踪窗口,默认值5000)从机参数:100→设为Master SBus 1;(SBUS总线控制)101→设为Terminals;(端子控制)130→设为所需值;(速度控制时CW顺时针运行加速斜坡时间);131 →设为所需值;(速度控制时CW顺时针运行减速斜坡时间)132 →设为所需值;(速度控制时CCW逆时针运行加速斜坡时间)133 →设为所需值;(速度控制时CCW逆时针运行减速斜坡时间)136→设为所需值;(当ENABLE/RAP.STOP端子由1变为0时,电机的停转时间)200 →设为所需值;(电机的速度环增益,系统会按电机配置时,输入的负载情况,设定建议值)301 →设为0;(输出最小转速);302 →设为所需值;(输出最大转速);303 →设为所需值;(输出最大电流限幅);304 →设为所需值;(输出最大力矩限幅);500 →设为MOT. & REGEN.MODE;(电机过载保护功能打开);501 →设为所需值;(电机过载,达到参数303设定值后,多长时间才停机报警); 600 →设为No function;(无功能)601 →设为Fault reset;(故障复位)602 →设为NO FUNCTION;603 →设为NO FUNCTION;604 →设为NO FUNCTION;621 →设为/Fault;(故障报警)622 →设为Rotating field ON;(电机是否运行)623 →设为No function;(无功能)624 →设为/Fault;(故障报警)700 →设为Servo & torque control;(伺服力矩控制模式)731 →制动器释放时间,升降驱动时:设为0.25s(升降控制时,起动时防溜车时间)732 →制动器应用时间,升降驱动时:设为0.25s(升降控制时,停止时防溜车时间)750 →设为Master/slave off;(主机功能关闭)751 →设为1;(与主机按1:1分配输出力矩)830 →设为Rapid stop/fault(从机故障时立即停止输出,持续报警,等待复位信号)831 →设为Rapid stop/fault(PN总线故障时立即停止输出,持续报警,等待复位信号)836 →设为Rapid stop/fault(SBUS总线故障时立即停止输出,持续报警,等待复位信号)870 →设为Control word 1;(总线PO1定义,控制电机启动,停止)871 →设为Setpoint current;(总线PO2定义,发送从机需要输出的力矩值) 872 →设为IPOS PO data;(总线PO3定义,保留未使用)873 →设为Status word 1;(总线PI1定义,反馈驱动器状态)874 →设为Actual speed;(总线PI2定义,反馈当前电机运行的速度)875 →设为IPOS PI data;(总线PI3定义,保留未使用)876 →设为Yes;(允许总线数据传输)881 →设为2;(从机SBUS总线地址)882 →设为1;(主从机SBUS总线组地址)883 →设为0.1;(主从机SBUS总线通讯监控时间)从机S12需置于ON处PLC设定至变频器值PO1 : IPOS PO-DATA第一个PO字发1至驱动器,表示将当前位置的坐标清零,建立机械坐标系;发其它数值至驱动器,表示设定所需的速度,比例为0.1,如需按500rpm运行,发5000即可如PO1对应QW256,直接赋值到QW256即可PO2 : Setpoint position high ;PO3 : Setpoint position low所需电机要到达的位置可通过总线第二和第三个PO字双字格式进行控制如PO2对应QW258;PO3对应QW260;想让电机运行到1000000脉冲(电机4096脉冲/转)的目标位置,直接赋值到QD258即可PO4 : IMAX表示设定所需输出的最大力矩,比例为0.1,如需按70%输出限幅,发700即可如PO4对应QW262,直接赋值到QW262即可PO5 : Accelerating ramp表示设定所需加速斜坡时间,比例为1:1ms,如需按3s(0-3000rpm)斜坡加速,发3000即可如PO4对应QW264,直接赋值到QW264即可PO6 : Deceleration ramp表示设定所需减速斜坡时间,比例为1:1ms,如需按2s(0-3000rpm)斜坡加速,发2000即可如PO6对应QW266,直接赋值到QW266即可变频器反馈至PLC值PI1 : Status word 1 (状态字1)当第5位为1时,表示变频器有报警;高8位(8-15位)的整型数值为报警代码(代码含义请看SEW_MDX61B 驱动控制器系统手册英文版Edition2010.8第620-636页)当第5位为0时,表示变频器没有报警;高8位(8-15位)的整型数值为变频器运行状态代码(代码含义请看SEW_MDX61B 驱动控制器系统手册英文版Edition2010.8第609页)如PI1对应IW256想知道系统的相应状态,直接从IW256读值即可PI2 : Actual position high ;PI3 : Actual position low伺服系统的当前位置坐标可通过总线第二和第三个PI字双字格式读上来如PI2对应IW258;PI3对应IW260;想知道电机运行到什么位置,直接从ID258读值即可PI4 :Actual speed如PI4对应IW262想知道电机运行的速度,直接从IW262读值即可比例为0.1,如读取值为6000,则实际值为600rpmPI5 :Actual current如PI5对应IW264想知道电机实际输出的有功电流(力矩),直接从IW264读值即可PI6 :OUTPUTS如PI6对应IW266想知道驱动器的DO输出状态,直接从IW266读值即可:使用MOTION STUDIO软件,输入驱动器内位控程序总线位控模式运行时,伺服控制器内接口程序SET H200 = 3 //设定接口格式:外部总线数据传输SET H201 = 6 //设定接口格式:6个POSET H211 = 6 //设定接口格式:6个PIM2: GETSYS H200 = PO-DATA //接收PO数据值SET H222 = H202SET H223 = H202SETSYS POP.SPEED C(CW) = H222 //对运行速度赋值SETSYS IMAX = H205 //对最大输出力矩赋值SET H226 = H206SET H227 = H207SETSYS POP.RAMP = H226 //对加减速时间赋值SET H492 = H499 //对运行的目标位置赋值SETSYS PI-DATA = H211 //读取PI数据值GETSYS H215 = ACT . SPEED //读取实际运行速度值GETSYS H216 = ACTUAL . CURRENT //读取实际输出力矩值SET H217 = H521 //读取输出点的状态值JMP H202 == 1, M1 //置零点坐标条件;RETM1: SET H511 = 0 //如果总线传送的第一个字值为1,将当前的位置坐标置为0(建立坐标系);WAIT 100msJMP UNCONDITIONED , M2RETEND由于此程序利用总线第一个传送字既作为速度传送,也作为置坐标指令传送,因此在发送时应根据实际情况进行:由于此程序利用总线第一个传送字既作为速度传送,也作为置坐标指令传送,因此在发送时应根据实际情况进行:如:总线第一个传送字发送1到伺服系统内,伺服系统将按0.1rpm(0.1的比例),以及第二和第三个传送字发来的目标坐标值进行定位运行;但由于也同时将当前的位置坐标置为0,如果第二和第三个传送字发来的目标坐标值与0不同,伺服系统将按0.1rpm不断朝一个方向运行;在需要进行回零操作时,应先将系统运行到机械零点位置,然后将ENABLE/RAP.STOP端子置为0,等待50ms后在给第一个传送字发送1,则伺服驱动器坐标系清零;然后在给第一个传送字发送0,第二和第三个传送字发送0,然后将ENABLE/RAP.STOP端子置为1,伺服系统进入0速力矩保持状态,等待运行;如果仅将第一个传送字发送0,第二和第三个传送字发送的坐标值与当前的坐标值不同,在将ENABLE/RAP.STOP端子置为1后,伺服系统会以极低的速度朝第二和第三个传送字发送的坐标值运行,而不会以0速停在原地。
SEW交流电机、伺服电机操作手册

3 电机构造 .............................................................................................................. 6 3.1 交流电机的构造原理.................................................................................. 6 3.2 铭牌,额定数据 ......................................................................................... 7
8 检查 / 维护 ......................................................................................................... 33 8.1 检查与维护周期 ....................................................................................... 33 8.2 电机和制动器维护的准备工作 ................................................................. 34 8.3 电机的检查 / 维护作业 ............................................................................. 37 8.4 制动器 BMG02 的检查 / 维护作业 ........................................................... 39 8.5 制动器 BR03 的检查 / 维护作业 .............................................................. 40 8.6 制动器 BMG05~8, BM15~62 的检查 / 维护作业...................................... 44 8.7 制动器 BMG61/122 的检查 / 维护作业 .................................................... 49
SEW_Servo_New 伺服学习

TASC/ZXB
伺服电机的特点
由运动学方程式:
TM - TL = J dn/dt
高动态响应由高电机转矩决定! 注: TM 为电机转矩, TL 为负载转矩 (折算到电机轴),J为负载转动惯量 (折算到电机轴)。
TASC/ZXB
同步伺服电机的特点
CM
SEW同步伺服电机为六极电机,转子为永 磁材料(稀土钕铁硼),定子为铸铝外壳. 电机外形 与鼠笼电机相比细长。
TASC/ZXB
同步伺服电机的特点 SEW同步伺服电机有四个速度等级:
2000rpm/3000rpm/4500rpm/6000rpm 对应频率为:100HZ/150HZ/225HZ / 300HZ 转矩范围:1NM--68NM
配合专用伺服变频器工作
伺服变频器型号: MDS/MCS/MCH/MDX
TASC/ZXB
TASC/ZXB
CT/CV电机特点 : 经济型强冷风扇
3.50 3.00 50 2.00 1.50 1.00 0.50 0.00 71/80
frame sizes
1.60 0.75
1.90
VS VR
90/100 112/132S
TASC/ZXB
CT/CV电机特点 : 特殊的电机绕组
TASC/ZXB
同步伺服电机的特点
TASC/ZXB
CM 伺服电机
CFM71S/RH1M/BR/TF/HR/SB51
TASC/ZXB
同步伺服电机的内部构造
TASC/ZXB
同步伺服电机的伺服控制器
TASC/ZXB
同步伺服电机的技术指标
TASC/ZXB
同步伺服电机的技术指标
TASC/ZXB
异步伺服电机