plc:software_plc_examples
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plc:software_plc_examples [2018/09/24 21:11] – skirillov | plc:software_plc_examples [2022/03/29 15:55] (current) – ivan | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== Software PLC examples ==== | ==== Software PLC examples ==== | ||
+ | |||
+ | //**NOTE**: The myCNC team recommends utilizing the examples provided in this manual (as well as other manuals in this documentation) as a starting point for your machine setup. When possible (and applicable), | ||
+ | |||
+ | ===General 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]] | ||
Line 100: | Line 104: | ||
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 120: | ||
| | ||
- | // | + | // |
- | //do{ a=portget(13); | + | //do{ a=portget(13); |
// | // | ||
| | ||
| | ||
- | | + | |
| | ||
Line 129: | Line 133: | ||
//// | //// | ||
// | // | ||
- | 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 161: | ||
| | ||
- | // | + | // |
- | // 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 205: | Line 208: | ||
- | ==== Jog Step (0.001, 0.01, 0.1 1.0) Indication with external LED display | + | ===Jog Step (0.001, 0.01, 0.1 1.0) Indication with external LED display=== |
Line 262: | Line 265: | ||
}; | }; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===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