Update

Dependencies:   mbed mbed-rtos X_NUCLEO_IHM02A1

Committer:
scherfa2
Date:
Thu May 16 20:10:32 2019 +0000
Revision:
42:0aaa3b282b6e
Parent:
40:117b324843ee
Update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hagenrap 33:de144094bdd1 1 #include "SETUP.h"
hagenrap 33:de144094bdd1 2
scherfa2 27:23bd03a6a6f6 3
scherfa2 27:23bd03a6a6f6 4 int StatusDUO=DUO_DEFAULT;
scherfa2 38:3776ee18e56f 5
scherfa2 40:117b324843ee 6
scherfa2 40:117b324843ee 7 extern DigitalIn InputKontrollmodul;
scherfa2 40:117b324843ee 8 extern DigitalIn CutSignal;
scherfa2 42:0aaa3b282b6e 9 extern DigitalIn FertigSignal;
scherfa2 40:117b324843ee 10 int val_CutSignal = 0;
scherfa2 42:0aaa3b282b6e 11 int val_FertigSignal = 0;
scherfa2 38:3776ee18e56f 12
scherfa2 42:0aaa3b282b6e 13 int Stepper1CurrentPos = 0;
scherfa2 42:0aaa3b282b6e 14 int Stepper1MarkPos = 0;
scherfa2 42:0aaa3b282b6e 15
scherfa2 42:0aaa3b282b6e 16 bool Fertig = false;
scherfa2 38:3776ee18e56f 17
scherfa2 40:117b324843ee 18 bool Fila_Good = false;
scherfa2 40:117b324843ee 19
scherfa2 40:117b324843ee 20 bool ABS = false;
scherfa2 38:3776ee18e56f 21
scherfa2 40:117b324843ee 22 bool PLA = true;
scherfa2 38:3776ee18e56f 23
scherfa2 40:117b324843ee 24 bool ButtonSTART = false;
scherfa2 40:117b324843ee 25 bool ButtonABBRUCH = false;
scherfa2 38:3776ee18e56f 26
scherfa2 34:0dee9a606869 27 extern PwmOut Servo;
scherfa2 34:0dee9a606869 28
scherfa2 38:3776ee18e56f 29 extern L6470 **motors;
scherfa2 38:3776ee18e56f 30 extern L6470B **motors2;
scherfa2 38:3776ee18e56f 31
scherfa2 38:3776ee18e56f 32 extern DigitalIn LS_1;
scherfa2 38:3776ee18e56f 33 extern DigitalIn LS_2;
scherfa2 38:3776ee18e56f 34 extern DigitalIn LS_3;
scherfa2 38:3776ee18e56f 35
scherfa2 38:3776ee18e56f 36 extern PwmOut Cutter_1;
scherfa2 38:3776ee18e56f 37 extern PwmOut Cutter_2;
scherfa2 38:3776ee18e56f 38 extern PwmOut Spleisser_1;
scherfa2 38:3776ee18e56f 39 extern PwmOut Spleisser_2;
scherfa2 38:3776ee18e56f 40
scherfa2 40:117b324843ee 41
scherfa2 40:117b324843ee 42 bool get_InputKontrollmodul()
scherfa2 40:117b324843ee 43 {
scherfa2 40:117b324843ee 44 val_CutSignal = CutSignal.read();
scherfa2 40:117b324843ee 45 if( val_CutSignal == 1)
scherfa2 40:117b324843ee 46 {
scherfa2 40:117b324843ee 47 wait(0.01);
scherfa2 40:117b324843ee 48 if(val_CutSignal == 1)
scherfa2 40:117b324843ee 49 {
scherfa2 40:117b324843ee 50 return true;
scherfa2 40:117b324843ee 51 }
scherfa2 40:117b324843ee 52 }
scherfa2 40:117b324843ee 53 else if(val_CutSignal == 0)
scherfa2 40:117b324843ee 54 {
scherfa2 40:117b324843ee 55 wait(0.01);
scherfa2 40:117b324843ee 56 if(val_CutSignal == 0)
scherfa2 40:117b324843ee 57 {
scherfa2 40:117b324843ee 58 return false;
scherfa2 40:117b324843ee 59 }
scherfa2 40:117b324843ee 60 }
scherfa2 40:117b324843ee 61 else return false;
scherfa2 40:117b324843ee 62 }
scherfa2 40:117b324843ee 63
scherfa2 42:0aaa3b282b6e 64 bool get_FertigSignal()
scherfa2 42:0aaa3b282b6e 65 {
scherfa2 42:0aaa3b282b6e 66 val_FertigSignal = FertigSignal.read();
scherfa2 42:0aaa3b282b6e 67 if( val_FertigSignal == 1)
scherfa2 42:0aaa3b282b6e 68 {
scherfa2 42:0aaa3b282b6e 69 wait(0.01);
scherfa2 42:0aaa3b282b6e 70 if(val_FertigSignal == 1)
scherfa2 42:0aaa3b282b6e 71 {
scherfa2 42:0aaa3b282b6e 72 return true;
scherfa2 42:0aaa3b282b6e 73 }
scherfa2 42:0aaa3b282b6e 74 }
scherfa2 42:0aaa3b282b6e 75 else if(val_FertigSignal == 0)
scherfa2 42:0aaa3b282b6e 76 {
scherfa2 42:0aaa3b282b6e 77 wait(0.01);
scherfa2 42:0aaa3b282b6e 78 if(val_FertigSignal == 0)
scherfa2 42:0aaa3b282b6e 79 {
scherfa2 42:0aaa3b282b6e 80 return false;
scherfa2 42:0aaa3b282b6e 81 }
scherfa2 42:0aaa3b282b6e 82 }
scherfa2 42:0aaa3b282b6e 83 else return false;
scherfa2 42:0aaa3b282b6e 84 }
scherfa2 40:117b324843ee 85
scherfa2 38:3776ee18e56f 86 void EntryDuoDefault()
scherfa2 38:3776ee18e56f 87 {
scherfa2 38:3776ee18e56f 88 StatusDUO=DUO_DEFAULT;
scherfa2 38:3776ee18e56f 89 }
scherfa2 38:3776ee18e56f 90
scherfa2 34:0dee9a606869 91 void EntryDuoStart()
scherfa2 34:0dee9a606869 92 {
scherfa2 38:3776ee18e56f 93 Stepper_1_Leerlauf();
scherfa2 38:3776ee18e56f 94 Stepper_2_Leerlauf();
scherfa2 38:3776ee18e56f 95 Stepper_3_Leerlauf();
scherfa2 42:0aaa3b282b6e 96 if(LS_1 == 1)
scherfa2 42:0aaa3b282b6e 97 {
scherfa2 42:0aaa3b282b6e 98 Set_Servo_Bad_Fil();
scherfa2 42:0aaa3b282b6e 99 }
scherfa2 38:3776ee18e56f 100
scherfa2 38:3776ee18e56f 101 DisplaySendeBefehl(0x0C);
scherfa2 38:3776ee18e56f 102 DisplaySendeBefehl(0x01);
scherfa2 38:3776ee18e56f 103 gotoxy(1,1);
scherfa2 38:3776ee18e56f 104 DisplaySendeString("Modus: DUO-Betrieb");
scherfa2 38:3776ee18e56f 105 gotoxy(1,4);
scherfa2 38:3776ee18e56f 106 DisplaySendeString("Start PLA");
scherfa2 40:117b324843ee 107
scherfa2 40:117b324843ee 108 PLA = true;
scherfa2 40:117b324843ee 109 ABS = false;
scherfa2 38:3776ee18e56f 110
scherfa2 38:3776ee18e56f 111 StatusDUO=DUO_START;
scherfa2 38:3776ee18e56f 112
scherfa2 38:3776ee18e56f 113 }
scherfa2 38:3776ee18e56f 114
scherfa2 40:117b324843ee 115 void EntryDuoEinlegen()
scherfa2 38:3776ee18e56f 116 {
scherfa2 40:117b324843ee 117 DisplaySendeBefehl(0x01);
scherfa2 40:117b324843ee 118 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 119 DisplaySendeString("Filament einlegen...");
scherfa2 40:117b324843ee 120 gotoxy(1,4);
scherfa2 40:117b324843ee 121 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 122 Set_Servo_Bad_Fil();
scherfa2 40:117b324843ee 123 Stepper_1_Run('V', 300);
scherfa2 40:117b324843ee 124
scherfa2 40:117b324843ee 125 StatusDUO=DUO_EINLEGEN;
scherfa2 38:3776ee18e56f 126 }
scherfa2 38:3776ee18e56f 127
scherfa2 40:117b324843ee 128 void DuoWechselFilament()
scherfa2 40:117b324843ee 129 {
scherfa2 40:117b324843ee 130 int static x = 0;
scherfa2 40:117b324843ee 131
scherfa2 40:117b324843ee 132 if((PLA == true)&& (x == 0))
scherfa2 40:117b324843ee 133 {
scherfa2 40:117b324843ee 134 gotoxy(1,4);
scherfa2 40:117b324843ee 135 DisplaySendeString("Start ABS");
scherfa2 40:117b324843ee 136
scherfa2 40:117b324843ee 137 PLA = false;
scherfa2 40:117b324843ee 138 ABS = true;
scherfa2 40:117b324843ee 139 x = 1;
scherfa2 40:117b324843ee 140 }
scherfa2 40:117b324843ee 141
scherfa2 40:117b324843ee 142 if( (ABS == true)&& (x == 0))
scherfa2 40:117b324843ee 143 {
scherfa2 40:117b324843ee 144 gotoxy(1,4);
scherfa2 40:117b324843ee 145 DisplaySendeString("Start PLA");
scherfa2 40:117b324843ee 146
scherfa2 40:117b324843ee 147 PLA = true;
scherfa2 40:117b324843ee 148 ABS = false;
scherfa2 40:117b324843ee 149 }
scherfa2 40:117b324843ee 150
scherfa2 40:117b324843ee 151 if(x == 1)
scherfa2 40:117b324843ee 152 {
scherfa2 40:117b324843ee 153 x = 0;
scherfa2 40:117b324843ee 154 }
scherfa2 40:117b324843ee 155 wait(0.3);
scherfa2 40:117b324843ee 156 StatusDUO=DUO_START;
scherfa2 40:117b324843ee 157 }
scherfa2 40:117b324843ee 158
scherfa2 40:117b324843ee 159 void EntryDuoFilaCut1()
scherfa2 38:3776ee18e56f 160 {
scherfa2 40:117b324843ee 161 /*********************************
scherfa2 40:117b324843ee 162
scherfa2 40:117b324843ee 163 CUT PROZESS
scherfa2 40:117b324843ee 164
scherfa2 40:117b324843ee 165 **********************************/
scherfa2 40:117b324843ee 166 DisplaySendeBefehl(0x01);
scherfa2 40:117b324843ee 167 gotoxy(1,1);
scherfa2 40:117b324843ee 168 DisplaySendeString("Filament wird ge-");
scherfa2 40:117b324843ee 169 gotoxy(1,3);
scherfa2 40:117b324843ee 170 DisplaySendeString("schnitten");
scherfa2 40:117b324843ee 171
scherfa2 40:117b324843ee 172 Stepper_1_Stop();
scherfa2 40:117b324843ee 173 Stepper_3_Leerlauf();
scherfa2 40:117b324843ee 174
scherfa2 40:117b324843ee 175 Stepper_3_SetPara(100, 100);
scherfa2 40:117b324843ee 176 Stepper_1_SetPara(100, 100);
scherfa2 40:117b324843ee 177
scherfa2 40:117b324843ee 178 Set_Cutter(500, 0, 1);
scherfa2 42:0aaa3b282b6e 179 motors2[0]->move(StepperMotor::FWD, 128*400*4);
scherfa2 40:117b324843ee 180 motors[0]->move(StepperMotor::BWD, 128*400*0.3);
scherfa2 40:117b324843ee 181 Set_Cutter(600, 0, 1);
scherfa2 40:117b324843ee 182
scherfa2 40:117b324843ee 183 motors2[0]->wait_while_active();
scherfa2 40:117b324843ee 184 motors[0]->move(StepperMotor::FWD, 128*400*0.3);
scherfa2 40:117b324843ee 185 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 186 Stepper_3_Leerlauf();
scherfa2 42:0aaa3b282b6e 187 // wait(10);
scherfa2 40:117b324843ee 188 Set_Servo_Good_Fil();
scherfa2 38:3776ee18e56f 189 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 190 Stepper_1_Run('V', 300);
scherfa2 40:117b324843ee 191
scherfa2 38:3776ee18e56f 192
scherfa2 38:3776ee18e56f 193 DisplaySendeBefehl(0x01);
scherfa2 38:3776ee18e56f 194 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 195 DisplaySendeString("Filament ist gut. ");
scherfa2 38:3776ee18e56f 196 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 197 DisplaySendeString("Wird gefoerdert... ");
scherfa2 38:3776ee18e56f 198 gotoxy(1,4);
scherfa2 40:117b324843ee 199 DisplaySendeString(" Abbruch");
scherfa2 34:0dee9a606869 200
scherfa2 40:117b324843ee 201 StatusDUO=DUO_FILA_CUT1;
scherfa2 40:117b324843ee 202 }
scherfa2 40:117b324843ee 203
scherfa2 40:117b324843ee 204 void EntryDuoFilaBad1()
scherfa2 42:0aaa3b282b6e 205 {
scherfa2 42:0aaa3b282b6e 206 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 207 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 208 DisplaySendeString("Schlechtes Filament ");
scherfa2 42:0aaa3b282b6e 209 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 210 DisplaySendeString("erkannt. ");
scherfa2 42:0aaa3b282b6e 211 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 212 DisplaySendeString("Wird aussortiert... ");
scherfa2 42:0aaa3b282b6e 213 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 214 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 215
scherfa2 40:117b324843ee 216 Stepper_1_SetPara(TRAVELSPEED+100, TRAVELACC+300);
scherfa2 40:117b324843ee 217 Stepper_1_GoHome();
scherfa2 42:0aaa3b282b6e 218 Set_Servo_Bad_Fil();
scherfa2 42:0aaa3b282b6e 219 Stepper_1_Run('V', 300);
scherfa2 42:0aaa3b282b6e 220
scherfa2 42:0aaa3b282b6e 221 StatusDUO=DUO_FILA_BAD1;
scherfa2 42:0aaa3b282b6e 222 }
scherfa2 42:0aaa3b282b6e 223
scherfa2 42:0aaa3b282b6e 224 void EntryDuoFilaGood2()
scherfa2 42:0aaa3b282b6e 225 {
scherfa2 42:0aaa3b282b6e 226 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 227 Stepper_1_MarkPos();
scherfa2 42:0aaa3b282b6e 228 Stepper_1_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 229 motors[0]->move(StepperMotor::FWD, 128*400*10);
scherfa2 42:0aaa3b282b6e 230
scherfa2 42:0aaa3b282b6e 231 StatusDUO=DUO_FILA_GOOD2;
scherfa2 42:0aaa3b282b6e 232 }
scherfa2 42:0aaa3b282b6e 233
scherfa2 42:0aaa3b282b6e 234 void EntryDuoFilaGood3()
scherfa2 42:0aaa3b282b6e 235 {
scherfa2 42:0aaa3b282b6e 236 Stepper_1_Leerlauf();
scherfa2 42:0aaa3b282b6e 237 Stepper_2_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 238 Stepper_2_Run('V', 300);
scherfa2 42:0aaa3b282b6e 239
scherfa2 42:0aaa3b282b6e 240 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 241 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 242 DisplaySendeString("Filament ist gut. ");
scherfa2 42:0aaa3b282b6e 243 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 244 DisplaySendeString("Wird gefoerdert... ");
scherfa2 42:0aaa3b282b6e 245 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 246 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 247
scherfa2 42:0aaa3b282b6e 248 StatusDUO=DUO_FILA_GOOD3;
scherfa2 42:0aaa3b282b6e 249 }
scherfa2 42:0aaa3b282b6e 250
scherfa2 42:0aaa3b282b6e 251 void EntryDuoFilaCut2()
scherfa2 42:0aaa3b282b6e 252 {
scherfa2 42:0aaa3b282b6e 253 Stepper_2_Stop();
scherfa2 42:0aaa3b282b6e 254 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 255
scherfa2 42:0aaa3b282b6e 256 /*********************************
scherfa2 42:0aaa3b282b6e 257
scherfa2 42:0aaa3b282b6e 258 CUT PROZESS
scherfa2 42:0aaa3b282b6e 259
scherfa2 42:0aaa3b282b6e 260 **********************************/
scherfa2 42:0aaa3b282b6e 261 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 262 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 263 DisplaySendeString("Schlechtes Filament ");
scherfa2 42:0aaa3b282b6e 264 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 265 DisplaySendeString("erkannt. ");
scherfa2 42:0aaa3b282b6e 266 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 267 DisplaySendeString("Wird geschnitten! ");
scherfa2 42:0aaa3b282b6e 268
scherfa2 42:0aaa3b282b6e 269 Stepper_2_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 270 Stepper_1_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 271
scherfa2 42:0aaa3b282b6e 272 Set_Cutter(500, 0, 1);
scherfa2 42:0aaa3b282b6e 273 motors[1]->move(StepperMotor::FWD, 128*400*4);
scherfa2 42:0aaa3b282b6e 274 motors[0]->move(StepperMotor::BWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 275 Set_Cutter(600, 0, 1);
scherfa2 42:0aaa3b282b6e 276
scherfa2 42:0aaa3b282b6e 277 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 278 motors[0]->move(StepperMotor::FWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 279 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 280
scherfa2 42:0aaa3b282b6e 281 // wait(10);
scherfa2 42:0aaa3b282b6e 282 Set_Servo_Good_Fil();
scherfa2 42:0aaa3b282b6e 283 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 284 Stepper_2_SetPara(400, 300);
scherfa2 42:0aaa3b282b6e 285 // motors[1]->move(StepperMotor::FWD, 128*400*);
scherfa2 42:0aaa3b282b6e 286 // motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 287 Stepper_2_Run('V', 150);
scherfa2 40:117b324843ee 288
scherfa2 42:0aaa3b282b6e 289
scherfa2 42:0aaa3b282b6e 290 StatusDUO=DUO_FILA_CUT2;
scherfa2 42:0aaa3b282b6e 291 }
scherfa2 42:0aaa3b282b6e 292
scherfa2 42:0aaa3b282b6e 293 void EntryDuoFilaAusschuss()
scherfa2 42:0aaa3b282b6e 294 {
scherfa2 42:0aaa3b282b6e 295 Stepper_2_Stop();
scherfa2 42:0aaa3b282b6e 296 Set_Servo_Bad_Fil();
scherfa2 42:0aaa3b282b6e 297 Stepper_3_Leerlauf();
scherfa2 42:0aaa3b282b6e 298 Stepper_1_Run('V', 300);
scherfa2 42:0aaa3b282b6e 299
scherfa2 42:0aaa3b282b6e 300 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 301 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 302 DisplaySendeString("Schlechtes Filament ");
scherfa2 42:0aaa3b282b6e 303 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 304 DisplaySendeString(" ");
scherfa2 42:0aaa3b282b6e 305 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 306 DisplaySendeString("Wird aussortiert... ");
scherfa2 42:0aaa3b282b6e 307 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 308 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 309
scherfa2 42:0aaa3b282b6e 310 StatusDUO=DUO_FILA_AUSSCHUSS;
scherfa2 42:0aaa3b282b6e 311 }
scherfa2 42:0aaa3b282b6e 312 void EntryFilaCut31()
scherfa2 42:0aaa3b282b6e 313 {
scherfa2 42:0aaa3b282b6e 314 /*********************************
scherfa2 42:0aaa3b282b6e 315
scherfa2 42:0aaa3b282b6e 316 CUT PROZESS
scherfa2 42:0aaa3b282b6e 317
scherfa2 42:0aaa3b282b6e 318 **********************************/
scherfa2 42:0aaa3b282b6e 319 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 320 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 321 DisplaySendeString("Filament wird ge-");
scherfa2 42:0aaa3b282b6e 322 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 323 DisplaySendeString("schnitten");
scherfa2 42:0aaa3b282b6e 324
scherfa2 42:0aaa3b282b6e 325 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 326 Stepper_3_Leerlauf();
scherfa2 42:0aaa3b282b6e 327
scherfa2 42:0aaa3b282b6e 328 Stepper_3_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 329 Stepper_1_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 330
scherfa2 42:0aaa3b282b6e 331 Set_Cutter(500, 0, 1);
scherfa2 42:0aaa3b282b6e 332 motors2[0]->move(StepperMotor::FWD, 128*400*4);
scherfa2 42:0aaa3b282b6e 333 motors[0]->move(StepperMotor::BWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 334 Set_Cutter(600, 0, 1);
scherfa2 42:0aaa3b282b6e 335
scherfa2 42:0aaa3b282b6e 336 motors2[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 337 motors[0]->move(StepperMotor::FWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 338 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 339 Stepper_3_Leerlauf();
scherfa2 42:0aaa3b282b6e 340 // wait(10);
scherfa2 42:0aaa3b282b6e 341 Set_Servo_Good_Fil();
scherfa2 42:0aaa3b282b6e 342 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 343 Stepper_1_Run('V', 300);
scherfa2 42:0aaa3b282b6e 344
scherfa2 42:0aaa3b282b6e 345
scherfa2 42:0aaa3b282b6e 346 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 347 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 348 DisplaySendeString("Filament ist gut. ");
scherfa2 42:0aaa3b282b6e 349 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 350 DisplaySendeString("Wird gefoerdert... ");
scherfa2 42:0aaa3b282b6e 351 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 352 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 353
scherfa2 42:0aaa3b282b6e 354 StatusDUO=DUO_FILA_CUT3_1;
scherfa2 42:0aaa3b282b6e 355 }
scherfa2 42:0aaa3b282b6e 356
scherfa2 42:0aaa3b282b6e 357 void EntryDuoFilaCut32()
scherfa2 42:0aaa3b282b6e 358 {
scherfa2 42:0aaa3b282b6e 359 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 360
scherfa2 42:0aaa3b282b6e 361 StatusDUO=DUO_FILA_CUT3_2;
scherfa2 42:0aaa3b282b6e 362 }
scherfa2 42:0aaa3b282b6e 363
scherfa2 42:0aaa3b282b6e 364 void EntryDuoSpleissenVorbeGood()
scherfa2 42:0aaa3b282b6e 365 {
scherfa2 42:0aaa3b282b6e 366 Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 367 Stepper_1_Run('V', 40);
scherfa2 42:0aaa3b282b6e 368
scherfa2 42:0aaa3b282b6e 369 StatusDUO = DUO_SPLEISSEN_VORBE_GOOD;
scherfa2 42:0aaa3b282b6e 370 }
scherfa2 42:0aaa3b282b6e 371
scherfa2 42:0aaa3b282b6e 372 void EntryDuoSpleissenGood()
scherfa2 42:0aaa3b282b6e 373 {
scherfa2 42:0aaa3b282b6e 374 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 375
scherfa2 42:0aaa3b282b6e 376 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 377 DisplaySendeBefehl(0x0C);
scherfa2 42:0aaa3b282b6e 378 gotoxy(1, 1);
scherfa2 42:0aaa3b282b6e 379 DisplaySendeString("ACHTUNG:");
scherfa2 42:0aaa3b282b6e 380 gotoxy(1, 2);
scherfa2 42:0aaa3b282b6e 381 DisplaySendeString("SPLEISSENUNG!!!");
scherfa2 42:0aaa3b282b6e 382
scherfa2 42:0aaa3b282b6e 383 Stepper_2_MarkPos();
scherfa2 42:0aaa3b282b6e 384
scherfa2 42:0aaa3b282b6e 385 // Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 386 // Stepper_1_Move('V', 0.11*400);
scherfa2 42:0aaa3b282b6e 387
scherfa2 42:0aaa3b282b6e 388 Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 389 Stepper_2_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 390
scherfa2 42:0aaa3b282b6e 391 motors[0]->move(StepperMotor::BWD, 128*400*0.25);
scherfa2 42:0aaa3b282b6e 392 motors[1]->move(StepperMotor::BWD, 128*400*0.26);
scherfa2 42:0aaa3b282b6e 393
scherfa2 42:0aaa3b282b6e 394 Set_Spleisser(ARConTIME, ARCoffTIME, REPETITONS);
scherfa2 42:0aaa3b282b6e 395
scherfa2 42:0aaa3b282b6e 396 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 397 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 398
scherfa2 42:0aaa3b282b6e 399 motors[0]->move(StepperMotor::FWD, 128*400*0.13);
scherfa2 42:0aaa3b282b6e 400 motors[1]->move(StepperMotor::FWD, 128*400*0.14);
scherfa2 42:0aaa3b282b6e 401
scherfa2 42:0aaa3b282b6e 402 Set_Spleisser(ARConTIME, ARCoffTIME, REPETITONS+2);
scherfa2 42:0aaa3b282b6e 403
scherfa2 42:0aaa3b282b6e 404 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 405 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 406
scherfa2 42:0aaa3b282b6e 407
scherfa2 42:0aaa3b282b6e 408 Stepper_1_SetPara(FILSPEED, FILACC);
scherfa2 42:0aaa3b282b6e 409 Stepper_2_SetPara(FILSPEED, FILACC);
scherfa2 42:0aaa3b282b6e 410
scherfa2 42:0aaa3b282b6e 411 motors[0]->move(StepperMotor::BWD, 0.55*400*128);
scherfa2 42:0aaa3b282b6e 412 Thread::wait(10);
scherfa2 42:0aaa3b282b6e 413 Stepper_2_Move('R', 0.65*400);
scherfa2 42:0aaa3b282b6e 414
scherfa2 42:0aaa3b282b6e 415 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 416 DisplaySendeBefehl(0x0C);
scherfa2 42:0aaa3b282b6e 417 gotoxy(1, 1);
scherfa2 42:0aaa3b282b6e 418 DisplaySendeString("Filament wird");
scherfa2 42:0aaa3b282b6e 419 gotoxy(1, 2);
scherfa2 42:0aaa3b282b6e 420 DisplaySendeString("abgekuehlt");
scherfa2 42:0aaa3b282b6e 421
scherfa2 42:0aaa3b282b6e 422 Thread::wait(COOLINGTIME*1000);
scherfa2 42:0aaa3b282b6e 423
scherfa2 42:0aaa3b282b6e 424 Stepper_1_SetPara(TRAVELSPEED+200, SLOWACC);
scherfa2 42:0aaa3b282b6e 425 Stepper_2_SetPara(TRAVELSPEED+200, SLOWACC);
scherfa2 42:0aaa3b282b6e 426
scherfa2 42:0aaa3b282b6e 427 motors[0]->move(StepperMotor::FWD, 128*400*0.8);
scherfa2 42:0aaa3b282b6e 428 motors[1]->move(StepperMotor::FWD, 128*400*0.8);
scherfa2 42:0aaa3b282b6e 429 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 430 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 431
scherfa2 42:0aaa3b282b6e 432 Stepper_1_Leerlauf();
scherfa2 42:0aaa3b282b6e 433
scherfa2 42:0aaa3b282b6e 434 Stepper_2_GoMark();
scherfa2 42:0aaa3b282b6e 435
scherfa2 42:0aaa3b282b6e 436 StatusDUO = DUO_SPLEISSEN_GOOD;
scherfa2 42:0aaa3b282b6e 437 }
scherfa2 42:0aaa3b282b6e 438
scherfa2 42:0aaa3b282b6e 439 void EntryDuoSpleissenVorbeBad()
scherfa2 42:0aaa3b282b6e 440 {
scherfa2 42:0aaa3b282b6e 441 Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 442 Stepper_1_Run('V', 40);
scherfa2 42:0aaa3b282b6e 443
scherfa2 42:0aaa3b282b6e 444 StatusDUO = DUO_SPLEISSEN_VORBE_BAD;
scherfa2 34:0dee9a606869 445 }
scherfa2 34:0dee9a606869 446
scherfa2 42:0aaa3b282b6e 447 void EntryDuoSpleissenBad()
scherfa2 42:0aaa3b282b6e 448 {
scherfa2 42:0aaa3b282b6e 449 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 450
scherfa2 42:0aaa3b282b6e 451 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 452 DisplaySendeBefehl(0x0C);
scherfa2 42:0aaa3b282b6e 453 gotoxy(1, 1);
scherfa2 42:0aaa3b282b6e 454 DisplaySendeString("ACHTUNG:");
scherfa2 42:0aaa3b282b6e 455 gotoxy(1, 2);
scherfa2 42:0aaa3b282b6e 456 DisplaySendeString("SPLEISSENUNG!!!");
scherfa2 42:0aaa3b282b6e 457
scherfa2 42:0aaa3b282b6e 458 Stepper_2_MarkPos();
scherfa2 42:0aaa3b282b6e 459
scherfa2 42:0aaa3b282b6e 460 // Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 461 // Stepper_1_Move('V', 0.11*400);
scherfa2 42:0aaa3b282b6e 462
scherfa2 42:0aaa3b282b6e 463 Stepper_1_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 464 Stepper_2_SetPara(PRECISIONSPEED, PRECISIONACC);
scherfa2 42:0aaa3b282b6e 465
scherfa2 42:0aaa3b282b6e 466 motors[0]->move(StepperMotor::BWD, 128*400*0.25);
scherfa2 42:0aaa3b282b6e 467 motors[1]->move(StepperMotor::BWD, 128*400*0.26);
scherfa2 42:0aaa3b282b6e 468
scherfa2 42:0aaa3b282b6e 469 Set_Spleisser(ARConTIME, ARCoffTIME, REPETITONS);
scherfa2 42:0aaa3b282b6e 470
scherfa2 42:0aaa3b282b6e 471 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 472 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 473
scherfa2 42:0aaa3b282b6e 474 motors[0]->move(StepperMotor::FWD, 128*400*0.13);
scherfa2 42:0aaa3b282b6e 475 motors[1]->move(StepperMotor::FWD, 128*400*0.14);
scherfa2 42:0aaa3b282b6e 476
scherfa2 42:0aaa3b282b6e 477 Set_Spleisser(ARConTIME, ARCoffTIME, REPETITONS+2);
scherfa2 42:0aaa3b282b6e 478
scherfa2 42:0aaa3b282b6e 479 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 480 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 481
scherfa2 42:0aaa3b282b6e 482
scherfa2 42:0aaa3b282b6e 483 Stepper_1_SetPara(FILSPEED, FILACC);
scherfa2 42:0aaa3b282b6e 484 Stepper_2_SetPara(FILSPEED, FILACC);
scherfa2 42:0aaa3b282b6e 485
scherfa2 42:0aaa3b282b6e 486 motors[0]->move(StepperMotor::BWD, 0.55*400*128);
scherfa2 42:0aaa3b282b6e 487 Thread::wait(10);
scherfa2 42:0aaa3b282b6e 488 Stepper_2_Move('R', 0.65*400);
scherfa2 42:0aaa3b282b6e 489
scherfa2 42:0aaa3b282b6e 490 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 491 DisplaySendeBefehl(0x0C);
scherfa2 42:0aaa3b282b6e 492 gotoxy(1, 1);
scherfa2 42:0aaa3b282b6e 493 DisplaySendeString("Filament wird");
scherfa2 42:0aaa3b282b6e 494 gotoxy(1, 2);
scherfa2 42:0aaa3b282b6e 495 DisplaySendeString("abgekuehlt");
scherfa2 42:0aaa3b282b6e 496
scherfa2 42:0aaa3b282b6e 497 Thread::wait(COOLINGTIME*1000);
scherfa2 42:0aaa3b282b6e 498
scherfa2 42:0aaa3b282b6e 499 Stepper_1_SetPara(TRAVELSPEED+200, SLOWACC);
scherfa2 42:0aaa3b282b6e 500 Stepper_2_SetPara(TRAVELSPEED+200, SLOWACC);
scherfa2 42:0aaa3b282b6e 501
scherfa2 42:0aaa3b282b6e 502 motors[0]->move(StepperMotor::FWD, 128*400*0.8);
scherfa2 42:0aaa3b282b6e 503 motors[1]->move(StepperMotor::FWD, 128*400*0.8);
scherfa2 42:0aaa3b282b6e 504 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 505 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 506
scherfa2 42:0aaa3b282b6e 507 Stepper_1_Leerlauf();
scherfa2 42:0aaa3b282b6e 508
scherfa2 42:0aaa3b282b6e 509 Stepper_2_GoMark();
scherfa2 42:0aaa3b282b6e 510
scherfa2 42:0aaa3b282b6e 511 StatusDUO = DUO_SPLEISSEN_BAD;
scherfa2 42:0aaa3b282b6e 512 }
scherfa2 42:0aaa3b282b6e 513
scherfa2 42:0aaa3b282b6e 514 void EntryDuoSpleissenVorbeBad2()
scherfa2 42:0aaa3b282b6e 515 {
scherfa2 42:0aaa3b282b6e 516 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 517
scherfa2 42:0aaa3b282b6e 518 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 519 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 520 DisplaySendeString("Schlechtes Filament ");
scherfa2 42:0aaa3b282b6e 521 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 522 DisplaySendeString("erkannt. ");
scherfa2 42:0aaa3b282b6e 523 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 524 DisplaySendeString("Zu erst Spleissen. ");
scherfa2 42:0aaa3b282b6e 525 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 526 DisplaySendeString(" Abbruch");
scherfa2 42:0aaa3b282b6e 527
scherfa2 42:0aaa3b282b6e 528 StatusDUO = DUO_SPLEISSEN_VORBE_BAD;
scherfa2 42:0aaa3b282b6e 529 }
scherfa2 42:0aaa3b282b6e 530
scherfa2 42:0aaa3b282b6e 531 void EntryDuoBad2()
scherfa2 42:0aaa3b282b6e 532 {
scherfa2 42:0aaa3b282b6e 533 Stepper_1_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 534 Stepper_2_Leerlauf();
scherfa2 42:0aaa3b282b6e 535 Stepper_1_GoHome();
scherfa2 42:0aaa3b282b6e 536 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 537 Stepper_2_Stop();
scherfa2 42:0aaa3b282b6e 538
scherfa2 42:0aaa3b282b6e 539 /*********************************
scherfa2 42:0aaa3b282b6e 540
scherfa2 42:0aaa3b282b6e 541 CUT PROZESS
scherfa2 42:0aaa3b282b6e 542
scherfa2 42:0aaa3b282b6e 543 **********************************/
scherfa2 42:0aaa3b282b6e 544 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 545 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 546 DisplaySendeString("Filament wird ge-");
scherfa2 42:0aaa3b282b6e 547 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 548 DisplaySendeString("schnitten");
scherfa2 42:0aaa3b282b6e 549
scherfa2 42:0aaa3b282b6e 550 Stepper_2_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 551 Stepper_1_SetPara(100, 100);
scherfa2 42:0aaa3b282b6e 552
scherfa2 42:0aaa3b282b6e 553 Set_Cutter(500, 0, 1);
scherfa2 42:0aaa3b282b6e 554 motors[1]->move(StepperMotor::FWD, 128*400*4);
scherfa2 42:0aaa3b282b6e 555 motors[0]->move(StepperMotor::BWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 556 Set_Cutter(600, 0, 1);
scherfa2 42:0aaa3b282b6e 557
scherfa2 42:0aaa3b282b6e 558 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 559 motors[0]->move(StepperMotor::FWD, 128*400*0.3);
scherfa2 42:0aaa3b282b6e 560 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 561
scherfa2 42:0aaa3b282b6e 562 // wait(10);
scherfa2 42:0aaa3b282b6e 563 Set_Servo_Good_Fil();
scherfa2 42:0aaa3b282b6e 564 Stepper_1_SetHome();
scherfa2 42:0aaa3b282b6e 565 Stepper_2_SetPara(400, 300);
scherfa2 42:0aaa3b282b6e 566 motors[1]->move(StepperMotor::FWD, 128*400*4);
scherfa2 42:0aaa3b282b6e 567 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 568 Stepper_2_Run('V', 150);
scherfa2 42:0aaa3b282b6e 569
scherfa2 42:0aaa3b282b6e 570 StatusDUO = DUO_FILA_BAD2;
scherfa2 42:0aaa3b282b6e 571 }
scherfa2 42:0aaa3b282b6e 572
scherfa2 42:0aaa3b282b6e 573 void EntryDuoFilaCut22()
scherfa2 42:0aaa3b282b6e 574 {
scherfa2 42:0aaa3b282b6e 575 StatusDUO = DUO_FILA_CUT2;
scherfa2 42:0aaa3b282b6e 576 }
scherfa2 42:0aaa3b282b6e 577
scherfa2 42:0aaa3b282b6e 578 void EntryDuoFertigBad()
scherfa2 42:0aaa3b282b6e 579 {
scherfa2 42:0aaa3b282b6e 580 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 581
scherfa2 42:0aaa3b282b6e 582 Stepper_1_SetPara(40, 100);
scherfa2 42:0aaa3b282b6e 583 Stepper_2_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 584 motors[0]->move(StepperMotor::FWD, 128*400*0.1);
scherfa2 42:0aaa3b282b6e 585 motors[0]->wait_while_active();
scherfa2 42:0aaa3b282b6e 586 motors[1]->move(StepperMotor::FWD, 128*400*2);
scherfa2 42:0aaa3b282b6e 587 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 588
scherfa2 42:0aaa3b282b6e 589
scherfa2 42:0aaa3b282b6e 590 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 591 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 592 DisplaySendeString("Filament ist fertig.");
scherfa2 42:0aaa3b282b6e 593 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 594 DisplaySendeString("Bitte Messmodul ent-");
scherfa2 42:0aaa3b282b6e 595 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 596 DisplaySendeString("fernen fuer Auswurf ");
scherfa2 42:0aaa3b282b6e 597
scherfa2 42:0aaa3b282b6e 598 while(InputKontrollmodul == 1){}
scherfa2 42:0aaa3b282b6e 599
scherfa2 42:0aaa3b282b6e 600 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 601 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 602 DisplaySendeString("ACHTUNG!");
scherfa2 42:0aaa3b282b6e 603 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 604 DisplaySendeString("Nur Auswurf druecken");
scherfa2 42:0aaa3b282b6e 605 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 606 DisplaySendeString("ohne Messmodul! ");
scherfa2 42:0aaa3b282b6e 607 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 608 DisplaySendeString(" Auswurf");
scherfa2 42:0aaa3b282b6e 609
scherfa2 42:0aaa3b282b6e 610 while(ButtonABBRUCH==false)
scherfa2 42:0aaa3b282b6e 611 {
scherfa2 42:0aaa3b282b6e 612 ButtonABBRUCH = get_Button_2();
scherfa2 42:0aaa3b282b6e 613 }
scherfa2 42:0aaa3b282b6e 614
scherfa2 42:0aaa3b282b6e 615 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 616 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 617 DisplaySendeString("Filament wegziehen, ");
scherfa2 42:0aaa3b282b6e 618 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 619 DisplaySendeString("wenn Schrittmotoren ");
scherfa2 42:0aaa3b282b6e 620 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 621 DisplaySendeString("nicht mehr greiffen.");
scherfa2 42:0aaa3b282b6e 622
scherfa2 42:0aaa3b282b6e 623 Stepper_1_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 624 Stepper_2_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 625 motors[1]->move(StepperMotor::FWD, 128*400*2);
scherfa2 42:0aaa3b282b6e 626 motors[1]->wait_while_active();
scherfa2 42:0aaa3b282b6e 627
scherfa2 42:0aaa3b282b6e 628 Stepper_1_Run('R', 300);
scherfa2 42:0aaa3b282b6e 629
scherfa2 42:0aaa3b282b6e 630 while(LS_1 == 0){}
scherfa2 42:0aaa3b282b6e 631
scherfa2 42:0aaa3b282b6e 632 Stepper_2_Leerlauf();
scherfa2 42:0aaa3b282b6e 633
scherfa2 42:0aaa3b282b6e 634 StatusDUO = DUO_FERTIG_BAD;
scherfa2 42:0aaa3b282b6e 635
scherfa2 42:0aaa3b282b6e 636 }
scherfa2 42:0aaa3b282b6e 637
scherfa2 42:0aaa3b282b6e 638 void EntryDuoFertigGood()
scherfa2 42:0aaa3b282b6e 639 {
scherfa2 42:0aaa3b282b6e 640 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 641 Stepper_1_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 642 Stepper_2_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 643 Stepper_2_Leerlauf();
scherfa2 42:0aaa3b282b6e 644 Stepper_2_Run('V', 300);
scherfa2 42:0aaa3b282b6e 645 Stepper_1_Run('V', 300);
scherfa2 42:0aaa3b282b6e 646 while(LS_1 == 0)
scherfa2 42:0aaa3b282b6e 647 {
scherfa2 42:0aaa3b282b6e 648
scherfa2 42:0aaa3b282b6e 649 }
scherfa2 42:0aaa3b282b6e 650 Stepper_2_Leerlauf();
scherfa2 42:0aaa3b282b6e 651 Stepper_1_Stop();
scherfa2 42:0aaa3b282b6e 652 Stepper_1_SetPara(40, 100);
scherfa2 42:0aaa3b282b6e 653
scherfa2 42:0aaa3b282b6e 654 motors[0]->move(StepperMotor::FWD, 128*400*0.1);
scherfa2 42:0aaa3b282b6e 655
scherfa2 42:0aaa3b282b6e 656 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 657 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 658 DisplaySendeString("Filament ist fertig.");
scherfa2 42:0aaa3b282b6e 659 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 660 DisplaySendeString("Bitte Messmodul ent-");
scherfa2 42:0aaa3b282b6e 661 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 662 DisplaySendeString("fernen fuer Auswurf ");
scherfa2 42:0aaa3b282b6e 663
scherfa2 42:0aaa3b282b6e 664 while(InputKontrollmodul == 1){}
scherfa2 42:0aaa3b282b6e 665
scherfa2 42:0aaa3b282b6e 666 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 667 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 668 DisplaySendeString("ACHTUNG!");
scherfa2 42:0aaa3b282b6e 669 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 670 DisplaySendeString("Nur Auswurf druecken");
scherfa2 42:0aaa3b282b6e 671 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 672 DisplaySendeString("ohne Messmodul! ");
scherfa2 42:0aaa3b282b6e 673 gotoxy(1,4);
scherfa2 42:0aaa3b282b6e 674 DisplaySendeString(" Auswurf");
scherfa2 42:0aaa3b282b6e 675
scherfa2 42:0aaa3b282b6e 676 while(ButtonABBRUCH==false)
scherfa2 42:0aaa3b282b6e 677 {
scherfa2 42:0aaa3b282b6e 678 ButtonABBRUCH = get_Button_2();
scherfa2 42:0aaa3b282b6e 679 }
scherfa2 42:0aaa3b282b6e 680
scherfa2 42:0aaa3b282b6e 681 DisplaySendeBefehl(0x01);
scherfa2 42:0aaa3b282b6e 682 gotoxy(1,1);
scherfa2 42:0aaa3b282b6e 683 DisplaySendeString("Filament wegziehen, ");
scherfa2 42:0aaa3b282b6e 684 gotoxy(1,3);
scherfa2 42:0aaa3b282b6e 685 DisplaySendeString("wenn Schrittmotoren ");
scherfa2 42:0aaa3b282b6e 686 gotoxy(1,2);
scherfa2 42:0aaa3b282b6e 687 DisplaySendeString("nicht mehr greiffen.");
scherfa2 42:0aaa3b282b6e 688
scherfa2 42:0aaa3b282b6e 689 Stepper_1_SetPara(300, 300);
scherfa2 42:0aaa3b282b6e 690
scherfa2 42:0aaa3b282b6e 691 Stepper_1_Run('R', 300);
scherfa2 42:0aaa3b282b6e 692
scherfa2 42:0aaa3b282b6e 693 while(LS_1 == 0){}
scherfa2 42:0aaa3b282b6e 694
scherfa2 42:0aaa3b282b6e 695
scherfa2 42:0aaa3b282b6e 696 StatusDUO = DUO_FERTIG_GOOD;
scherfa2 42:0aaa3b282b6e 697 }
scherfa2 27:23bd03a6a6f6 698
scherfa2 27:23bd03a6a6f6 699 void EntryDUO()
scherfa2 27:23bd03a6a6f6 700 {
scherfa2 38:3776ee18e56f 701 ButtonSTART = get_Button_1();
scherfa2 38:3776ee18e56f 702 ButtonABBRUCH = get_Button_2();
scherfa2 40:117b324843ee 703 Fila_Good = get_InputKontrollmodul();
scherfa2 42:0aaa3b282b6e 704 Fertig = get_FertigSignal();
scherfa2 38:3776ee18e56f 705
scherfa2 27:23bd03a6a6f6 706 switch(StatusDUO)
scherfa2 27:23bd03a6a6f6 707 {
scherfa2 27:23bd03a6a6f6 708 case DUO_DEFAULT:
scherfa2 40:117b324843ee 709
scherfa2 38:3776ee18e56f 710 EntryDuoStart();
scherfa2 38:3776ee18e56f 711 break;
scherfa2 34:0dee9a606869 712
scherfa2 38:3776ee18e56f 713 case DUO_START:
scherfa2 40:117b324843ee 714 printf("MODUS DUO\n\r");
scherfa2 38:3776ee18e56f 715 if(ButtonSTART==true)
scherfa2 38:3776ee18e56f 716 {
scherfa2 40:117b324843ee 717 ButtonSTART=false;
scherfa2 40:117b324843ee 718 EntryDuoEinlegen();
scherfa2 34:0dee9a606869 719 }
scherfa2 40:117b324843ee 720 else if(ButtonABBRUCH == true)
scherfa2 40:117b324843ee 721 {
scherfa2 40:117b324843ee 722 ButtonABBRUCH=false;
scherfa2 40:117b324843ee 723 DuoWechselFilament();
scherfa2 40:117b324843ee 724 }
scherfa2 40:117b324843ee 725
scherfa2 27:23bd03a6a6f6 726 break;
scherfa2 27:23bd03a6a6f6 727
scherfa2 40:117b324843ee 728 case DUO_EINLEGEN:
scherfa2 42:0aaa3b282b6e 729 if(Fila_Good == true) //für Test->==false wenn gedrückt(heisst Filament ist gut)
scherfa2 38:3776ee18e56f 730 {
scherfa2 40:117b324843ee 731 EntryDuoFilaCut1();
scherfa2 38:3776ee18e56f 732 }
scherfa2 38:3776ee18e56f 733
scherfa2 40:117b324843ee 734 else if(ButtonABBRUCH == true)
scherfa2 38:3776ee18e56f 735 {
scherfa2 40:117b324843ee 736 ButtonABBRUCH=false;
scherfa2 38:3776ee18e56f 737 EntryDuoDefault();
scherfa2 38:3776ee18e56f 738 }
scherfa2 38:3776ee18e56f 739
scherfa2 38:3776ee18e56f 740 break;
scherfa2 38:3776ee18e56f 741
scherfa2 40:117b324843ee 742 case DUO_FILA_CUT1:
scherfa2 42:0aaa3b282b6e 743 if(Fila_Good == false) //für Test->==true wenn nicht gedrückt(heisst Filament ist schlecht)
scherfa2 40:117b324843ee 744 {
scherfa2 40:117b324843ee 745 EntryDuoFilaBad1();
scherfa2 38:3776ee18e56f 746 }
scherfa2 40:117b324843ee 747 else if(LS_3 == 0)
scherfa2 38:3776ee18e56f 748 {
scherfa2 42:0aaa3b282b6e 749 // EntryDuoDefault();// nur für test
scherfa2 42:0aaa3b282b6e 750 EntryDuoFilaGood2();
scherfa2 38:3776ee18e56f 751 }
scherfa2 40:117b324843ee 752 else if(ButtonABBRUCH == true)
scherfa2 40:117b324843ee 753 {
scherfa2 40:117b324843ee 754 ButtonABBRUCH=false;
scherfa2 40:117b324843ee 755 EntryDuoDefault();
scherfa2 38:3776ee18e56f 756 }
scherfa2 27:23bd03a6a6f6 757 break;
scherfa2 27:23bd03a6a6f6 758
scherfa2 40:117b324843ee 759 case DUO_FILA_BAD1:
scherfa2 42:0aaa3b282b6e 760 if(Fila_Good == true) //für Test->==false wenn gedrückt(heisst Filament ist gut)
scherfa2 40:117b324843ee 761 {
scherfa2 42:0aaa3b282b6e 762 EntryDuoFilaCut1();
scherfa2 40:117b324843ee 763 }
scherfa2 40:117b324843ee 764 else if(ButtonABBRUCH == true)
scherfa2 40:117b324843ee 765 {
scherfa2 40:117b324843ee 766 ButtonABBRUCH=false;
scherfa2 40:117b324843ee 767 EntryDuoDefault();
scherfa2 40:117b324843ee 768 }
scherfa2 40:117b324843ee 769
scherfa2 27:23bd03a6a6f6 770 break;
scherfa2 27:23bd03a6a6f6 771
scherfa2 40:117b324843ee 772 case DUO_FILA_GOOD2:
scherfa2 42:0aaa3b282b6e 773 Stepper1CurrentPos = Stepper_1_GetPosition();
scherfa2 42:0aaa3b282b6e 774 Stepper1MarkPos = Stepper_1_GetMark();
scherfa2 42:0aaa3b282b6e 775 if(Stepper1CurrentPos > ((Stepper1MarkPos+(128*400*LAENGE_LS3_To_STEPPER2))-100))
scherfa2 42:0aaa3b282b6e 776 {
scherfa2 42:0aaa3b282b6e 777 EntryDuoFilaGood3();
scherfa2 42:0aaa3b282b6e 778 }
scherfa2 42:0aaa3b282b6e 779 else if(Fila_Good == false) //für Test->==true wenn nicht gedrückt(heisst Filament ist schlecht)
scherfa2 42:0aaa3b282b6e 780 {
scherfa2 42:0aaa3b282b6e 781 EntryDuoFilaBad1();
scherfa2 42:0aaa3b282b6e 782 }
scherfa2 42:0aaa3b282b6e 783 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 784 {
scherfa2 42:0aaa3b282b6e 785 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 786 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 787 }
scherfa2 40:117b324843ee 788 break;
scherfa2 40:117b324843ee 789
scherfa2 40:117b324843ee 790 case DUO_FILA_GOOD3:
scherfa2 42:0aaa3b282b6e 791 if(Fila_Good == false) //für Test->==true wenn nicht gedrückt(heisst Filament ist schlecht)
scherfa2 42:0aaa3b282b6e 792 {
scherfa2 42:0aaa3b282b6e 793 EntryDuoFilaCut2();
scherfa2 42:0aaa3b282b6e 794 }
scherfa2 42:0aaa3b282b6e 795 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 796 {
scherfa2 42:0aaa3b282b6e 797 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 798 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 799 }
scherfa2 42:0aaa3b282b6e 800 break;
scherfa2 40:117b324843ee 801
scherfa2 40:117b324843ee 802 case DUO_FILA_CUT2:
scherfa2 42:0aaa3b282b6e 803 if((LS_3 == 1) && (LS_2 == 1))
scherfa2 42:0aaa3b282b6e 804 {
scherfa2 42:0aaa3b282b6e 805 EntryDuoFilaAusschuss();
scherfa2 42:0aaa3b282b6e 806 }
scherfa2 42:0aaa3b282b6e 807 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 808 {
scherfa2 42:0aaa3b282b6e 809 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 810 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 811 }
scherfa2 27:23bd03a6a6f6 812 break;
scherfa2 27:23bd03a6a6f6 813
scherfa2 40:117b324843ee 814 case DUO_FILA_AUSSCHUSS:
scherfa2 42:0aaa3b282b6e 815 if(LS_1 == 1)
scherfa2 42:0aaa3b282b6e 816 {
scherfa2 42:0aaa3b282b6e 817 EntryDuoFertigBad();
scherfa2 42:0aaa3b282b6e 818 }
scherfa2 42:0aaa3b282b6e 819
scherfa2 42:0aaa3b282b6e 820 else if(Fila_Good == true) //für Test->==false wenn gedrückt(heisst Filament ist gut)
scherfa2 42:0aaa3b282b6e 821 {
scherfa2 42:0aaa3b282b6e 822 EntryFilaCut31();
scherfa2 42:0aaa3b282b6e 823 }
scherfa2 42:0aaa3b282b6e 824 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 825 {
scherfa2 42:0aaa3b282b6e 826 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 827 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 828 }
scherfa2 40:117b324843ee 829 break;
scherfa2 40:117b324843ee 830
scherfa2 40:117b324843ee 831 case DUO_FILA_CUT3_1:
scherfa2 42:0aaa3b282b6e 832 if((Fila_Good == false)&&(Fertig == true)) //für Test->==true wenn nicht gedrückt(heisst Filament ist schlecht)
scherfa2 42:0aaa3b282b6e 833 {
scherfa2 42:0aaa3b282b6e 834 EntryDuoFertigGood();
scherfa2 42:0aaa3b282b6e 835 }
scherfa2 42:0aaa3b282b6e 836 else if(Fila_Good == false) //für Test->==true wenn nicht gedrückt(heisst Filament ist schlecht)
scherfa2 42:0aaa3b282b6e 837 {
scherfa2 42:0aaa3b282b6e 838 EntryDuoFilaCut32();
scherfa2 42:0aaa3b282b6e 839 }
scherfa2 42:0aaa3b282b6e 840 else if(LS_2 == 0)
scherfa2 42:0aaa3b282b6e 841 {
scherfa2 42:0aaa3b282b6e 842 EntryDuoSpleissenVorbeGood();
scherfa2 42:0aaa3b282b6e 843 }
scherfa2 42:0aaa3b282b6e 844 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 845 {
scherfa2 42:0aaa3b282b6e 846 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 847 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 848 }
scherfa2 42:0aaa3b282b6e 849
scherfa2 40:117b324843ee 850 break;
scherfa2 40:117b324843ee 851
scherfa2 40:117b324843ee 852 case DUO_FILA_CUT3_2:
scherfa2 42:0aaa3b282b6e 853 if(Fertig == true)
scherfa2 42:0aaa3b282b6e 854 {
scherfa2 42:0aaa3b282b6e 855 EntryDuoFertigGood();
scherfa2 42:0aaa3b282b6e 856 }
scherfa2 42:0aaa3b282b6e 857 else if(LS_2 == 0)
scherfa2 42:0aaa3b282b6e 858 {
scherfa2 42:0aaa3b282b6e 859 EntryDuoSpleissenVorbeBad();
scherfa2 42:0aaa3b282b6e 860 }
scherfa2 42:0aaa3b282b6e 861 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 862 {
scherfa2 42:0aaa3b282b6e 863 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 864 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 865 }
scherfa2 40:117b324843ee 866 break;
scherfa2 40:117b324843ee 867
scherfa2 40:117b324843ee 868 case DUO_SPLEISSEN_VORBE_BAD:
scherfa2 42:0aaa3b282b6e 869 if(Fertig == true)
scherfa2 42:0aaa3b282b6e 870 {
scherfa2 42:0aaa3b282b6e 871 EntryDuoFertigGood();
scherfa2 42:0aaa3b282b6e 872 }
scherfa2 42:0aaa3b282b6e 873 if(LS_3 == 0)
scherfa2 42:0aaa3b282b6e 874 {
scherfa2 42:0aaa3b282b6e 875 EntryDuoSpleissenBad();
scherfa2 42:0aaa3b282b6e 876 }
scherfa2 42:0aaa3b282b6e 877 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 878 {
scherfa2 42:0aaa3b282b6e 879 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 880 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 881 }
scherfa2 27:23bd03a6a6f6 882 break;
scherfa2 27:23bd03a6a6f6 883
scherfa2 40:117b324843ee 884 case DUO_SPLEISSEN_BAD:
scherfa2 42:0aaa3b282b6e 885
scherfa2 42:0aaa3b282b6e 886 EntryDuoBad2();
scherfa2 40:117b324843ee 887 break;
scherfa2 40:117b324843ee 888
scherfa2 40:117b324843ee 889 case DUO_SPLEISSEN_VORBE_GOOD:
scherfa2 42:0aaa3b282b6e 890 if(Fertig == true)
scherfa2 42:0aaa3b282b6e 891 {
scherfa2 42:0aaa3b282b6e 892 EntryDuoFertigGood();
scherfa2 42:0aaa3b282b6e 893 }
scherfa2 42:0aaa3b282b6e 894 if(Fila_Good == false) //für Test->==true wenn gedrückt(heisst Filament ist schlecht)
scherfa2 42:0aaa3b282b6e 895 {
scherfa2 42:0aaa3b282b6e 896 EntryDuoSpleissenVorbeBad2();
scherfa2 42:0aaa3b282b6e 897 }
scherfa2 42:0aaa3b282b6e 898 else if(LS_3 == 0)
scherfa2 42:0aaa3b282b6e 899 {
scherfa2 42:0aaa3b282b6e 900 EntryDuoSpleissenGood();
scherfa2 42:0aaa3b282b6e 901 }
scherfa2 42:0aaa3b282b6e 902 else if(ButtonABBRUCH == true)
scherfa2 42:0aaa3b282b6e 903 {
scherfa2 42:0aaa3b282b6e 904 ButtonABBRUCH=false;
scherfa2 42:0aaa3b282b6e 905 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 906 }
scherfa2 27:23bd03a6a6f6 907 break;
scherfa2 27:23bd03a6a6f6 908
scherfa2 42:0aaa3b282b6e 909
scherfa2 40:117b324843ee 910 case DUO_SPLEISSEN_GOOD:
scherfa2 42:0aaa3b282b6e 911
scherfa2 42:0aaa3b282b6e 912 EntryDuoFilaGood3();
scherfa2 40:117b324843ee 913 break;
scherfa2 40:117b324843ee 914
scherfa2 40:117b324843ee 915 case DUO_FILA_BAD2:
scherfa2 42:0aaa3b282b6e 916
scherfa2 42:0aaa3b282b6e 917 EntryDuoFilaCut22();
scherfa2 40:117b324843ee 918 break;
scherfa2 40:117b324843ee 919
scherfa2 40:117b324843ee 920 case DUO_FERTIG_BAD:
scherfa2 42:0aaa3b282b6e 921 EntryDuoDefault();
scherfa2 42:0aaa3b282b6e 922 break;
scherfa2 42:0aaa3b282b6e 923
scherfa2 42:0aaa3b282b6e 924 case DUO_FERTIG_GOOD:
scherfa2 42:0aaa3b282b6e 925 EntryDuoDefault();
scherfa2 27:23bd03a6a6f6 926 break;
scherfa2 27:23bd03a6a6f6 927
scherfa2 27:23bd03a6a6f6 928 }
scherfa2 27:23bd03a6a6f6 929 }