AutomationDirect
Search
Login | Register
Accounts & Orders
Cart
0
$0.00

Recent Orders

View and Manage | Request Cancellation

Your Account

Account Home

Checkout   $0.00


  • My Orders
  • Product Returns (RMAs)
  • Pay Proforma Invoices
  • Pay Freights
  • Invoices / Invoice Reprint
  • Quotes / Favs / BOMs
  • Packing List Reprint
  • My Product Docs
  • Credit Application
  • Tax Exemption
| Direct Sales in US and Canada | 1-800-633-0405 | About Us | Contact Us | Line Card
Products | Support
| Compare
  
Ordering Tools  
warning Cookies are not enabled on your browser.
Cookies are required for our site. Please enable cookies in your browser preferences to continue.
+
Navigation
+
Shopping Categories
  • Barcode / RFID / Vision
  • Bulk Wire & Cable
  • Cables (Terminated)
  • Circuit Protection / Fuses / Disconnects
  • Communications
  • Drives & Soft Starters
  • Enclosure Thermal Management & Lights
  • Enclosures & Racks
  • Field I/O
  • HMI (Human Machine Interface)
  • Hydraulic Components
  • Motion Control
  • Motor Controls
  • Motors
  • Pneumatic Components
  • Power Products (Electrical)
  • Power Transmission (Mechanical)
  • Process Control & Measurement
  • Programmable Controllers
  • Pushbuttons / Switches / Indicators
  • Relays / Timers
  • Safety
  • Sensors / Encoders
  • Stacklights
  • Structural Frames / Rails
  • Tools & Test Equipment
  • Valves
  • Water (Potable) Components
  • Wiring Solutions
  • Retired Products
+
Learn More
  • Brand Line Card
  • What's New
  • E-newsletter
  • Online PDF Catalog
  • Video Tutorials
  • Company Reviews
  • Learning Library
  • Affordable Training
  • Free Online PLC training
  • Cybersecurity
+
In Depth Product Sites
  • Programmable Logic Controllers
  • Productivity1000 PLCs
  • Productivity2000 PLCs
  • Productivity3000 PLCs
  • ProductivityCODESYS
  • LS Electric XGB Series PLCs
  • ProductivityOpen
  • CLICK PLCs
  • Do-more H2 PLCs or
    Do-more T1H Series
  • Do-more BRX PLCs
  • C-more Touch Panels
  • AC & DC Drives
  • Motion Control Components
  • Servos
  • StrideLinx
  • Pneumatics
+
Product Selectors &
Configuration Utilities
  • PLC Family Selector
  • P1000 PLC Systems
  • P2000 PLC Systems
  • P3000 PLC Systems
  • ProductivityCODESYS
  • CLICK PLC Systems
  • Do-more® BRX PLC Systems
  • LS-Electric® XGB PLC Systems
  • Productivity®Open Systems
  • Datalogic® Safety Light Curtains
  • LS-Electric® Servo Systems
  • Nitra® Pneumatic Grippers
  • Object Detection (Sensors)
  • PAL Controller Configurator
  • Precision Gearbox Selector
  • Protos X® Field I/O
  • Quadritalia® Modular Enclosures
  • Stellar® Soft Starters
  • Stepper System Selector
  • SureFrame T-slot Extrusion
  • SureMotion® XYZ Gantry
  • SureServo2® System Selector
  • SureStep® Linear Actuators
  • Timing Belts & Pulleys
  • Werma® Stacklights
  • ZIPLinks

Productivity Series PLCs Motion Control - Simple Positioning from AutomationDirect


Related Products

P1-540
P1-540 Thumbnail
P1-START
P1-START Thumbnail
MICSD-16G
MICSD-16G Thumbnail
P1-01AC
P1-01AC Thumbnail
P1-08ND3
P1-08ND3 Thumbnail
P1-08TD1
P1-08TD1 Thumbnail
P1-08TD2
P1-08TD2 Thumbnail
P1-15CDD1
P1-15CDD1 Thumbnail
P1-15CDD2
P1-15CDD2 Thumbnail
P1-16CDR
P1-16CDR Thumbnail
P1-08TRS
P1-08TRS Thumbnail
P1-16TR
P1-16TR Thumbnail
P1-04ADL-1
P1-04ADL-1 Thumbnail
P1-04ADL-2
P1-04ADL-2 Thumbnail
P1-04DAL-1
P1-04DAL-1 Thumbnail
P1-04DAL-2
P1-04DAL-2 Thumbnail
P1-04THM
P1-04THM Thumbnail
P1-04NTC
P1-04NTC Thumbnail
P1-08SIM
P1-08SIM Thumbnail
PS-PGMSW
PS-PGMSW Thumbnail
P2-550
P2-550 Thumbnail
P2-RS
P2-RS Thumbnail
P2-START2
P2-START2 Thumbnail
P2-04B
P2-04B Thumbnail
P2-07B
P2-07B Thumbnail
P2-11B
P2-11B Thumbnail
P2-15B
P2-15B Thumbnail
P2-01AC
P2-01AC Thumbnail
P2-01DCAC
P2-01DCAC Thumbnail
P2-08ND3-1
P2-08ND3-1 Thumbnail
P2-08NE3
P2-08NE3 Thumbnail
P2-16ND3-1
P2-16ND3-1 Thumbnail
P2-16NE3
P2-16NE3 Thumbnail
P2-32ND3-1
P2-32ND3-1 Thumbnail
P2-32NE3
P2-32NE3 Thumbnail
P2-08TD1S
P2-08TD1S Thumbnail
P2-08TD2S
P2-08TD2S Thumbnail
P2-08TD1P
P2-08TD1P Thumbnail
P2-08TD2P
P2-08TD2P Thumbnail
P2-15TD1
P2-15TD1 Thumbnail
P2-15TD2
P2-15TD2 Thumbnail
P2-16TD1P
P2-16TD1P Thumbnail
P2-16TD2P
P2-16TD2P Thumbnail
P2-32TD1P
P2-32TD1P Thumbnail
P2-32TD2P
P2-32TD2P Thumbnail
P2-08NAS
P2-08NAS Thumbnail
P2-16NA
P2-16NA Thumbnail
P2-08TAS
P2-08TAS Thumbnail
P2-16TA
P2-16TA Thumbnail
P2-08TRS
P2-08TRS Thumbnail
P2-16TR
P2-16TR Thumbnail
P2-04AD
P2-04AD Thumbnail
P2-08AD-1
P2-08AD-1 Thumbnail
P2-08AD-2
P2-08AD-2 Thumbnail
P2-08ADL-1
P2-08ADL-1 Thumbnail
P2-08ADL-2
P2-08ADL-2 Thumbnail
P2-16AD-1
P2-16AD-1 Thumbnail
P2-16AD-2
P2-16AD-2 Thumbnail
P2-16ADL-1
P2-16ADL-1 Thumbnail
P2-16ADL-2
P2-16ADL-2 Thumbnail
P2-04DA
P2-04DA Thumbnail
P2-04DAL-1
P2-04DAL-1 Thumbnail
P2-04DAL-2
P2-04DAL-2 Thumbnail
P2-08DA-1
P2-08DA-1 Thumbnail
P2-08DA-2
P2-08DA-2 Thumbnail
P2-16DA-1
P2-16DA-1 Thumbnail
P2-16DA-2
P2-16DA-2 Thumbnail
P2-08DAL-1
P2-08DAL-1 Thumbnail
P2-08DAL-2
P2-08DAL-2 Thumbnail
P2-16DAL-1
P2-16DAL-1 Thumbnail
P2-16DAL-2
P2-16DAL-2 Thumbnail
P2-8AD4DA-1
P2-8AD4DA-1 Thumbnail
P2-8AD4DA-2
P2-8AD4DA-2 Thumbnail
P2-08THM
P2-08THM Thumbnail
P2-06RTD
P2-06RTD Thumbnail
P2-08NTC
P2-08NTC Thumbnail
P2-SCM
P2-SCM Thumbnail
P2-HSI
P2-HSI Thumbnail
P2-HSO
P2-HSO Thumbnail
P2-08SIM
P2-08SIM Thumbnail
P3-550E
P3-550E Thumbnail
P3-550
P3-550 Thumbnail
P3-530
P3-530 Thumbnail
P3-RX
P3-RX Thumbnail
P3-EX
P3-EX Thumbnail
P3-03B
P3-03B Thumbnail
P3-05B
P3-05B Thumbnail
P3-08B
P3-08B Thumbnail
P3-11B
P3-11B Thumbnail
P3-01AC
P3-01AC Thumbnail
P3-01DC
P3-01DC Thumbnail
P3-08ND3S
P3-08ND3S Thumbnail
P3-16ND3
P3-16ND3 Thumbnail
P3-32ND3
P3-32ND3 Thumbnail
P3-64ND3
P3-64ND3 Thumbnail
P3-08TD1S
P3-08TD1S Thumbnail
P3-08TD2S
P3-08TD2S Thumbnail
P3-16TD1
P3-16TD1 Thumbnail
P3-16TD2
P3-16TD2 Thumbnail
P3-32TD1
P3-32TD1 Thumbnail
P3-32TD2
P3-32TD2 Thumbnail
P3-64TD1
P3-64TD1 Thumbnail
P3-64TD2
P3-64TD2 Thumbnail
P3-08NAS
P3-08NAS Thumbnail
P3-16NA
P3-16NA Thumbnail
P3-08TAS
P3-08TAS Thumbnail
P3-16TA
P3-16TA Thumbnail
P3-08TRS
P3-08TRS Thumbnail
P3-08TRS-1
P3-08TRS-1 Thumbnail
P3-16TR
P3-16TR Thumbnail
P3-04ADS
P3-04ADS Thumbnail
P3-08AD
P3-08AD Thumbnail
P3-16AD-1
P3-16AD-1 Thumbnail
P3-16AD-2
P3-16AD-2 Thumbnail
P3-08RTD
P3-08RTD Thumbnail
P3-08THM
P3-08THM Thumbnail
P3-04DA
P3-04DA Thumbnail
P3-08DA-1
P3-08DA-1 Thumbnail
P3-08DA-2
P3-08DA-2 Thumbnail
P3-16DA-1
P3-16DA-1 Thumbnail
P3-16DA-2
P3-16DA-2 Thumbnail
P3-8AD4DA-1
P3-8AD4DA-1 Thumbnail
P3-8AD4DA-2
P3-8AD4DA-2 Thumbnail
P3-SCM
P3-SCM Thumbnail
P3-HSI
P3-HSI Thumbnail
P3-HSO
P3-HSO Thumbnail
P3-16SIM
P3-16SIM Thumbnail


To learn more: https://www.automationdirect.com/productivity?utm_source=24RFQiyoGzs&utm_medium=VideoTeamDescription

(VID-P2-0017)

Learn how to use the Productivity Controllers SMOV Instruction to accurately position your system. This video uses a Productivity 2000, but it applies to all members of the Productivity family of controllers.
**Software Version used in this video: Productivity Suite Programming Software Version 2.2.0(12)

Online Support Page: https://community.automationdirect.com/s/?utm_source=24RFQiyoGzs&utm_medium=VideoTeamDescription

**Please check our website for our most up-to-date product pricing and availability.


Hide Transcript
View Transcript

In this video we’ll use the simple move command to move this carriage from one end of the slide to the other and back again using button presses. We’ll also take a look at how position limits and sensor limits work and what the difference is between absolute and relative positioning. We’ll cover S-Curves using Jerk and Registration in separate videos. In this demo we have a Productivity 2000 with an HSO module. The HSO module sends pulses to a Stepper drive which controls a stepper motor to move the carriage up and down this slide. We have two Pushbuttons wired to the HSO inputs and we’ll use those to control the action of the slide. We also have two Proximity sensors wired to two more HSO inputs which we will use for hard position limits. I’ve already selected the CPU, gone into the hardware configuration and auto discovered the hardware and configured it. Here is how everything is setup for this demo. Check out the HSO configuration video if you need a refresher on how to configure all of this. Well, since we’ve already setup the hardware, all we have to do now is write the ladder code. We’ll use the forward button that was defined in the hardware configuration that I did before we started this video to enable a Simple Move command. We want to use the channel that was also defined in the hardware configuration. Let’s use absolute addressing and rather than filling all of these blanks, I’m simply going to say I want to use a structure and call that structure Forward. We’ll cover Jerk in a separate video so we can spend some time understanding exactly what this is and how to use it. We want the carriage to stop immediately if there is an error or we terminate the move early … and we’ll cover registration in a separate video on the Registration command. We’ll fill the values for position, velocity, acceleration, etc. in the Dataview. Could we put static values in here if we wanted to? Sure, but we would have to turn off the structure mode to do that and we would be stuck with those values and we wouldn’t be able to change them in the program. We can add a comments to the rung, which I would normally do – I like lots of comments - but since we are so limited on screen real-estate in these videos we’ll skip that so we can get more ladder code on the screen. I’m going to exit the Simple Move command just so I can modify the tags we just created. We will want our position, velocity and acceleration tags to be floats so we can use fractional numbers. Now that the tags are all defined the way we want them, we go back into the Simple Mov command so we can add all of these tags to a Dataview. This saves me so much time – I don’t have to create my own dataview – the productivity suite does it for me. For the reverse direction it’s the exact same thing except we want to control that direction with the Reverse button we defined back in the HSO configuration and create a new structure that we’ll call Reverse. Don’t forget to modify the tags so we can use fractional numbers. And let’s go back and add these tags to the same dataview as the forward direction so we can watch the forward and reverse processes at the same time. We also want to be able to force the HSO modules channel position to zero. Since the module keeps track of position from the time it is turned on, the only way to reset the position independently is with the Set Position Command. You can also set the position as part of the HOME command. We just tell it to set the position to zero when this instruction is enabled. And we’ll enable it with a contact we’ll control from the dataview since I don’t have anymore buttons connected. Great. Let’s download this to the processor and give it a try. I’m going to reach over and flip the switch to put the CPU in run mode and then bring up the dataview. I’ve already deleted the stuff we don’t need and re-arranged things a little so don’t be surprised if mine looks different than yours ... I’m also going to add the positive and negative direction limit tags which we defined in the hardware configuration so we can modify those. We have a 24 inch slide, so let’s make our positive direction limit 23 inches and the negative direction limit 1 inch. We’ll move to 20 inches in the positive direction at the max rate of 15 inches per second and we’ll accelerate and accelerate and decelerate at twice that rate. For the reverse direction, well target 2 inches as our destination and use the same velocity and acceleration as the positive direction. Let’s also add the Carriage Zero contact and the real time position and velocity tags to our dataview. We’ll do Homing in a separate video, so for this demo we’ll stop the CPU and just manually move the carriage to zero using the HS Module Testing tool. Now we put the processor back in Run mode and toggle this contact to set that carriage position to zero. There is a whole video on how to use that test tool if you want to learn more about that. Putting the processor in Stop Mode cleared all of our tags, so let’s write those back to the processor. If I press the FWD button, the carriage ramps up to velocity, moves down the slide, decelerates and lands right at the 20 inch mark we specified. If we hold down the reverse button, same thing. Ramps up to speed, heads down the slide, ramps down and stops at the 2 inches we specified. What happens if I push the Forward button but let go before it finishes? Well look - the motion stops immediately. Why? Because we told it to. You can see that over here. If we had checked this button, then it would have decelerated to a stop at the max rate specified in the hardware setup. I don’t like holding the button down, so let’s seal the contact with the in progress bit. Now the button will start the command, but the in progress bit will keep it running. We call that sealing a contact. Let’s do the same thing for the reverse direction. Send that to the controller. Let’s turn on monitoring so we can see the status of the contacts. Notice that we don’t need to update the tags because we did a run time transfer. And sure enough, if I temporarily push the button that contact turns on then back off, and the in progress bit keeps the command running to completeion. Perfect. What happens if we tell the carriage to go aoutside of the range limits we set? Our slide is 24 inches long, and we had specified a position limit of 23 inches. So let’s move that position limit out to 30 inches – way beyond the end of the slide. And let’s specify a target distance of 29 inches. Again, way beyond the end of the slide. When we hit the forward button, the carriage stops abruptly before hitting the end of the slide – why? Because I added some Proximity sensors to the slide to act as hard limits to detect end of travel using this adjustable sliding tab. We defined those INPUTS here in the hardware configuration and then enabled them here for this channel. These are true physical limit switches read directly by the high speed modules inputs. These limits down here are programmable limits which are best for those times when you need to programmatically setup temporary limits. And as we saw before, the carriage stopped immediately because the move instruction told it to. We could have also told it to ramp down at the maximum acceleration rate if we wanted to. While we are here, let’s enable Relative Move in the forward direction only, send that down to the controller and see what that does. Let’s modify the forward target distance to 5 inches. And while we’re at it we’ll get the position limit back in bounds from the change we made in the last example. The reverse direction is still absolute, so let’s send the carriage back to the absolute 2 inch mark. Now when I push the forward button the carriage moves 5 inches away. If I push the button again it moves another 5 inches. Push it again it moves another 5 inches. So in relative mode, we are not going to the absolute 5 inch mark on the slide, we are moving 5 inches away from where we are. It’s a relative 5 inches. That’s all for this video. We’ll cover S-Curves using Jerk and Registration in separate videos. Also be sure to check out this video on how to use these status words to debug your motion application, it will save you a lot of time. If you need any help please contact AutomationDirect’s free award winning support team during regular business hours. They will be happy to help. And don’t forget the forums. There are lots of folks there that love to share their years of experience. Just don’t post any questions for AutomationDirect’s support team there; they don’t monitor the forums on a regular basis. In this video we’ll pick up where the Simple Move video left off and take a look at how we can use Jerk to smooth out our and save wear and tear on our machines. We’re using the exact same setup as that video so check that out if you need to see how we set this up. What is Jerk? Well … given the absolute position, velocity is how fast the position is changing over time. And acceleration is how fast velocity is changing over time. Jerk controls how fast acceleration changes over time. So instead of immediately accelerating at a constant rate, jerk smooths out the acceleration. The smaller the jerk value is the more smoothing you get. Let’s put a small value in for Jerk to give us the maximum effect. And let’s plot the carriage position and velocity on a graph in the data view. Looks Like the carriage position is currently at 20 and the velocity is zero. Let’s put a glass of water on the carriage so we can see the effect jerk has. Run the carriage in the reverse direction with no jerk. You can see the water jiggle at the abrupt start and stop of the motion. Wait for the water to settle down. Now run the forward direction which does have jerk. You can see the water doesn’t move at all. And on the graph you can see why: In this direction we have no Jerk and sure enough the position changes linearly and the velocity changes linearly and the position changes abruptly. In this direction we DO have Jerk and you can see how it smooths out the positioning so the carriage doesn’t start abruptly or hit its final position abruptly. The way it does that is by changing the velocity from a simple line to a nice smooth curve. Because we used a small value for Jerk we got maximum smoothing, but it took so long to ramp up the velocity never got up to the 15 inches per second before it had to start ramping down so it took a long time for the carriage to get to it’s destination. So let’s try a larger value for Jerk – how about 50? Now when we run the carriage in the reverse direction where we have NO jerk– same abrupt result. Wait for the water to settle. Now run it in the forward direction with Jerk set to 50. The velocity did reach the 15 inches per second but the water still didn’t jiggle did it? The key take away is, Using jerk is a great way to ease wear and tear on your machine because you can use it to minimize or even eliminate abrupt changes in position. There is no science to this, it just takes some experimenting to find the right value for your application. The good news it’s real easy to do with the Productivity Series controllers. Jerk (physics) In physics, jerk, also known as jolt, surge, or lurch, is the rate of change of acceleration; that is, the derivative of acceleration with respect to time, and as such the second derivative of velocity, or the third derivative of position. Evalutaing the destructive nature of a system



No data returned!
An error has occurred! Please contact support
Videos Home > Productivity Series PLCs Motion Control - Simple Positioning from AutomationDirect
Contact, Connect & More
Sign Up
to receive:
FREE e-Newsletter
sign up today!
Connect With Us
Social Media Channels:
linkedin    facebook    x    instagram    youtube
Company Information
About Us
Brand Line Card
System Integrator Program
International Sales
Panel Builder Program
Site Help
Company Reviews
Download Price List
Contact Us
Contact Options
1-800-633-0405
Monday - Friday
9 a.m. - 6 p.m. ET
excluding holidays
Career Opportunities
Voted #1 mid-sized employer in Atlanta
We're a great place to work!
Check out our job openings

Need Training?
Affordable Training by Interconnecting Automation
Free Online PLC Training
FREE Video Tutorials
Information & News
What's New / In The News
FREE e-Newsletter
Automation Notebook
Product Literature
White Papers
News, Product and Training Bulletins
E-Books
Shop with confidence
Checked   Safe & Secure
payment methods


We accept VISA, MasterCard, Discover, American Express, PayPal or company purchase orders.
AutomationDirect

BBB Accredited

Voted #1 mid-sized employer in Atlanta
Check out our job openings

Copyright © 1999-2025 AutomationDirect.  ALL RIGHTS RESERVED.
Site Map     Send Us your Feedback     Unsubscribe     Email Preferences     Legal & Business Policies     YouTube Terms of Service
Clear login credentials



Back to Top


spinner Updating...
Info