Changes for page 01 Program execution

Last modified by Jiahao Lai on 2025/07/18 17:39

From version 33.1
edited by Mora Zhou
on 2024/12/05 16:14
Change comment: There is no comment for this version
To version 13.15
edited by Stone Wu
on 2022/09/23 16:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Mora
1 +XWiki.Stone
Content
... ... @@ -1,9 +1,11 @@
1 1  = **Summary** =
2 2  
3 -This manual provides a comprehensive introduction to the basic functions and actual use of WECON PLC Editor. It is completely aimed at zero-based readers and is an essential reference book for entry-level readers who want to quickly and fully grasp WECON PLC and WECON PLC Editor. 
4 -This book starts with the basic product of WECON PLC and the basic concept and operation of WECON PLC Editor. It then uses a large number of cases and graphic analysis to comprehensively and deeply explain the use of WECON PLC Editor Software and the PLC program.
5 -WECON Technology Co., Ltd. All rights reserved.
3 +This manual has a comprehensive introduction to the basic functions of WECON PLC Editor and the actual use. This book is completely aimed at zero-based readers, is an essential reference book for entry-level readers to quickly and fully grasp WECON PLC and WECON PLC Editor.
6 6  
5 +This book starts from the basic product of WECON PLC and the basic concept and operation of WECON PLC Editor. It combines with a large number of cases and graphic analysis to comprehensively and deeply explain the use of WECON PLC Editor Software, as well as PLC program.
6 +
7 +WECON technology Co., Ltd. All rights reserved.
8 +
7 7  = Precautions =
8 8  
9 9  Before the installation, operation, maintenance and repair of the micro programmable control, please read this manual and other related manuals to ensure correct use. Please use it after you have mastered the operation method, safety information and all
... ... @@ -27,8 +27,8 @@
27 27  (((
28 28  **✎Note:**
29 29  
30 -* To prevent the temperature from rising, do not install at the bottom, top or vertical direction. Be sure to install it horizontally on the wall as shown on the right.
31 -* Please leave a space of more than 50mm between the host and other equipment or structures. Try to avoid high-voltage lines, high-voltage equipment, and power equipment.
32 +* To prevent the temperature from rising, do not install at the bottom, top or vertical direction.Be sure to install it horizontally on the wall as shown on the right.
33 +* Please leave a space of more than 50mm between the host and other equipment or structures.Try to avoid high-voltage lines, high-voltage equipment, and power equipment.
32 32  )))
33 33  
34 34  == Wiring ==
... ... @@ -129,7 +129,7 @@
129 129  The initialization based on the status of the CPU module is as follows.
130 130  
131 131  * **√**: execute
132 -* **×**: not execute
134 +* **×**: not execute
133 133  
134 134  (% class="table-bordered" %)
135 135  |=(% rowspan="2" %)**Processing item**|=(% colspan="3" %)**Status of the CPU module**
... ... @@ -245,7 +245,7 @@
245 245  *1: Scan program paging: multiple scan programs are established, and each scan program is called a paging. After scan program A is executed, before scan program B is executed, it will be judged whether an event program needs to be executed.
246 246  
247 247  (% style="text-align:center" %)
248 -[[image:image-20220926104203-1.jpeg||class="img-thumbnail"]]
250 +[[image:1652247397997-492.png||class="img-thumbnail"]]
249 249  
250 250  When it is the turn of the execution sequence of event execution type program C and Y50 is ON, the program is executed.
251 251  
... ... @@ -359,6 +359,7 @@
359 359  * During the execution of the interrupt program, when an interrupt cause with a low priority or the same priority occurs.
360 360  ** The interruption cause that occurred is stored, and after the interrupt program in execution ends, the interrupt program corresponding to the stored interruption cause is executed. Even if the same interruption cause occurs multiple times, the interruption cause is stored only once.
361 361  
364 +
362 362  (% style="text-align:center" %)
363 363  [[image:1652249673420-476.png||class="img-thumbnail"]]
364 364  
... ... @@ -432,7 +432,7 @@
432 432  [[image:1-20.png||class="img-thumbnail"]]
433 433  
434 434  (% class="table-bordered" %)
435 -|=(% colspan="2" %)**Project**|=**Content**|=**Setting range**|=**Default**
438 +|(% colspan="2" %)**Project**|**Content**|**Setting range**|**Default**
436 436  |(% colspan="2" %)Execution type|Select the type of interrupt|Not set/External input interrupt/Timer event/high-speed counter interrupt|Not set
437 437  |(% rowspan="2" %)Timer interrupt|Time|Set the interval time for interrupt triggering|1 to 2147483647 (100us unit)|
438 438  |priority|When multiple interrupts arrive at the same time, the order of priority execution, the smallest value is executed first|0 to 2|0
... ... @@ -470,7 +470,7 @@
470 470  [[image:1-23.png||class="img-thumbnail"]]
471 471  
472 472  (% class="table-bordered" %)
473 -|=(% colspan="2" %)**Project**|=**Content**|=**Setting range**|=**Default**
476 +|(% colspan="2" %)**Project**|**Content**|**Setting range**|**Default**
474 474  |(% colspan="2" %)Execution type|Select the type of interrupt|Not set, External input interrupt, Timer event, high-speed counter interrupt|Not set
475 475  |(% rowspan="5" %)High count interrupt|Mode|(((
476 476  Select the type of high-speed counter interrupt:
... ... @@ -501,7 +501,7 @@
501 501   Description of triggering rules
502 502  
503 503  (% class="table-bordered" %)
504 -|=(% style="width: 135px;" %)**Mode**|=(% style="width: 187px;" %)**Configuration**|=(% style="width: 128px;" %)**The current value**|=(% style="width: 324px;" %)**Action**
507 +|(% style="width:135px" %)**Mode**|(% style="width:187px" %)**Configuration**|(% style="width:128px" %)**The current value**|(% style="width:324px" %)**Action**
505 505  |(% rowspan="2" style="width:135px" %)High-speed compare interrupt (INT0)|(% rowspan="2" style="width:187px" %)Comparison value: 10000|(% style="width:128px" %)9999 → 10000|(% style="width:324px" %)Execute all programs in interrupt INT0
506 506  |(% style="width:128px" %)10001 → 10000|(% style="width:324px" %)Execute all programs in interrupt INT0
507 507  |(% rowspan="2" style="width:135px" %)High-speed comparison set (INT1)|(% rowspan="2" style="width:187px" %)(((
... ... @@ -574,107 +574,111 @@
574 574  
575 575  (% class="table-bordered" %)
576 576  |=(% colspan="4" %)**External input interrupt mask register**
577 -|=(% style="width: 266px;" %)**Special register number**|=(% style="width: 308px;" %)**Type of interrupt**|=(% style="width: 390px;" %)**Instruction**|=**Defaults**
578 -|(% style="width:266px" %)SM352|(% style="width:308px" %)X0 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
579 -|(% style="width:266px" %)SM353|(% style="width:308px" %)X0 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
580 -|(% style="width:266px" %)SM354|(% style="width:308px" %)X1 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
581 -|(% style="width:266px" %)SM355|(% style="width:308px" %)X1 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
582 -|(% style="width:266px" %)SM356|(% style="width:308px" %)X2 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
583 -|(% style="width:266px" %)SM357|(% style="width:308px" %)X2 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
584 -|(% style="width:266px" %)SM358|(% style="width:308px" %)X3 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
585 -|(% style="width:266px" %)SM359|(% style="width:308px" %)X3 falling edge interrupt|(% style="width:390px" %)ON: Shield interrupts; OFF: interrupt allowed|OFF
586 -|(% style="width:266px" %)SM360|(% style="width:308px" %)X4 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
587 -|(% style="width:266px" %)SM361|(% style="width:308px" %)X4 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
588 -|(% style="width:266px" %)SM362|(% style="width:308px" %)X5 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
589 -|(% style="width:266px" %)SM363|(% style="width:308px" %)X5 falling edge interrupt|(% style="width:390px" %)ON: Shield interrupts; OFF: interrupt allowed|OFF
590 -|(% style="width:266px" %)SM364|(% style="width:308px" %)X6 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
591 -|(% style="width:266px" %)SM365|(% style="width:308px" %)X6 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
592 -|(% style="width:266px" %)SM366|(% style="width:308px" %)X7 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
593 -|(% style="width:266px" %)SM367|(% style="width:308px" %)X7 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF
580 +|=**Special register number**|=**Type of interrupt**|=**Instruction**|=**Defaults**
581 +|SM352|X0 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
582 +|SM353|X0 falling edge interrupt|(((
583 +ON: Ma
594 594  
585 +sk interrupt OFF: Enable interrupt
586 +)))|OFF
587 +|SM354|X1 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
588 +|SM355|X1 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
589 +|SM356|X2 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
590 +|SM357|X2 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
591 +|SM358|X3 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
592 +|SM359|X3 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
593 +|SM360|X4 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
594 +|SM361|X4 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
595 +|SM362|X5 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
596 +|SM363|X5 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
597 +|SM364|X6 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
598 +|SM365|X6 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
599 +|SM366|X7 rising edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
600 +|SM367|X7 falling edge interrupt|ON: Mask interrupt OFF: Enable interrupt|OFF
601 +
595 595  (% class="table-bordered" %)
596 596  |=(% colspan="4" %)**Timer interrupt mask register**
597 -|=(% style="width: 262px;" %)**Special register number**|=(% style="width: 309px;" %)**Type of interrupt**|=(% style="width: 394px;" %)**Instruction**|=(% style="width: 110px;" %)**Default**
598 -|(% style="width:262px" %)SD350|(% style="width:309px" %)1st to 16th timer interrupt|(% style="width:394px" %)(((
604 +|=**Special register number**|=**Type of interrupt**|=**Instruction**|=**Default**
605 +|SD350|1st to 16th timer interrupt|(((
599 599  Each bit can control the mask of an interrupt.
600 600  
601 -ON: shield interrupts; OFF: interrupt allowed
602 -)))|(% style="width:110px" %)0
603 -|(% style="width:262px" %)SD351|(% style="width:309px" %)17th to 32th timer interrupt|(% style="width:394px" %)(((
608 +ON: Mask interrupt OFF: Enable interrupt
609 +)))|0
610 +|SD351|17th to 32th timer interrupt|(((
604 604  Each bit can control the mask of an interrupt.
605 605  
606 -ON: shield interrupts; OFF: interrupt allowed
607 -)))|(% style="width:110px" %)0
608 -|(% style="width:262px" %)SD352|(% style="width:309px" %)33th to 48th timer interrupt|(% style="width:394px" %)(((
613 +ON: Mask interrupt OFF: Enable interrupt
614 +)))|0
615 +|SD352|33th to 48th timer interrupt|(((
609 609  Each bit can control the mask of an interrupt.
610 610  
611 -ON: shield interrupts; OFF: interrupt allowed
612 -)))|(% style="width:110px" %)0
613 -|(% style="width:262px" %)SD353|(% style="width:309px" %)49th to 64th timer interrupt|(% style="width:394px" %)(((
618 +ON: Mask interrupt OFF: Enable interrupt
619 +)))|0
620 +|SD353|49th to 64th timer interrupt|(((
614 614  Each bit can control the mask of an interrupt.
615 615  
616 -ON: shield interrupts; OFF: interrupt allowed
617 -)))|(% style="width:110px" %)0
618 -|(% style="width:262px" %)SD354|(% style="width:309px" %)65th to 80th timer interrupt|(% style="width:394px" %)(((
623 +ON: Mask interrupt OFF: Enable interrupt
624 +)))|0
625 +|SD354|65th to 80th timer interrupt|(((
619 619  Each bit can control the mask of an interrupt.
620 620  
621 -ON: shield interrupts; OFF: interrupt allowed
622 -)))|(% style="width:110px" %)0
623 -|(% style="width:262px" %)SD355|(% style="width:309px" %)81st to 96th timer interrupt|(% style="width:394px" %)(((
628 +ON: Mask interrupt OFF: Enable interrupt
629 +)))|0
630 +|SD355|81st to 96th timer interrupt|(((
624 624  Each bit can control the mask of an interrupt.
625 625  
626 -ON: shield interrupts; OFF: interrupt allowed
627 -)))|(% style="width:110px" %)0
628 -|(% style="width:262px" %)SD356|(% style="width:309px" %)97th to 100th timer interrupt|(% style="width:394px" %)(((
633 +ON: Mask interrupt OFF: Enable interrupt
634 +)))|0
635 +|SD356|97th to 100th timer interrupt|(((
629 629  Each bit can control the mask of an interrupt.
630 630  
631 -ON: shield interrupts; OFF: interrupt allowed
632 -)))|(% style="width:110px" %)0
638 +ON: Mask interrupt OFF: Enable interrupt
639 +)))|0
633 633  
634 634  1. high-speed counter interrupt mask register
635 635  
636 636  (% class="table-bordered" %)
637 -|=(% colspan="4" %)**High-speed counter interrupt mask register**
638 -|=(% style="width: 230px;" %)**Special register number**|=(% style="width: 348px;" %)**Type of interrupt**|=(% style="width: 387px;" %)**Instruction**|=(% style="width: 110px;" %)**Default**
639 -|(% style="width:230px" %)SD382|(% style="width:348px" %)1st to 16th high-speed counter interrupt|(% style="width:387px" %)(((
644 +|(% colspan="4" %)**High-speed counter interrupt mask register**
645 +|**Special register number**|**Type of interrupt**|**Instruction**|**Default**
646 +|SD382|1st to 16th high-speed counter interrupt|(((
640 640  Each bit can control the mask of an interrupt.
641 641  
642 -ON: shield interrupts; OFF: interrupt allowed
643 -)))|(% style="width:110px" %)0
644 -|(% style="width:230px" %)SD383|(% style="width:348px" %)17th to 32nd high-speed counter interrupt|(% style="width:387px" %)(((
649 +ON: Mask interrupt OFF: Enable interrupt
650 +)))|0
651 +|SD383|17th to 32nd high-speed counter interrupt|(((
645 645  Each bit can control the mask of an interrupt.
646 646  
647 -ON: shield interrupts; OFF: interrupt allowed
648 -)))|(% style="width:110px" %)0
649 -|(% style="width:230px" %)SD384|(% style="width:348px" %)33th to 48th high-speed counter interrupt|(% style="width:387px" %)(((
654 +ON: Mask interrupt OFF: Enable interrupt
655 +)))|0
656 +|SD384|33th to 48th high-speed counter interrupt|(((
650 650  Each bit can control the mask of an interrupt.
651 651  
652 -ON: shield interrupts; OFF: interrupt allowed
653 -)))|(% style="width:110px" %)0
654 -|(% style="width:230px" %)SD385|(% style="width:348px" %)49th to 64th high-speed counter interrupt|(% style="width:387px" %)(((
659 +ON: Mask interrupt OFF: Enable interrupt
660 +)))|0
661 +|SD385|49th to 64th high-speed counter interrupt|(((
655 655  Each bit can control the mask of an interrupt.
656 656  
657 -ON: shield interrupts; OFF: interrupt allowed
658 -)))|(% style="width:110px" %)0
659 -|(% style="width:230px" %)SD386|(% style="width:348px" %)65th to 80th high-speed counter interrupt|(% style="width:387px" %)(((
664 +ON: Mask interrupt OFF: Enable interrupt
665 +)))|0
666 +|SD386|65th to 80th high-speed counter interrupt|(((
660 660  Each bit can control the mask of an interrupt.
661 661  
662 -ON: shield interrupts; OFF: interrupt allowed
663 -)))|(% style="width:110px" %)0
664 -|(% style="width:230px" %)SD387|(% style="width:348px" %)81st to 96th high-speed counter interrupt|(% style="width:387px" %)(((
669 +ON: Mask interrupt OFF: Enable interrupt
670 +)))|0
671 +|SD387|81st to 96th high-speed counter interrupt|(((
665 665  Each bit can control the mask of an interrupt.
666 666  
667 -ON: shield interrupts; OFF: interrupt allowed
668 -)))|(% style="width:110px" %)0
669 -|(% style="width:230px" %)SD388|(% style="width:348px" %)97th to 100th high-speed counter interrupt|(% style="width:387px" %)(((
674 +ON: Mask interrupt OFF: Enable interrupt
675 +)))|0
676 +|SD388|97th to 100th high-speed counter interrupt|(((
670 670  Each bit can control the mask of an interrupt.
671 671  
672 -ON: shield interrupts; OFF: interrupt allowed
673 -)))|(% style="width:110px" %)0
679 +ON: Mask interrupt OFF: Enable interrupt
680 +)))|0
674 674  
675 675  == Subroutine ==
676 676  
677 -During the execution of the scan program, the executed program can be called by the CALL instruction. You can create up to 100 new subprograms.
684 +During the execution of the scan program, the executed program can be called by the CALL instruction.
678 678  
679 679  A subroutine is to split a certain module in the main program for the main program to call, which is conducive to the modularization of the program. Such as other high-level language functions, but this function has no parameters and no return value.
680 680  
... ... @@ -681,7 +681,7 @@
681 681  (% style="text-align:center" %)
682 682  [[image:1652250926997-587.png||class="img-thumbnail"]]
683 683  
684 -**Instructions for calling subroutines**
691 +1. Instructions for calling subroutines
685 685  
686 686  After a new subroutine is created, the content of the program is not executed. It is executed only when the CALL(P) instruction is used to call the subroutine in the scan, event, and interrupt programs, and the call is executed once. Three new subroutines SUB0, SUB1, SUB2 are created as shown in the figure below. In the main program MAIN, the subprogram can be called by using the CALL(P) subprogram program name.
687 687  
... ... @@ -690,87 +690,87 @@
690 690  (% style="text-align:center" %)
691 691  [[image:1-28.png||class="img-thumbnail"]]
692 692  
693 -(% class="box infomessage" %)
694 -(((
695 -**✎Note:**
700 +**~ 1.✎Note:**
696 696  
697 697  1. When using the timer (OUT T), note that the output will not be reset when the subroutine is not called, and a specific subroutine register must be used.
698 698  1. It is not allowed to call recursively between subprograms, that is, call SUB1 in SUB0, and then call SUB0 in SUB1. This is not allowed.
699 699  1. The subroutine can be nested up to 32 levels. If the level exceeds 32 levels, a serious error will be reported and the Circuit program operation will be forcibly stopped.
700 700  1. Unlike the LX3V series mainframe, the subroutine in the LX5V series mainframe ends with the END instruction instead of SRET.
701 -)))
702 702  
703 703  == Positioning instructions ==
704 704  
705 -(% class="wikigeneratedid" %)
706 -**Event**
709 + ~1. Event
707 707  
708 -(% class="wikigeneratedid" %)
709 -ON event
711 + 1.ON event
710 710  
711 -* If the high-speed pulse instruction is turned on during the ON event, the high-speed pulse instruction will be sent as normal. If the ON contact of the trigger event in the scan period is turned OFF during the pulse sending, select whether to continue sending the pulse or stop the pulse according to the unscanned processing flag bit.
713 +If the high-speed pulse instruction is turned on during the ON event, the high-speed pulse instruction will be sent as normal. If the ON contact of the trigger event in the scan period is turned OFF during the pulse sending, select whether to continue sending the pulse or stop the pulse according to the unscanned processing flag bit.
712 712  
713 713  (% class="table-bordered" %)
714 -|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
715 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
716 +|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
717 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
716 716  
717 -* When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, continue to send pulses until it stops. At this time, it should be noted that if the trigger event OFF contact turns ON after the pulse is sent, the pulse will be sent again.
718 -* When the flag bit is 1 (stop sending pulses), if the trigger event ON contact turns OFF in a certain scan period, it will decelerate and stop.
719 +When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, continue to send pulses until it stops. At this time, it should be noted that if the trigger event OFF contact turns ON after the pulse is sent, the pulse will be sent again.
719 719  
720 - TIME event
721 +When the flag bit is 1 (stop sending pulses), if the trigger event ON contact turns OFF in a certain scan period, it will decelerate and stop.
721 721  
722 -* If the high-speed pulse instruction is turned on in the TIME event, the high-speed pulse instruction will be sent as normal. If the instruction is not scanned in a certain scan period during the pulse transmission, select whether to continue sending the pulse or stop the pulse according to the unscanned processing flag bit.
723 + 2. TIME event
723 723  
725 +If the high-speed pulse instruction is turned on in the TIME event, the high-speed pulse instruction will be sent as normal. If the instruction is not scanned in a certain scan period during the pulse transmission, select whether to continue sending the pulse or stop the pulse according to the unscanned processing flag bit.
726 +
724 724  (% class="table-bordered" %)
725 -|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
726 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
728 +|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
729 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
727 727  
728 -* When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, the pulse will continue to be sent until it stops. In the TIME event, it is impossible to ensure that the instruction is scanned in every scan cycle, so you should avoid using high-speed pulse instructions in the TIME time, otherwise the pulse will be sent again after the pulse is sent.
729 -* When the flag bit is 1 (stop sending pulses), if the instruction is not scanned in the current scan cycle, it will decelerate and stop. In the TIME event, if the flag bit is set to 1 (stop sending pulses), there will be no pulse sending.
731 +When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, the pulse will continue to be sent until it stops. In the TIME event, it is impossible to ensure that the instruction is scanned in every scan cycle, so you should avoid using high-speed pulse instructions in the TIME time, otherwise the pulse will be sent again after the pulse is sent.
730 730  
731 -**Subroutine**
733 +When the flag bit is 1 (stop sending pulses), if the instruction is not scanned in the current scan cycle, it will decelerate and stop. In the TIME event, if the flag bit is set to 1 (stop sending pulses), there will be no pulse sending.
732 732  
735 + 2. Subroutine
736 +
733 733  If the high-speed pulse instruction is turned on in the subroutine, the high-speed pulse instruction will be sent as normal. If the scanning period is closed during pulse sending, select whether to continue sending or stop the pulse according to the unscanned processing flag.
734 734  
735 735  (% class="table-bordered" %)
736 -|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
737 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
740 +|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
741 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
738 738  
739 739  When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, the pulse will continue to be sent until it stops. At this time, it should be noted that if the subroutine is called again after the pulse is sent, the pulse will be sent again.
740 740  
741 741  When the flag bit is 1 (stop sending pulses), if the subroutine is closed during high-speed pulse sending, the speed will decelerate and stop. If the subroutine is closed before sending the pulse, then no pulse is sent.
742 742  
743 -**Interrupt**
747 + 3. Interrupt
744 744  
745 -External interrupt
749 +1. External interrupt
746 746  
747 -* If the high-speed pulse instruction is enabled in the external interrupt, the high-speed pulse instruction selects whether the pulse continues to be sent or the pulse stops according to the unscanned processing flag bit.
751 +If the high-speed pulse instruction is enabled in the external interrupt, the high-speed pulse instruction selects whether the pulse continues to be sent or the pulse stops according to the unscanned processing flag bit.
748 748  
749 749  (% class="table-bordered" %)
750 -|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
751 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
754 +|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
755 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
752 752  
753 -* When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops.
754 -* When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops.
757 +When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops.
755 755  
756 -Timer interrupt
759 +When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops.
757 757  
758 -* If the high-speed pulse instruction is turned on in the timer interruption, the high-speed pulse instruction is sent as normal. If the instruction is not scanned in a certain scan period in the pulse transmission, the pulse continues to be sent or the pulse stops is selected according to the unscanned processing flag.
761 + 2. Timer interrupt
759 759  
763 +If the high-speed pulse instruction is turned on in the timer interruption, the high-speed pulse instruction is sent as normal. If the instruction is not scanned in a certain scan period in the pulse transmission, the pulse continues to be sent or the pulse stops is selected according to the unscanned processing flag.
764 +
760 760  (% class="table-bordered" %)
761 -|=(% scope="row" %)**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
762 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
766 +|**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
767 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
763 763  
764 -* When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, continue to send pulses until it stops. In the timer interrupt, it is impossible to ensure that the instruction is scanned in every scan cycle, so it is necessary to avoid using high-speed pulse instructions in the T timer interrupt. Otherwise, after the pulse transmission is completed, the pulse will be sent again.
765 -* When the flag bit is 1 (stop sending pulses), if the instruction is not scanned in the current scan cycle, it will decelerate and stop. In the TIME event, if the flag bit is set to 1 (stop sending pulses), there will be no pulse sending.
769 +When the flag bit is 0 (continue to send pulse), if the instruction is not scanned in the current scan cycle, continue to send pulses until it stops. In the timer interrupt, it is impossible to ensure that the instruction is scanned in every scan cycle, so it is necessary to avoid using high-speed pulse instructions in the T timer interrupt. Otherwise, after the pulse transmission is completed, the pulse will be sent again.
766 766  
767 -High-speed comparison interrupt
771 +When the flag bit is 1 (stop sending pulses), if the instruction is not scanned in the current scan cycle, it will decelerate and stop. In the TIME event, if the flag bit is set to 1 (stop sending pulses), there will be no pulse sending.
768 768  
769 -* If the high-speed pulse instruction is enabled in the high-speed comparison interrupt, the high-speed pulse instruction selects whether the pulse continues to be sent or the pulse stops according to the unscanned processing flag.
773 + 3.High-speed comparison interrupt
770 770  
775 +If the high-speed pulse instruction is enabled in the high-speed comparison interrupt, the high-speed pulse instruction selects whether the pulse continues to be sent or the pulse stops according to the unscanned processing flag.
776 +
771 771  (% class="table-bordered" %)
772 -|=(% scope="row" %)**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
773 -|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
778 +|**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7
779 +|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319
774 774  
775 -* When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops.
776 -* When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops.
781 +When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops.
782 +
783 +When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops.
image-20220926104203-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Stone
Size
... ... @@ -1,1 +1,0 @@
1 -105.7 KB
Content