plc:software_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:software_plc_examples [2018/09/24 21:10] – skirillov | plc:software_plc_examples [2021/02/03 16:05] – ivan | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== Software PLC examples ==== | ==== Software PLC examples ==== | ||
- | [[How to add mandatory Homing after Emergency Button and-or Servo ready alarm]] | + | * [[How to add mandatory Homing after Emergency Button and-or Servo ready alarm]] |
- | [[Button to toggle select output pin with indication]] | + | |
- | [[Oil Change counter]] | + | |
- | [[Controller Peripherals Test - BV17]] | + | |
- | [[plc: | + | |
=== Endless loop for G-code program === | === Endless loop for G-code program === | ||
Line 100: | Line 100: | ||
if (ymax> | if (ymax> | ||
- | gvarset(502, | + | gvarset(502, |
LR=gvarget(500); | LR=gvarget(500); | ||
- | if (LR==0) //левая | + | if (LR==0) //left |
{ | { | ||
- | // | + | // |
- | //do{ a=portget(11); | + | //do{ a=portget(11); |
- | //do{ a=gvarget(6065); | + | //do{ a=gvarget(6065); |
- | // | + | // |
| | ||
Line 116: | Line 116: | ||
| | ||
- | // | + | // |
- | //do{ a=portget(13); | + | //do{ a=portget(13); |
// | // | ||
| | ||
| | ||
- | | + | |
| | ||
Line 129: | Line 129: | ||
//// | //// | ||
// | // | ||
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
//// | //// | ||
do { | do { | ||
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
gvarset(100010, | gvarset(100010, | ||
- | timer=5; do{ timer--; }while(timer> | + | timer=5; do{ timer--; }while(timer> |
- | n=gvarget(5220);// | + | n=gvarget(5220);// |
- | } while(n!=1); | + | } while(n!=1); |
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | | + | |
- | | + | |
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | | + | |
- | + | }else //right | |
- | }else //правая | + | |
{ | { | ||
- | // | + | // |
- | // do{ a=portget(12); | + | // do{ a=portget(12); |
- | // | + | // |
| | ||
Line 158: | Line 157: | ||
| | ||
- | // | + | // |
- | // do{ a=portget(14); | + | // do{ a=portget(14); |
- | // | + | // |
| | ||
| | ||
- | | + | |
- | | + | |
| | ||
//// | //// | ||
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | //ждать пока УП завершится | + | //wait until the control program is finished |
//// | //// | ||
do{ | do{ | ||
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | gvarset(100010, | + | gvarset(100010, |
- | timer=5; do{ timer--; }while(timer> | + | timer=5; do{ timer--; }while(timer> |
- | n=gvarget(5220);// | + | n=gvarget(5220);// |
- | } while(n!=2);// | + | } while(n!=2);// |
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | | + | |
- | | + | |
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | | + | |
}; | }; | ||
- | | + | |
- | do{ a=gvarget(6065); | + | do{ a=gvarget(6065); |
- | LR=LR^1; | + | LR=LR^1; |
gvarset(500, | gvarset(500, | ||
Line 262: | Line 261: | ||
}; | }; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====Switching an output ON for a certain period of time==== | ||
+ | |||
+ | < | ||
+ | #define OUTPUT_TIMER 15 | ||
+ | main() | ||
+ | { | ||
+ | count=0; | ||
+ | do{ | ||
+ | a=gvarget(7373); | ||
+ | |||
+ | if (a!=0) | ||
+ | { | ||
+ | count++; | ||
+ | if (count< | ||
+ | else { | ||
+ | portclr(OUTPUT_TIMER); | ||
+ | if (count> | ||
+ | }; | ||
+ | }else | ||
+ | { | ||
+ | portclr(OUTPUT_TIMER); | ||
+ | count=0; | ||
+ | }; | ||
+ | }while(1); | ||
+ | exit(99); | ||
+ | }; | ||
</ | </ | ||
plc/software_plc_examples.txt · Last modified: 2022/03/29 15:55 by ivan