plc:plc_examples
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
plc:plc_examples [2017/10/20 18:49] – skirillov | plc:plc_examples [2017/10/20 18:55] – skirillov | ||
---|---|---|---|
Line 181: | Line 181: | ||
==== Gantry Alignment Procedure (with Homing) ==== | ==== Gantry Alignment Procedure (with Homing) ==== | ||
- | <code c file=M132> | + | <code c M132> |
G10 L80 P5521 Q1 | G10 L80 P5521 Q1 | ||
G10 L80 P5525 Q1 | G10 L80 P5525 Q1 | ||
Line 192: | Line 192: | ||
G91 G0 Y | G91 G0 Y | ||
G04 P0.1 | G04 P0.1 | ||
- | |||
M135 | M135 | ||
+ | </ | ||
+ | |||
+ | <code c M135> | ||
+ | G10 L80 P5521 Q1 | ||
+ | G10 L80 P5525 Q1 | ||
+ | |||
+ | M146 P0 L1028 | ||
+ | |||
+ | M144 | ||
+ | G91 G0 Y100 F30 | ||
+ | G04 P0.1 | ||
+ | |||
+ | G90 G10 L70 P0 Y0 | ||
+ | G04 P0.1 | ||
+ | M145 P0 L1028 | ||
+ | G90 G10 L193 P97 Q5531 | ||
+ | |||
+ | debug #98 | ||
+ | G90 G10 L192 P98 Q7525 | ||
+ | debug #98 | ||
+ | debug #97 | ||
+ | G90 G10 L190 P97 Q98 | ||
+ | debug #97 | ||
+ | |||
+ | G90 G28.9 Y97 F200 | ||
+ | |||
+ | M146 P0 L1028 | ||
+ | |||
+ | G90 G10 L70 P0 Y0 | ||
+ | |||
+ | G90 G10 L80 P5521 Q0 | ||
+ | G90 G10 L80 P5525 Q0 | ||
+ | G90 G10 L80 P7395 Q0 (Homing Flag) | ||
+ | |||
+ | </ | ||
+ | |||
+ | <code c M144.plc> | ||
+ | //Look after input1 & input2 sensors, remember position, when triggered | ||
+ | |||
+ | main() | ||
+ | { | ||
+ | |||
+ | timer=0; | ||
+ | |||
+ | message=PLCCMD_MOTION_CONTINUE; | ||
+ | texit=timer+2; | ||
+ | |||
+ | ready=0; | ||
+ | |||
+ | state1=0; | ||
+ | state2=0; | ||
+ | |||
+ | e9000=portget(13);// | ||
+ | e9001=portget(14);// | ||
+ | |||
+ | state0=0; | ||
+ | |||
+ | m1=0; | ||
+ | m2=0; | ||
+ | |||
+ | do | ||
+ | { | ||
+ | | ||
+ | |||
+ | if (state0==0) | ||
+ | { | ||
+ | | ||
+ | if (a!=e9000) | ||
+ | { | ||
+ | m1=1; | ||
+ | position1=gvarget(5021+1); | ||
+ | state0=1; | ||
+ | }; | ||
+ | | ||
+ | if (a!=e9001) | ||
+ | { | ||
+ | m1=2; | ||
+ | position1=gvarget(5021+1); | ||
+ | state0=1; | ||
+ | }; | ||
+ | }else | ||
+ | { | ||
+ | if (m1==2) | ||
+ | { | ||
+ | | ||
+ | if (a!=e9000) | ||
+ | { | ||
+ | m2=1; | ||
+ | position2=gvarget(5021+1); | ||
+ | state0=2; | ||
+ | }; | ||
+ | }else | ||
+ | { | ||
+ | | ||
+ | if (a!=e9001) | ||
+ | { | ||
+ | m2=2; | ||
+ | position2=gvarget(5021+1); | ||
+ | state0=2; | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | |||
+ | }while(state0< | ||
+ | |||
+ | |||
+ | b=position1-position2; | ||
+ | |||
+ | |||
+ | |||
+ | if (b> | ||
+ | { | ||
+ | b=50000-b; | ||
+ | }; | ||
+ | c=0-25000; | ||
+ | if (b<c) | ||
+ | { | ||
+ | b=50000+b; | ||
+ | }; | ||
+ | |||
+ | |||
+ | |||
+ | gvarset(97, | ||
+ | texit=timer+30; | ||
+ | |||
+ | gvarset(7230, | ||
+ | if (m1==1) { gvarset(98, | ||
+ | else { x=0-1; gvarset(98, | ||
+ | |||
+ | message=PLCCMD_MOTION_SKIP; | ||
+ | // | ||
+ | texit=timer+2; | ||
+ | |||
+ | exit(99); | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | <code c M145.plc> | ||
+ | #define var_address var00 | ||
+ | #define var_value | ||
+ | |||
+ | main() | ||
+ | { | ||
+ | timer=0; | ||
+ | |||
+ | lparam=eparam>> | ||
+ | |||
+ | axis=1; | ||
+ | n=gvarget(7230); | ||
+ | |||
+ | channel=0xff; | ||
+ | if (n==1) {channel=0; | ||
+ | if (n==2) {channel=1; | ||
+ | if (n==4) {channel=2; | ||
+ | if (n==8) {channel=3; | ||
+ | |||
+ | if (channel> | ||
+ | { | ||
+ | message=PLCCMD_MOTION_ABORT; | ||
+ | texit=timer+2; | ||
+ | exit(99); | ||
+ | }; | ||
+ | |||
+ | |||
+ | var_value=15; | ||
+ | var_address=112+channel;// | ||
+ | message=PLCCMD_SET_CNC_VAR; | ||
+ | texit=timer+2; | ||
+ | |||
+ | exit(99); | ||
+ | |||
+ | }; | ||
+ | </ | ||
+ | |||
+ | <code c M146.plc> | ||
+ | #define var_address var00 | ||
+ | #define var_value | ||
+ | |||
+ | main() | ||
+ | { | ||
+ | timer=0; | ||
+ | |||
+ | dir=0; | ||
+ | |||
+ | axis=1; | ||
+ | channel=0; | ||
+ | |||
+ | var_address=112+channel;// | ||
+ | var_value=axis; | ||
+ | if (dir!=0) { var_value=16+axis; | ||
+ | message=PLCCMD_SET_CNC_VAR; | ||
+ | texit=timer+10; | ||
+ | |||
+ | |||
+ | channel=1; | ||
+ | |||
+ | var_address=112+channel;// | ||
+ | var_value=axis; | ||
+ | if (dir!=0) { var_value=16+axis; | ||
+ | message=PLCCMD_SET_CNC_VAR; | ||
+ | texit=timer+10; | ||
+ | |||
+ | gvarset(7230, | ||
+ | |||
+ | exit(99); | ||
+ | }; | ||
</ | </ | ||
- | <code c></ | ||
- | <code c></ | ||
- | <code c></ | ||
- | <code c></ | ||
plc/plc_examples.txt · Last modified: 2024/02/21 13:59 by ivan