adamLL

Members
  • Posts

    21
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

adamLL's Achievements

Member

Member (2/5)

0

Reputation

  1. The idea is that the popup is launched by the fire event after `beginseq(Fire_seq)` the idea of the popup (modal with the no close flag) is to force the user to acknowledge something if they are there. After 2 minutes, the alarm takes action, and then snoozes for 5 minutes before resetting (at which point, if the temp hasn't lowered by enough, the cycle starts again) It's less of just a snooze, and more of a delay + a snooze if that makes sense. Delay: (the 2 minutes in which the popup are active), snooze: (the 5 minutes after automated action, or the 1 hour after user acks/ignores the alarm) The user if they are closely monitoring the system should however, have those 2 minutes to decide if they want to acknowledge that the system is overtemped, and ignore it for 1 hour (want to make the ignore/snooze time long enough so that in the future people don't disable the alarm because it inconveniences them too often). The button to ignore/ack the alarm also closes the popup and goes back to the main control page. An original idea I had was after the 2 minutes, if automatic action is taken, the popup was closed and replaced with a system.messagebox() informing the user of the automatic action taken. However, this was difficult to manage because if you had an unacked message box starting the same sequence multiple times before it had ended lead to odd behavior. However, replacing the message box with just keeping the popup open and having different components become visible after the automatic action being taken was easier to get running and looks nice as well.
  2. That kind of works - but instead of just delaying the action - I want it to function more like a "snooze" button on an alarm, that instead of taking action after the 1 hour, the alarm popup comes back up and gives the user another chance to snooze
  3. Hello, I currently am working on an over-temp alarm. it is somewhat simple in the sense that the fire/reset events are just Fire: T_out[0]>highT Reset: OTreset (global variable) To respond to this alarm - I want to decrease a power output channel by 2, which is easy to do in the fire event However, I want to give the user an option to override automatic option - perhaps with a modal popup page that has its own countdown, and either takes action after 2 minutes or has a 1 hour "snooze" button. Do you have any advice on how I structure the fire/reset events or other sequences in this alarm? I have noticed that I cannot use delay() in my fire/reset events as those run in the main thread and slow my UI, so I have been trying to fix the timing using beginseq(fire_seq) Thanks for any tips!
  4. Is there a "simple" way to do a laplace transform? Maybe w/ sequences or a function or something? Thanks
  5. Can get it to work in a quick sequence and in the command/alert box, but even a sequence with nothing else but "File.FolderSelectDialog()" doesn't trigger the dialog box to show up
  6. Is there any way to automate the script dumping and/or the channel exporting on something like saving the .ctl or using sequences/components?
  7. Is there any way to use Git or some other version control to manage updating .ctl files? It is kinda a pain to manage different channels/sequences currently. Open to other suggestions
  8. I am using a switch to toggle a PID controller on and off. I have it set so that the set channel is a dummy channel named PID_Switch that has an event that will turn other PID on or off. However, that is not the only place I turn the controller on and off, as sometimes it is toggled during sequences or somewhere else. When I toggle the controller from somewhere other than the switch, the switch will not update and will still appear as what I last set the switch to, regardless of the actual status of the PID loop. Is there a better way for the PID to be toggled with a switch?
  9. Whenever I click on a PID loop under Connections - Local on the Workspace tab and then click away to leave to view a sequence, channel, or page, I get the popup box that says "Do you wish to apply your changes" regardless of whether or not I've made any changes. Additionally, I need to select the option twice before I can change to a new page. Not a feature breaking bug or anything but thought it was odd
  10. Additionally, is there any way to set the effectI to something else at the start of the loop?
  11. Is there a method to start a PID from a sequence?
  12. adamLL

    Autotuning?

    Awesome thanks, that really helped!
  13. adamLL

    Autotuning?

    Also how can I change the range of the left axis for the graph on the PID page? If my process variable/setpoint ranges from 600 to 1600, i don't really care about looking from 0 to 100.
  14. adamLL

    Autotuning?

    Little more info if that helps: I'm trying to use a PID to heat a metal element connected to a 400W voltage controlled power supply to a set temperature. I am measuring the temperature with a pyrometer that can measure 600 to 1600C. My process variable is the temperature of the element measured by the pyrometer, my set point is a user controlled value between 0 and 1600C, and my output channel is the voltage that the power supply gives