Changes for page 01 Program execution

Last modified by Leo Wei on 2024/12/24 22:42

From version 13.11
edited by Stone Wu
on 2022/09/23 16:05
Change comment: (Autosaved)
To version 13.10
edited by Stone Wu
on 2022/09/23 16:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -333,61 +333,78 @@
333 333  
334 334  In the process of executing the scan program, the program that can interrupt the priority execution of the scan program is called an interrupt execution program.
335 335  
336 -* When an interrupt cause occurs, the interrupt program corresponding to the interrupt pointer number will be executed. However, the execution needs to be set to the interrupt enabled state by the EI instruction.
336 + ~1. When an interrupt cause occurs, the interrupt program corresponding to the interrupt pointer number will be executed. However, the execution needs to be set to the interrupt enabled state by the EI instruction.
337 337  
338 338  (% style="text-align:center" %)
339 339  [[image:1652249587490-678.png||class="img-thumbnail"]]
340 340  
341 341  
342 -* An interrupt name corresponds to an interrupt program, and the interrupt name cannot be repeated. Each interrupt has its own trigger condition and execution program, and each interrupt program ends with END.
343 -* Interrupt has the characteristic of interrupting the original execution program and executing the interrupt first, but it cannot interrupt the interrupt program being executed.
344 -* The interrupt program has the concept of priority. The smaller the priority value, the more priority the response. The priority setting range is 0 to 2.
342 + 2. An interrupt name corresponds to an interrupt program, and the interrupt name cannot be repeated. Each interrupt has its own trigger condition and execution program, and each interrupt program ends with END.
345 345  
346 -**The actions when an interruption cause occurs are as follows:**
344 + 3. Interrupt has the characteristic of interrupting the original execution program and executing the interrupt first, but it cannot interrupt the interrupt program being executed.
347 347  
348 -* Interrupt prohibition (DI) when an interruption cause occurs.
349 -** If the interrupt execution condition is triggered in a program that is forbidden by DI, the interrupt will not be executed. Even if the subsequent program uses the EI instruction to allow interruption, the previously shielded interrupt program will not be executed. Only the interrupt execution condition is triggered again. The interrupt program will be executed.
350 -* When multiple interrupt causes occur simultaneously in the interrupt enabled state.
351 -** The interrupt program with higher priority will be executed sequentially. In addition, when multiple interrupts with the same priority occur at the same time, the actions are executed in the order of interrupt priority.
352 -** If three interrupt programs I0, I10, I16 are created, the priority of I0 is 1, the priority of I10 is 0, and the priority of I16 is 1. The execution logic is shown in the figure below: I10 has the smallest priority and is executed first; I0 and I16 have the same priority and are executed in the order of program establishment.
346 + 4. The interrupt program has the concept of priority. The smaller the priority value, the more priority the response. The priority setting range is 0 to 2.
353 353  
348 +The actions when an interruption cause occurs are as follows:
349 +
350 +1. Interrupt prohibition (DI) when an interruption cause occurs.
351 +
352 +If the interrupt execution condition is triggered in a program that is forbidden by DI, the interrupt will not be executed. Even if the subsequent program uses the EI instruction to allow interruption, the previously shielded interrupt program will not be executed. Only the interrupt execution condition is triggered again. The interrupt program will be executed.
353 +
354 + 2.When multiple interrupt causes occur simultaneously in the interrupt enabled state.
355 +
356 +The interrupt program with higher priority will be executed sequentially. In addition, when multiple interrupts with the same priority occur at the same time, the actions are executed in the order of interrupt priority.
357 +
358 +If three interrupt programs I0, I10, I16 are created, the priority of I0 is 1, the priority of I10 is 0, and the priority of I16 is 1. The execution logic is shown in the figure below: I10 has the smallest priority and is executed first; I0 and I16 have the same priority and are executed in the order of program establishment.
359 +
354 354  (% style="text-align:center" %)
355 355  [[image:1652249553246-688.png||class="img-thumbnail"]]
356 356  
357 -* When an interrupt occurs during the waiting time when performing constant scan.
358 -** Execute the interrupt program for this interrupt.
359 -* When other interrupts occur during the execution of the interrupt program.
360 -** In the interrupt program (including the specification when the interrupt occurs in the event execution program), when other interrupts occur, the original interrupt execution program will not be interrupted. After the original interrupt execution program is completed, the new interrupt program is executed. After the execution is completed Then return to the scanning procedure.
361 -* During the execution of the interrupt program, when an interrupt cause with a low priority or the same priority occurs.
362 -** 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.
363 + 3. When an interrupt occurs during the waiting time when performing constant scan.
363 363  
365 +Execute the interrupt program for this interrupt.
364 364  
367 + 4.When other interrupts occur during the execution of the interrupt program.
368 +
369 +In the interrupt program (including the specification when the interrupt occurs in the event execution program), when other interrupts occur, the original interrupt execution program will not be interrupted. After the original interrupt execution program is completed, the new interrupt program is executed. After the execution is completed Then return to the scanning procedure.
370 +
371 + 5. During the execution of the interrupt program, when an interrupt cause with a low priority or the same priority occurs.
372 +
373 +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.
374 +
375 +
365 365  (% style="text-align:center" %)
366 366  [[image:1652249673420-476.png||class="img-thumbnail"]]
367 367  
368 -* When the same interruption cause occurs during the execution of the interrupt program;
369 -** 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.
379 + 6. When the same interruption cause occurs during the execution of the interrupt program;
370 370  
381 +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.
382 +
371 371  **Interrupt trigger condition classification**
372 372  
373 -* **External input (X) interrupt**
374 -** Description of external input interrupt
375 -*** The external input interrupt is triggered by the rising or falling edge of the fixed X point input.
376 -*** Supports the rising and falling edge interrupts of a total of 8 input points of X0 to X7, and supports a total of 16 external input interrupts.
377 -*** The same interrupt trigger condition cannot create multiple interrupt programs.
378 -*** External input interrupt and high-speed counter cannot use the same X point.
379 -*** You must use EI in the scan program to allow interrupts before the interrupt execution program will be executed.
380 -* **External input interrupt steps.**
381 -** Project management→ Program→ Interrupt→ right click to create.
382 -** The interrupt program name requires to match case, and the program name with the same name as the device cannot be used (the device name does not match case),
383 -** The interrupt program name does not support the input of /%$@&=~~`^<>?:{}[],;!*.~\~\'" characters,
384 -** The length of the interrupt program name cannot exceed 64 characters and cannot be typed. The default name is INTx.
385 +**External input (X) interrupt**
385 385  
387 +Description of external input interrupt
388 +
389 +1. The external input interrupt is triggered by the rising or falling edge of the fixed X point input.
390 +1. Supports the rising and falling edge interrupts of a total of 8 input points of X0 to X7, and supports a total of 16 external input interrupts.
391 +1. The same interrupt trigger condition cannot create multiple interrupt programs.
392 +1. External input interrupt and high-speed counter cannot use the same X point.
393 +1. You must use EI in the scan program to allow interrupts before the interrupt execution program will be executed.
394 +
395 +External input interrupt steps.
396 +
397 +Project management→ Program→ Interrupt→ right click to create.
398 +
386 386  (% style="text-align:center" %)
387 387  [[image:1-16.png||class="img-thumbnail"]]
388 388  
389 -* Click Configure, and select external interrupt for execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management):
402 +1. The interrupt program name requires to match case, and the program name with the same name as the device cannot be used (the device name does not match case),
403 +1. The interrupt program name does not support the input of /%$@&=~~`^<>?:{}[],;!*.~\~\'" characters,
404 +1. The length of the interrupt program name cannot exceed 64 characters and cannot be typed. The default name is INTx.
390 390  
406 +Click Configure, and select external interrupt for execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management):
407 +
391 391  (% style="text-align:center" %)
392 392  [[image:1-17.png||class="img-thumbnail"]]
393 393  
... ... @@ -407,7 +407,7 @@
407 407  Note: X rising edge interrupt and X falling edge interrupt use the same X filter, so after the filter setting is changed in the X rising edge configuration, the X falling edge will also change. If the filter time is set to 1000, you must ensure that the high level and low level of the input signal are maintained for more than 10 us before the interrupt can be triggered.
408 408  )))|0 to 1700|1
409 409  
410 -* Write interrupt execution program
427 +1. Write interrupt execution program
411 411  
412 412  (% style="text-align:center" %)
413 413  [[image:1-18.png||class="img-thumbnail"]]
... ... @@ -417,7 +417,7 @@
417 417  (% style="text-align:center" %)
418 418  [[image:1652250056160-117.png||height="215" width="500" class="img-thumbnail"]]
419 419  
420 -**Timer interrupt**
437 +**~ 2.Timer interrupt**
421 421  
422 422  1. Timer interrupt description
423 423