
DAQman
-
Posts
2,061 -
Joined
-
Last visited
Reputation Activity
-
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?
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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();
}
-
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
-
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.
-
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
-
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.
-
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/
-
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.
-
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).
-
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.
-
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
-
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.
-
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
-
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.
-
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