Okay. 2
Now I opened my last simotion project so let's continue 3
Now we are starting to work with MCC 4
We have already one unit created and there are several programs inside 5
And this unit 6
so Let's see our execution system 7
Okay. 8
First 9
i will insert an axis 10
Let's say axis virtual 11
And it's possible to 12
Set position or make positioning with this axis also 13
If I want to synchronize this axis to another master I have to choose 14
sync. operation 15
Okay 16
The first axis 17
Let's say it's going to be a rotary type 18
virtual axis 19
Normally that's it 20
For virtual axis 21
Let's go on details here you may see of Technology 22
Axis that are some parameters about configuration data and 23
There are three different tabs here you'll see 24
These are only selected parameters as default 25
When I go and switch to configuration data 26
The green color means the parameters are read and write 27
If you see here data type 28
You see here text and some information about 29
Selected item minimum and maximum values 30
Also another important thing is there's Effectiveness column here 31
it says restart or downloads 32
For instance modulo value it's possible to set a Modulo 33
both of linear and rotary axis commonly used for rotary axis 34
Actually 35
For instance I will say my modulo length be 360 36
degrees 37
If I change this parameter to active 38
and I have to restart this technology object 39
to be Effective 40
So... 41
For instance simulation mode for virtual axis 42
When I want to switch from no to yes 43
These are also the enumeration data type 44
Then I have to download the technology object again to simotion 45
I see here 46
So on the other type that are some system variables 47
Is possible to read and write during 48
Online data 49
Or in run mode 50
The yellow-color parameters are readable 51
control status active or inactive for instance 52
Or another one 53
The override 54
Acceleration and velocity override as percent 55
Is possible to read during axis running 56
That's why it's color green and writable variable you will see here the minimum and maximum values 57
So... 58
The expert list consists of all of the related data 59
Of the positioning axis 60
Let's take a look 61
to Another segment 62
mechanics 63
We have selected virtual axis that's why some of the parameters or hidden here because 64
Template of Technology object is different than real electrical axes 65
As you remember a couple of minutes ago I have selected the modulo 66
So this is the same variable 67
As configuration setting 68
in expert list 69
So it's possible to use these results and 70
HMI screen 71
To modify variable 72
It is a one way to do that and another way to do that 73
it's using export list so 74
We will go more details 75
in axis to object data type in next chapters 76
So I just quickly introduce 77
Tell you some information about 78
Axes 79
in default 80
Menu here default variables can be specified for the axis 81
here and used in program 82
For example positioning comments when programming imcc this is done by entry text default 83
In the command dialog box 84
So it's an easy way to use default values 85
With motion comments 86
For instance you might consider this page as an example or template 87
Normally I use 88
Smooth acceleration characteristic 89
For positioning tasks 90
For example 91
our axis is rotary type that's why we will see here 92
as unit degrees 93
Second score 94
And that are other default values for motion 95
This is another function that are some limits software limit switchs 96
Activated 97
Minus -1 position 98
Plus positive and position you will see here 99
when i execute a comment in my MCC program for example and 100
Let's say 101
It's lower value than the negative position limits 102
The system says automatically throws and warning and alarm 103
here in output window and let's say axis movement is not possible due to negative 104
Position limit switch 105
So with axis we can use the hardware in the switches at assign some digital input 106
The next thing is maximum velocity setting and programmable possible 107
normally we just calculate 108
Maximum Motor speed and take the perimeter to axis and set here value 109
Because in real systems we don't want to harm the mechanics that are some mechanical limits 110
It's also possible to prevent 111
Unexpected speeds 112
Overwrite 113
so Another tab dynamics limits 114
Acceleration or jerk limits 115
Is really high values entered as default 116
Sometimes it's needed to be reduce the acceleration here 117
Or positive jerk 118
If I click this button automatically sets this value 119
For acceleration 120
These are software limits 121
Yep 122
Another menu is monitoring this test signal and sync. operation 123
So let's say our axes enabled 124
You see here that actually real 125
velocity 126
Light green Curve 127
There's a bandwidth 128
or dead band considered 129
This is the threshold value 130
Set this case is 1800 degrees per second 131
And there's a delay time 132
That means 133
0.2 seconds 134
for example. 135
Or let's say 136
2 milliseconds 137
I think it's too low 138
Okay 139
for sync. operation 140
This some parameters are activate setpoint monitoring with jerk or without jerk 141
setpoint monitoring tolerence 142
It's related with sync axis operation 143
So next tab profiles 144
It's possible to use some cam curves here as motion profile 145
Time-based velocity profile 146
or position locked velocity profile 147
You're using some sensors for force and pressure 148
Then you just 149
Activate and use some cam curve 150
To use the pressure-volume as master 151
calculate according to actual value slave value as velocity 152
For axis points 153
That's for valve characteristics use most common hydraulic axis 154
To calculate and scale the characteristics of valve and set the analog output 155
for example 156
To control the control proportional valves 157
So next thing is control panel 158
we can only use it in 159
Online mode to rotate and test axis movements 160
It interconnection menu here several different 161
Possibility to interconnect 162
our axis motion profile or motion input 163
with other axis Vector variables 164
Or... 165
Actuality velocity 166
One of the vectors 167
Yep 168
we have selected synchronous operation that's why 169
in virtual axis 170
have Additional object inside 171
and it has its own expert list and 172
Different kinds of parameters here 173
Let's create another axis and see the difference for instance axis slave 174
only position 175
Linear axis 176
So with this technology object there is no 177
Synchronous operation 178
and I said before it's not possible to 179
Change the 180
Axis technology type 181
Okay 182
Let's check what we have here in configuration window 183
There are some parameter overshot factor for dynamic response values during sync. op. 184
It's some cases this parameters is really important to adjust to 185
Run the machine 186
Right now maybe it's not so clear for you 187
Let's say 188
Default values here you will set 189
Actually your default values 190
Later on in user program in MCC window you may consider to use 191
motion control comments 192
These are just default values for the comments 193
You define once here 194
You will choose to use the default values otherwise you would enter parameters 195
later on in your program 196
Interconnections section is important 197
So 198
We will set here at the beginning which axis is possible to 199
be a Slave of which Axis or which 200
cam will interconnect to an axis 201
If we don't Define 202
This interconnection 203
after that 204
When we set CPU in run mode it's not possible to use 205
gearing or camming commands During during run time 206
So that's why we have to Define here all of the possibilities 207
According to this settings simotion calculates 208
Requirements and timing 209
Find a cycle clocks at the background 210
This logic is similar also if you have already used in your projects 211
TIA Portal with step 7 1500 technology CPU 212
Is the same way we have to use 213
Interconnections 214
So... 215
we have selected axis slave 216
Let's see here not the slave this will be the master 217
I'm going to change the name 218
It's an information message note that possible referencing problems of the old name with name changes 219
After I write some program and then couple of days I just 220
wanted to change my 221
Technology object name 222
Then manually I have to go in my code and replace 223
All of the old symbol of my technology objects 224
So it says here 225
So be careful 226
Let's say axis master 227
And axis virtual here 228
it's going to 229
Follow our Axis Master 230
Coupling type 231
When we are using external encoder there's only one option and it is actual value 232
with Extrapolation using axis with Drive 233
It's possible to connect the master setpoint 234
Or the master actual value 235
According to our application 236
I created two virtual axes right now I'm going to save and compile 237
Yep. 238
And here I want to show you 239
Some system available about 240
Axis technology objects 241
I would use 242
in My projects frequently actual speeds 243
a lot of variables here maybe you're not going to use it 244
All of them in your entire life 245
But there are some variables are really important actual speed from drive as RPM 246
it Is actor Data actor monitoring if there's an drive error 247
We'll see here yes or no drivei-State is pulse enabled or not 248
you will see here 249
The power enables or not 250
As active inactive 251
Control is active means axis is operational and we may use 252
our Motion control comments 253
Control panel is used to control panel 254
Active or not 255
we can use 256
error variable means technological there is an alarm at axis 257
It's my cause to stop 258
It's my cause the disable or it is just an information it depends on Case 259
But is there any alarm number you see here 260
The actual status value set YES 261
Then next two variables are or group and reactions related with detail of the 262
Error message 263
So error reaction 264
enumaxiserror reaction type 265
I'm going to use context help and to see 266
What are the possibilities? 267
Yeah my help system is not working properly that's why I need to wait 268
now couple of minutes 269
That's a shame For simotion and Windows 10 270
I think you're going to meet some variable to go to check if axis standstill 271
or our axis is enabled 272
Right proper program when you use transition and delay commands 273
You have to assign your program in MCC to motion task 274
Because your programming acyclically 275
It's not possible to use background tasks in this case 276
Because you can't just 277
Use wait comments in background task 278
it's also possible to use motion control comments 279
In background task and this case you are program cyclically 280
And at the backgrounds maybe next cycle you have to check 281
If your program executed that are some system variables 282
Comments in your comment library to check for instance get state of motion command 283
Function 284
so in our lectuer notes. 285
That are some capital named as axis and drives 286
I'm going to use 287
Next time 288
So yeah just 289
Making some practice we are going to examine 290
Our comment in toolbars 291
So... 292
By the way 293
It's someone browser you will see 294
The same variables as 295
Expert list 296
Some of them is configuration data some of them is real active config data 297
Some of them is readable some of them is 298
both Writable and readable 299
And next time 300
You can just drag and drop your variable to trace 301
Monitor as a curve 302
Or square wave whatever 303
To see what's going on in your program codes for debug for examples 304
Yep. 305
Yeah just added two different type of axis i will test on MCC program 306
We are going to use couple of motion comments 307
if You want to use absolute positioning 308
You have to home your axis First 309
In Virtual axis homing acts like just 310
Set home position function because there's no encoder real 311
You can just easily set your axis home 312
Let's say 313
It's done in my help window 314
error reaction 315
it's possible 316
to be motion stop or none 317
That's mean 318
That means this is just an warning or information about axes 319
And in my program I'm going to use 320
Parents creative bit 321
To check real 322
errors 323
Let's say if 324
Axis Master. Error equals active and axis master error reaction 325
it's not equals none that means 326
There's a real error prevents axis to rotate 327
Four examples 328
there are too many structures here 329
inside my axis Master 330
with force values usually 331
we Used in hydraulic axis 332
homming comments 333
It's possible to trace 334
The state of the home command 335
It's done 336
For its effective or ineffective 337
motion State data. There are a lot of useful information here actual acceleration actual velocity 338
Command velocity and motion states 339
Is axys accelerating or constant velocity for example 340
So... 341
move command, when I used , it's possible to track our comment here state 342
Active or inactive 343
Another thing is override 344
To adjust axis speeds 345
Positioning comments when I 346
Set 347
Positional command and want to go axis to set position I can trace here 348
The distances to go 349
As milimeter unit 350
state 351
Is active or inactive 352
And after that I can go and next step in my program 353
positioning state is another Useful structure with 354
different kind of System variables 355
For users 356
I've seen here the actual position of axis as milimeters 357
It's comes from the motor encoder 358
Or second external encoder 359
There are some similar functions to switch between encoders 360
So I see here the common position we will use this variable oftently 361
in Trace 362
There's a homed bit axis home status 363
If 364
Operation and procedure is successful than it should be yes after that 365
I will able to use my absolute positioning command 366
So there are some sitting here just like home position set as milimeters 367
Because I have selected the Master axis as linear 368
and reset 369
Means execution status of reset commands informations are quite Good 370
And by the way they related system variable 371
Sensor data it's possible to use eight different sensors here 372
That's means an encoder 373
external encoder 374
We will see here incremental position 375
pulse value 376
From incremental 377
HTL / TTL encoder for instance 378
And the sensor States is measuring system is connected and sensors date built 379
That means everything's ready 380
cabling are good 381
My SMC model is operating via drive cliq 382
Sometimes we will use this variable during startup to check 383
If simotion and all of the other modules are ready to operate or not 384
So... 385
Sensor monitoring is also another structure commonly used 386
You may read information and later on yourself if you want to 387
Get some more information 388
Because there are a lot of variables here 389
Maybe you're going to use torque limiting 390
positive or negative torque limiting command, you should check here 391
Or maybe you're not going to use 392
Advanced hydraulic axis for this Case 393
You're not going to need 394
These structures here 395
So another important thing is 396
After I make my interconnection 397
System automatically added here 398
Axis virtual synchronous operation 399
And under the menu axis virtual object has its own 400
Expert list as I said before when I see here the items on their symbol browser 401
These are a little bit different than normal positioning or drive axis variables 402
So let's say we use commonly active cam 403
The type and objects 404
Default is null 405
An object is not attached here 406
Or not referenced 407
as offline value 408
If you assign a cam and use camming function you will see here actual Cam Running 409
Or the actual Master as leading objects 410
If you're going to use the gearing function we will see here master 411
As an object 412
So another thing is 413
There are some variables 414
For beginners easy to use 415
The error group and error reaction is the same 416
Reset restart activation simulation is the same here the state 417
Is commonly used 418
in Programs 419
Function status on following objects 420
Which comment is processing camming or Gearing or it's deactivated 421
Also you need to check sync State and syncl State here 422
you can detect 423
You are slave axis is in syncronous mode yes or no 424
is syncronization is active or not 425
So... 426
These are just quick information about axis object 427
Let's start to program some examples 428
MCC program 429
Axis Control 430
Okay 431
First of all 432
I will check here 433
My comments in MCC editor 434
place here 435
The blue commands are logic comments as I said basic commands 436
Wait time 437
wait for axis 438
Axis virtual axis status stationary 439
there are other useful common waiting axis state 440
I wonder if there is an enabled or disabled accelerating or in motion stationary 441
Decelerating or motion completed 442
Unfortunately not 443
Okay let's create some variable 444
Gbo enable axis 445
Master 446
And yes 447
GPO enable axis 448
virtual 449
As the type boolean 450
So... 451
Let's say 452
Gbo 453
jog 454
Positive axis master 455
GBO jog negative axis master 456
GBO axis Master enabled 457
Gbo 458
axis master sorry 459
axis virtual enabled 460
axis master standstill 461
axis master virtual standstill 462
Yep 463
and let's check 464
I would use 465
Program structure 466
GBO enable Axis Master 467
I'm going to check the current States 468
of Axis 469
Formula 470
if Axis Master not enabled 471
I'm going to use enable switch axis enable cummins or master 472
virtual master 473
There are some settings here if I choose do they program execution 474
The program Waits here for Axis enable 475
That means it may happen anytime 476
That means I'm going to use acycling program 477
If I disconnect 478
I have to track 479
The comments by myself 480
Axis Master 481
And position control the enable 482
Because I'm going to use position set points 483
Right now 484
Okay 485
Let's say 486
Variable assignment 487
axis master enabled 488
Here 489
The system readable Axis Master 490
and Control 491
That's not going to work 492
Because I have to write 493
Technology object axis master control is active 494
Yep 495
if not enabled enable when we will disable all axes 496
Maybe 497
Fallen edge 498
of our variable 499
What should I use to detect the falling edge 500
System function call 501
What's the system function? 502
Actually this is a function block 503
Instance 504
List three axis 505
Disabled 506
For master 507
Okay I'm going to use global exportable 508
need a clock input 509
Available axis 510
enable master 511
and output 512
Not necessary right now 513
Okay another falling trigger for 514
axis disable virtual 515
Global exportable 516
and the input will be axis virtual 517
Yep 518
so let's say enable axis Master 519
Otherwise if it's false 520
Let's say 521
Control state disabled 522
Master 523
dot output then 524
check the axis state 525
Another 526
Branch meaning 527
if the axis 528
States use enabled 529
Then use disable comments 530
for axis master 531
Okay. 532
so we Created a logic 533
For a enabeling and disabling Master axis 534
It's 535
it's going to complicated with large programs 536
So it's possible to make modules and group some comments here 537
when you select 538
Like this 539
Right click 540
and create a module 541
You can enter here comment as enable 542
Disabled Axiss Master 543
You make copy and paste for 544
axis virtual 545
Let's change 546
Yeah by the way we're not using function blocks so this example just for learning to come out 547
virtual 548
normally you're going to use 549
Function blocks 550
I'm already added this one 551
master 552
virtual I'm going to delete virtual here 553
master here 554
I'm going to select axis virtual 555
Yes axis 556
virual enables 557
axis virtual 558
axis 559
virtual 560
it is a basic way to do programming 561
Normally we don't follow this way 562
virtual 563
Okay 564
master enabled 565
virtual enabled or not 566
Yes 567
axis virtual 568
Control is active or not 569
So let's check and compile if there's any mistake 570
So I did expected 571
You see here the error 572
And I double Click it is not going automatically it's where it belongs 573
I have to go by myself as manually here 574
Axis virtual 575
also 576
Axis vir 577
Yep 578
Let's try again 579
Okay 580
Everything's fine 581
Let's start simulation 582
Okay it's ready to download 583
Let's go online 584
And 585
Download our program before to do that we are forgot to assign our 586
Program to a motion Task 587
So let select 588
axis Control 589
Program reaction execution fault task 590
And after that we need to manage in the background 591
Let's say 592
Copy and paste our motion task 593
mt2 States 594
Okay motion Test 2 595
Okay let's save and compile 596
Download our program 597
It takes a couple of minutes 598
at most 599
Or 600
now it is downloading 601
TP 602
TPCAM 603
As default selected in older versions you had to select as manual 604
ok Ready to go 605
it Is in run mode 606
Let's say I want to control 607
My axis movements and test via control panel first 608
I will go 609
Control panel under axis master 610
Let's Click diagnostic area 611
and Button assume control priority with monitoring time 612
Okay 613
Let's enable 614
virtual master 615
It's in operation means control is active 616
Power is enabled 617
Actor monitoring Drive state is enabled you will see 618
You're the actual values of position and velocity 619
Let's try 620
Speed control 621
Commands in positive direction 622
Let's say run 623
Okay 624
You'll see here set point speeds 625
velocity 100 and actual velocity as 100 626
we're using speed based commands so that's why you don't see here any position 627
Increasing 628
It's not relevant right now 629
This button is for jogging in positive direction 630
Or when you set here a negative velocity that means in negative Direction 631
It is possible to use this slider for 632
velocity override 633
You'll see here 200 634
Okay. 635
So at the meantime 636
Let's use trace function with simotion 637
What we have here a blank page 638
I will use isochronous recording at the endless trace with servo cycle 639
4 milliseconds right now and factor is 1 640
I'm going to start my Trace immediately 641
I was just select somewhere variables here under technology object tree 642
axis Master for instance 643
Position State and actual position 644
I'll click here to add 645
Add to list 646
motion State data and the actual velocity click 647
Second button to add to list 648
So 649
Motion State 650
And for second axis virtual axis 651
Positioning state data 652
actual position 653
may be 5 654
and 655
motion state data the actual velocity 6 656
motion state at 7 657
That's enough for now I need to download my setting to CPU 658
Then if I press the play button the trace recording view starts 659
Okay 660
At the meantime I want to control my axis let's say a jog 661
or positive stop motion 662
So you will see here 663
Some colored curves 664
Is you click trace diagram you can change your colors of Trace 665
Or display or not display 666
Yep. 667
if yuo right click On the window that are 668
too many Options commonly used measuring cursors for 669
Time axis 670
and real axis Y 671
during trace still running 672
There are some new data we are reading from simulation CPU so 673
It's possible to arrange Curves 674
with scaling 675
we can enter here manual factors or 676
Offset 677
Or it's possible to use Auto scaling function 678
There is another possibility to arrange curves in trace 679
So you can zoom here or undo zoom 680
Yep or yellow curve is actual velocity of the axis 681
we will see here trapezoidal curve during ramp up and ramp down 682
And different times 683
Actual position of axis is 0 because we didn't used 684
Position-based 685
Jogging function 686
So status of axis motion when you 687
Drag-and-drop 688
or shift 689
Your measuring cursor here 690
You see some parameters and actually values changing 691
here starts the status 692
Retriever that is the t2 and t1 693
Have you see here the difference 694
on Timeline 695
here it is standsill when I press the button right here 696
axis is accelerating 697
And right now it's running in constant speed 698
under milimeter per seconds 699
You see here axis is decelerating 700
And standstill again 701
There's some axis alarm comment aborted okay 702
Because I switch the window here 703
Let's clear your technology alarm 704
Try again 705
Enable 706
For this time I'm going to change Dynamic dispose settings with smooth 707
S-curve 708
with jerk 709
Acceleration-deceleration that's why you see different 710
Trapezoidal curve 711
Okay let's start 712
Let's stop 713
lets click here 714
Let's go click 715
then you get your axis stopped 716
When you click you see here 717
Control priorities is lost 718
and you will get an axis alarm 719
Let's say, command aborted because axis 720
Enables our removed 721
Under the axis symbol list let's check our error situation 722
Error is 723
Yes 724
errorgroup 725
there is a double word error reaction is none 726
This is just for information because axis is already disabled when standstill 727
So 728
Let's check again 729
you will see here again at trapezoidal curve 730
Yeah 731
So whatever let's try the next one 732
Position based axis movement 733
Let's say Direction positive with smooth curve 734
Yeah maybe jerk are too much let's reduce 735
Yep 736
Stop the trace 737
You got a measurements here 738
Number one and under the measurements you see here 739
Your curves and variables 740
It is possible to save that measurement in your hard drive as TRC 741
Extension 742
After that you are able to send to another college for 743
Examine for instance 744
there are some other options you may use 745
measurement sectipn 746
bit-track parameterization or mathematical functions 747
Let's start again 748
Let's say 749
Stop motion 750
Okay 751
Position based 752
velocity comments USC here s curve 753
i say stop 754
actual position of the virtual axis is rising year 755
you will see 756
Right now 757
s-curve at the velocity profile 758
So... 759
let's disable this one 760
You see here standstill accelerating 761
constant move 762
So next comment 763
relative and absolute positioning 764
Let's try and see absolute positioning 765
Position 100 by the way the actual position is this 766
this value right now 767
So let's try execute this command 768
normally i didn't Used homing procedure for axis 769
But this is virtual axis 770
So it's not important to use homming comments 771
at this case 772
Then 773
I say just go 200 mm and motion completed 774
Let's check the homming axis comments 775
there are here some parameters active homing 776
Set home position active homming will not work because we didn't a assigned any 777
Digital input as homing sensors 778
So I will set home position and enter here the position coordinates for homing 779
Let's execute command 780
and actual position is set to zero 781
You'll see here positioning state and home bit is set 782
to logic 1 783
Under the symbol browser here 784
Position states if it's 785
axis homing status and yes 786
So well... 787
axis is running well 788
Let's use some functions in our program and see what would happen 789
So I give up the priority of control 790
So now axis is disabled and free to go 791
Let's add some variables to watch table 792
axis Master symbol browser 793
Actual position and right click on watch table 794
Let's say axis control 795
Okay 796
homed 797
Axis Control 798
if control is active or not 799
Axis Control error Bit 800
and motion state data and actual velocity 801
lets select axis control and For the other axis virtual 802
I would do the same thing 803
Or 804
I can copy these variables and change 805
Yep 806
Let's change 807
Master 808
Find next and replace 809
Okay 810
here status value 811
Okay 812
I want to use my variables Global device variables 813
Master 814
Enable master 815
master enabled 816
Okay 817
Enable virtual true 818
axis virtual and virtual enabled 819
Okay 820
Yep 821
Virtual control is not active master control is not active 822
Let's say enable master 823
now wee see our master aaxis is enabled 824
and here trur 825
Let's enable virtual axis enabled at here 826
An error on Virtual axis 827
Let's say command aborted 828
Okay 829
enable virtual Axis 830
So let's try again 831
axis virtual 832
So control is active and active here 833
Then I'm going to disable the Master axis 834
You'll see here it's inactive you'll see here is not active 835
Let's try again 836
active no error 837
inactive no error inactive 838
So let's try with motion control commands 839
with start axis as position controlled 840
Axis master 841
velocity 842
I don't want to use default settings positive direction 843
So you see here the transition Behavior 844
of this command is Substitute 845
attach or superimpose and delay program execution setting 846
What's that meaning 847
If you use you substitute value for transition 848
Then there is in motion interpreter related to technology object axis and 849
there is a Motion command queue, let's see 850
If that is an already running comments 851
For instance before we execute this comments every motion comments has it 852
own ID 853
And name is command ID we may assign here a value as a variable 854
To trace or track in Later on 855
If my access is running 856
When I've used this comment and let's say transition is substitute the last comment on the motion queue is canceled 857
you will see here of the picture and new command will be executed 858
The velocity will be changed 859
also 860
Ramp up or ramp down whatever if I choose another option here 861
For example attach 3 trapezoidal 862
Positioning based axis movement command for instance 863
Let's say it's possible to 864
add 3 positioning commands in our motion queue of this 865
Axis is also and configuration variable located in expert list 866
So when are you attached command as translation Behavior 867
this command will be executed after the last command 868
it's done 869
So... 870
Another setting attached and discard existing command meanings 871
If there is 2 motion command before this actual command 872
The last comments running is discarded and 873
actual Axis positioning comments will be attached 874
To Motion queue 875
so last setting Attention please 876
Superimpose 877
Because these are really going to be useful for you later on 878
if i select superimpose transition Behavior here the picture will be changed 879
That means the last comment and this comment will be superimposed 880
That's why for example the last command was set point velocity is 100 881
And I see here the same velocity 882
100 mm per sec as set 883
So these two comments will be superimposed and I see here 200 884
milimeters per sec 885
When axis 886
running in 887
Constant velocity 888
So... 889
These are user definable 890
so i will choose substitute 891
Another setting is delay program execution if I want to use I have the check box 892
Select here 893
So delay program execution 894
Start of deceleration phase motion start velocity reached or setpoing 895
Interpolation 896
or motion completed 897
I mean 898
It's possible to create some logic and program as acyclically 899
Delay 900
Program execution here 901
For example 902
i will execute this command and I want to execute the next command 903
after motion start 904
Or after axis set velocity did reached 905
By the way 906
There is no feedback here 907
Also on the other hand there are some possibilities maybe at the meantime operator 908
He's going to press the emergency stop button 909
This comment will never be 910
stepped or skipped to next command so we stuck here 911
Then I have to check in background task the state of the motion test 912
if Is it running 913
Or if it's stopped 914
if It takes too much time longer than usual then I have to create 915
My watch dog timer in the ladder program for example to be sure 916
if this command Is executed everything is fine or 917
That is a problem 918
This way is basic 919
And it's a good way to program motion sequences with control logic 920
with MCC here and simotion scout 921
But there are some open points and disadvantages 922
So you need to be make some progress 923
And think about the all of the possiblities here 924
And if you don't be careful 925
Maybe there will be some bugs in your program and Machine stocks at some point after 926
The operator 927
has to switch off and power off your machine Maybe 928
And this Case is the worst case scenario I guess 929
So... 930
If you are not 931
Going to use the delay program execution 932
Let's create some logic here so I will disable this 933
Command with "hide" 934
Or also it's possible to create another Motion task program and check 935
The 936
axis state 937
Another task so there are some paralel running tasks 938
2 create interlocks between two different motion tasks is another programming approach 939
Let's create some new variables 940
I'm going to offline mode 941
So there are already defined variables 942
Okay let's say 943
If my Axis virtual is enabled 944
Jog positive 945
Virtual 946
no there is no positive virtual 947
Okay let's say for master axis 948
if my Master axis enabled 949
and master axis negative or positive axis master 950
And not 951
jog negative 952
Okay 953
Lets start axes position controlled 954
cut and paste First 955
Axis master substitute 956
On the other hand 957
If my axes master enabled and 958
not jog positive master 959
jog negative master than I'm going to use the negative 960
velocity setpoints 961
Rotate opposite sides 962
of axis and the last variation is 963
if axis enabled and not jog positive master and not 964
jog negative master then I'm going to stop mine 965
Rotating axis 966
And not to axis master 967
motion state data 968
motion state 969
not equals standstill 970
Okay 971
Let's say stop axis 972
virtual master 973
There are some options stop mode won't stop. 974
Quick stop within Define periods. With Dynamic response values 975
quick stop with maximum deceleration 976
Default selection is stopped without abort that means after that you are able 977
To continue your last motion with another Continiue motion command if you 978
Select to you about you're not able to continue last motion 979
Quick stop works like sinamics drives 980
Off 3 emergency stop ramp off2 is Coast to stop 981
So I select stop without a board 982
Selection all motions when I use basic motion it will stop just Basic motion 983
And I mentioned before it's possible to stop 984
Just superimpose motion 985
and traversing mode is position control or last set traversing mode 986
Is 987
Good enough 988
Are the select program execution here 989
dynamics response All of the variables set to default 990
So I can change it or leave it 991
then values will be transferred from the default page of our technology object 992
Axis 993
Let's say okay. 994
Axis master let's compile and check if there's any mistake 995
Yep. 996
Okay I'm going to add my variables job positive. 997
Negative axis master in the watch table 998
Axis Control 999
Let's go online again 1000
I had to download my program 1001
That's meaning the trace recorders are not available only three supporter one 1002
Is available in active process operation 1003
When you use 1004
iso real-time Trace recording then go offline 1005
That's why we lost our settings here and trace stopped 1006
This message is read it related with this situation 1007
So I'm going to download the program 1008
CPU goes to stop mode 1009
And I want to set in RUN 1010
Okay. 1011
Let's say a program is running 1012
i will switch Axis Control 1013
First of all I going to enable my axis 1014
Master 1015
To set the bit with control and 1 on keyboard 1016
Have my master axis control is active and enabled 1017
Let's use the trace functionality and set CPU 1018
Operating mode to test mode here 1019
Select and Trace 1020
Okay new recording 1021
Okay. 1022
Now my program is running and this branch 1023
velocity is 0 Let's. Trace it mean time 1024
time diagram 1025
Okay 1026
Let's set the job positive axis Master 1027
bit to 1028
True 1029
Okay 1030
now i gets an alarm 1031
It's 1032
30002 that means command aborted 1033
Because I'm using the substitute start axis positioning 1034
Comments 1035
Each cycle 1036
So let's see the trace 1037
actual position is rising actual state is already reached 1038
to set speed with trapezoidal 1039
So let's say set bit to 0 1040
Now my stop, executed just once you see your 1041
ramp down 1042
How do you can calculate the ramp down time 1043
with measuring cursor 1044
And that's delta T is almost 100 milliseconds 1045
Yep 1046
So let's change my command parameters 1047
Your first of all I have to switch off the trace 1048
Dynamic response velocity profile 1049
smooth velocity profile 1050
Acceleration 1051
Jerk 1052
Okay 1053
Another way you can Define time for constant traversing time 1054
After that axis is going to 1055
Deceleration phase 1056
It's possible to use 1057
simotion 1058
Okay 1059
And other commands 1060
Negative Direction 1061
Let's say 1062
It's not work because I have to choose here from velocity sign 1063
with smooth profile 1064
Different parameters here 1065
Is really flexible for programming 1066
Adjust each S curve profile individually 1067
I have to compile 1068
Before download 1069
So 1070
Let's try to download 1071
source change has failed it's not possible during run 1072
Maybe that's why 1073
I'm going to disable my axis 1074
Okay let's try again 1075
it Is downloaded this time 1076
Yep let's start trace 1077
And see what will happen after enable to axis 1078
Yeah that is an alarm but control is active 1079
Let's say 1080
Jog positive 1081
Yeah you'll see here to smooth velocity profile 1082
during ramp down 1083
That is a harsh 1084
ramp down phase let's say because of the stop don't we use your 1085
Stop comments 1086
Let's set bit negative jog true 1087
you will see here negative direction and negative velocity 1088
Let's stop with stop command 1089
So basically 1090
Axis controlled 1091
in speed mode 1092
Let's make some changes 1093
In our MCC program 1094
So... 1095
Wait time, wait for axis or wait for signal and wait for some Condition 1096
What do you have created already 1097
sub routine is possible to use some programs inside MCC charts you can create some programs 1098
or function blocks or functions in other languages like ST or Ladder 1099
You can just call them inside your MCC program 1100
With system function call you drag and drop whatever you want from command Library 1101
So... 1102
There are some comments for set output and reset output we have already used available 1103
it's possible to make assignments here 1104
It's one time 1105
With several variables at this case 1106
I prefer to choose uninterruptible assignments 1107
that's way I will be sure all of the list and assignments. 1108
In one cycle 1109
Is it possible to use 1110
Structure text comments inside 1111
MCC chart 1112
Unfortunately this is not quite 1113
good IDE 1114
For us programmers when you compare with documents reduced to the environment 1115
Colorization 1116
Or code Snippets 1117
it's not so advanced 1118
So sometimes you have to copy and paste your comment from 1119
Other windows so... 1120
Another comments are activation and deactivation simulation objects 1121
Reset object is for resetting 1122
And acknowledging technology object alarms 1123
You're select here for example 1124
we use this command at startup desk 1125
Startup program 1126
Should be here I will open it 1127
So that's supposed to you 1128
Yeah 1129
So next thing operating States 1130
it Is possible to only the stop user program or stop the CPU 1131
Activating the trigger for starting Trace is possible 1132
Inside your program 1133
This is just for call command block 1134
Okay 1135
Next group task commands you have already used before 1136
There are some program structure why do 1137
And while 1138
Through is an endless loop here 1139
For Loop / until loop / case ... 1140
Is possible to use 1141
The labels and jump comment in your program 1142
At exit the loop Continiue for Loop 1143
And so on... 1144
There are some communication blocks 1145
These comments are acknowledging technology object alarms 1146
Acknowledge all alarms reset object means 1147
We want to set or restart one object 1148
This is the difference 1149
So... 1150
Incoming message and outgoing message related with alarm as function 1151
So when we want to use 1152
TCP IP communication and this command 1153
We will use this comment on the other hand if we want to use send and receive data 1154
MPI Network we will use this command 1155
It's similar to xsend comment 1156
Yep 1157
Let's continue with axis commands 1158
MCC Axis Control 1159
Yes 1160
Another motion control comments will be 1161
Continiue motion 1162
I mentioned before and homing axis 1163
And positioning axis 1164
Travel to fixed and store is 1165
Another useful function 1166
When you want to mechanically 1167
Home your axes 1168
or Just set 1169
Torque limits 1170
and Move some objects 1171
to end stop 1172
There are also other useful functions for load sharing or torque limitation 1173
Yep 1174
Measuring system we will used to adjust the actual values from 1175
Encoders 1176
Online correction is similar 1177
Set axis parameter we will used to change 1178
The axis parameters 1179
That are also several other comments did it command queue 1180
Used to clear all of the comments inside the motion queue 1181
and switch to parameter set is similar to 1182
Switch axis data set 1183
So there are some comments for external encoders and measuring inputs 1184
cam outputs 1185
So when we use external encoder to calculate actual value 1186
First I have to enable external and 1187
Synchronize external encoder is possible to 1188
Adjust the actual value shifting 1189
encoder monitoring on and off 1190
it's 1191
Some cases necessary 1192
When you remove your encoder or SMC sensor 1193
Sometimes you have to use 1194
measuring inputs we will describe 1195
First here 1196
As insert measuring inputs 1197
We will process in IPO cycle should be the same cycle with axis 1198
I'm measuring system no the enter here which encoder we will use 1199
It's possible to detect on rising or falling edge of this fast input 1200
Actual value 1201
of the encoder 1202
we will select the hardware side which input do you want to use 1203
Also there's some activation time 1204
Plus or minus for this measuring input and I have to choose from the list 1205
One control unit or 1206
And sinamics side of fast inputs 1207
Cam outputs 1208
Also measuring input has its own expert list and parameter list similar to axis technology 1209
cam output is similar fast output Hardware integrated digital output 1210
Should be used or proper terminal Modules 1211
Have to be connected together Drive click interface 1212
output cam type should be position based or time based cam 1213
unidirectional cam type possible 1214
Type of output cam values 1215
Possible to be set points or actual value 1216
It is possible to activate the output as real output on module 1217
Or it's possible to use inside the program as and soft output 1218
we will examine more detail later on in next chapters 1219
This is just information right now after we describe and 1220
Define our technology objects 1221
we can use 1222
The comments here 1223
Activate measuring input just 1224
Setup a trigger 1225
for measuring input 1226
there is a activate measuring input command 1227
Also that are similar functions for switching them on and 1228
Switching off 1229
There's another technology objects 1230
cam track 1231
It's like a pulse train outputs 1232
In most of application and motion control it is a requirement 1233
By the way 1234
So next, group is gearing and cam comments 1235
gear on and gear off 1236
velocity gear on off cam on and off 1237
Switch master setpoints and parameterize cams so... 1238
This is just a quick overview of all of the motion comands 1239
for MCC programming 1240
You can do some exercises with lecture notes and go into detail 1241
And read about the 1242
You know the descriptions 1243
Inside the notes 1244
Do your own examples and test with 1245
siMotion simulation on your PC it's possible 1246
Because there are a lot of possibilities when your programming a machine 1247
in Industrial Automation area 1248
So it's really flexible Hardware 1249
Right now 1250
Basiccaly 1251
We are going to finish our chapter 8 program 1252
MCC 1253
I was setting here a couple of things more 1254
There are a couple of information in my mind 1255
I want to give you 1256
When you right-click on MCC units that are some options here 1257
save variables 1258
restore the retain data 1259
save in your memory card or any folder 1260
To any folder at your PC 1261
Is just like an snapshot 1262
Taking a image picture of your current run time 1263
So another feature for MCC unit is export as 1264
ST file 1265
That means you can convert you're MCC programs to structure takes let's see what it says 1266
Looks like 1267
I was selected the temporary folder 1268
All of the sub-programs 1269
Exported 1270
it is done 1271
So let's go on temporary folder 1272
And I see here mcc unit 1 1273
That's right quick and open edit with notepad plus plus 1274
So 1275
This is the ST code use package and Technology package type description 1276
Program program program program 1277
This is the interface section there are some retained Global variables that are some 1278
global exportable variables this is the implementation section 1279
This is the description on defining of the first program at MCC 1280
Axis Control 1281
There are some compiler options here warning off 1282
And you see if conditions 1283
some TSI 1284
User 1285
suspend task about and so additional system and compile 1286
Comment 1287
So it's looks like this normally that are too much more comments 1288
Then we use 1289
Okay 1290
It's possible to import this structure text in your project 1291
and it will work as the same way with MCC program 1292
Just for your information 1293
So let's try and inserts and function block 1294
Function 1295
Set and reset Bits 1296
Then I have to Define some IO symbols / words 1297
As input and output here 1298
Local parameter or variable I supposed to enter 1299
initial values and commands 1300
Another input 1301
outputs 1302
data type 1303
Not not possible 1304
So let's go to offline mode 1305
Yep 1306
enumeration as var available 1307
Sorry I have to describe here for input output 1308
So it's really a bad editor to use that's why we're not using MCC create function blocks 1309
Set 1310
and resets 1311
output Q 1312
var_INPUT 1313
var_OUTPUT 1314
It's simple logic 1315
as ladder here 1316
okay 1317
Send through 1318
Set some output 1319
It's possible okay I will delete 1320
My computer is working really slow due to webcam 1321
Yep 1322
Let's say I'll create a assign 1323
Not recognizable 1324
Okay I will cancel let's use ST zoom 1325
Copy output 1326
True 1327
Otherwise it's equals to zero 1328
Yeah let's compile 1329
I see data type is empty okay 1330
You 1331
so let's call or user-defined function block from another program 1332
from motion task 1 1333
Okay 1334
lets drag and drop here not possible I have 1335
To use 1336
The system function 1337
subroutine 1338
For subroutine call 1339
Access unit 1 Source function below 1340
Cancel an instance set reset 1341
Define the instance 1342
Now I am able to connect the input and output values 1343
For example i say 1344
And 1345
Compile 1346
Okay 1347
This is a simple examples 1348
I will stop right now to take a break 1349
See you next time