So ladies and gentlemen welcom on board 2
With this lesson Siemens motion system and programming course 3
at current chapter 7 4
We will learn about the execution system and simotion firmware kernel 5
So let's begin 6
First of all I will double click my shortcut to simotion scout 7
And open or development environment 8
At the meantime I will use again 9
sitrain simotion system 10
And programming lecture notes 11
With this chapter we will learn 12
Automation technical process 13
simotion execution System test structure of the execution system 14
with new CPUs 15
We are able to use servo Fast and IPO fast tasks 16
Clock synchronization on profibus 17
Setting system cycle clocks 18
Time control task processing 19
task trace 20
Cycles at round-robin level 21
Example of time slice allocation 22
Assigning programs to tasks 23
Is one of the most important thing 24
Parameterizing the user interrupt tasks as an example 25
Task runtimes and task status information are so important thing 26
Task handling operations in MCC 27
Operations to start motion tasks in ladder and FBD 28
Stopping and resuming tasks in ladder and fbd diagrams 29
Interrogation the task status in FBD or ladder 30
state model for tasks 31
These are the main contents of this 32
Topics 33
So... 34
We will begin with this page automating the technical process 35
By the meantime our last project opens 36
It was an example project simoroll 37
So for editing and controlling the execution system with double click 38
This item on the left side 39
This is just an example project we have here some you know the ST units 40
And programs and function blocks already there 41
And here you can see different tasks 42
We will go in details and couple of minutes later on 43
So... 44
Lets starts with multitasking and multi-program operation concept 45
So... 46
With this picture you will see here at motion control and sub processes 47
An example machine 48
for cartoner 49
I'm here all tasks mainly in start-up task motion tasks 50
Background tasks lifecycle or there's a loop similar 51
Like the main organization block ob1 52
in simatic world 53
It's also named as round Robin 54
We will go and see more detailed 55
In this lecture this chapter 56
So with this system or approach is possible to operate 57
Separate processes 58
Almost Paralel 59
With this logic 60
As it is realtime of course 61
you will see here some chart and graphic about simotion execution system 62
On the lowest level is round Robin level and the next step is interrupt level 63
Next step is timer level and the next step is IPO level and next step 64
is servo level 65
That's as you can see priority is going up 66
With this direction 67
Simotion provide such as execution system with individual execution levels and 68
The test provides execuption framework for user programs a Task can assigned to one or several 69
user programs 70
So if motion control and logic this execution system 71
allows motion-control task to be processed as cyclicly or 72
acyclically is also possible 73
There's a scheduler 74
Inside the system 75
Handles the task control 76
important thing it's specifies the rules of the load when processing task 77
so next page... 78
You see here the task structure of the execution system on the right side 79
Is the priority 80
For example system start and system stop tasks 81
You would have cinsider as startup and shutdown test 82
Is the lowest priority 83
On the next step is there is a freely running execution level background task 84
and motion tasks 85
Also as you can imagine the user interrupt asks timer tasks 86
System interrupts tasks have 87
Also the higher priority at the medium level 88
For example... 89
There are also the time controlled execution levels 90
System-level 91
Or DP / PN communication level 92
Is the highest priority 93
Because it's time critical tasks 94
Like servo synchronous tasks 95
motion tasks 96
also 97
We will assigned our user programs 98
to Tasks 99
system interrupt tasks 100
For example peripheral fault task and execution fault task is need to be assign 101
by a program to go to Run State simotion 102
User interrupt tasks that are two different user interrupt tasks are available to respond 103
Events 104
We can just assign a condition 105
Here or equation 106
and wait for condition commands when used in our motion tests 107
When executing a wait Commands the motion task is stopped 108
Activating condition is monitored in the type of IPO synchronous task 109
So it's possible for example if you choose the IPO task into 2 milliseconds or 1 ms 110
at the backgrounds 111
Is automatically detected by the system 112
when the condition is fulfilled the commands that are assigned to wait Target executive 113
And or motion task will continue 114
were It's stopped or were it waited 115
Also at the backgrounds that are still some programs running and we can check 116
Which system Commands 117
Of the motion tasks for sure 118
servo fast and IPO fast of the new type of Simotion CPUs 119
Is available only for the D435 and the highest model of CPUs 120
You see here on the hardware settings in isochronous Tasks 121
there is a checkbox 122
If we want to select and use and Servo Fast and IPO fast 123
It's possible to go cycle time will 1 mili seconds 124
It's really fast CPU so... 125
If it's necessary according to our machine or automation tasks 126
Is possible to run the cycle in below or under the one milliseconds 127
as firmware version 4.2 128
Here you see a simple image of clock synchronization 129
on profibus 130
assigned Earlier chapters the TIA 131
As many seconds to get the actual values from Drive via telegram on profibus 132
For example 133
you know... 134
125 microseconds 135
and TO 136
Set points 137
To drive via profibus for example 250 microseconds 138
Here you see 139
Tdb time 140
we just aassigned last time 4 mili seconds as default ratio 141
That's the some colored boxes you see here GC 142
as Purple BT as pink 143
What's that mean 144
BT is processed on simotion site 145
at this level is the background test 146
Time of actual acquisition 147
To time of set point transfer TDP constant DP cycle time here 148
One cycle of DP 149
IPO with Orange Box means 150
And IPO task 151
There's an acyclic part 152
for the communication 153
Satisfy the user acyclic communication functions like sending or receiving data 154
here you see Tdx time 155
Is the sum of the transfer for all slaves 156
That means if you're running too much slave 157
on Profibus line maybe you should arrange a higher TDP time 158
For complete the one cycle 159
in the required time 160
So... 161
Dotted or dashed line here is the beginning of one cycle and end of one cycle 162
it Repeat again the same Cycles 163
it's a good picture about clock synchronization 164
It explains all the parameters 165
effects to our 166
DP cycle time 167
So next page how do we set the Cycle System cycle clocks? 168
We just right click on execution system of simotion 169
Via context menu on the expert list and set system cycle clocks 170
We see here IPO and IPO2 servo cycle clocks it possible to change the 171
factor here 172
The normally utilization of our CPU is based on master 173
Bus. data cycle clock 174
So 175
if we use more than 16 access with simotion 176
d425-2 177
Then maybe we have to increase the servo cycle to 8 milliseconds 178
If it's possible to satisfy our 179
Motion Control Functions 180
For instance. 181
It's not possible The Next Step 182
it's i think 183
We have to increase our profibus DP Bus data cycle from to 2 milliseconds 184
to 6 milliseconds for instance 185
After that maybe we will reduce the utilization of CPU and we are able to 186
To execute our motion control commands with 16 aXes 187
Anyway it's not possible 188
It's sometimes then enter last possibility and we have to 189
Replace the CPU with higher level 190
Type of cpu 191
In this case it should be a 192
D435 - 2 193
You'll see here the explanations of the parameters bus cycle 194
Servo Cycle IPO cycle 195
By the way sometimes we use IPO cycle for RUN 196
Our function blocks 197
as PID control 198
For instance. 199
The next page... 200
you see here time controlled task processing 201
We see here our dp cycle 202
Tdx time 203
IPO cycle clock 204
There's a cyclic communication at a cyclic 205
That's one cycle 206
You see here the Round-Rubin level 207
And our interrupt tasks of simotion execution systems 208
Timer interrupt task system interrupts task 209
The all boxes have some meanings for position control tasks 210
There is a 211
Little time requirement with Red-box 212
And with green box 213
For this example no interrupt task is active and default setting 214
DP cycle Servo cycle IPO cycle one 215
IPO cycle Clock 2 216
The factors 217
Depends on your technology object number and utilization 218
There's a tool 219
for 220
Optimize this task processing sometimes there's an overflow 221
The TDP cycle or the utilization of CPU is too much 222
you have to Adjust 223
the Timings 224
so Round Rubin level has the lowest priority in execution system and processed 225
In the remaining time 226
So with Round Rubin Level here there's an factor so we can just adjust 227
The background task timing 228
I have mentioned Task Trace and TASK processing 229
after we right click on CPU 230
Sure here 231
And Target device and device Diagnostics 232
There's a window about task manager 233
Here we can monitor online current tasks 234
For instance background tasks is running state 235
Refresh rate is default 500 milliseconds 236
in Automatic 237
The current cycle time is 43 238
Microseconds 239
Minimum cycle time of background task is 20 microseconds 240
and Maximum cycle time 241
Is 146 microseconds 242
So we can see which task takes the longest time to process 243
There's also two buttons 244
about task Trace display and create snapshot 245
when we click display another window pops up 246
So we can here easily monitor the timing of our execution 247
System and we can 248
Adjust here in necessary tasks to reduce the cycle time and optimize 249
The CPU utilization 250
It's also possible to do that with simotion ITDIAG and web based operation 251
So next page... 252
Cycles at the Round Rubin Level there's an Loop here it starts with 253
Background task 254
Then it's processed Motion tasks one by one 255
If there is an wait comments or wait for condition 256
Positioning or Loop whatever 257
There are some cycles that are some time for each motion task 258
If motion task take longer time than expected 259
It's interrupted 260
By the system 261
and continiues with the next motion Task 2 262
until the other motion task if there's a program attached of course 263
Then after that there are some internal tasks 264
simotion to handle 265
The Loop continues so on... 266
for the Round Rubin level the time remaining after execution high-priority user and system tasks 267
Is used by motion tasks 268
background task 269
Time is allocated to background task and motion test 270
In the time slice technique 271
Is name that Round Rubin 272
And background task if the background or Motion task is not complete the executive within a time slice 273
As I mentioned 274
It's allocated additional time slice for processing 275
Maybe next Loop cycle 276
If the processing has also not been completed after the second time slice 277
At the next task the round rubin level is changed 278
So there's a setting when configuring background task or the motion task using time 279
alLocation button 280
it Is possible to adjust by user with this button 281
Motion tasks are very efficient support programming sequencer motion sequences 282
programming engineer is provided appropriate mechanism to control task 283
At the backgrounds you can just monitor via assistant functions if 284
The Motion task is running or interrupted or finished 285
We can handle it at the background 286
So... 287
Example of time Slice Allocation at Round Rubin Level 288
This is the button and adjustment mentioned here 289
So on execution system 290
Let's see we have here and start-up task 291
One user program is attached and assigned to start up task 292
Each task has its own program assignment tab and task configuration tab 293
So there are here some user functions like fault unit 294
On the program block peripheral faults 295
Technical fault 296
And simoroll units and background program 297
you will see here 11110 298
assigment Count of the programs 299
Is possible to assign one program 300
Two different motion tasks for example 301
So at the task configuration 302
you will see here size of local data stack 303
That's what we'll see more CPU do or how do we react 304
error reaction 305
with program error 306
Normally as default setting CPU goes to stop 307
if Is there's a fault during startup 308
we can change here if we select here execution fault task 309
And the program jumps 310
under system interrupts task to execution fault task 311
So at this case 312
It's necessary to assign a program to execution fault task 313
Normally it's a must to assign tasks 314
Sorry programs to this task to handle the simotion if you don't want 315
to Set the stop mode 316
Other Case we could have set CPU to run mode 317
So you can just easily create an empty program 318
and assign here 319
timefault task background task 320
Technological fault task for execution fault task 321
So... 322
There's a similar task here the name is shut down tusk 323
it Is executed before CPU goes to stop mode from run mode 324
but when we just switch off the power 325
There's no time to execute to CPU your shutdown task so it's only executed when power is on 326
when we set to simotion to stop from Run mode 327
keep that in mind 328
So no program assign to this task so we can easily just select some 329
program to Assign here another program is assign here 330
So we will see on the right side it's also possible to set the order of the 331
programs From up and down or we just cancel the assignment here with this button 332
Please select the program 333
On click this button 334
Let's see the task configuration is also the similar of the startup task there's a size of Local data stack 335
Is default value 336
Another parameter name is Time Watch dog 337
Is almost a 15 seconds 338
So CPU if the CPU couldn't execute the shutdown task 339
until 15 seconds past 340
So watchdog 341
Timer 342
It's says and on automatically switch CPU. to stop 343
error reaction on program error there's only one. 344
setting set cpu to stop So... 345
Our other operation levels motion tasks normally we have here 346
32 motion tasks 347
but right now there's no program assigned to our motion tasks 348
So by defaults it is checked 349
usage in execution system for motion task 1 for example 350
if We don't use motion tests we can just easily deselects and removed from execution 351
Is a good thing for utilization 352
On the test configuration tab 353
We have here in same setting size of local data stack 354
There's another checkbox 355
It says activation after the startup task 356
When we select this checkbox we can just activate this motion task 1 357
After startup test automatically 358
And our MCC program begins with start command 359
Now we will insert an MCC unit and unit name 360
will be MCC 1 361
You will 362
See here existing program names you can just enter here 363
Alter version 364
So next thing is compiler settings as I mentioned at the last chapter 365
Normally we use Global compiler settings 366
If you want to 367
exclude source from compilation 368
you just select 369
Then our simotion don't compiled the source and program 370
If you don't want to use global settings 371
For example I don't want to permit program status to this MCC unit 372
I just deselect that 373
So... 374
at the Options and settings of simotion scout we select compiler option settings. 375
This additional checkbox permit opc-ua XML 376
Load symbols to runtime 377
If you don't select this checkbox 378
After that it's not possible to reach read or write 379
The variables 380
of The symbols inside this unit is not possible 381
Or OPC 382
So another thing is ignore Global compiler settings 383
All of the compiler settings will be ignored 384
And the program is then not recompiled when the global settings are changed or extended 385
So here at locally 386
We can adjust which setting 387
For each unit is also possible 388
There are some additional settings for compile options 389
So... 390
we use 391
Global settings for this unit and 392
Units under this folder MCC unit 1 393
There are two sections 394
At this page interface 395
Is exported declarations 396
Parameters here or IO symbols or structures and enumerations 397
Are globally reachable here 398
and in Implementation section 399
That are same tabs 400
parameters and symbols here is only reachable 401
The units on the MCC units 402
MCC unit 1 403
So... 404
You just 405
can consider this unit as a folder 406
You will be insert MCC charts 407
Program files on this folder 408
i will double click to insert MCC chart 409
So... 410
You will create a new program 411
And combobox a function block and function selections you enter here Author 412
And version 413
So... 414
we can use namespace here 415
Program name in MCC program 1 416
I clicked okay 417
So normally an empty MCC chart looks like this 418
there is a start section 419
and there's an end section labeling default 420
So... 421
When we select 422
Activation of the starter task 423
after CPU goes in run mode 424
Then I assign the MCC program one to motion task one is automatically 425
Executed one cycle 426
from start to end. 427
There are some comments here basic commands task commands program structures 428
Communication comments 429
the green backgrounds 430
Comments our motion control commands 431
Single-axis Commands external encoder and measuring system Cummins gear and camming commands 432
And the blue comments are for logic 433
Of the CPU 434
So let's pick one of the table 435
Wait time for instance 436
We just double-click 437
On this button and there is a pop-up window the enter here 438
1 second 439
if you want to Making Loop 440
Do you have to use 441
It look here or just 442
jump comments 443
Because after this executed 444
motion task will go to end state 445
and 446
It doesn't automatically 447
goes Start label 448
By the way it's an easy way to handle the motion tasks 449
If you want to do make some changes and download the program during CPU run mode 450
You can't use this checkbox it prevents 451
Cpu download in running mode 452
So if you use this option if you make some changes here if you want to download in run mode 453
It's not possible CPU 454
Has to go and stop State 455
so That's why we will use background tasks to handle motion tasks 456
So there's a button here time of allocation 457
time allocation in the round-robin execution level 458
So is default setting here complete task at servo Cycles 13. 459
Computing time for background task 460
For complete cycle 461
i think it is default at 10 servo cycle in the middle 462
List check or lecture notes 463
There's an example of time slice allocation here the task 464
Background task 465
gray box motion task one with green box 466
motion task 2 with blue box 467
Communication task with purple box 468
And allocation time in round rubin execution level 469
What will happen if you select 470
One servo cycle for computing time 471
The backgrounds 472
What will happen when we select 10 servo cycle 473
For computing time 474
There's an example here to different selections and compilation 475
On the right site 476
if i select 2 Servo cycles for round rubin for background actually 477
There are two gray boxes for backgrounds 478
There are two green boxes for motion test mode 479
There are two blue boxes for motion Task 2 480
So after that there's a communication box 481
and loop is completed cycle ends 482
New cycle begins 483
You will see here how much time we spent 484
With two servo cycle settings 485
Computing time for complete cycle 486
On the left side 487
If we select 5 servo Cycles 488
For round rubin execution level you will see here 489
Five green boxes for backgrounds 490
2 green boxes for motion control 1 491
and two blue boxes for motion Task 2 492
at the end 493
Our cycle our round rubin cycle takes longer time when we compare 494
to 495
other selection 496
So according to your program if assigned 497
Too much user programs to background 498
That means your programming cyclically 499
Your motion controller commands 500
then you have to select maybe more servo cycles for round rubin 501
To optimize 502
Your execution cycle 503
If you're going to use motion tasks for 504
Motion control comments 505
It's more logical to 506
Take this slider to 507
Few select few servo cycles to optimize 508
You're round rubin cycle 509
So it depends your program also 510
you need to check 511
and adjust Monitor and see what will happen during commissioning States 512
So between 20% and 80% is possible to adjust 513
on background task 514
So next-page assigned programs to tasks 515
double click on execution system and open the window 516
we just select 517
The desired motion task for instance or program 518
after that we click 519
This button to assign the program to task 520
and for motion tasks the checkbox used task in execution system must be select 521
For execute. 522
So what about user interrupt tasks? 523
there are 2 different user interrupt task 524
at this Example Define condition is the sensor 525
variable is true than using internal task is executed 526
Our program 527
in auto mode unit 528
sync filler red program 529
Is executed at this case 530
If your IPO cycle is one millisecond is possible to 531
Catch 532
This condition and interrupts in each one milisecond 533
so... 534
task runtime and task status information you see here 535
target system Device Diagnostics 536
Or we just 537
I said I was like this you just right click on CPU you at your target device 538
on device Diagnostics 539
Is passive right now because we are at the offline mode we need to go online when we want to use 540
this Function 541
So... 542
After you click 543
Our shortcuts ctrl + d 544
You will see here some tabs 545
with diagnostics information 546
In task manager window you will see here regulations 547
It's also possible to get the state of Tasks in user program with the system 548
function 549
So before we will look at the next page 550
Let's check out the settings at our scout project 551
we selected motion task 1 it's possible to select execution fault task 552
Run error 553
Program error exit in our user program 554
So for background tasks that are some user programs assigned 555
When I go to task configuration 556
There's some parameters 557
Size of local data 558
Time watch dog 559
This parameter must be multiplier Factor 560
Of the servo cycle 561
Or DP cycle 562
error reaction on timeout 563
if background cycle 564
Couldn't finish 565
one cycle 566
In defined watchdog time than are program interrupts 567
to time fault background task 568
Here 569
time fault background task 570
Right now no program assigned here so we need to assign some program to handle 571
This error 572
Another parameter selection is error reAction Program 573
When we use project generated its automatically selects 574
fault tasks here 575
so during production at running projects normally experts and programmers 576
Don't want to go CPU at stop state 577
It's not wanted 578
That's why we will use 579
Interrupt and fault tasks to handle the error 580
And you have some messages to operator to 581
find and solve these issues and continue to production 582
So let's check your servo synchronous task 583
that Progression 584
Monitored during execution synchronous functions CPU goes to stop 585
Sometimes if the CPU utilization is too much and there are too many tasks 586
In synchronous operations sometimes the cycle time is not good enough 587
then we here select 588
leave time monitor Active or discontiniu time monitoring and interrupt tasks 589
for... 590
for IPO sync. task 591
It's not used in task here 592
When do you want to use? 593
There are also similar settings for this task 594
So... 595
for synchronous task 596
We were here additional settings 597
Number of level overflow in IPO cycle and servo task 598
As I say when the utilization is too much sometimes we just 599
enter here 600
3 times 601
Overflow is possible 602
Monitoring during execution of central functions 603
Leave the time monitoring active 604
And there's a rate between IPO synchronous task and IPO cycle clock 605
It depends or our program is to use the IPO tasks 606
The cycle clock will be much higher and longer than usual 607
According our synchronous operation 608
Maybe at this case 609
we can adjust here with the selection by 610
One of the three options 611
error action with program error exit we'll select 612
For instance 613
These are so important parameters about execution system 614
with experience when you develop in projects time to time 615
So you have to 616
Examine yourself 617
And see what will change and what will happen in the real machines 618
Is Diagnostics function Simotion is really handy 619
You can trace 620
here the task 621
Timing 622
And Trace the curves 623
And you have the feedback from real system so you can adjust here these parameters 624
According to 625
Your program 626
soTC input task 627
It's not used in our execution system 628
Time control tasks 629
Is not s executed 630
There arel also timer interrupt ask 1 2 3 4 5 different tasks 631
it Is similar like 632
OB35 in simatic systems 633
Startup task is similar like ob100 634
When you compare the simotion to simatic systems 635
And the timer interrupt as if you use as selecting execution system 636
Is possible to define the time level 1 mili seconds 637
to 9 miliseconds... 638
So these are main settings in a 639
Execution task system 640
Let's continue with lecture notes. 641
So on the program insights there are some tasks handling 642
Comments and operations in MCC of course for sure there are some system functions 643
We can use 644
To manage our execution system in St or ladder or fbd 645
Whatever we want 646
So... 647
at this page you see here this blue box 648
and groups 649
All of the tests comments 650
The first one is start task 651
The task is not running we can start the test from beginning with this command 652
Interrupt task 653
if You want to pause the test Second Command is interrupt task 654
Continue task comments is used for continue one task 655
After we interrupt the task 656
Because when we use the START task after interrupt task command 657
task goes to start section at the beginning and the restart again 658
When we want to continue 659
Whatever 660
It's stops reviews computer task 661
Reset TASK means 662
Interrupt the task 663
Reset to initial state 664
with task State comments we can learn and get the 665
Task states of motion tests for example 666
Determine task ID function the last one 667
We can determine the ID of the motion task for instance 668
So here you see corresponding 669
System functions 670
For MCC to use in St 671
Operations to 672
Start motion tasks in ladder or FBD looks like this 673
It's similar like a box in function block 674
But these are the system functions 675
the here there are two inputs 676
And enable boolean 677
and ID we need to 678
know task ID 679
And as an output 680
And double words 681
we get of feedback of the command is executed 682
Or not. 683
So there are other task comments for stopping 684
And resuming task 685
In LAD or FBD 686
These are the same commands in MCC for reset interrupt and continiue 687
For determine Task State we will get state of Task ID function 688
The return value at the outputs daa type is double word 689
you will see. 690
The possibilities of the outputs 691
0 means task does not exists 692
This is an enumeration available corresponds 693
task state invalid 694
I returned value one means transition run to stop 695
Task stop Task state stopped and pending 696
Return value 2 means tasks that is stopped 697
That means we are here 698
at the end our program is stopped 699
return value 4 means task is running 700
Task is running but is not at this comments 701
Maybe there are some other comments 702
Like... 703
Calculation 704
Some variable assignment here 705
For instance. 706
we can easily 707
select drag and drop variable here 708
in Exploration. 709
maybe the Task is running and at this command right now 710
return value 711
10 as hexadecimal means tasks take waiting 712
at the background task when I execute to get state of task command if task is 713
Executing this command and this is a waiting command simotion 714
will wait for one second 715
And when you get this return with you 716
for this case 717
Find the other return value 20 as hexadecimal 718
Means task State suspended 719
This is a special case 720
Return when your 40 as hexadecimal means-task state with next cycle 721
So that means timer interrupt task waiting for Next cycle 722
This is another special case hexadecimal when your 18 means tasks 723
wait Next interrupt 724
User interrupt test or system interrupts test waiting for next event 725
The last one 726
Hexadecimal return value 100 means TASK_STATE_LOCKED 727
at this case task Has to be 728
Locked by disable scheduler function 729
So... 730
there is a good chart of state model for task 731
you'll see here normally task States should be a running mode 732
or Run States 733
return value is 4 as hexadecimal 734
When we use the reset Task ID function 735
or reset TASK command in MCC or ladder or whatever 736
and motion task 1 for instance goes to task state of stopping States 737
After that it's automatically change 738
It's state to TS_STOPPED 739
When we use restart task command and then 740
task state goes to running State again 741
as similar way after our motion test completed task State 742
Will be change automatically from running to stop state 743
So when we use a acyclic commands 744
we will see later on with motion comments or transition conditions or wait for 745
Condition or wait time commands 746
state will be changed from running to rating state 747
After the conditions 748
fullfilled it is automatically continues 749
To execute our program the same as state will be changed to running 750
Normally... 751
and When will you suspend task ID comments at tasks date 752
Change to TS_SUSPEND 753
we can use resume ID common to set again running States 754
Because suspended state or user program 755
Doesn't executed 756
So... 757
if there is an interrupt related to our task 758
It's my go to ts wait next cycle 759
Or it may go to ts wait with next interrupt after that it's automatically change 760
Stop state. 761
TS locked is a special case 762
Is possible to Go State when we disable scheduler 763
After we use enable schedule a comment it goes to 764
you will see here bidirectional arrows 765
possible to go each way 766
Normally is not directly goes to running States 767
first Maybe it's goes to wait cycle 768
Next cycle or wait next interrupts 769
After that are tested will be changed to test state stopped 770
and we need to use the restart task id to set the task state to running again 771
So... 772
task state is invalid maybe be entered just wrong task ID 773
It's unusual State 774
Or we just entered the wrong input parameter 775
Function 776
The state model for tasks 777
hear some detailed information 778
So... 779
This is the end of chapter 780
What you learned at this chapter how do we create some basic user function 781
How do we control the execution system 782
How do we assign user programs to tasks 783
So next time we will go online with our 784
Simotion project 785
Check the online Diagnostics of CPU 786
Thanks see you later on 787
So let's make an exercise with simotion 788
In our first project I will close the current project 789
Do you want to save changes yes 790
So I'm going to open 791
Our first project is an empty project we created at the beginning of 792
Chapter 793
So here in programs folder we just insert an MCC units and 794
MCC unit1 795
With global settings 796
Okay 797
I will go 798
An option settings and change the compiler settings here 799
Click accept 800
Okay 801
I really insert at MCC units 802
unit 1 803
i will create 804
empty interrupt tasks 805
for time fault task 806
MCC time fault 807
MCC time fault back 808
back 809
MCC exec fault 810
MCC peripheral fault 811
When's the last one should be 812
Tech fault 813
MCC 814
i will create a 815
startup Program 816
and Shut down 817
Program 818
I will create some variables 819
Global boolean true the type 820
data type retain 821
Gbo false 822
global boolean retain data 823
It's always false 824
So are we going in system variables CPU 825
i will check if the startup settings is RUN State okay 826
after that 827
Please save a save and compile 828
It's automatically compiled the hardware first 829
And no it's compiling or software and programming sites 830
So... 831
Let's assigne our programs to tasks startup task 832
Empty program startup 833
And shutdown task 834
shutdown 835
So... 836
Let's select simotion and start simosim 837
If this menu is going to use to device adapter 838
To connect to simosim virtual at an adapter 839
Then I click accept settings or current settings and changed 840
Find interface Service Port is used for CPU in simulation 841
PC PG 842
With this interface also 843
Okay it's profinet at the other network 844
So we will use 845
device adapter so it's not relevant 846
i click yes 847
And there's a pop-up window will you see here is the faceplate 848
of simotion you'll see here the cf carts 849
When you click the CF cards 850
Will see you the folders and files 851
are simulating the CF cards at FTP server now CPU is in 852
Stop mode 853
You can see 854
6 blinking dot 855
That means our system powered up and everything's fine 856
There's a reset button simulation and diagnostic button simulation 857
web server 858
with new versions here with 5.2 859
User Administration and entrance 860
Security level release no 861
Is normal so there is no project 862
By the way the HTTP FTP web server is activated by default 863
I can go in some pages 864
diagnostics... 865
And monitoring some pages here 866
But some pages requires login and authorization for sure 867
We will examine in the next chapter of the web server 868
So now I just click 869
my simotion compiled 870
And Go online button connect to Target device 871
So here as you can see in the upper window 872
Even if you use the device adapter for Scout 873
And siemens simosim virtual ethernet adapter in our IP address is for 874
Service port 875
There are some information technology package is not available on the controllers 876
Console it Diagnostics you see here the current operation States 877
So... 878
First thing 879
I click it to control the operating modes and operating state of simotion 880
It's possible to set to Run 881
The CPU is empty there is no user program in CPU 882
But it's anyway it's possible to set the run state 883
On the websites you receive here the orange and the green that means 884
There's a difference between offline and online system 885
So I've created some programs and assign execution system I just said it and 886
Download Project to target system 887
and... 888
There are some selections here we already mentioned 889
About store additional data and include DDC charts options 890
It's downloading the source code of our programs to CPU 891
Let me select after loading copy ram 2 rom 892
it Is executes the function of the downloads completed there are some additional options 893
we have mentioned in Last Chapters here 894
About replace the product versions of Technology packages 895
Initialization initialization of object 896
Cancel 897
I just click yes to start the project downloads 898
When you're downloading the hardware 899
There are some major changes in your project it's not possible to download the project 900
Program to CPU in running mode but so there is a message for information to us 901
Attention here the CPU set the following devices to stop mode 902
Are you sure yes! 903
So our CPU is goes to stop state 904
Is resetting to charging system 905
in our pc simulation is running really fast in real world it takes longer time. 906
here... 907
You can see technology package 908
Will be loaded 909
IO telegrams 910
here more information should device to set mode run 911
I say yes 912
simulation goes to run 913
Normally 914
For now we didn't assign any programs on the system interrupts tasks 915
Real system and with the older firmware versions it's not possible. 916
Set CPU in Runring state so 917
I have to assign some programs here 918
Normally 919
case 920
timefault task The programs are empty but must be assigned some programs to our interrupt task 921
So right now I will assign empty programs 922
time fault background task technological fault task 923
Peripheral fault task 924
Execution fault task 925
Let's create some basic 926
Task for motion control simotion 1 927
Let's create some Global variables 928
So it's not possible to create and Go Global variable so I had to go to offline mode 929
So... 930
Global integer 931
int 932
It's retained data and initial value 933
Should be 100 934
So gbo test Bits 935
Is bool 936
retain data and initial value is false 937
we will use here are some basic commands 938
Such as wait time 939
for 1 sec 940
and set bit 941
Is possible to drag and drop 942
set output is not possible to connect the global variable 943
So it should be the real hard wire output signal 944
That's why I don't use your this 945
Is possible to right click and hide the commands or the comments 946
will not be executed 947
i will select the calculation assignment box 948
So I can drag and drop this test bit 949
Set True 950
So I will copy and paste same command 951
Copy and paste same comments and set the same with false 952
Okay 953
So... 954
i will created was simple program 955
I need to save 956
I'll go again the execution system 957
I want to assign to motion task 1 958
but here 959
I couldn't see I here is motion 1 960
lets assign 961
I need to save 962
Compile 963
Online 964
download again 965
I would try to download in run mode load cpu without drive unit 966
only CPU 967
There are some other possibilities 968
For instance it is possible to load all programs of CPU or the technology objects 969
i select performed download during run 970
I think it's not possible because we changed the execution system 971
So here you get an error message during download an error has occurred while. 972
downloading Target device 973
Note the outputs in Target system 974
So it says 975
Modified Global device variables is not possible to 976
Download in run operating States 977
that's why CPU needs to be go in stop mode 978
Okay. 979
You see here the yellow led 980
There's no reset system no power on and off here 981
That's why I download takes less time than the last time 982
Do you want to switch to stop CPU back to run yes 983
So... 984
I wonder if our program is executed or processed or not 985
right-click at Target device 986
And device Diagnostics 987
so in general tab here this simotion 988
name 989
Operating States Mac addresses of all the ports 990
Communication ports 991
Serial number 992
Technology package 993
Build number serial number and so... 994
By the way it's not possible to simulate the sinamics control unit side of simotion 995
That's why we can just work only the CPU sides 996
If you click the refresh button it's refreshing this page 997
That's important here 998
some buttons are for operating State this window 999
Open it Diagnostics to go to WEB server and settings 1000
need username and password login 1001
So... 1002
Next tab diagnostic buffer 1003
here the events recorded in CPU memory 1004
there are 49 events 1005
The last event is number one at the top of the list operating Mode RUN reached 1006
You can diagnose here 1007
The CPU messages 1008
if there is an program at all when you double-click the error 1009
What is a diagnostic code possible to go 1010
where the message trigger words 1011
In some cases and you can save as the list 1012
Or diagnostic file as a log file in your PC 1013
So next tab is Task Manager 1014
Refresh rate is Manuel here I can select 1015
1 seconds for instance 1016
So there's a message and notes 1017
Please activate the debug on the CPU test mode to control the motion tasks 1018
We just here just want to monitor all of the tasks here 1019
you see current 1020
Cycle time of background task is three or two or one 1021
Microseconds 1022
You see here the minimum and maximum values 1023
There is also the control panel task 1024
more reviews next chapters to control the access 1025
Test the motion control comments 1026
So assigned program to motion test 1 1027
current task state be stopped 1028
And we see here old values as time in milliseconds is 0 1029
That means 1030
After power on and CPU goes to run States in run mode 1031
motion task is Never executed 1032
Why? 1033
Because we didn't select the activation of the startup task 1034
We Didn't Start the motion test with system function 1035
So itself 1036
it Doesn't starts 1037
You see here the task trace buttons be mentioned in this chapter 1038
If you create 1039
Snapshots 1040
click Open task trace profile 1041
It's just make some and snapshots 1042
current States 1043
here also the timing 1044
servo task 1045
IPO task 1046
Background task 1047
when you zoom out 1048
here 1049
What's after background tasks 1050
in Timeline 11.7 1051
How to is started 1052
Timeline 1053
81.758 1054
Several tasks as ended after that IPO ask a started an IPO 1055
has ended 1056
So background tasks 1057
What starts here 1058
And it's here 1059
It's almost 1060
I think 1061
Yes 1062
0 points 1063
4 or less than 0.1 1064
You'll see here 1065
As microseconds 1066
At the maximum value 1067
so with task trace display 1068
You're just 1069
Reopen the same editor 1070
You see here the timeline your Cursor 1071
You can just 1072
scroll left or right 1073
Right now there isn't any motion test running so our 1074
round rubin cycle 1075
You can consider it started and ended here 1076
T1 cursor and T2 cursor you see hear the difference 1077
Is 0 points 1078
245 1079
As miliseconds 1080
Important tool 1081
to... 1082
See the terms and timings of the all tasks and take some feedbacks and adjust tasks 1083
adjust to round rubin 1084
So 1085
The next tab use memory utilization here to ramdisk 1086
This type of motion D is 76 megabytes is quite good enough 1087
and ram memory and memory cards and retentive data 3/10 1088
For most projects is really quite big 1089
But sometimes the retentive data is limited 1090
500 kilobytes 1091
It depends on our project 1092
you will see here system utilization set for 1 miliseconds 1093
There isn't any technology objects that's why utilization of isochronous task is 0 1094
%0 as Percent 1095
There are some bars on the left side 1096
5 minutes 1097
For milisecond is our service cycle clock 1098
and 4 milisecond or bus cycle clock 1099
If you see here the remaining CPU sources for acyclic communication 1100
Cycle time of background task minimum 1101
Maximum admin vlues 1102
Processor for profibus communication you may see here 1103
The green area 1104
The percent of utilization means your CPU is running properly everything's fine 1105
And the other one yellow area is a danger zone 1106
It's possible to overflow in IPO cycle or servo cycle 1107
You're using too much resources of CPU for motion control or 1108
Maybe there are too much axes 1109
Positioning comments for this type of CPU you have to adjust your 1110
Utilization. 1111
RED area means your program will not work 1112
in the real world 1113
CPU will go to stop States 1114
So everything is related to each other 1115
When you increase your bus cycle clock 1116
Sometimes you 1117
Gets higher 1118
Coping time 1119
And higher resources and less utilization 1120
But maybe your positioning resolution is not quite good enough 1121
So in the real world at the machine 1122
It's mechanically 1123
You're losing resolution so it depends on 1124
Your machine and automation tasks 1125
Maybe you have to change the CPU higher version of CPU 1126
Advance 1127
So next tab is user log you can just here enter some data here 1128
it Is stored in CF while you can enter here some logs and comments 1129
System log 1130
You will see on monitor 1131
According to current date and time 1132
It's about the system itself 1133
firmware kernel file system monitor starting control serial check number 1134
non volatile ram parameter if there is a Hardware Based error 1135
This is the first place you have to look 1136
And the alarms 1137
here the technological faults at and alarms of 1138
simotion 1139
You can acknowledge over here 1140
Clear the CPU alarm window 1141
Let's start with a background program insert a new MCC 1142
Backgrounds program MCC backgrounds 1143
So... 1144
Let's use our Task control commands to determine task state 1145
I will select here motion task 1 1146
return value State 1147
if i click the tab or any other points on the screen 1148
a new window will automatically pops up 1149
Here I can enter the name of my variable the data type is double word 1150
and at variable type 1151
if I want to use this variable as global retain 1152
or Global available to access from other units global 1153
And if I want to export 1154
All of the other unit I have to set up this one 1155
initial value 1156
necessary and comments test comments 1157
If I want to arrays I just sent to hear the length of the array 1158
So... 1159
Let's select this one okay 1160
At the background 1161
The system Scout automatically create this variable okay 1162
double click on MCC unit and see available here 1163
So... 1164
Let's use the same comments for motion task to determine task States 1165
Return value for variable is MT2_state 1166
i will click here 1167
And the open window or search available global 1168
and 1169
Not exportable 1170
command state task 2 1171
Okay 1172
i click Okay 1173
here the mt2 state 1174
Defined in implementation section so this is the source internal 1175
decleration of the variable 1176
All of the MCC units under 1177
The MCC unit 1 1178
it's possible to read and write this variable 1179
On the other hand 1180
From another unit it's not possible to 1181
Reach MT2 States 1182
but MT1 1183
State variable is in interface section so it's an export declaration 1184
So it's possible to reach this variable from other MCC units and other programs 1185
The difference 1186
you will see here's another type here the comments 1187
if i select 1188
Project languages and language dependent texts 1189
And add other languages like English 1190
I will see here also additional columns as English and German 1191
And so on... 1192
So after that I'll get the current states of motion tasks 1193
I need to check 1194
with a if is ask condition 1195
But I double Click 1196
Is possible to use ladder inside the MCC 1197
The program the logic 1198
Or is possible to use ST to program logic 1199
So when I select the MCC Network I will see here in symbol table 1200
All of the variables 1201
So first of all 1202
I will save 1203
then I click okay 1204
there is an information box 1205
In syntax error incomplete comments and parameterization do you want to return the dialogue 1206
and correct errors ? no ! 1207
I can just the right click and hide the commands 1208
So usually it's more faster to use the 1209
Programming editor in offline mode I agreed to save and compile 1210
After that I'll see here the variables I added 1211
So now I can assign and use variables 1212
Let's go click right and 1213
Display 1214
And Double Click 1215
if This motion task 1 state is equals 1216
task States 1217
Stopped 1218
Or... 1219
invalid or 1220
task state 1221
Locked or 1222
task States 1223
Suspended 1224
I'm going to start 1225
The motion task 1226
start task command with motion task 1 1227
On the other case 1228
Nothing to do right now 1229
So... 1230
This is just an basic logic from background task to control the other motion tasks 1231
For instance. 1232
After that I will go online again 1233
I'm going to download simotion program 1234
Yes. 1235
restart? yes! 1236
I will check again on the 1237
Task manager 1238
Okay 1239
So on. 1240
What did I do wrong I didn't assign my background program to background task 1241
I should assign on my program to backgrounds 1242
And download it again 1243
For switch to see if you are running mode again 1244
So now you see here is refresh rate is 1 seconds 1245
and our motion task 1 task status is running wiating 1246
current cycle time for this task 1247
Is 3 seconds 9 or 10 milliseconds 1248
Here you see the min and max 1249
So we used 1250
Three different wait comments 1251
in our task motion 1 1252
And there are just two other variable assignment Commands 1253
It takes a couple of milliseconds 1254
To determine the task state in background and start the test takes a little time 1255
as couple of milliseconds 1256
That's why you see here 1257
In task manager and 1258
This is waiting 1259
3 seconds and 10 milliseconds 1260
So now our program assigned to motion task is working 1261
So... 1262
we can easy to just go in editor 1263
click in monitor 1264
Then you see actual processing comments 1265
Time by time 1266
So when you click and program status 1267
You can monitor the variables 1268
So it's not true 1269
You can see here at the same time true-false 1270
On the other hand is possible to go to single step mode 1271
Turn the color of the current command change to light blue 1272
That means a this command of motion task 1273
Our program is 1274
Stopped 1275
Because we switch to single step mode 1276
We can 1277
Continue to Next Step 1278
It's a good feature when you first commission to your motion control charts 1279
So next command 1280
and comments 1281
After I cclick the single-step and deselect 1282
It goes in Normally 1283
switch to 1284
Single step mode 1285
You can see here the 1286
task state is running suspended by debug 1287
As the difference type of task 1288
i will click The Next Step 1289
You will see here and light blue an active command 1290
If you see here the maximum execution cycle time of the MT1 1291
So i have mentioned before the trace functionality is possible to use after firmware version for 1292
4.2 1293
select trace mode today 1294
There's an error 1295
It's invalid operating mode the trace can only be activated in test mode or debug mode 1296
You can find the settings options in the context meaning of CPU 1297
So first of all I had to switch the CPU mode 1298
Test or debug mode with operating more settings are i will click to operated 1299
and 1300
From now I should select a test mode if I want to use 1301
all diagnostic functions 1302
trace some program status 1303
Can be fully used 1304
But at this mode project confirmation it's not possible 1305
The other mode debug mode is full test mode 1306
Functionality and additional diagnostic functions breakpoints 1307
And to control of the motion tasks can be used 1308
project compression is not possible is also using too much CPU 1309
Utilizationcompared to test mode 1310
And there's notice danger Dangerous state is possible 1311
Because we will use CPU resources here 1312
So... 1313
When I click settings there's a life sign monitoring 1314
When I switch to other window for instance 1315
It's automatically 1316
Switch off the debug mode 1317
if the break points or disabled task start is activated the following actions result 1318
stop operating States 1319
Space bar 1320
When I hit the spacebar CPU goes to stop operating States 1321
Or then I change to different Windows application like this 1322
CPU goes of stop State 1323
outputs are deactivated 1324
In any case of sign of Life error 1325
So this is a safety precaution 1326
To prevent dangerous situations 1327
So normally used to test mode 1328
is Good enough 1329
Okay because I just use the trace functionality 1330
After that I will click the trace button 1331
So there's an new window opens 1332
And pops up in center of my screen 1333
for trace settings 1334
First of all I have to specify the call paths for the program 1335
In the motion test mode 1336
all call positions from call level 1337
For this program 1338
It's called by only from one point 1339
So there isn't another option if 1340
I want to trace some function below is possible to call from different 1341
Areas so that case I have to choose the correct one 1342
For coding program Source program units instance function and line 1343
i will select all call positions of this level 1344
For this case there is only one option 1345
I'm triggered 1346
And this recording or I can choose a condition and Enter some equation 1347
or condition here 1348
with active breakpoints and blank Result in debug mode beign exited. 1349
This is just for information 1350
For display in update manual new recording cycling 1351
cyclic controlled new recording 1352
Time constant speed manual recording is also possible 1353
Or select your cycle cycle cycle constantly recording 1354
At the background it also trace and records the current state of the motion task 1355
And also activated log for entries 1356
Okay. 1357
So here you will see it 1358
Time by time 1359
with the yellow background which, next executives 1360
Simultaneously while user program is running 1361
So there's other option 1362
recorded Trace 1363
I can here 1364
see after i click and recorded trace 1365
At this point I want to 1366
Add some modifications to our program 1367
Is switch case maybe 1368
While Loop 1369
For Loop 1370
Program Branch 1371
if and Selection Chase 1372
I reduced here and Global integer 1373
case test 1374
A variable Global retain exportable 1375
Initial value is 0 1376
Okay it's the case but it is zero 1377
And us 1378
I right click and insert 1379
The new branch 1380
0 1381
10 1382
Insert a new branch 1383
And -10 for instance and I want to download in run mode 1384
Let's see what will happen 1385
So we have a global variable as integer 1386
in our unit 1387
So that's why it's not possible to download in run mode 1388
Source change has spent time with line change the source MCC unit 1 1389
runs uninterrupted so cannot be replaced in Run 1390
it says 1391
So I will try to go back to operating mode in process mode 1392
Try again 1393
So I get the same message 1394
acknowledge from target device reloading in run timeout with while change its task 1395
Please repeat the downloads affected tasks cannot be active 1396
So it's our case it has to be go to stop 1397
we will set to run again 1398
Here 1399
i will select the test mode 1400
i will 1401
Go and status 1402
And Trace 1403
motion task 1 with 1404
The same settings 1405
Lovely see here 1406
The case is executed but we have to add some Commands 1407
to see which branch it will 1408
goes over 1409
Lets you some comments 1410
Just a comment Block 1411
To read 1412
Program codes easy 1413
Download again in run mode 1414
It should be possible 1415
because I don't want to change the program sites 1416
Didn't create any new Global variable 1417
So it says Source change has failed 1418
It's not possible 1419
I want to switch operating mode to process mode again 1420
And I will try to download in run again 1421
So downloads to target system is completed 1422
So it depends on the CPU mode and our program 1423
Well I will switch back to test mode again 1424
Start our trace 1425
Okay. 1426
now you and see here it's running at this branch 1427
because integer variable is equals to 0 1428
i will select unit 1429
You will see here the status of value 1430
I can easily enter some new value here 1431
The control variable 1432
54 example that I will press control button 1433
now our current value is 15 1434
so case is running on else 1435
branch 1436
i will select and 1437
Right click 1438
add to watch table 1439
new watch table 1440
name will be vat1 1441
... 1442
And under the monitor folder is she here or watch table 1443
I can make some tables for user-defined variables 1444
To make a group 1445
Through control and status 1446
All of the variables at one place 1447
From different units 1448
So here the status value 1449
There's a button to accept online value as control values 1450
control values will be over there written okay 1451
This function is similar to snapshot of the data blocks 1452
So I would change the 10 1453
For instance than I of the press 1454
Control button 1455
current State of variable is 10 as numeric value 1456
You can see here this branch 1457
And this is a basic example for usage of the trace function 1458
For monitoring and controlling our program 1459
So I will close all the windows 1460
This case we will continue with simulation simosim next chapters 1461
And we will go more details into simotion programming environment 1462
in scout 1463
i will close task trace 1464
on simotion site is possible to 1465
Simulates all other options 1466
I will set to stop mode 1467
I can memory resets 1468
the device from here 1469
Are you sure yes! 1470
So factory setting overall reset is executed 1471
test mode has been terminated is a info 1472
It's takes less time than the real system 1473
so... 1474
Now it's up to you 1475
I set run mode 1476
that's why now we see the orange and green icons there's an 1477
Offline and online 1478
Inconsistency when we compared two 1479
Offline project with online device 1480
So there's a shortcut button for object compression 1481
When I click on the left side 1482
With blue color Corporation partner A 1483
offline projects and comperation partner B orange color is 1484
our online device let's start the competition 1485
So actually it's uploading the data from the online device after that 1486
The Scott will compare the two devices 1487
at the offline mode actually 1488
you will see here the status is different on execution system 1489
there is a MCC unit in programs 1490
Is different 1491
on B partner is not existed 1492
So the CF cart is empty in factory setting so that's true 1493
You can select here the attribute 1494
Folder, know how protection here 1495
so on... 1496
Information but is not enough for us because we didn't downloaded 1497
Source code to CPU 1498
So there is only one direction is possible to upload 1499
from device 1500
There are some button here to do that 1501
data will be overwritten are you sure no I don't want to upload the data from the real system 1502
so I willdownload our project 1503
Which additional CPU options with 1504
Source codes 1505
Yes 1506
So it's not possible to do it in run 1507
Yeah I know that 1508
Because I'm downloading whole project with Hardware config data 1509
That's why it's resetting the target system 1510
Sometimes in TIA scout 1511
even we Didn't notify the hardware side of simotion it's needed to 1512
Reset the system there some bugs! 1513
That's why it takes longer engineering time than classical Scout world 1514
now we downloaded the projects so everything's it's a green color 1515
So I'm going to make some changes in our source codes 1516
For instance in startup program 1517
I will use some additional 1518
commands here 1519
For example st zoom 1520
Is possible to enter here structured text comments 1521
in MCC charts when I double click to zoom in a window opens 1522
And on the left side it's automatically switched to comment Library 1523
It's easy to use the drag-and-drop functionality to use some, 1524
commands On the library 1525
For instance 1526
I can use mathematical functions sqr 1527
Or modeller 1528
There's also some bit logic commands and timers 1529
FB functions 1530
here there are convertion functions 1531
bool to byte or other functions 1532
And when we are searching for some command we just enter here 1533
_rtrig 1534
For instance 1535
Or trigger 1536
trigger Functions Rising edge 1537
This is a function look so it's need an instance 1538
So I let's add 1539
The clock bits is input 1540
I say GBO when I press the Ctrl + spacebar 1541
see automatically the symbol selection box 1542
there are some global bits defined before and i will use gbo true 1543
After that I accept 1544
I need to 1545
Create and Define this variable 1546
Is possible to Define as a local 1547
Name is 1548
DB trigger data type should be 1549
sam Is the same 1550
function block 1551
Let's compile 1552
So source has been generated successfully 1553
Go to changing the social programs to download aground 1554
This is information for you and I will see here the orange and green 1555
icons between two systems offline and online that I'm going to call 1556
compare 1557
Two partners 1558
af the same way 1559
we will see here 1560
Green status means the code is equal between 1561
Two partners A and B offline project and online device 1562
So device settings are consistent 1563
There is some difference between 1564
Two partners in source code 1565
When I click the source code more detailed information will be generated 1566
by system to show the user 1567
Hopefully 1568
So here there's a difference in MCC startup 1569
Declarations is different, and formatting is different when I click this box 1570
Your program is already open at the do you close editor yes! 1571
editor automatically 1572
Opens 1573
Two partners 1574
Side-by-side in divide our work area 1575
into 2 windows 1576
With the blue color on the left side you'll see here are offline project and offline codes 1577
On the right side the online project and online codes 1578
we added 1579
st zoom block 1580
Here and there isn't in online 1581
Device 1582
So if there is other differences you will see here 1583
One by one as list 1584
There's a small icon about the used command much here 1585
X means 1586
Not located in the B partner 1587
So some buttons on the toolbar is activated 1588
it is possible to-go the next difference jump next difference or jump back to 1589
Previous this difference 1590
Or it is possible to accept current block 1591
From online system to our project 1592
Or it's possible to accept or differences 1593
And over writes to our offline project from online device 1594
So... 1595
It's a good thing to download at this case the source code of the project 1596
then you can do to make your program consistent 1597
If some other colleague 1598
goes to system and goes online and make some differences 1599
After that couple of days you will collect the system you can just 1600
Upload and 1601
Differences to your project is possible 1602
when i click the data transfer button then data will be overwritten. okay 1603
So MCC unit 1 exports is completed in imPort is completed 1604
There's a message 1605
Couldn't be perform startup Let's see 1606
MCC units startup 1607
Actually data has been changed 1608
Now I am compile again 1609
Create procedure successful 1610
Now you see here 1611
it Is green that means online and offline Partners consistent system at 1612
Our backup is up to date 1613
So this is an quick information an overview of how 1614
do we do comperation 1615
Between offline and online partners 1616
if also 1617
Possible to do this conversation between offline 1618
And other offline project 1619
Then we will select here object from a saved object 1620
we should find the other project here 1621
with simotion 1622
simoroll for instance 1623
then we'll select the CPU 1624
Then it is possible to compare two objects 1625
Partner A / B as offline projects 1626
So you see here all the AXES CAMS programs and differences here 1627
it is possible to copy a data from one to another 1628
You will see here 1629
Some changes 1630
and so on... 1631
So far so good i will switch back to offline modes and disconnect target system 1632
Let's see each for next chapter