How many PID loops could I run on cRIO RT?

Hi,
I am trying to create a temperature process controller. I have 3 RS232-enabled OMEGA mass flow controllers, 12 thermocouples, 6 heaters (that will be connected in sets of two), and 3 PWM-enabled fan banks.
My thinking is that I would connect the heaters in parallel to a phase-angle-fired SSR (http://www.chromalox.com/catalog/resources/PDS-PK308-SSR.pdf). That way, I could use a 0-20 mA output signal from the cRIO to control the power appplied to the heaters. I would use PID, and scale the output of the PID to a 0-20 mA signal to control the process temperature. I also want cascade control - I want to have 2 additional thermocouples that are connected to the PID loop acting as limit sensors. If the temperature limit is exceeded in either thermocouple, the PID loop is "turned off" until reset by a user. I would want three of these configurations (2 heaters, 3 thermocouples, 1 SSR - x3, so 6 heaters, 9 thermocouples, 3 SSRs).
Rather than control the PWM fans with a PWM output directly from the cRIO (which I heard can be painful) I found a PWM controller that is controlled by a 0-5VDC signal. I wanted to use a thermocouple as a process value, and the 0-5VDC signal would scale to control the fans to achieve the desired temperature. I would want three of these configurations (1 fan bank, 1 thermocouple - x3, so 3 fan banks, 3 thermocouples).
So now, my REAL question - Would one cRIO chassis be able to control these 6 PID loops AND my OMEGA mass flow controllers? I'm just unsure of the processing power that is required of PID/limit control.
I appreciate any help I get - If need any more specifics, please let me know!
Thanks!

Just to follow up - I have no problem using FPGA as well, if leveraging both the RT and FPGA systems will allow me to achieve my goal. I have heard, though, that FPGA is only good if you are only maintaining one set point for the PID loops. My fan bank PID loops will keep a constant set-point, however my heater bank PID loops will require constant changing (the heaters will be used to create a cycle that maintains one temperature for 60 mins, than goes to a different temperature for another 60 minutes, and repeats).

Similar Messages

  • [solved] How many dbus process are you running?

    Hi there,
    Recently I looked how many dbus processes there are running on my system. I realised it is quite a few:
    ~ ps aux | grep dbus
    root 367 0.0 0.0 124760 3688 ? Ssl 07:31 0:00 /usr/sbin/thermald --no-daemon --dbus-enable
    dbus 374 0.0 0.0 27084 1952 ? Ss 07:31 0:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
    lightdm 846 0.0 0.0 17992 544 ? S 07:32 0:00 /usr/bin/dbus-launch --autolaunch e8b37a474b614e438a0ab6a142101c2c --binary-syntax --close-stderr
    lightdm 896 0.0 0.0 26664 1040 ? Ss 07:32 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
    lightdm 902 0.0 0.0 26664 1540 ? S 07:32 0:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
    orschiro 1128 0.0 0.0 15896 616 ? S 07:32 0:00 dbus-launch --sh-syntax --exit-with-session
    orschiro 1129 0.0 0.0 27012 1496 ? Ss 07:32 0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
    orschiro 1445 0.0 0.0 17992 540 ? S 07:33 0:00 dbus-launch --autolaunch e8b37a474b614e438a0ab6a142101c2c --binary-syntax --close-stderr
    orschiro 1446 0.0 0.0 26664 1036 ? Ss 07:33 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
    Is this the same for you?
    I do not start dbus manually anywhere on my system except for launching lightdm and thermald through a systemd service.
    Last edited by orschiro (2014-02-28 07:16:45)

    I will mark this as solved for now. In order to minimise the running dbus sessions, I switched back from ldm to startx and also removed the pulseaudio autostart from /etc/X11/xinit/xinitrc.d/ since I want to control myself when pulseaudio starts the dbus sessions.
    This is how it looks now with X running and udisks2/gvfs enabled dbus session.
    dbus 331 0.0 0.0 27048 1608 ? Ss Feb27 0:10 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
    orschiro 1574 0.0 0.0 15896 448 tty1 S Feb27 0:00 dbus-launch --sh-syntax --exit-with-session
    orschiro 1581 0.0 0.0 27160 1396 ? Ss Feb27 0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
    orschiro 12920 0.0 0.0 26664 1216 ? S Feb27 0:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
    orschiro 15516 0.0 0.0 17992 532 ? S 06:26 0:00 dbus-launch --autolaunch e8b37a474b614e438a0ab6a142101c2c --binary-syntax --close-stderr
    orschiro 15523 0.0 0.0 26664 964 ? Ss 06:26 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session

  • How many apple tvs can i run at once

    i want to set up a trade show booth with apple tvs and a mac mini. how many apple tvs can i run off a mac mini? i want to run different slideshows.

    Frank Caggiano wrote:
    Pretty sure that one device (the mini) will only be able to interact with one Apple TV.  At best you might be abel to connect to multiple ATVs but they would all run the same content. (and I have my doubts about that)
    You can use the mini and multiple Apple TV's to watch different content, indeed you can only watch different content although you can listen to the same content. For the avoidance of doubt different includes the same content but not in sync.

  • A way to tell how many hours a computer has run

    Is there any way to tell approximately how many hours (like a car has an odometer) my PowerMac G4 1GHZ MDD has been run in total?
    Thanks,
    Awfers
    Message was edited by: Awfers

    Old World ROM Macs used to hold that info, along with the manufacturing date, in PRAM. It could be viewed with an old Demo version of TechTools and probably a couple of other freeware utilities. The problem was that, if you ever flushed PRAM via a CUDA reset or removed the PRAM battery, the info was lost.
    Older versions of Techtools (v3 and earlier for pre-OSX systems) had an option to save that PRAM data before zapping the PRAM or replacing the battery. The function to reload the saved data was labeled "Restore Mandate" if you want to search further.

  • How see how many process in paralell are running?

    Hi friends!
    I need add a new process chain in the main meta- process chain ( a big one)
    How can I know how many process are running in paralell,
    and how many process still free or available to use,
    between a time range?  (ex: 12:00hs to 12:10hs)
    Thanks in advance!

    Hi
    There are various ways by which you can determine whether you have enough background work process to run something in parallel.
    1. When your process chain is running use transaction code SM66 to see how many background process are being used.
    For background work process you get TYPE as BTC.  Now monitor this screen for some time and you would know what is the maximum number of background process being used during your PC run.   Your Basis team member will be able to tell how what is the total number of background work process in your system.  Now you would be able to understand how many of these process remains free.
    2. You can run SM51 -
    > this will list you number of application servers you have. Double click on each of the server , it will take to to SM50 screen. Top side there will be clock sign. Click on that. This will give you the CPU time of each work process.
    i.e what is the time a wp was using CPU since last system restart.  If you see  for most of the background work process this time is in the range of 0 - 2 seconds , then they are mostly free .
    3. You would also get some of the valueable information from RSBATCH -
    >Background and Parallell Process -->DIsplay Background Process
    Regards
    Anindya
    Edited by: Anindya Bose on Jan 6, 2012 5:58 AM

  • How Many Threads inside JVm while running

    Hi,
    how many threads will be there in jvm of 1.4 or higher sdk? threads i mean it includes all jvm threads also.

    How do you identify these threads?
    I can see 8 threads in my 1.5 java process (just running a main) using windows XP task manager, but when I check how many threads there are from within the code, it only looks like 4:
    java.lang.ThreadGroup[name=system,maxpri=10]
    Thread[Reference Handler,10,system]
    Thread[Finalizer,8,system]
    Thread[Signal Dispatcher,9,system]
    java.lang.ThreadGroup[name=main,maxpri=10]
    Thread[main,5,main]
    For example, using
    Thread.currentThread().getThreadGroup().getParent().list();

  • How Many times the report has run

    Dear All,
    I am trying to find out if there is any standard report which shows me as to how many times the Z or Y repor has been used.
    This is really needed for me decide.
    with regards
    Ranjith Singh

    we created a solution that reads the information from STAT and stores it in a custom table for later retreival. we can then more closely monitor the amount of statistics kept without basis involvement. the function module to read the STAT information is:
      call function 'SAPWL_STATREC_READ_FILE'
           destination servers-rfcdest
           exporting
                read_client                 = sy-mandt
                read_end_date               = pstop
                read_end_time               = pstopt
                read_exclude_username       = 'SAPSYS'
                read_start_date             = pstart
                read_start_time             = pstartt
           tables
                v2_normal_records           = stats
           exceptions
                wrong_parameter_combination = 1
                others                      = 2.
    it takes some time to develop history, but we can now go back over a year to look at run time and execution trends by program, both ours and SAPs.
    HTH

  • How many Apple loops preinstalled with Garageband 09?

    Straightforward question: how many loops are included with Garageband 09? I can find hardly any (eg 4 drum loops, all cymbals) and it makes me wonder if something's missing, or if that is indeed all that is provided with the standard install of Garageband.
    Thanks.

    HangTime wrote:
    which is why i did not say to open it ;-)>
    Well, obviously there wasn't much chance it would work, but no harm trying.
    I did what you suggested - deleted all the files in the Receipts folder that start with GarageBand (after backing them up first) and tried to reinstall Garageband from the MacBook software DVD, but no joy - everything is still greyed out apart from the help files.
    So I dropped GarageBandExtraContent.pkg onto FileJuicer and that kept FileJuicer busy for a good 15 minutes. In the end it extracted a gigabyte of stuff from that 5.4Mb file, including a lot of AIFF and WAV files, though no CAF files, oddly enough. The WAV files mostly have cryptic names like 35m2aF6.wav (which turns out to be a string section, Full Strings Lite, playing a high C I think).
    However, I can't find any AIFF or WAV files with a date later than 2005. This makes me think I probably do have the full set of Apple Loops and that the set hasn't changed for a while. If anyone has the default install of Garageband 09 and wants to compare file lists, that might be a good idea...

  • How many users on router? run torrent

    I share my router and I have "off-peak" internet time 2am to 8am - I needed a script to see if I am the only user on-line so that my torrents don't suck up the other people's bandwidth...
    This works:
    #!/bin/bash
    # should torrent run?
    # using a router shared by a number of people
    # If I am the only user or it is off peak time (or other concerns) then decide whether to run torrent
    #functions
    # check who's online
    function checkingprocess {
    # start by saying there are zero users
    homeusers="0"
    echo "home users reset to zero"
    # nong (important other user) is not on
    nong="no"
    echo "nong set to no"
    # get the file with MAC addresses of people connected to wireless router
    wget http://192.168.1.1/wlclientview.cmd --http-user=USERNAME --http-password=PASSWORD
    echo "got list"
    mv ~/wlclientview.cmd ~/mybin/whoosonline
    echo "moved list"
    # check if others are on-line
    homeusers=$(grep -c "<tr>" ~/mybin/whoosonline)
    echo "counted $homeusers table rows"
    # remove extra 3 that are not useful
    homeusers=`expr $homeusers - 3`
    echo "that means we have $homeusers users (result -3)"
    # check for special case "nong"
    if grep -q "MAC:OF:USER:NONG" ~/mybin/whoosonline
    then
    # special case - Nong is online too
    nong="nong"
    echo "nong online"
    else
    echo "nong not on line"
    fi
    # report total to text file for conky to display
    echo $homeusers > /home/tawan/mybin/whoosonlinenow
    # check the time
    function timechecker {
    # off-peak internet use between 3 and 6 am
    # actually 3 to 8 but give others a chance early morning from 6
    TIME=`date +%H`
    if [ "$TIME" -ge "02" ]
    then
    mytime="offpeak"
    echo "off peak time?"
    if [ "$TIME" -le "05" ]
    then
    mytime="offpeak"
    echo "off peak time"
    else
    mytime="peak"
    echo "peak time"
    fi
    else
    mytime="peak"
    echo "peak time"
    fi
    # run
    function myrunner {
    ps aux > /tmp/ps.log
    # look in the file for this name to see if it is running
    if grep rtorrent /tmp/ps.log
    then
    appcheck
    if [ "$appkill" -ge "1" ]
    then
    echo "can't run torrent $appkill x web app open"
    else
    echo "torrent already running"
    fi
    else
    echo "run torrent"
    appcheck
    if [ "$appkill" -ge "1" ]
    then
    echo "can't run torrent $appkill x web app open"
    else
    urxvt -g 46x1 -title rtorrent -e rtorrent -o http_capath=/etc/ssl/certs &
    fi
    fi
    # kill
    function mykiller {
    ps aux > /tmp/ps.log
    # look in the file for this name to see if it is running
    if grep rtorrent /tmp/ps.log
    then
    killall rtorrent &
    fi
    echo "kill torrent"
    # app check
    function appcheck {
    appkill="0"
    # skype - kill torrents if skype in use
    myapp="skype"
    appkiller
    # chromium - kill torrents if chromium in use
    myapp="chromium"
    appkiller
    # firefox - kill torrents if firefox in use
    myapp="swiftfox"
    appkiller
    # app killer
    function appkiller {
    if grep $myapp /tmp/ps.log
    then
    mykiller
    echo "killed because of $myapp"
    appkill=`expr $appkill + 1`
    fi
    # think about it all
    function mythinker {
    # in peak time we run if you are the only user
    # in off peak time we run even with other users
    # unless that user is nong and so we kill later
    # always kill if nong is on-line
    if [ "$nong" = "nong" ]
    then
    echo "nong on-line so kill torrent"
    mykiller
    else
    if [ "$mytime" = "offpeak" ]
    then
    echo "....off peak time. Let's run torrent"
    myrunner
    else
    if [ $homeusers -le 1 ]
    then
    echo "....peak time and think only user is you so run torrent"
    myrunner
    else
    echo "....peak time and other users on-line so kill torrent"
    mykiller
    fi
    fi
    fi
    #end functions
    #loop
    while [ 1 ]
    do
    echo "start of loop"
    # run the above functions and loop
    checkingprocess
    timechecker
    mythinker
    echo "done functions, will sleep"
    sleep 20s
    echo "end of loop"
    done
    #end loop
    edit : improved
    Last edited by tawan (2010-07-25 07:05:20)

    QoS means Quality of Service.  Basically it reorders or delays packets depending on priority, so that time-sensitive packets always go first, and unimportant packets like bittorrent can be delayed until there is no other traffic being sent.  What I specifally was suggesting here is that your use it to lower the priority of bittorrent traffic, so that you can run it all the time but it only uses spare bandwidth that isn't being used by any other service.
    The only catch most routers can only do QoS on inbound connections which is mainly helps latency and not download speeds.  However, if your router is running linux it may have that ability.  Also look for the 'tc' utility or maybe you can install trickle.
    This thread has little bit more info.
    Last edited by xenobrain (2010-07-20 14:11:50)

  • How can I put a limit on how many times my 'if' statement runs through?

              while (done == false)
                   testnumber++;               //Testing the next number
                   testdivisor = 1;          //Resetting the testdivisor
                   System.out.println("1st while statement");
                   if (testdivisor <= testnumber)
                        testdivisor++;
                        divisors = testdivisor % testnumber;
                        System.out.println("2nd while statement");
                        if  (divisors == 0)
                             divisor1= testdivisor/testnumber;
                             System.out.print (divisor1);
                             System.out.println("3rd while statement");I need to stop it after it goes through the 4th if statement 4 times. The specific code might not make sense because it's a rough copy, but it will give you an idea of the program real quick.
    So is there any way to make it stop after 4 runs through the last if statement?

    So is there any way to make it stop after 4 runs
    through the last if statement?If you seriously can't think of how to do that, are you sure programming is up your alley?
    int hits = 0;
    while (!done) {
      if (divisors == 0) {
        ++hits;
        ... // do your current stuff
        if (hits >= 4) break;

  • How many while loops in an applicatio​n is appropriat​e?

    Hi,
    I am writing an application that is growing and now I'm about to add the 5th while loop on the root level. So far, I have loops for:
    1. Receiving data
    2. Transmitting data
    3. Processing commands
    4. Handling front panel events
    5. (about to be added) background timed events
    My question is this - is there any "recommended" maximum number of while loops in the base VI or is it purely up to the application? I am wondering if it matters, or if I can simply add loops as needed. Other than combining the transmit and receive data which I don't want to do due to speed, there's not much else to combine.
    Any comments?
    Thanks,
    Jason

    Isn't LabVIEW wonderful? It is so easy to write applications that do many things seemingly at the same time in paralell.
    I would not worry too much about the number of loops. Make sure that each loop is well behaved and only spins if there is really something to do. A single empty loop without any wait statement can be very taxing for the CPU and hurt responsiveness in all other loops.
    As long as the UI is nicely responsive and the CPU is not pegged at 100% you're fine.
    LabVIEW Champion . Do more with less code and in less time .

  • How many iPhones & iPads can I run from the same Apple ID

    My family now have 2 iPhones 2 iPads & an iTouch - I only have 1 apple ID and up until now have linked all the devices to this ID but now the iMessage & Facetime are all linked together so when I text my wife it also comes up in my sons iPad mini & all the other devices. Can I run more than 1 device from the same Apple ID?

    Obviously you can. I don't think that's what you meant to ask... Would you care to clarify?
    The maximum number of iDevices that can use a single Apple ID is 10, by the way.

  • How many computers can Elements 11 run on?

    I am thinking of downloading elements 11 and my mom wants to know if she can use it too; if I buy it can I download and run the installation on more than one computer?

    You can run it on two computers in the same household. If you buy the download both computers must be on the same platform (i.e., both windows or both macs). If you buy the boxed version you can install it on two of the same or one of each.

  • How many large screens can I run on a Mac Mini?

    We have several Mac Mini's around the network running large HD "TVs" without issue. However, I have a new install that requires two of the 40" screens running in a mirrored view. The Mini will be running Windows 7 32-bit (Sorry). Will the current generation of Mini handle two of these?  What dongles would I need?
    Thanx...Jon

    Hello Jon, if you're talking the latest Mini...
    Video Card:
    HD Graphics 4000
    VRAM Type:
    Integrated
    Details:
    This model has an Intel HD Graphics 4000 graphics processor that shares memory with the system. Also see: What type of video system is provided by the Aluminum Mac mini models? Which are integrated and which are dedicated? Can the video be upgraded?
    Standard VRAM:
    512 MB*
    Maximum VRAM:
    768 MB*
    Display Support:
    Dual Displays
    Resolution Support:
    1920x1200*
    2nd Display Support:
    Dual/Mirroring*
    2nd Max. Resolution:
    2560x1600*
    Details:
    *This model simultaneously supports 1920x1200 on an HDMI or a DVI display (using the included HDMI-to-DVI adapter) and 2560x1600 on a Thunderbolt or Mini DisplayPort display or even a VGA display (with an optional Mini DisplayPort-to-VGA adapter, which is compatible with the Thunderbolt port).
    http://www.everymac.com/systems/apple/mac_mini/specs/mac-mini-core-i7-2.6-late-2 012-specs.html

  • How many fps can a macbook run oblivion at lowest settings?

    medium class macbook, 2 gigs of ram, 2.2ghz processor
    can it even break 10 fps?
    what about the macbook pro

    No. Oblivion requires dedicated graphics. A Macbook Pro yes.
    If you're a gamer at all you need to go with a macbook pro unless all you play is WoW.

Maybe you are looking for

  • Invoking a Web Service from a mobile application

    Hi all, I have installed Sun Wireless Toolkit 2.5.2 for CDLC and MTJ. I want to invoke a web service from an MTJ Application and I have not a clue of how to start. First let me say I am working with RSA (which is over Eclipse) My first attempt was cr

  • Why will quicktime 7 not play mp4 from windows

    So I made a video with an H.264/mp4 format using a program called Lightwave on Windows 7. When I transferred this file to quicktime 7 on a mac for a presentation, the first image looked fine for about 3 seconds, then the colors were all changed aroun

  • Advantages of XI over PA48

    Hi, We are working on E-recruitment with SP 13 and EHP3. We are stucked in Data Transfer from E-recruitment to HCM system . Both the systems are in the same server. We want to know what are the advantages of XI interface over PA48. Since through PA48

  • Macbook pro still slow after erase

    Hi everyone, I have a slow performance problem on my macbook pro that I cannot solve. I tried already everything I could find here (see below) but nothing worked so far and that´s why I´m posting a new thread. PROBLEM: Macbook got suddenly incredibly

  • Role of an instance

    Hi, short question, how can I get the role of the active activity, when I have an instance object of another process (not the current one)? I have tried to get the activity by "Activity(instance.activityName)", but this works only for activities of t