<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Simple trapezoidal velocity move using Cam functions</title><link href="https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/</id><updated>2020-02-27T18:37:18.215000Z</updated><subtitle>Recent posts to Simple trapezoidal velocity move using Cam functions</subtitle><entry><title>Simple trapezoidal velocity move using Cam functions</title><link href="https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/?limit=25#0a35" rel="alternate"/><published>2020-02-27T18:37:18.215000Z</published><updated>2020-02-27T18:37:18.215000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com20f4def8b808f80b4040c54879a434f5048d1bfd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; uk_sub&lt;/p&gt;
&lt;p&gt;I'm having a bad copy/paste day...the data should actually be...&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[0]&lt;/span&gt;.dX := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dY := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dV := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[1]&lt;/span&gt;.dX := 2;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dY := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[2]&lt;/span&gt;.dX := 3;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dY := 3;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[3]&lt;/span&gt;.dX := 5;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dY := 4;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dV := 0;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;i.e. the final vel ratio is 0 of course....&lt;/p&gt;
&lt;p&gt;Anyway....I can get a nice poly (s-ramped) profile from this of course....but is there an easy way to get a non s-ramped version?...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Simple trapezoidal velocity move using Cam functions</title><link href="https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/?limit=25#a1ee" rel="alternate"/><published>2020-02-27T18:37:17.053000Z</published><updated>2020-02-27T18:37:17.053000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com22de2ac833f09df5bf78acd1cbfc49fc7ef6a63e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; uk_sub&lt;/p&gt;
&lt;p&gt;Of course my example data wasn't quite right, it should be...&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[0]&lt;/span&gt;.dX := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dY := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dV := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[1]&lt;/span&gt;.dX := 2;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dY := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[2]&lt;/span&gt;.dX := 3;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dY := 2;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[3]&lt;/span&gt;.dX := 5;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dY := 3;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;It still doesn't work though.....over 100 views and no-one has any idea how to get a straight line trapezoidal profile out of a CAM??...&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Simple trapezoidal velocity move using Cam functions</title><link href="https://forge.codesys.com/forge/talk/Motion/thread/959d5f8c9e/?limit=25#55ca" rel="alternate"/><published>2020-02-27T18:37:15.893000Z</published><updated>2020-02-27T18:37:15.893000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com0312460a7efad18ed3874c3d8139682b242bb850</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; uk_sub&lt;/p&gt;
&lt;p&gt;Is it possible to create a move with trapezoidal velocity (linear velocity, no s-ramping) via the various Cam functions without having to use the Cam editor to define a general trapezoidal shape and then scaling this etc.. to suit my actual master and slave distances?&lt;/p&gt;
&lt;p&gt;I want to calculate (at run time) this Cam from just four points.&lt;br/&gt;
For example, if 'a' is some nominal master distance..&lt;/p&gt;
&lt;p&gt;0,0&lt;br/&gt;
a, (a/2)&lt;br/&gt;
a+1, (a/2) + 1&lt;br/&gt;
2a + 1, a + 1&lt;/p&gt;
&lt;p&gt;..should be able to give me a nice trapezoidal profile (where the slave axis accelerates to a 1:1 velocity ratio with the master, travels 1 unit and then ramps down to a stop).&lt;/p&gt;
&lt;p&gt;However, whatever I try with the interpolation modes, use of SMC_CAMXYVA or other data types I cannot get linear velocity segments. &lt;/p&gt;
&lt;p&gt;e.g. &lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dX := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dY := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dV := 0;&lt;br/&gt;
CamData0&lt;span&gt;[0]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[1]&lt;/span&gt;.dX := 2;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dY := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[1]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[2]&lt;/span&gt;.dX := 3;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dY := 3;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[2]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;CamData0&lt;span&gt;[3]&lt;/span&gt;.dX := 5;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dY := 4;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dV := 1;&lt;br/&gt;
CamData0&lt;span&gt;[3]&lt;/span&gt;.dA := 0;&lt;/p&gt;
&lt;p&gt;Cam.nElements := 4;&lt;br/&gt;
Cam.xStart := 0;&lt;br/&gt;
Cam.xEnd := 5;&lt;/p&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>