Changes for page 01 Program execution
Last modified by Leo Wei on 2024/12/24 22:42
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -20,14 +20,11 @@ 20 20 21 21 == Installation == 22 22 23 -1. Please use it in the general specification environment described in the manual. 23 +* Please use it in the general specification environment described in the manual. 24 +** Do not use in the following places: places with dust, oily smoke, conductive dust, corrosive gas, flammable gas; places exposed to high temperature, condensation, wind and rain; places with vibration or impact. Electric shock, fire, and misoperation can also cause product damage. 25 +* When processing screw holes and wiring, do not let iron filings or wire ends fall into the ventilation window of the programmable controller. It may cause fire, malfunction, or misoperation. 26 +* Please insert the connecting cable and display module accurately into the specified sockets. Poor contact may cause misoperation. 24 24 25 -Do not use in the following places: places with dust, oily smoke, conductive dust, corrosive gas, flammable gas; places exposed to high temperature, condensation, wind and rain; places with vibration or impact. Electric shock, fire, and misoperation can also cause product damage. 26 - 27 - 2. When processing screw holes and wiring, do not let iron filings or wire ends fall into the ventilation window of the programmable controller. It may cause fire, malfunction, or misoperation. 28 - 29 - 3. Please insert the connecting cable and display module accurately into the specified sockets. Poor contact may cause misoperation. 30 - 31 31 (% class="box infomessage" %) 32 32 ((( 33 33 **✎Note:** ... ... @@ -75,14 +75,11 @@ 75 75 **Attention** 76 76 )))|Do not connect the empty terminal to the outside, otherwise the product will be damaged. 77 77 78 -Please connect the AC power supply to the dedicated terminal according to the content in the manual. 75 +* Please connect the AC power supply to the dedicated terminal according to the content in the manual. 76 +* If the AC power supply is connected to the DC input/output terminal or the DC power supply terminal, the programmable controller will be burnt out. 77 +* Please do not supply power to the 24+ terminal of the basic unit from the external power supply, and to the empty terminal . Do not wire from the outside, otherwise the product will be damaged. 78 +* Please ground the ground terminal of the basic unit according to the third method. But please do not share the ground with the strong current system. 79 79 80 -If the AC power supply is connected to the DC input/output terminal or the DC power supply terminal, the programmable controller will be burnt out. 81 - 82 -Please do not supply power to the 24+ terminal of the basic unit from the external power supply, and to the empty terminal . Do not wire from the outside, otherwise the product will be damaged. 83 - 84 -Please ground the ground terminal of the basic unit according to the third method. But please do not share the ground with the strong current system. 85 - 86 86 **Attached** 87 87 88 88 The programmable controller will continue to work if there is an instantaneous power failure of less than 10ms. ... ... @@ -140,8 +140,8 @@ 140 140 * **×**: not execute 141 141 142 142 (% class="table-bordered" %) 143 -|(% rowspan="2" %)**Processing item**|(% colspan="3" %)**Status of the CPU module** 144 -|**When the power is ON**|**STOP**|**When STOP RUN** 137 +|=(% rowspan="2" %)**Processing item**|=(% colspan="3" %)**Status of the CPU module** 138 +|=**When the power is ON**|=**STOP**|=**When STOP RUN** 145 145 |Initialization of input and output modules|√|×|× 146 146 |CPU parameter check|√|×|× 147 147 |Check of system parameters|√|×|× ... ... @@ -152,11 +152,11 @@ 152 152 153 153 Perform the following before starting program calculation. 154 154 155 -Update the actual input point of the PLC to the input relay X. 149 +* Update the actual input point of the PLC to the input relay X. 156 156 157 157 The following is executed after the END instruction is executed. 158 158 159 -Update the PLC output relay Y to the actual output point. 153 +* Update the PLC output relay Y to the actual output point. 160 160 161 161 **Key points** 162 162 ... ... @@ -188,10 +188,8 @@ 188 188 189 189 It is the first scan time of the CPU module in RUN. 190 190 191 -Process as the following way: 185 +Process as the following way: The value stored in SD134 (initial scan time (ms unit)) and SD135 (initial scan time (s unit)). 192 192 193 -The value stored in SD134 (initial scan time (ms unit)) and SD135 (initial scan time (s unit)). 194 - 195 195 = The flow of each procedure = 196 196 197 197 When the CPU module changes to the RUN state, the programs are executed in sequence according to the program execution type and execution sequence settings. ... ... @@ -203,10 +203,11 @@ 203 203 204 204 When the execution types of the programs are the same, they are executed in the order set in the execution order. 205 205 206 -**✎Note:** 198 +(% class="box infomessage" %) 199 +((( 200 +**✎Note:** When executing instructions that can be completed with multiple cycles (such as OUT T, RAMP, RS, etc.), they should be programmed in the scan program. If it is used in event execution type programs and mid-stage execution type programs, these instructions may not be executed in multiple scan cycles, causing actual results to be different from the ideal results. Therefore, unless events, interrupts and subroutines can be executed in each scan cycle. It is not recommended to use multi-cycle execution instructions in other situations. 201 +))) 207 207 208 -When executing instructions that can be completed with multiple cycles (such as OUT T, RAMP, RS, etc.), they should be programmed in the scan program. If it is used in event execution type programs and mid-stage execution type programs, these instructions may not be executed in multiple scan cycles, causing actual results to be different from the ideal results. Therefore, unless events, interrupts and subroutines can be executed in each scan cycle. It is not recommended to use multi-cycle execution instructions in other situations. 209 - 210 210 = Types of program execution = 211 211 212 212 == Scan execution program == ... ... @@ -225,11 +225,11 @@ 225 225 (% style="text-align:center" %) 226 226 [[image:1-5.png||height="372" width="300" class="img-thumbnail"]] 227 227 228 - *Scan the program name: the program name requires to match case, and the program name cannot use the same name229 - *The input of /%$@&=~~`^<>?:{}[],;!*.~\~\'" is not supported. It cannot exceed 64 characters. The default name is MAINx.230 - *The number of scan programs that can be built is limited to 100.231 - *Each scan program has been END ended, but only the last END instruction is completed to calculate a scan cycle.232 - *The execution sequence runs from top to bottom in the order of creation.221 +1. Scan the program name: the program name requires to match case, and the program name cannot use the same name with device name (the device name does not match case). 222 +1. The input of /%$@&=~~`^<>?:{}[],;!*.~\~\'" is not supported. It cannot exceed 64 characters. The default name is MAINx. 223 +1. The number of scan programs that can be built is limited to 100. 224 +1. Each scan program has been END ended, but only the last END instruction is completed to calculate a scan cycle. 225 +1. The execution sequence runs from top to bottom in the order of creation. 233 233 234 234 (% style="text-align:center" %) 235 235 [[image:1-6.png||class="img-thumbnail"]] ... ... @@ -245,7 +245,7 @@ 245 245 246 246 The trigger of event execution type program is as follows. 247 247 248 -** (1)ON event of bit data (TRUE)**241 +**ON event of bit data (TRUE)** 249 249 250 250 * After the ON event is specified, if the contact that sets the trigger condition in the ON event is turned ON during the scan program, the ON event program will be executed in the scan program page*1 or before the END instruction is executed. 251 251 * The ON event program will only be executed once in a single scan cycle. ... ... @@ -261,13 +261,13 @@ 261 261 The devices that can be specified are as follows. 262 262 263 263 (% class="table-bordered" %) 264 -|(% colspan="2" %)**Project**|**Content** 257 +|=(% colspan="2" %)**Project**|=**Content** 265 265 |(% rowspan="2" %)Device *1|Bit Device|X, Y, M, SM 266 266 |Bit specification of word device|D.b 267 267 268 268 *1 The indexed device cannot be specified. 269 269 270 -** (2)TIME event**263 +**TIME event** 271 271 272 272 After the program is to RUN state and the specified time has elapsed, event is executed one time when it comes to the execution sequence of the first corresponding program. For the second and subsequent executions, the time is re-measured from the start of the last event execution type program. After the specified time has elapsed, the program is executed repeatedly when it comes to the execution sequence of the first corresponding program. In addition, in the next scan after the corresponding program is executed, the current value of the output (Y) and timer (T) used in the corresponding program can be cleared. It can be used for programs that do not need to respond in a fixed period of time. 273 273 ... ... @@ -292,7 +292,7 @@ 292 292 Event program name: 293 293 294 294 * The 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). 295 -* The program name does not support /%$@&= to`^<>?:{}[],;!*.~\~\'" character input.288 +* The program name does not support /%$@&=~~`^<>?:{}[],;!*.~\~\'" character input. 296 296 * The length of the program name cannot exceed 64 characters. The default name is EVENTx. 297 297 298 298 A maximum of 100 new event programs could be created. ... ... @@ -307,26 +307,26 @@ 307 307 (% style="text-align:center" %) 308 308 [[image:1-11.png||height="419" width="500" class="img-thumbnail"]] 309 309 310 -Configuration instructions: 303 +**Configuration instructions:** 311 311 312 - 1)Configuration interface305 + Configuration interface 313 313 314 314 (% style="text-align:center" %) 315 315 [[image:1-12.png||height="372" width="300" class="img-thumbnail"]] 316 316 317 - 2)Parameter content:310 +Parameter content: 318 318 319 319 (% class="table-bordered" %) 320 -|(% colspan="2" %)**Project**|**Content**|**Setting range**|**Default** 321 -|(% colspan="2" %)Execution type|Select event type|Not set/ON event/TIME event|Not set 322 -|(% rowspan="2" %)ON event|Contact|The event type can be set when ON event is selected. Set the bit device as the trigger condition.|X/Y/M/SM/D.b| 323 -|Whether to clear|When the bit device of the trigger condition set by the ON event is turned OFF, whether to clear the current value of the output (Y) and timer (T) used in the execution program of the ON event in the next cycle.|((( 313 +|=(% colspan="2" %)**Project**|=(% style="width: 654px;" %)**Content**|=(% style="width: 190px;" %)**Setting range**|=**Default** 314 +|(% colspan="2" %)Execution type|(% style="width:654px" %)Select event type|(% style="width:190px" %)Not set/ON event/TIME event|Not set 315 +|(% rowspan="2" %)ON event|Contact|(% style="width:654px" %)The event type can be set when ON event is selected. Set the bit device as the trigger condition.|(% style="width:190px" %)X/Y/M/SM/D.b| 316 +|Whether to clear|(% style="width:654px" %)When the bit device of the trigger condition set by the ON event is turned OFF, whether to clear the current value of the output (Y) and timer (T) used in the execution program of the ON event in the next cycle.|(% style="width:190px" %)((( 324 324 True 325 325 326 326 False 327 327 )))|False 328 -|(% rowspan="2" %)TIME event|Time|Set how long to execute the event program once.|1 to 2147483647 (100us unit)| 329 -|Whether to clear|When the TIME event is executed, if the event is not executed in the next scan cycle, select whether to clear the output (Y) used in the TIME event execution program and the current value of the timer (T).|((( 321 +|(% rowspan="2" %)TIME event|Time|(% style="width:654px" %)Set how long to execute the event program once.|(% style="width:190px" %)1 to 2147483647 (100us unit)| 322 +|Whether to clear|(% style="width:654px" %)When the TIME event is executed, if the event is not executed in the next scan cycle, select whether to clear the output (Y) used in the TIME event execution program and the current value of the timer (T).|(% style="width:190px" %)((( 330 330 True 331 331 332 332 False ... ... @@ -340,78 +340,60 @@ 340 340 341 341 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. 342 342 343 - ~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.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. 344 344 345 345 (% style="text-align:center" %) 346 346 [[image:1652249587490-678.png||class="img-thumbnail"]] 347 347 348 348 349 - 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. 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. 350 350 351 - 3. Interrupthas thecharacteristicof interruptingtheoriginalexecution program andexecutingtheinterruptfirst,but itcannot interrupt theinterrupt programbeingexecuted.346 +**The actions when an interruption cause occurs are as follows:** 352 352 353 - 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. 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. 354 354 355 -The actions when an interruption cause occurs are as follows: 356 - 357 -1. Interrupt prohibition (DI) when an interruption cause occurs. 358 - 359 -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. 360 - 361 - 2.When multiple interrupt causes occur simultaneously in the interrupt enabled state. 362 - 363 -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. 364 - 365 -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. 366 - 367 367 (% style="text-align:center" %) 368 368 [[image:1652249553246-688.png||class="img-thumbnail"]] 369 369 370 - 3. When an interrupt occurs during the waiting time when performing constant scan. 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. 371 371 372 -Execute the interrupt program for this interrupt. 373 - 374 - 4.When other interrupts occur during the execution of the interrupt program. 375 - 376 -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. 377 - 378 - 5. During the execution of the interrupt program, when an interrupt cause with a low priority or the same priority occurs. 379 - 380 -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. 381 - 382 - 383 383 (% style="text-align:center" %) 384 384 [[image:1652249673420-476.png||class="img-thumbnail"]] 385 385 386 - 6. When the same interruption cause occurs during the execution of the interrupt program; 367 +* When the same interruption cause occurs during the execution of the interrupt program; 368 +** 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. 387 387 388 -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. 389 - 390 390 **Interrupt trigger condition classification** 391 391 392 -1. **External input (X) interrupt** 372 +* **External input (X) interrupt** 373 +** Description of external input interrupt 374 +*** The external input interrupt is triggered by the rising or falling edge of the fixed X point input. 375 +*** 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. 376 +*** The same interrupt trigger condition cannot create multiple interrupt programs. 377 +*** External input interrupt and high-speed counter cannot use the same X point. 378 +*** You must use EI in the scan program to allow interrupts before the interrupt execution program will be executed. 379 +* **External input interrupt steps.** 380 +** Project management→ Program→ Interrupt→ right click to create. 381 +** 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), 382 +** The interrupt program name does not support the input of /%$@&=~~`^<>?:{}[],;!*.~\~\'" characters, 383 +** The length of the interrupt program name cannot exceed 64 characters and cannot be typed. The default name is INTx. 393 393 394 -**~ **1. Description of external input interrupt 395 - 396 -1. The external input interrupt is triggered by the rising or falling edge of the fixed X point input. 397 -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. 398 -1. The same interrupt trigger condition cannot create multiple interrupt programs. 399 -1. External input interrupt and high-speed counter cannot use the same X point. 400 -1. You must use EI in the scan program to allow interrupts before the interrupt execution program will be executed. 401 - 402 - 2. External input interrupt steps. 403 - 404 -Project management→ Program→ Interrupt→ right click to create 405 - 406 406 (% style="text-align:center" %) 407 407 [[image:1-16.png||class="img-thumbnail"]] 408 408 409 -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), 410 -1. The interrupt program name does not support the input of /%$@&=to`^<>?:{}[],;!*.~\~\'" characters, 411 -1. The length of the interrupt program name cannot exceed 64 characters and cannot be typed. The default name is INTx. 388 +* 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): 412 412 413 -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): 414 - 415 415 (% style="text-align:center" %) 416 416 [[image:1-17.png||class="img-thumbnail"]] 417 417 ... ... @@ -431,7 +431,7 @@ 431 431 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. 432 432 )))|0 to 1700|1 433 433 434 - 1.Write interrupt execution program409 +* Write interrupt execution program 435 435 436 436 (% style="text-align:center" %) 437 437 [[image:1-18.png||class="img-thumbnail"]] ... ... @@ -441,19 +441,19 @@ 441 441 (% style="text-align:center" %) 442 442 [[image:1652250056160-117.png||height="215" width="500" class="img-thumbnail"]] 443 443 444 -** ~ 2.Timer interrupt**419 +**Timer interrupt** 445 445 446 - 1.Timer interrupt description421 +Timer interrupt description 447 447 448 - 1.Timer interrupt is based on the set time, execute the interrupt program every this time, the minimum time interval can reach 100us.449 - 1.Up to 100 timer interrupt execution programs can be created.450 - 1.Each timer interrupt program is independent of each other and does not affect each other.451 - 1.Each timer interrupt program should be configured with priority. When triggered at the same time, it is executed in the order of priority, but when the priority is the same, it is executed in the order of the established program.452 - 1.The interrupt execution program is executed only after EI is used in the scanner to allow the interrupt423 +* Timer interrupt is based on the set time, execute the interrupt program every this time, the minimum time interval can reach 100us. 424 +* Up to 100 timer interrupt execution programs can be created. 425 +* Each timer interrupt program is independent of each other and does not affect each other. 426 +* Each timer interrupt program should be configured with priority. When triggered at the same time, it is executed in the order of priority, but when the priority is the same, it is executed in the order of the established program. 427 +* The interrupt execution program is executed only after EI is used in the scanner to allow the interrupt 453 453 454 - 2.Timer interrupt step429 +Timer interrupt step 455 455 456 -Project managementðProgramðInterruptðRight click to create. Enter the program name. The program name only supports the combination of English letters, numbers, and underscores, and must start with an English letter. The default is INTx. Click Configure and select Timer Interrupt as the execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management). 431 +* Project managementðProgramðInterruptðRight click to create. Enter the program name. The program name only supports the combination of English letters, numbers, and underscores, and must start with an English letter. The default is INTx. Click Configure and select Timer Interrupt as the execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management). 457 457 458 458 (% style="text-align:center" %) 459 459 [[image:1-20.png||class="img-thumbnail"]] ... ... @@ -464,34 +464,35 @@ 464 464 |(% rowspan="2" %)Timer interrupt|Time|Set the interval time for interrupt triggering|1 to 2147483647 (100us unit)| 465 465 |priority|When multiple interrupts arrive at the same time, the order of priority execution, the smallest value is executed first|0 to 2|0 466 466 467 - 1.Write interrupt execution program442 +Write interrupt execution program 468 468 469 469 (% style="text-align:center" %) 470 470 [[image:1-21.png||class="img-thumbnail"]] 471 471 472 -Double-click the newly created timer interrupt program in the project management to start writing the interrupt execution program. As shown in the figure above, a newly created timer interrupt program is INT0, and the trigger condition is configured to execute the interrupt program every 10ms. If the main program uses EI to enable interrupts, all instruction programs in INT0 will be executed every 10ms, namely D0 It will add 1 to 10ms. 447 +* Double-click the newly created timer interrupt program in the project management to start writing the interrupt execution program. As shown in the figure above, a newly created timer interrupt program is INT0, and the trigger condition is configured to execute the interrupt program every 10ms. If the main program uses EI to enable interrupts, all instruction programs in INT0 will be executed every 10ms, namely D0 It will add 1 to 10ms. 473 473 474 474 (% style="text-align:center" %) 475 475 [[image:1652250294005-455.png||class="img-thumbnail"]] 476 476 477 -** ~ 3.High-speed counter interrupt**452 +**High-speed counter interrupt** 478 478 479 - 1.Description of high-speed counter interrupt454 +Description of high-speed counter interrupt 480 480 481 - 1.The high-speed counter interrupt triggers an interrupt condition after the set value of the high-speed counter HSC0 to HSC7 provided by the PLC and executes the interrupt program.482 - 1.It can support up to 100 high-speed counter interrupt programs, but the number that can be supported by each channel does not need to be fixed.483 - 1.When using the high-speed counter interrupt, project must configure the high-speed counter and use the OUT HSC instruction to enable the corresponding counting channel to count before it can be used (see the high-speed counter description section for the specific configuration method).484 - 1.Each high-speed counter interrupt program should be configured with priority. When triggered at the same time, it will be executed in the order of priority. When the priority is the same, it will be executed in the order of channels HSC0-HSC7. When the channel is also the same, it is executed in order according to the creation promise.485 - 1.Project must use EI in the scan program to allow interrupts before the interrupt execution program will be executed.456 +* The high-speed counter interrupt triggers an interrupt condition after the set value of the high-speed counter HSC0 to HSC7 provided by the PLC and executes the interrupt program. 457 +* It can support up to 100 high-speed counter interrupt programs, but the number that can be supported by each channel does not need to be fixed. 458 +* When using the high-speed counter interrupt, project must configure the high-speed counter and use the OUT HSC instruction to enable the corresponding counting channel to count before it can be used (see the high-speed counter description section for the specific configuration method). 459 +* Each high-speed counter interrupt program should be configured with priority. When triggered at the same time, it will be executed in the order of priority. When the priority is the same, it will be executed in the order of channels HSC0-HSC7. When the channel is also the same, it is executed in order according to the creation promise. 460 +* Project must use EI in the scan program to allow interrupts before the interrupt execution program will be executed. 486 486 487 -**✎Note: **Both the HSC channel and the external input interrupt channel must use the PLC input point X. It should be noted that it 462 +(% class="box infomessage" %) 463 +((( 464 +**✎Note: **Both the HSC channel and the external input interrupt channel must use the PLC input point X. It should be noted that it cannot be reused during configuration. For details, please refer to the configuration chapter of the high-speed counter. 465 +))) 488 488 489 - cannot be reusedduringconfiguration. For details, pleasereferto the configurationchapterofthehigh-speed counter.467 +High-speed counter interrupt steps 490 490 491 - 1.high-speed counter interrupt step469 +* “Project management”ð“Programð“Interrupt”ðRight click to create. Enter the program name. The program name only supports the combination of English letters, numbers, and underscores, and must start with an English letter. The default is INTx. Click Configure, select high-speed interrupt for execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management). 492 492 493 -“Project management”ð“Programð“Interrupt”ðRight click to create. Enter the program name. The program name only supports the combination of English letters, numbers, and underscores, and must start with an English letter. The default is INTx. Click Configure, select high-speed interrupt for execution type, as shown in the figure below (it can also be configured in "program parameters" in "parameters" in project management). 494 - 495 495 (% style="text-align:center" %) 496 496 [[image:1-23.png||class="img-thumbnail"]] 497 497 ... ... @@ -524,56 +524,57 @@ 524 524 |Priority|When multiple interrupts arrive at the same time, the order of priority execution, the smallest value is executed first|0 to 2|0 525 525 |Contact|It is available when selecting high-speed comparison set and high-speed comparison reset. The contact is set or reset immediately after the trigger condition is reached.|Y/M/D.b| 526 526 527 - 3.Description of triggering rules503 + Description of triggering rules 528 528 529 529 (% class="table-bordered" %) 530 -|**Mode**|**Configuration**|**The current value**|**Action** 531 -|(% rowspan="2" %)High-speed compare interrupt (INT0)|(% rowspan="2" %)Comparison value: 10000|9999 → 10000|Execute all programs in interrupt INT0 532 -|10001 → 10000|Execute all programs in interrupt INT0 533 -|(% rowspan="2" %)High-speed comparison set (INT1)|(% rowspan="2" %)((( 506 +|(% style="width:135px" %)**Mode**|(% style="width:187px" %)**Configuration**|(% style="width:128px" %)**The current value**|(% style="width:324px" %)**Action** 507 +|(% 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 508 +|(% style="width:128px" %)10001 → 10000|(% style="width:324px" %)Execute all programs in interrupt INT0 509 +|(% rowspan="2" style="width:135px" %)High-speed comparison set (INT1)|(% rowspan="2" style="width:187px" %)((( 534 534 Comparison value: -50,000 535 535 536 536 Contact: Y10 537 -)))|-50001 → -50000|((( 513 +)))|(% style="width:128px" %)-50001 → -50000|(% style="width:324px" %)((( 538 538 Y10 is immediately set and mapped to the actual output (not affected by the scan period) 539 539 540 540 The program in INT1 will not be executed 541 541 ))) 542 -|-49999 → -50000|((( 518 +|(% style="width:128px" %)-49999 → -50000|(% style="width:324px" %)((( 543 543 Y10 is immediately set and mapped to the actual output (not affected by the scan period) 544 544 545 545 The program in INT1 will not be executed 546 546 ))) 547 -|(% rowspan="2" %)High-speed comparison reset (INT2)|(% rowspan="2" %)((( 523 +|(% rowspan="2" style="width:135px" %)High-speed comparison reset (INT2)|(% rowspan="2" style="width:187px" %)((( 548 548 Comparison value: 400000 549 549 550 550 Contact: Y10 551 -)))|399999 → 400000|((( 527 +)))|(% style="width:128px" %)399999 → 400000|(% style="width:324px" %)((( 552 552 Y10 is reset immediately and mapped to the actual output (not affected by the scan period) 553 553 554 554 The program in INT2 will not be executed 555 555 ))) 556 -|400001 → 400000|((( 532 +|(% style="width:128px" %)400001 → 400000|(% style="width:324px" %)((( 557 557 Y10 is reset immediately and mapped to the actual output (not affected by the scan period) 558 558 559 559 The program in INT2 will not be executed 560 560 ))) 561 561 538 +(% class="box infomessage" %) 539 +((( 562 562 **✎Note: **Both HSC channel and external input interrupt channel need to use the INPUT point X, so it should be noted that it cannot be reused in configuration. For details, please refer to the configuration section of high-speed counter. 541 +))) 563 563 564 - 1.Write interrupt execution program543 +Write interrupt execution program 565 565 566 566 * New interrupt program 546 +** Create three new interrupt programs under the interrupt of project management, namely HSC0_20000, HSC0_30000, HSC0_40000. Configure the interrupt program in the "program parameters", as shown in the figure below. 567 567 568 -Create three new interrupt programs under the interrupt of project management, namely HSC0_20000, HSC0_30000, HSC0_40000. Configure the interrupt program in the "program parameters", as shown in the figure below. 569 - 570 570 (% style="text-align:center" %) 571 571 [[image:1-24.png||class="img-thumbnail"]] 572 572 573 573 * High-speed counter configuration 552 +** Configure HSC0 for use in the high-speed counter configuration. After selecting the working mode, click the "Check” button. After the correct configuration box pops up, click Enter. 574 574 575 -Configure HSC0 for use in the high-speed counter configuration. After selecting the working mode, click the "Check” button. After the correct configuration box pops up, click Enter. 576 - 577 577 (% style="text-align:center" %) 578 578 [[image:1-25.png||class="img-thumbnail"]] 579 579 ... ... @@ -583,131 +583,123 @@ 583 583 584 584 Program operation: 585 585 586 -Assuming that the High-speed counter channel 0 has been receiving pulses: 563 +* Assuming that the High-speed counter channel 0 has been receiving pulses: 564 +** When the count value of HSC0 accumulates from 0 to 20000, all procedures of HSC0_20000 are executed. 565 +** When the count value of HSC0 is accumulated from 20000 to 30000, all procedures of HSC0_30000 are executed. 566 +** When the count value of HSC0 is accumulated from 30000 to 40000, all procedures of HSC0_40000 are executed. 587 587 588 -When the count value of HSC0 accumulates from 0 to 20000, all procedures of HSC0_20000 are executed. 589 - 590 -When the count value of HSC0 is accumulated from 20000 to 30000, all procedures of HSC0_30000 are executed. 591 - 592 -When the count value of HSC0 is accumulated from 30000 to 40000, all procedures of HSC0_40000 are executed. 593 - 594 594 **Mask interrupt** 595 595 596 - **~ 1.Mask through application instructions**570 +Mask through application instructions 597 597 598 -The PLC interrupt is in the shielded state by default when it is powered on, and can only be used after the interrupt is allowed through the EI instruction. 572 +* The PLC interrupt is in the shielded state by default when it is powered on, and can only be used after the interrupt is allowed through the EI instruction. 573 +* The interrupt mask instruction DI masks all interrupts without parameters, and masks some priority interrupts with parameters (refer to the program flow instruction DI/EI for details). 599 599 600 - The interrupt maskinstruction DI masks all interrupts withoutparameters,andmasks some priority interrupts with parameters(referto the program flow instructionDI/EI for details).575 +Mask through special registers SM and SD 601 601 602 -**~ 2. Mask through special registers SM and SD** 603 - 604 -1.External input interrupt mask register 605 - 606 606 (% class="table-bordered" %) 607 -|(% colspan="4" %)**External input interrupt mask register** 608 -|**Special register number**|**Type of interrupt**|**Instruction**|**Defaults** 609 -|SM352|X0 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF610 -|SM353|X0 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF611 -|SM354|X1 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF612 -|SM355|X1 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF613 -|SM356|X2 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF614 -|SM357|X2 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF615 -|SM358|X3 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF616 -|SM359|X3 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF617 -|SM360|X4 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF618 -|SM361|X4 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF619 -|SM362|X5 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF620 -|SM363|X5 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF621 -|SM364|X6 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF622 -|SM365|X6 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF623 -|SM366|X7 rising edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF624 -|SM367|X7 falling edge interrupt|ON: Maskinterrupt OFF:Enableinterrupt|OFF578 +|=(% colspan="4" %)**External input interrupt mask register** 579 +|=(% style="width: 266px;" %)**Special register number**|=(% style="width: 308px;" %)**Type of interrupt**|=(% style="width: 390px;" %)**Instruction**|=**Defaults** 580 +|(% style="width:266px" %)SM352|(% style="width:308px" %)X0 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 581 +|(% style="width:266px" %)SM353|(% style="width:308px" %)X0 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 582 +|(% style="width:266px" %)SM354|(% style="width:308px" %)X1 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 583 +|(% style="width:266px" %)SM355|(% style="width:308px" %)X1 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 584 +|(% style="width:266px" %)SM356|(% style="width:308px" %)X2 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 585 +|(% style="width:266px" %)SM357|(% style="width:308px" %)X2 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 586 +|(% style="width:266px" %)SM358|(% style="width:308px" %)X3 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 587 +|(% style="width:266px" %)SM359|(% style="width:308px" %)X3 falling edge interrupt|(% style="width:390px" %)ON: Shield interrupts; OFF: interrupt allowed|OFF 588 +|(% style="width:266px" %)SM360|(% style="width:308px" %)X4 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 589 +|(% style="width:266px" %)SM361|(% style="width:308px" %)X4 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 590 +|(% style="width:266px" %)SM362|(% style="width:308px" %)X5 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 591 +|(% style="width:266px" %)SM363|(% style="width:308px" %)X5 falling edge interrupt|(% style="width:390px" %)ON: Shield interrupts; OFF: interrupt allowed|OFF 592 +|(% style="width:266px" %)SM364|(% style="width:308px" %)X6 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 593 +|(% style="width:266px" %)SM365|(% style="width:308px" %)X6 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 594 +|(% style="width:266px" %)SM366|(% style="width:308px" %)X7 rising edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 595 +|(% style="width:266px" %)SM367|(% style="width:308px" %)X7 falling edge interrupt|(% style="width:390px" %)ON: shield interrupts; OFF: interrupt allowed|OFF 625 625 626 -2. Timer interrupt mask register 627 - 628 628 (% class="table-bordered" %) 629 -|(% colspan="4" %)**Timer interrupt mask register** 630 -|**Special register number**|**Type of interrupt**|**Instruction**|**Default** 631 -|SD350|1st to 16th timer interrupt|((( 598 +|=(% colspan="4" %)**Timer interrupt mask register** 599 +|=(% style="width: 386px;" %)**Special register number**|=(% style="width: 247px;" %)**Type of interrupt**|=(% style="width: 332px;" %)**Instruction**|=(% style="width: 110px;" %)**Default** 600 +|(% style="width:386px" %)SD350|(% style="width:247px" %)1st to 16th timer interrupt|(% style="width:332px" %)((( 632 632 Each bit can control the mask of an interrupt. 633 633 634 -ON: Maskinterrupt OFF:Enableinterrupt635 -)))|0 636 -|SD351|17th to 32th timer interrupt|((( 603 +ON: shield interrupts; OFF: interrupt allowed 604 +)))|(% style="width:110px" %)0 605 +|(% style="width:386px" %)SD351|(% style="width:247px" %)17th to 32th timer interrupt|(% style="width:332px" %)((( 637 637 Each bit can control the mask of an interrupt. 638 638 639 -ON: Maskinterrupt OFF:Enableinterrupt640 -)))|0 641 -|SD352|33th to 48th timer interrupt|((( 608 +ON: shield interrupts; OFF: interrupt allowed 609 +)))|(% style="width:110px" %)0 610 +|(% style="width:386px" %)SD352|(% style="width:247px" %)33th to 48th timer interrupt|(% style="width:332px" %)((( 642 642 Each bit can control the mask of an interrupt. 643 643 644 -ON: Maskinterrupt OFF:Enableinterrupt645 -)))|0 646 -|SD353|49th to 64th timer interrupt|((( 613 +ON: shield interrupts; OFF: interrupt allowed 614 +)))|(% style="width:110px" %)0 615 +|(% style="width:386px" %)SD353|(% style="width:247px" %)49th to 64th timer interrupt|(% style="width:332px" %)((( 647 647 Each bit can control the mask of an interrupt. 648 648 649 -ON: Maskinterrupt OFF:Enableinterrupt650 -)))|0 651 -|SD354|65th to 80th timer interrupt|((( 618 +ON: shield interrupts; OFF: interrupt allowed 619 +)))|(% style="width:110px" %)0 620 +|(% style="width:386px" %)SD354|(% style="width:247px" %)65th to 80th timer interrupt|(% style="width:332px" %)((( 652 652 Each bit can control the mask of an interrupt. 653 653 654 -ON: Maskinterrupt OFF:Enableinterrupt655 -)))|0 656 -|SD355|81st to 96th timer interrupt|((( 623 +ON: shield interrupts; OFF: interrupt allowed 624 +)))|(% style="width:110px" %)0 625 +|(% style="width:386px" %)SD355|(% style="width:247px" %)81st to 96th timer interrupt|(% style="width:332px" %)((( 657 657 Each bit can control the mask of an interrupt. 658 658 659 -ON: Maskinterrupt OFF:Enableinterrupt660 -)))|0 661 -|SD356|97th to 100th timer interrupt|((( 628 +ON: shield interrupts; OFF: interrupt allowed 629 +)))|(% style="width:110px" %)0 630 +|(% style="width:386px" %)SD356|(% style="width:247px" %)97th to 100th timer interrupt|(% style="width:332px" %)((( 662 662 Each bit can control the mask of an interrupt. 663 663 664 -ON: Maskinterrupt OFF:Enableinterrupt665 -)))|0 633 +ON: shield interrupts; OFF: interrupt allowed 634 +)))|(% style="width:110px" %)0 666 666 667 667 1. high-speed counter interrupt mask register 668 668 669 669 (% class="table-bordered" %) 670 -|(% colspan="4" %)**High-speed counter interrupt mask register** 671 -|**Special register number**|**Type of interrupt**|**Instruction**|**Default** 672 -|SD382|1st to 16th high-speed counter interrupt|((( 639 +|=(% colspan="4" %)**High-speed counter interrupt mask register** 640 +|=(% style="width: 230px;" %)**Special register number**|=(% style="width: 348px;" %)**Type of interrupt**|=(% style="width: 387px;" %)**Instruction**|=(% style="width: 110px;" %)**Default** 641 +|(% style="width:230px" %)SD382|(% style="width:348px" %)1st to 16th high-speed counter interrupt|(% style="width:387px" %)((( 673 673 Each bit can control the mask of an interrupt. 674 674 675 -ON: Maskinterrupt OFF:Enableinterrupt676 -)))|0 677 -|SD383|17th to 32nd high-speed counter interrupt|((( 644 +ON: shield interrupts; OFF: interrupt allowed 645 +)))|(% style="width:110px" %)0 646 +|(% style="width:230px" %)SD383|(% style="width:348px" %)17th to 32nd high-speed counter interrupt|(% style="width:387px" %)((( 678 678 Each bit can control the mask of an interrupt. 679 679 680 -ON: Maskinterrupt OFF:Enableinterrupt681 -)))|0 682 -|SD384|33th to 48th high-speed counter interrupt|((( 649 +ON: shield interrupts; OFF: interrupt allowed 650 +)))|(% style="width:110px" %)0 651 +|(% style="width:230px" %)SD384|(% style="width:348px" %)33th to 48th high-speed counter interrupt|(% style="width:387px" %)((( 683 683 Each bit can control the mask of an interrupt. 684 684 685 -ON: Maskinterrupt OFF:Enableinterrupt686 -)))|0 687 -|SD385|49th to 64th high-speed counter interrupt|((( 654 +ON: shield interrupts; OFF: interrupt allowed 655 +)))|(% style="width:110px" %)0 656 +|(% style="width:230px" %)SD385|(% style="width:348px" %)49th to 64th high-speed counter interrupt|(% style="width:387px" %)((( 688 688 Each bit can control the mask of an interrupt. 689 689 690 -ON: Maskinterrupt OFF:Enableinterrupt691 -)))|0 692 -|SD386|65th to 80th high-speed counter interrupt|((( 659 +ON: shield interrupts; OFF: interrupt allowed 660 +)))|(% style="width:110px" %)0 661 +|(% style="width:230px" %)SD386|(% style="width:348px" %)65th to 80th high-speed counter interrupt|(% style="width:387px" %)((( 693 693 Each bit can control the mask of an interrupt. 694 694 695 -ON: Maskinterrupt OFF:Enableinterrupt696 -)))|0 697 -|SD387|81st to 96th high-speed counter interrupt|((( 664 +ON: shield interrupts; OFF: interrupt allowed 665 +)))|(% style="width:110px" %)0 666 +|(% style="width:230px" %)SD387|(% style="width:348px" %)81st to 96th high-speed counter interrupt|(% style="width:387px" %)((( 698 698 Each bit can control the mask of an interrupt. 699 699 700 -ON: Maskinterrupt OFF:Enableinterrupt701 -)))|0 702 -|SD388|97th to 100th high-speed counter interrupt|((( 669 +ON: shield interrupts; OFF: interrupt allowed 670 +)))|(% style="width:110px" %)0 671 +|(% style="width:230px" %)SD388|(% style="width:348px" %)97th to 100th high-speed counter interrupt|(% style="width:387px" %)((( 703 703 Each bit can control the mask of an interrupt. 704 704 705 -ON: Maskinterrupt OFF:Enableinterrupt706 -)))|0 674 +ON: shield interrupts; OFF: interrupt allowed 675 +)))|(% style="width:110px" %)0 707 707 708 708 == Subroutine == 709 709 710 -During the execution of the scan program, the executed program can be called by the CALL instruction. 679 +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. 711 711 712 712 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. 713 713 ... ... @@ -714,7 +714,7 @@ 714 714 (% style="text-align:center" %) 715 715 [[image:1652250926997-587.png||class="img-thumbnail"]] 716 716 717 - 1.Instructions for calling subroutines686 +**Instructions for calling subroutines** 718 718 719 719 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. 720 720 ... ... @@ -723,87 +723,87 @@ 723 723 (% style="text-align:center" %) 724 724 [[image:1-28.png||class="img-thumbnail"]] 725 725 726 -**~ 1.✎Note:** 695 +(% class="box infomessage" %) 696 +((( 697 +**✎Note:** 727 727 728 728 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. 729 729 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. 730 730 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. 731 731 1. Unlike the LX3V series mainframe, the subroutine in the LX5V series mainframe ends with the END instruction instead of SRET. 703 +))) 732 732 733 733 == Positioning instructions == 734 734 735 - ~1. Event 707 +(% class="wikigeneratedid" %) 708 +**Event** 736 736 737 - 1.ON event 710 +(% class="wikigeneratedid" %) 711 +ON event 738 738 739 -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. 740 740 741 741 (% class="table-bordered" %) 742 -|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 743 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 716 +|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 717 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 744 744 745 -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 +* 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. 720 +* 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. 746 746 747 - Whentheflag bit is 1 (stop sending pulses), if the trigger eventON contact turns OFF in a certain scan period, it will decelerate and stop.722 + TIME event 748 748 749 - 2.TIME event724 +* 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. 750 750 751 -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. 752 - 753 753 (% class="table-bordered" %) 754 -|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 755 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 727 +|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 728 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 756 756 757 -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 +* 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. 731 +* 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. 758 758 759 - When the flag bit is 1 (stop sending pulses), if the instruction is not scanned in the currentscan cycle,it will decelerate and stop. In theTIME event, if the flag bit is set to 1 (stop sending pulses), there will be no pulse sending.733 +**Subroutine** 760 760 761 - 2. Subroutine 762 - 763 763 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. 764 764 765 765 (% class="table-bordered" %) 766 -|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 767 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 738 +|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 739 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 768 768 769 769 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. 770 770 771 771 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. 772 772 773 - 3.Interrupt745 +**Interrupt** 774 774 775 - 1.External interrupt747 +External interrupt 776 776 777 -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. 749 +* 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. 778 778 779 779 (% class="table-bordered" %) 780 -|**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 781 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 752 +|=(% scope="row" %)**Output shaft**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 753 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 782 782 783 -When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops. 755 +* When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops. 756 +* When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops. 784 784 785 - Whenthe flag bit is 1 (stop sending pulse),thehigh-speed pulse decelerates and stops.758 +Timer interrupt 786 786 787 - 2.Timer interrupt760 +* 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. 788 788 789 -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. 790 - 791 791 (% class="table-bordered" %) 792 -|**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 793 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 763 +|=(% scope="row" %)**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 764 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 794 794 795 -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 +* 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. 767 +* 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. 796 796 797 - When the flag bit is1 (stopsendingpulses), if the instruction is not scanned in the current scan cycle,it will decelerate andstop. Inthe TIME event,if the flag bit is set to 1 (stop sending pulses),there will be no pulse sending.769 +High-speed comparison interrupt 798 798 799 - 3.High-speed comparison interrupt771 +* 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. 800 800 801 -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. 802 - 803 803 (% class="table-bordered" %) 804 -|**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 805 -|**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 774 +|=(% scope="row" %)**Output axis**|Y0|Y1|Y2|Y3|Y4|Y5|Y6|Y7 775 +|=**Not scanned flag bit**|SM899|SM959|SM1019|SM1079|SM1139|SM1199|SM1259|SM1319 806 806 807 -When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops. 808 - 809 -When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops. 777 +* When the flag bit is 0 (continue to send pulse), continue to send high-speed pulses until it stops. 778 +* When the flag bit is 1 (stop sending pulse), the high-speed pulse decelerates and stops.