adccommunitymod (AutomationDirect) asked a question.

ramp over time with DL-06

Created Date: July 08,2010

Created By: Ryan_Poethke

**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****

Hi All, Let me see if I can explain what I'd like to do: I have 16 double Vmem locations that each hold a value from sliders on a C-more. Each slider represents a percentage (0-100%) of a 16-bit analog out value. I would like to have 5 screens of sliders, each slider having a unique Vmem address. Each screen of sliders represents a lighting cue for a theatrical lighting effect. On another screen, I'd like to have a series of buttons that will select a given cue (1 - 5). Now here's the hard part. We theater types really don't like the idea of our lighting cues "jumping " from one look to another, and we really like to have the ability to "fade " from one look to another over a given time. How the heck do I do that? How can I fade from one Vmem value to another over a given time (in seconds), and copy that value to another Vmem value (the Vmem value that is actually associated with each analog channel)? The "initial " value may be higher, lower, or the same as the "new " value. Ideally it shouldn't matter what cue is selected; it should be possible to select any cue in any sequence. I'm pretty sure I'll see exactly how simple it is once I see the code, but right now I'm absolutely stuck on how to even start this. Please let me know if I 've given an accurate enough description. Thanks, Ryan Poethke


  • adccommunitymod (AutomationDirect)

    Created Date: July 08,2010

    Created by: Shimmy

    To "fade " the analog value you can use the instructions:

    LDD V4000 'V4000 contains the light analog value

    SUBD V5000 'V5000 contains the amount of fade

    OUTD V4000

    Then trigger this rung with an sp3, sp4, or sp5 bit (different time bases) and the the event bit that will start the fade. Once V4000 reaches a certain value, you can turn off the light and turn on the next light.

    I am not at a computer to write this up in DS5, but hopefully this will at least give you an idea on how to get started.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: July 08,2010

    Created by: bcarlton

    This algorith will work with a timer ar a slider as a hand fader. It's just numbers.

    You have:

    Value from starting cue

    Value from ending cue

    Max value of timer or hand fader/slider (T/F)

    Current value from T/F

    Each pass do this for each pair of values from the cues:

    Fade left = T/F max - T/F current

    Part of s_cue = (Starting cue * (Fade Left))/(Max T/F)

    Part of e_cue = (Ending Cue * (Current T/F))/(Max T/F)

    Value = Part of s_cue + Part of e_cue

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: July 08,2010

    Created by: bfitz

    Hi All,

    Let me see if I can explain what I'd like to do:

    I have 16 double Vmem locations that each hold a value from sliders on a C-more. Each slider represents a percentage (0-100%) of a 16-bit analog out value .

    I would like to have 5 screens of sliders, each slider having a unique Vmem address. Each screen of sliders represents a lighting cue for a theatrical lighting effect.

    On another screen, I'd like to have a series of buttons that will select a given cue (1 - 5).

    Now here's the hard part. We theater types really don't like the idea of our lighting cues "jumping " from one look to another, and we really like to have the ability to "fade " from one look to another over a given time.

    How the heck do I do that? How can I fade from one Vmem value to another over a given time (in seconds), and copy that value to another Vmem value (the Vmem value that is actually associated with each analog channel)? The "initial " value may be higher, lower, or the same as the "new " value. Ideally it shouldn't matter what cue is selected; it should be possible to select any cue in any sequence.

    I'm pretty sure I'll see exactly how simple it is once I see the code, but right now I'm absolutely stuck on how to even start this.

    Please let me know if I 've given an accurate enough description.

    Thanks,

    Ryan Poethke

    If you are just representing a 16-bit value, you should be able to do this in a single Vmem using Hex representation. It might make the math and compares a bit easier.

    Brian

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: July 08,2010

    Created by: bfitz

    How can I fade from one Vmem value to another over a given time (in seconds) , and copy that value to another Vmem value (the Vmem value that is actually associated with each analog channel)? The "initial " value may be higher, lower, or the same as the "new " value. Ideally it shouldn't matter what cue is selected; it should be possible to select any cue in any sequence.

    Is the 'given time ' something that will be entered on the HMI or do you just need a stable fade rate? In other words, if you had a 10 second full span ramp, will that ever need to change? Ramping from 50% to 100% could take 5 seconds; 75% to 50% could take 2.5 seconds. Or do you want all of your ramps to take the 'given time ' to execute? In other words: 0-100 takes 10 seconds, 50-100 takes 10 seconds, 75-100 takes 10 seconds.

    Or perhaps you would like to control the fade rate from the HMI. In that case, would you rather have a timer entry (next fade should execute over XX.XX seconds) or a fade rate entry (next fade should execute at XX per second). Maybe just a slow, medium, fast button set would do. Or maybe a matrix saying cue 2->cue 3 = X seconds, cue 2->cue5 = Y seconds... Or maybe......

    Tell us more about how you want to control the fade rate, and we should be able to tell you more about program possibilities.

    Brian

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: July 12,2010

    Created by: Ryan_Poethke

    Hi All,

    Just a quick note to say thanks for all the suggestions. The design changed (as it often does for theater and special effects) and now all they want is 6 faders (not 16) on the "cue screen " and a master fader that controls the overall level of everything on the main screen. I 've got that covered no problem. I will use the suggestions from this thread to implement a fade function for the master. That is to say when the value on the master fader is changed, it will change over a selected number of seconds. That all seems a little manageable.

    We were suffering from feature-creep, and we finally needed to say no. Everyone's happy so far, and if they want more in the future, it's just more programming time, right?

    Thanks again,

    Ryan Poethke

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: July 08,2010

    Created by: Ryan_Poethke

    Hi All,

    Let me see if I can explain what I'd like to do:

    I have 16 double Vmem locations that each hold a value from sliders on a C-more. Each slider represents a percentage (0-100%) of a 16-bit analog out value.

    I would like to have 5 screens of sliders, each slider having a unique Vmem address. Each screen of sliders represents a lighting cue for a theatrical lighting effect.

    On another screen, I'd like to have a series of buttons that will select a given cue (1 - 5).

    Now here's the hard part. We theater types really don't like the idea of our lighting cues "jumping " from one look to another, and we really like to have the ability to "fade " from one look to another over a given time.

    How the heck do I do that? How can I fade from one Vmem value to another over a given time (in seconds), and copy that value to another Vmem value (the Vmem value that is actually associated with each analog channel)? The "initial " value may be higher, lower, or the same as the "new " value. Ideally it shouldn't matter what cue is selected; it should be possible to select any cue in any sequence.

    I'm pretty sure I'll see exactly how simple it is once I see the code, but right now I'm absolutely stuck on how to even start this.

    Please let me know if I 've given an accurate enough description.

    Thanks,

    Ryan Poethke

    Expand Post