Acquiring multiple channels programatically

Hi Am using SCXI 1125 with 1328 terminal blocks to acquire temperature values from thermocouple's. My problem is that i need to select the channels to acquire programatically, and create a task dynamically with the channels to acquire the data. the virtual channels should include data such as noise filtering, if i pass a string to create task function with all the channels i want to acquire, i cannot set the noise filtering in the task i created. but if i create a task previously then unnessesary channels will be scanned, which is not fisieble. should i create global channel for each physical channel with information regarding filtering in it and then create task with these global channels, or is there any better way?.

It's really more a matter of preference. I prefer to set things in my program just because I can see what's going on and change it. If you want to create a global channel with the properties already set that shouldn't be a problem either.
If I was making it, everything would be set programmatically. But either method will work, and you should do whichever you think would be best for your overall application and future users.
Otis
Training and Certification
Product Support Engineer
National Instruments

Similar Messages

  • How do I acquire multiple channels with NIDAQmxBase?

    Sorry for the double post, I just thought my previous message subject looked more like a tutorial rather than a question.
    My question is the same, I am looking to acquire more than 2 channels worth of data using C++ and NIDAQmxBase. I have tried initializing with and without the timer. Without the timer I will get an actual response, with it the program stalls. I don't know if I am splitting up the data correctly...not sure how the DAQmx_Val_GroupByChannel works or whether I should use GroupByScanNumber.
    Here's my code (snippets from my prog):
    char Dev1_joint1_channels[] = "Dev1/ai0:1";
    char Dev1_joint2_channels[] = "Dev1/ai2:3";//the only reason I split this is to test with and without
    //buffersize is 500
    uInt64 samplesPerChan = bufferSize/4;
    // Data read parameters
    float64 data[bufferSize];
    int32 pointsToRead = bufferSize;
    /---------Initialize the task--------------------/
    DAQmxErrChk (DAQmxBaseCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxBaseCreateAIVoltageChan(taskHandle,Dev1_joint1_channels,"",DAQmx_Val_Diff,min,max,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxBaseCreateAIVoltageChan(taskHandle3,Dev1_joint2_channels,"",DAQmx_Val_Diff,min,max,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxBaseStartTask(taskHandle));
    WHILE LOOP
    /---------Acquire data--------------------------/
    DAQmxErrChk (DAQmxBaseReadAnalogF64(taskHandle,pointsToRead,timeout,DAQmx_Val_GroupByChannel,data,samplesPerChan,&pointsRead,NULL));
    /---------Assign to variables after averaging---/
    joint1_chanA = arrayAverage(data,0,pointsToRead/4);
    joint1_chanB = arrayAverage(data,pointsToRead/4,pointsToRead/4);
    joint2_chanA = arrayAverage(data,pointsToRead/2,pointsToRead/4);
    joint2_chanB = arrayAverage(data,pointsToRead*3/4,pointsToRead/4);
    }//END WHILE LOOP
    This works perfectly for just 2 channels, without even using the timer. I tried to stick the timer in, but the acquisition would not even go at that point. With 2 channels, I simply average the first half of data and assign it to the appropriate variable and then do the same for the second half. This works very well for just 2 channels, it's when i get into 4 channels that the data is messy.
    Help is appreciated!
    Thank you!
    Nathan
    [email protected]

    >I tried to stick the timer in, but the acquisition would not even go at that point.
    What timer? There's no timer in your code. Since putting in the timer makes it stop, that would seem to be the problem, and you're going to have to show it to us.
    A quick and not-very-careful read of your code seems to be OK, assuming the variables whose definitions and initialization you have left out are OK.
    >not sure how the DAQmx_Val_GroupByChannel works or whether I should use GroupByScanNumber
    The way you're doing the averaging requires DAQmx_Val_GroupByChannel.
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

  • Acquiring Analog Input from Multiple Channels in Labview

    Hello,
    i am working on a VI where i need to acquire signals from multiple channels in Labview using NI-9129.Initially i want to acquire contineous input signals (voltage and current) and display it on the graph.
    Having looked at forum and Labview examples i tried to make an initail VI but i am not sure if the setup i made needs any modification to serve my purpose.I am fairly new to Labview software.
    All i want is
    1.To acquire conteneously current and voltage 
    2.Display current and voltage individually on the graph.
    3.Perform some basic calculations like MAXIMUM,MINIMUM and AVERAGE values of voltage and current.
    4.Log the data into  excel file
    I have attached the VI i made so far.i need abit of advice if i am moving in the right direction or not.
    Thank You for having a look at my question.
    Attachments:
    Voltage-Current VI.vi ‏81 KB

    Engr_tech wrote:
    i think i already have the tdms for  data logging.as far as the tdms data logging is concerned,when i enable the logging mode to "read and log" the data logged inside the excel sheet would be seperate for current and voltage.?
    Is it practically possible to acquire data from 4 different channels and plot them.if yes,then am i right to assume that all i need is to modify the current VI for four channels having all of them in parallel.
    Yes, you are logging directly to a TDMS file.  This is definately the best route for data logging from a DAQ.  The currents and voltages will show up as different channels in the same group.
    To add more channels, just add them to your DAQmx task.  The logging will handle it with no issue.  Your calculations will also a little work to add the extra channels.  Same for the graphs, since you are using seperate charts.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Is there a way to acquire a set number of points from multiple channels?

    I had set up a VI to use AI ONE POINT.VI for multiple channels. Getting one data point for me is useless. I need, say, 100 data points from multiple channels at once. Is there a way to do that? Is there an example program I'm not seeing that already does that?
    Thanks!
    p.s. I have Labview 6.1

    Hello,
    Thank you for contacting National Instruments.
    As Dennis had mentioned, there are many example programs that ship with LabVIEW that demonstrate how to take measurements from multiple channels with either a finite or continuous amount of data to be acquired. In LabVIEW 6.1 you can find these examples by going to Help >> Find Examples >> Hardware Input and Output >> DAQ >> Analog Input >> General.
    In these examples, if you would like to sample multiple channels, you simply need to add the physical channels separated by a comma for example: 1,3,5 would sample channels one, three, and five. You can also use a colon to sample a sequence of channels for example: 4:6 would sample channels four, five, and six. This makes it easy for you to choose the chann
    els that you would like to sample without having to make any modifications to your code.
    Regards,
    Bill B.
    Applications Engineer
    National Instruments

  • Programatically select Multiple Channel

    I am using LabVIEW 7.1, Diadem 9.1.
    1)
    I have created one Report layout. In which I will have one sheet with 2 2D - Graphs on that. I want to pragamatically set multiple channels for both the graphs. Using the script I could able to set only one channel to the graph.
    Please guide me how could I set multiple channels? (Attached Report Layout and Script File, Both uses Example.tdm)
    2)
    I want to call this script file from the LabVIEW and want to pass channel names as parameters. How could I do it?
    Thnaks.
    Attachments:
    Diadem_test.zip ‏4 KB

    Hi Vishal.,
    You have a couple of options if what you want to do is transfer a list of desired channel names from LabVIEW to DIAdem. The first option is to write that list into a file and tell DIAdem to read it. There are plenty of different ways of doing this too. The second option is to dynamically send the array of strings to a new DIAdem text channel. The third option is to dynamically send the array of strings to a DIAdem string array.
    Any of these options will work fine, and it's really personal preference which you choose. As of DIAdem 9.1, its OLE Automation Server has no dedicated method to pass either a text channel or a string array with one pointer. So you either provide the values one-by-one to a new channel or new DIAdem string array, or you use file I/O. Below you will find an example of sending values one-by-one to a DIAdem channel. This is not a good method for very long channels (>> 1000 rows), but it should be adequate for your described needs.
    Regards,
    Brad Turpin
    DIAdem Product Engineer
    National Instruments
    Attachments:
    DIAdem Text Channel IO.zip ‏78 KB

  • Data acquisition from multiple channels.

    Hello
    Right now, I am able to acquire the signal from a single load cell and display it.But I would like to know of how to acquire  acquire signals from two load cells simultaneously.I am using Labview 6i and I am using AI S-Scan with AI config to acquire the waveform.It would be of great help if you could suggest a simple method to acquire the signals.
    PS: Please find the attached file used for acquisition from a single load cell.
    Looking forward for your reply.
    Manasa
    Attachments:
    test 4.vi ‏102 KB

    Hi Manasa,
    If I understand what you are trying to do, it is relatively
    straightforward to configure your application to acquire data on two channels.
    I was unable to run your vi as it was missing some of the subVI’s
    from your application.  However, your
    attachment was sufficient to see what you are trying to do. 
    Here is how to add channels:
    1.      
    In the I/O Channel Constant, you can add
    additional channels by using a comma or a semi-colon.  For example, to scan the first four channels
    you would put 0:3 in the constant (see attached screenshot ChannelConfig.jpg).  To scan the first and third channel you would
    put 0,2.
    2.      
    The AI Single Scan VI will now read from
    multiple channels.  Often it easiest to
    configure the output of this VI for viewing by first putting the data into an
    array using the Build Array VI.  It can
    then be plotted in a waveform graph. (see attached screenshot ReadtoGraph.jpg
    and WaveFormGraph.jpg)
    Just a few notes about “simultaneous” sampling:
    Most of the NI data acquisition cards have a multiplexer
    between the various input channels and the Analog to Digital (A/D) converter
    creating a very small delay between each channel (usually ms range or
    smaller).  NI does make several data acquisition
    cards that can perform true simultaneous sampling, meaning that there is an A/D
    converter for each channel.
    For the large majority of applications, the small delay
    between channels is negligible.
    Jared T.
    Attachments:
    ReadtoGraph.JPG ‏21 KB
    ChannelConfig.JPG ‏288 KB
    WaveFromChart.JPG ‏61 KB

  • How to Read from multiple channels

    Dear Sir
    I am acquiring data using FP-RTD-122 using OPC Client software. I ahve made one socket for that and i am using command
    CWDataSocket1.AccessMode = cwdsReadAutoUpdate
    CWDataSocket1.URL = "opc://localhost/National Instruments.OPCFieldPoint/FP Res\FP-RTD-122 @1\Channel 0"
    CWDataSocket1.Connect
    v = CWDataSocket1.Data.Value
    where v is a variant type.But this is 8-channel RTD so how can i read values from all channels using single socket connection Because at presnt i have to use 8 sockets for all eight channels.

    At least as of FieldPoint 4.0 and earlier (I do not know about 4.0.1 or later), the OPC Server did not support multiple channel analog items. Thus to read all eight channels of a FP-RTD-122 module, you would need 8 separate socket connections. For discrete modules (boolean), the "All" tag, is treated as a single 8 or 16 bit number.
    Regards,
    Aaron

  • What is the recommended way to do multiple channel, single point sampling for control with an NI PCI-6255 in RLP?

    Hello,
    I am writing a driver for the M-series NI PCI-6255 for QNX. I have downloaded the MHDDK and have all the examples working. I have also enhanced the examples to do interrupt handling (e.g. on AI_FIFO interrupt or DMA Ring Buffer interrupt). My ultimate goal is to write a driver that I can use for closed-loop control at 500 Hz using all 80 channels of the NI PCI-6255. I may also need to synchronize each scan with a NI PCIe-7841R card for which I've already written a driver. I want an interrupt-driven solution (be it programmed I/O on an interrupt or DMA that generates an interrupt) so that the CPU is available to other threads while the 80 analog inputs are being read (since it takes quite a while). I also want to minimize the number of interrupts. Basically, I will need to collect one sample from all 80 channels every 2 milliseconds.
    There are many different options available to do so, but what is the recommended technique for the NI PCI-6255 card? I tried using the AI FIFO interrupt without DMA, but it seems to interrupt as soon as any data is in the AI FIFO (i.e. not empty condition), rather than when all 80 channels are in the FIFO, so more interrupts are generated than necessary. I tried using DMA in Ring Buffer mode to collect a single sample of 80 channels and interrupting on the DMA Ring Buffer interrupt, which appears to work better except that this technique runs into problems if I cannot copy all the data out of the DMA buffer before the next AI scan begins (because the DMA will start overwriting the buffer as it is in ring buffer mode). If the DMA is not in ring buffer mode or I make the ring buffer larger than one 80-channel sample then I don't have a way to generate an interrupt when one sample has been acquired (which I need, because I'm doing control).
    I saw something in the documentation about a DMA Continue mode in which it looks like you can switch between two different buffers (by programming the Base Count/Address with a different address than the current address) automatically and thereby double-buffer the DMA but there is no real documentation or examples on this capability. However, I think it would work better than the Ring Buffer because I could interrupt on the DMA CONT flag presumably and be copying data out of one buffer while it is filling the other buffer.
    Another option would be DMA chaining, but again, I cannot find any information on these features specific to the NI DAQs.
    I tried interrupting on AI STOP figuring that I could get a single interrupt for each scan, but that doesn't appear to work as expected.
    I know that DAQmx on Windows has the ability to do such single sample, multiple channel tasks at a fixed rate so the hardware must support it.
    Any suggestions would be appreciated.
    Thanks.
    Daniel Madill

    Hello,
    The interrupt that will happen nearest the times that you need is the AI_Start_Interrupt in the Interrupt_A group. This interrupt will occur with each sample clock. By the second time this interrupt fires, the AI FIFO should have the samples from the first conversion. If it is easier to use programmed IO, you can read the samples out of the FIFO until you get all 80.
    Additionally, you can set the DMA to send samples as soon as the FIFO is no longer empty...instead of waiting for half full or full. This change will reduce latency for your control loop. You can set AI_FIFO_Mode in AI_Mode_3_Register to 0. By the second time this interrupt fires, you should be able to check how much data is in the DMA ring buffer and read the 80 samples when they are available. You can make the ring buffer larger than 80 samples if you see data getting overwritten.
    There is no interrupt associated with 80 samples being available in the FIFO or 80 samples being available/transferred by DMA to the host. X Series has much more flexibility with these interrupts.
    I hope this helps!
    Steven T.

  • How would you apply different calibrations to multiple channels

    I'm attempting to apply calibration data to multiple channels. The calibrations could have been done at different times for different channels and could be using different fits. I think I have a solution for just applying the calibration information to one channel. I'm posting the solution for one channel in this post. In the next post I will include the multi-channel problem I'm working on. I had to add txt onto the initial file in order to post this.
    Thanks in advance.
    Solved!
    Go to Solution.
    Attachments:
    Apply Calibration One Channel.vi ‏138 KB
    Initial.txt ‏1 KB

    Thanks for the links John. I just logged on to post my working solution so I haven’t had a chance to look at them yet.
    I’ve been working on this problem and have come up with the below attachment. I believe the logic is correct, but do not know if this is the most efficient way of doing this. I start by reading the calibration information in my ini file for only the channels that I am collecting data for. This is accomplished by the case structure enclosed in the for loop. The calibration values are stored as variables so I don’t have to read them with each data point I collect. I then start the data collection within my while loop. As I collect the data I pass it through a for loop where I apply the calibration curve to it and pull the calibration variables from the 2nd case structure. I’m using a for loop for this so I can index the wave files and apply the correct calibration information to each one. The channels and sections will be inputs to this vi from the choose channel vi.
    John I don’t know if this is better or worse than what you are suggesting. I will read the links you sent me.
    Does anybody have any comments on what I’ve put together?
    Thanks, Eric
    Attachments:
    Acquire and Transform Data.vi ‏209 KB

  • Acquiring multiple voltage and current sine waveforms, and log them along with the respective time stamp in a file."

    "I am doing a data acquisition project using a 16 channel N.I. series 6020E card where I want to capture respective current and voltage sinusoidal signals. I am planning on capturing four pairs of matching current and voltage signals. I planned on taking one reading across the channels every fifteen minutes. This reading will need to be 60 data points per period or 3600 readings per second per channel in order for me to recreate the sine signal to determine the phase angle difference between the voltage and current. I was able to get one channel to capture a signal but could not get more than one working at a time. I am also trying to sycronize the data collection so all samples are with respect to each other. Thanks for any help."
    -posted by cappy on 2/11/2002
    John N on 2/12/2002 answered:
    "Hi Cappy,
    Could you post this question to the Hardware > Counter/Timer or Hardware > Multifunction I/O forums? I think you will get more responses there. Here is a link.
    The hardware is usually a better differentiation since software can support such a huge range of functionality.
    The data rates you are talking about sound reasonable. Are you using the USB or the AT interface?
    One other thing to be aware of is that the samples taken will not be simultaneous due to the multiplexed nature of the MIO board measurements. However if you know the channel clock rate(output from one of the VI's), then you can calculate the time difference between each measurement and correct your phase measurements by that amount.
    If you have more questions, please post this to the other forum and copy all of our discussion to let everyone know what we have talked about already.
    Best Regards,
    John Nieri
    Applications Engineer
    National Instruments"
    I am using the USB connection. If anyone can help with or has a similar VI for this, it owuld be appreciated so I can work on the larger aspect of the total project.

    The easiest VI to use for this acquisition is AI Acquire Waveforms in the data acquisition palette in LabVIEW. This VI allows you to perform a finite acquisition from multiple channels on your DAQ board. As John mentioned the acquisition from individual channels will not be truly simultaneous. There will be a slight time shift from one channel to the next on the order of the maximum acquisition speed of the card, 100kHz or 10 microseconds in your case. By accounting for this 10 microsecond delay between consecutive channels you can properly calculate the phase shift between voltage and current.
    Christian L
    NI Consulting Services
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Multiple channels acquisition and Number of samples per channel

    Hi,
    I'm a new labview user and I need some help in trasposing an old traditional NI-DAQ acquisition software in a NI-DAQ-mx one.
    I followed the tutorial (#4342) but I found a problem with Analogue 2D DBL Multiple Channels Multiple Samples DAQmx Read Vi.
    I'm trying to acquire 8 voltage signals from a NI-USB-6341 device. When the Number Of Samples Per Channel I set is below the number of channels (8), the software acquires only a number of channels equal to the number of samples per channel I set.
    Is that a normal behaviour?
    Thank you
    Daniele

    This is my code. The problem is the same with or without the code for the scan backlog indexing.
    Tomorrow I will try with the code from the example.
    Thank you
    Daniele
    Attachments:
    acq code.jpg ‏119 KB

  • Sme device multiple channel different bridge

    Hi
    I am using NI 9219
    I have input from three different channel configured in different bridge mode with internal excitation.
    I am able to acquire signal from each channel individually,
    But I am not able to acquire data from all channel from a single vi an display them in a single graph.
    Please help ASAP
    Thnx
    Ravinedr

    Hi Revinedr,
    It sounds like you are probably trying to run multiple analog input tasks at the same time. You can only run one of these tasks at a time. You can set up your task to include multiple channels with different bridge configurations, just set them up sequentially with the Create Virtual Channel VI.
    Message Edited by PBear on 06-20-2008 12:53 PM
    PBear
    NI RF
    Attachments:
    multiplechannelbridges.gif ‏5 KB

  • Multiple channels definitions for AI

    All examples for analog input use one channel only.  I would like to see and example using multiple channel inputs.

    Hi rlbrehm,
    If you have already created Global Virtual Channels in MAX, you can use the DAQmx Create Task vi to create the task from those in LabVIEW.
    If you have a Task configured in MAX, you may use it in LabVIEW as follows:
    Using a DAQmx Task in LabVIEW
    If you want to define the channels in LabVIEW with multiple characteristics, you can also use the DAQmx Create Channel multiple times in your code to define channels with different characteristics (scales, ranges, etc.).  The following code shows how this can be done, although a more elegant solution would use an array of channel configurations in conjunction with a for loop.
    DAQmx Acquire with Multiple Channel Input Ranges
    The one thing to take away from this is that there are multiple ways to define your task and the parameters associated with each channel--any of the above methods should be able to produce the same result so it's up to you how you want to define your task and channels.  I hope this is helpful.
    -John
    John Passiak

  • Help! data manipulation for high speed streaming to disk from multiple boards and multiple channels

    I am using Labview 7.1 and have been trying to capture data from 12 channels simutaneously sampled at 2MS/s each and streaming to disk for up to a minute or more.  The hardware I am using is 2 x PXI 6133 S series boards with a MXI4 link to a Pentium D 2.8 Ghz machine with 2Gb ram.   I have 2 sata drives set up in a raid 0 configuration which should give me hard disk write speed faster or equal to the MXI-4 transfer speed. 
    I have first started off by using the example code "multi device sync - analog input- cont acquisition" which has enabled me to sync the two boards and sample at the required speed. 
    To stream the data to disk, I have first merged the data from each board  together to save it to one file.  I have tried using the storage vi's but I end up with a Daqmx read error (trying to read data that is no longer available).  I have played around with the read data size to the point that I either get a insufficient memory error, or I get the "trying to read data that is no longer available"  error.  I have also tried using the file IO blocks with some success and have found that I have been able to stream to disk only if I configure the daqmx read block to output the data in "raw 1D I16" format and plugging it into the file-write block.  In doing this, I have noticed that using  multiple channels on one daqmx read task, I will get all the channels in one 1D array rather than a 2D array organized by channels.  This makes it messy to read at the end of this, and I also don't want to write another vi to separate the channels, due to the high chance of getting the data mixed or messed up if I happen to change the number of channels on a board
    Is there a cleaner way of streaming this data to disk and keeping the channel data separated from each other?, and/or is there a better way to capture and handle the data I need? 
    I have attached the vi which I have got to consistantly work streaming to disk using the raw 1D I16 format.
    Thanks in advance to anyone who can help.
    Attachments:
    multidevicesync_analoginput_streamtodisk.vi ‏197 KB

    Hi,
    i can suggest following
    Refer to an example VI called as "High speed data logger.VI"  in conjunction with "High Speed data logger reader.vi" in Labview examples. Alhrough the logger might be in Tradiditional Daq format, it can be quite easily converted to Daq Mx format to store data in Binary (I32 format) . I have used this for many of my applications and i have found that the data retrieved does not have any "messups".
    Why not keep a seperate file for each card? This way, you do not have to load your application with extra process. You only have to acquire and save. After saving in Binbary format, you can retrive it offline, convert it to ascii format and merge the data files of various cards to get one consolidated ascii data file.
    hope this helps
    Regards
    Dev

  • Display multiple channels on waveform graph

    Hello,
    I would like to display multiple channels of acoustic data on one waveform graph. I currently have them separated and controlled by tabs inside a case Structure. I sometimes have run into DAQ error because I'm looking at 10 channels of 1/3 Octave data real-time. I woundering if I display all the channels on one waveform graph would I elimnate this error.
    can anyone help?

    Philip,
    I'm acquiring data at 44KHz sample rate and my frequency range is 0-20kHz (2 ni-4472 DAQ cards). Since I been using LV (off and on now for about a year) my application is still in the development stage. I tried including pics but could only include 1 at a time, so heres a copy of my vi for you. There is several things I'd like to figure out, I'm viewing data real-time and writing data to file. However, as I'm writing data to file I don't want the data to display in real-time (I think this is where my problem is). The other issued is when I've stopped writing data to file, the case structure outside the while loop opens the file and processed the data, however I'd like to see the data in the same display (waveform graph in while loop). Take look and give me thoughts.
    R/Scott
    Attachments:
    Submarine DAQ_writing reading OFFLINE_Rev2.vi ‏829 KB

Maybe you are looking for

  • Receiving calls on multiple devices

    for some reason, I am receiving calls on multiple devices when they are in close proximity. For example, if my wife receives a call then my son's phone and my phone will also ring. All devices have been logged out of the Apple ID. As far as I know, t

  • Free space on hard drive--incorrect reading?

    I have a Powerbook G4 with a 100GB hard drive. For almost a year, I've had about 60GB used and about 40GB free. All of a sudden, My free space dropped to 12.4GB. It seemed odd, so I decided to add up the folder sizes using right click, Get Info on al

  • Cannot Update Apps.

    I am attempting to update a couple of my apps (Xfinity Connect and vSSH) and neither of them will download to update.  I then tried removing the existing version of the app and re-installing it.  That does not work either.  You click install and the

  • SQL to combine multiple rows

    Hi All - I have following 2 tables (definition and data insertion scripts below). COMP table has company related information and COMP_CATEGORY table has company category details. COMP- table COMP_ID | COMP_DESC | COMP_CITY | COMP_STATE 1111|Sahara Lt

  • Help with report summary

    I'm a bit of a newbie so please bear with me. I have a report that lists the contents of a truck by pallet and weight - 100# of A, 200# of B, another 100# of A, etc. I need to add a summary of how much of each stock# was on the truck. If anyone could