Jump to content

DAQman

MCC Staff
  • Posts

    2,061
  • Joined

  • Last visited

Reputation Activity

  1. Like
    DAQman got a reaction from Otman in Issue with UTILCELL Model 620 Load Cell and MCC USB-2404-ui Data Acquisition: Extremely Low Voltage Values   
    The USB-2404-UI returns millivolts per volt of excitation power - mV/V sensitivity. It uses the excitation power as a reference to the A/D. If the excitation power fluctuates, it will not change the accuracy of the measurement. Some devices use a fixed excitation power and return millivolts. If the excitation power fluctuates, the accuracy will suffer. So what they do is use another pair of wires as feedback to regulate the power. Long story short, when loaded to 500kg, your load cell should return 0.002 volts. You should have received a calibration sheet with the load cell with the calibrated sensitivity rating. For instance, instead of the nominal 2mV/V, is may be 2.1mV/V at 500kg. Make sense?  
  2. Like
    DAQman got a reaction from Otman in Amplification and Compatibility of MCC USB-231 for Load Cell and Strain Gauge Measurements   
    Hello,
    Most load cells, as well as strain gauges, output a small signal. For example, a 1000lbs load cell with a sensitivity of 2mV/V will output only 20mV at full load. The USB-231 has a fixed +/-10 volt range, and although it's a 16-bit device, it will struggle with mV measurements. The HX711 will not work because it uses a two-wire interface (Clock and Data) for communication. It would be best to have a signal conditioner with analog output, like the 8B38 from www.dataforth.com https://www.dataforth.com/8b38. It translates the mV signal to 0 -5 or +/- 5 volts which the USB-231 can read.
    Best regards,
    John
  3. Like
    DAQman got a reaction from olli in Multiboard Mcc 134   
    Set the bottom board to address zero (no jumper). Set the top board to address 1 (jumper on A0). Run sudo daqhats_read_eeproms, then test each board using the DAQ HAT Manager on the Accessories menu. If you add a third board at address 2, you must rerun sudo daqhats_read_eeproms.
    Best regards,
    John
  4. Like
    DAQman got a reaction from Ian Scatena in Accelerometer in DASYLab   
    Hello,
    Use the Mathematics->Scaling module after the DT9837 input module. Use linear scaling as the type of module. On the setup page, use the default linear function. Leave b=0 and set a=1 / sensitivity. For example, if you have a 100 mV/g sensor, a=10. For units, type 'g' in the unit drop box. It's only a text label, so you could have bananas as the units if you wanted.
    Best regards,
    John
  5. Like
    DAQman got a reaction from Zaky H in Using MCC128 to collect SE and differential signals   
    Hello,
    The MCC 128 does not have per-channel input mode configurations. You either use all differential or all single-ended inputs. The same is true when setting the voltage range. The range setting applies to all the channels. 
    Best regards,
    John
  6. Like
    DAQman got a reaction from ThomMoun in USB-1208FS C language   
    Hello,
    The USB-1208FS-Plus does not have PWM support.
    The call-back event notifications are for the analog input and output. There's nothing for the digital IO. For more information about the event notifications, see the UL Help file. Specifically, search on USB-1208FS-Plus to get to your device page. https://www.mccdaq.com/pdfs/manuals/Mcculw_WebHelp/ULStart.htm
    Best regards,
    John

     
  7. Like
    DAQman got a reaction from Nico_C in Errors using DT9806 USB daq with LabVIEW + LV-Link   
    I'm sorry, I provided incorrect information. Instead of DtAinThermocoupleContinuous use DtAinContTEMP. For convenience, I have attached it below.
    Best regards,
    John
    DtAinContTEMP.vi
  8. Like
    DAQman got a reaction from CRB in DAQami Math operation between 2 channels   
    Hello,
    The DAQami software does not have a math channel feature. Instead, you could switch to the DASYLab Lite software ($499.99 US). It makes available an arithmetic module that features a two-channel mode for addition, subtraction, multiplication, division, and exponential channel1 ^ channel2. Of course, you could do it using MatLab, C++, and VB, but that is way more work. 
    https://www.mccdaq.com/dasylab-chart.aspx
    Best regards,
    John
  9. Like
    DAQman got a reaction from ALR723 in MCDAQ USB-1616HS-4: Python Driver Returns Incorrect Status Information   
    Hello,
    The USB-1616HS series device does not have a flash led function.
    Best regards,
    John
     
  10. Like
    DAQman got a reaction from Darryl Stein in Replacement Screw Terminal Connectors for QUAD08   
    Hello,
    We used to sell a replacement kit but discontinued it some time ago due to low sales. Attached is the screw terminal block datasheet. The manufacture p/n is 31379108.
    Best regards,
    John
    USB_QUAD08_Screw_Terminal_BlockType 379.pdf
  11. Like
    DAQman got a reaction from ThomMoun in USB-1208FS C language   
    Hello,
    Your device has two 8-bit ports, FIRSTPORTA and FIRSTPORTB, or 16 bits altogether. In my example code, the following two lines set D0 on FIRSTPORTA. 
    dataValue = 1;
    ULStat = cbDOut(BoardNum, FIRSTPORTA, dataValue);
    dataValue is 0-255, depending on which bits you want to set. Using 128 will turn on D7, and 129 will turn on D0 & D7. 
    You could use the cbDBitOut function instead. It uses only FIRSTPORTA, a bit number, and a bit level (0 or  1). Bit numbers are 0 to 15.
    Best regards,
    John
  12. Like
    DAQman got a reaction from ThomMoun in USB-1208FS C language   
    Hello,
    I have yet to try to use DevC++ IDE or Code: Blocks on Windows. MCC uses Microsoft Visual Studio. I recommend downloading the free Community version of Visual Studio for your project. Create a 32-bit C console project and add to it the cbw.h, cbw32.lib files and your code file. Below is a simple 32-bit C console program that toggles D0 on FirstPortA and D0 or FirstPortB.
    #include "stdafx.h"
    /* Include files */
    #include <windows.h>
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include "cbw.h"

    #define MAXNUMDEVS 100
    void main()
    {
        /* Variable Declarations */
        int ULStat = 0;
        int numberOfDevices = MAXNUMDEVS;
        DaqDeviceDescriptor inventory[MAXNUMDEVS];
        DaqDeviceDescriptor DeviceDescriptor;
        int BoardNum = -1;
        float Rev = (float)CURRENTREVNUM;
        ULStat = cbDeclareRevision(&Rev);
        cbErrHandling(PRINTALL, STOPALL);
        printf("Digital output demonstration\n\n");
        //Ignore InstaCal device discovery
        cbIgnoreInstaCal();
        //locate USB devices
        ULStat = cbGetDaqDeviceInventory(USB_IFC, inventory, &numberOfDevices);
        for (int i = 0; i < numberOfDevices; i++)
        {
            DeviceDescriptor = inventory[i];
            //Product IDs can be found in ULProps.txt located in 
            // C:\Program Files (x86)\Measurement Computing\DAQ
            if (DeviceDescriptor.ProductID == 0xE8) 
            {
                BoardNum = i;
                ULStat = cbCreateDaqDevice(BoardNum, DeviceDescriptor);
                printf("Device Name: %s\n", DeviceDescriptor.ProductName);
                break;
            }
        }
        if (BoardNum < 0)
        {
            printf("USB device not found...press any key to exit\n");
            getch();
            return;
        }
        ULStat = cbDConfigPort(BoardNum, FIRSTPORTA, DIGITALOUT);
        ULStat = cbDConfigPort(BoardNum, FIRSTPORTB, DIGITALOUT);
        unsigned short dataValue = 0;
        while (!_kbhit())
        {
            ULStat = cbDOut(BoardNum, FIRSTPORTA, dataValue);
            ULStat = cbDOut(BoardNum, FIRSTPORTB, dataValue);
            dataValue = 1;
            ULStat = cbDOut(BoardNum, FIRSTPORTA, dataValue);
            ULStat = cbDOut(BoardNum, FIRSTPORTB, dataValue);
            dataValue = 0;

            if (ULStat != 0){
                printf("Digital IO error\n");
                break;
            }
        }

        cbReleaseDaqDevice(BoardNum);
        printf("Completed...press any key to exit\n");
        getch();
    }

     
  13. Like
    DAQman got a reaction from jpavlich in continuous scans USB-1608gx and USB-1808x   
    Hello,
    num_points is a 32-bit integer, so the value can be quite large. Size the buffer to hold one second of data, usually, this is big enough. Buffers need to be at least a multiple of the USB packet size * the number of channels. A buffer is allocated using win_buf_alloc. The USB-1808X will use win_buf_alloc32. The USB-1608GX-2AO packet is 256, the USB-1808X is 128. Take a look at the attached Python script.
    Best regards,
    John
    a_in_scan_USB_1608G.txt
  14. Like
    DAQman got a reaction from mzlatinov_erg in USB-2416 Digital I/O not available in InstaCal   
    Your USB-2416 analog input channel must be configured with the InstaCal utility, not the digital IO. To set the digital IO direction with LabVIEW, place a ULx Create Channel VI on the block diagram and change the bottom selector from Analog Input to Digital Input or Output. Do this before connecting any wires. The ULx LabVIEW digital IO examples are in \National Instruments\LabVIEW 2022\Examples\ULx\Digital. To test the outputs, open the library called Generate Values.llb and run ULx Write Dig Chan.vi. To test the inputs, open the library called Read Values.llb and run ULx Read Dig Chan.vi.
  15. Like
    DAQman got a reaction from Michelle Joon in USB-2404-10 MC and Matlab   
    According to MatLab's website, the USB-2404-10 is supported.
    https://www.mathworks.com/hardware-support/measurement-computing.html
    You must install InstaCal and have the MatLab Data Acquisition Toolbox to use it. We don't provide MatLab technical support, but we have some articles explaining the basics.
    https://kb.mccdaq.com/KnowledgebaseArticle50721.aspx
    https://kb.mccdaq.com/KnowledgebaseArticle50723.aspx
  16. Like
    DAQman got a reaction from mzlatinov_erg in USB-2416 Digital I/O not available in InstaCal   
    The InstaCal digital IO test is not available for the USB-2416 series. I'm unsure why it was left out while other devices have it; however, instead of InstaCal, use our DAQami program to test the digital IO.  
  17. Like
    DAQman got a reaction from Fukuda in How to collect analog input data every trigger edge detection for USB-231   
    The External Trigger input is used to signal the start of data collection. What you need is a device that has an external clock input like the USB-1608G.
    https://digilent.com/shop/mcc-usb-1608g-series-high-speed-multifunction-usb-daq-devices/
     
  18. Like
    DAQman got a reaction from cjanand in Execution times using USB-DIO96H   
    National Instruments DAQ's are not compatible with InstaCal. Instead, they use Measurement & Automation Explorer.
    We did not add artificial delays to the USB-DIO96H communication process. 
     
  19. Like
    DAQman got a reaction from cjanand in Execution times using USB-DIO96H   
    The USB-DIO96H is not a speedy device, and my test indicates that a single 8-bit port can be updated about 2600 times per second.  I used a 32-bit C program with a while loop to write ones & zeros continuously for my test. To determine the update rate, I measured the output square wave which was about 1300 Hz (2600 updates).
  20. Like
    DAQman got a reaction from ScottB in USB-1808X streaming latency   
    Our products are not designed to be control devices, we don't consider them real-time, and there is no published latency information.
  21. Like
    DAQman got a reaction from Chandana Narayan in How to read all Port Values at once in USB 1024LS daq ?   
    getDioInfoFirstSupportedPortType is not part of the Universal Library, it is a utility function found only in the examples. The function to configure the direction of a port is ulDConfigPort(BoardNum, PortType, Direction). Your port types are FirstPortA, FirstPortB, FirstPortCL and FirstPortCH. To read an individual bit, use the ulDBitIn function with FirstPortA and bit numbers of 0 to 23. To read a port, use the ulDIn function and one of the four port types. It is not possible to read all four at the same time. The best you can do is to read them one after another. If you do this, expect a 10mS time skew between each read.
    The following is a link to the Linx C UL Help for your device
    https://www.mccdaq.com/PDFs/Manuals/UL-Linux/c/1024ls.html
  22. Like
    DAQman got a reaction from Nils in DASylab. Get time difference in milliseconds.   
    Assuming you have a device like the USB-1608G, the digital input is too slow to record the pulses. But you could use two analog inputs to digitize the two pulses at a high sample rate. Connect the analog input signals to a Combi trigger module set to trigger using two signals. Set both the start and stop conditions to the rising edge. One signal will make the Combi output go high and the other will set it back low, producing a pulse. Then use the Pulse Analysis module to measure the pulse width. The whole thing will be clocked using the device time base, which can be set relatively high. 

  23. Like
    DAQman got a reaction from cjanand in DIO Board configuration   
    The attached file uses C# to demonstrate how to discover the device and how to program and update the ports. Use the DOut function to update all eight bits on a port and the DBitOut function to update a single line on any port. Note that DBitOut uses FirstPortA as the port type with bit numbers ranging from 0 to 95. The same holds for DBitIn. To run the attached code, use Visual Studio and create a 32-bit C# Console application that references our MccDaq dll. To add the reference, right-click references in the Project Explorer, select Add Reference, select Extensions, find, and select MccDaq from the list. 
    Program.cs
  24. Like
    DAQman got a reaction from Nils in Scan Rate Error   
    The HW time base uses the USB-1208HS-4AO internal scanning circuitry to collect data at high speeds. DASYLab and the SW time base are executed in a software loop, so their rate is limited.
    I don't know how fast you can R/W a global variable. I use it primarily to reduce a faster input down to a slower module like the digital output.
  25. Like
    DAQman got a reaction from cjanand in USB requires Product Vendor ID - USB-DIO96H   
    Hello,
    The hexadecimal ID number for the USB-DIO96H is 0x92.
    The USB-DIO96H-50, the ID is 0x95.
    Attached is a copy of the ulprops.txt file.
    Best regards,
    John
    ulprops.txt
×
×
  • Create New...