NI-6250 stops acquisition in RTX 64bit
Hello,
I am using DDK Samples for analog measurement with NI-6232 and NI-6250 PCI cards in a Windows 7 / RTX environment.
Recently we upgraded to RTX64-bit and compiled our driver for 64bit environment. We now have a problem with the 6250 card ... for some time (from 3 seconds up to 140 seconds in various tests) data acquisition works fine, but then it seems like the card suddenly stops measurement. Debugging suggests that there might be some problem with DMA data transfer, since I can see that the buffer is no longer filled (in function _getBytesInBuffer() / _writeIdx is no longer changed). Other than that, I currently have no idea what might cause a problem like this.
The 6232 card however works just fine in 64-bit, with the exact same driver / system setup.
Both cards work fine with the same driver in a 32-bit environment.
Any idea what might cause this problem?
Analog_DebugInfo("vInitAdcUnit \n");
tDMAError status = kNoError;
tBoolean continuous = kTrue; // continous data-aquisition
unsigned int i = 0; // temp variable
unsigned int uiGain = 0; // Analog-Input range
unsigned int uiDmaSizeInBytes = 0;
unsigned int uiSamplePeriodDivisor = 100; // 20 MHz / divisor = Wandlungsrate
const unsigned int kEepromSize = 1024;
u8 eepromMemory[kEepromSize];// read eeprom for calibration information
// EEPROM read should be done before initializing analog input
eepromReadMSeries(s_NIPCIBoards[CardNumber].bus, eepromMemory, kEepromSize);
// Reset board and set Card-Specific parameters
aiReset(s_NIPCIBoards[CardNumber].board);
if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6250_DEVICE_ID)
aiPersonalize(s_NIPCIBoards[CardNumber].board, tMSeries::tAI_Output_Control::kAI_CONVERT_Output_SelectActive_Low);
uiGain = 1; // See gain-range map in file "ai.h"
else if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6232_DEVICE_ID)
aiPersonalize(s_NIPCIBoards[CardNumber].board, tMSeries::tAI_Output_Control::kAI_CONVERT_Output_SelectActive_High);
uiGain = 0; // See gain-range map in file "ai.h"
aiClearFifo(s_NIPCIBoards[CardNumber].board);
// ADC reset only applies to 625x boards
if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6250_DEVICE_ID)
adcReset(s_NIPCIBoards[CardNumber].board);
// ---- Start AI task ----
aiDisarm(s_NIPCIBoards[CardNumber].board);
aiClearConfigurationMemory(s_NIPCIBoards[CardNumber].board);
s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels = 0;
// Loop over all analog channels
for (i = 0; i < s_NIPCIBoards[CardNumber].analogChannels; i++)
if (fGetMessGroupAktiv(Index, i + (CardNumber * NIPCI62XX_MAX_ANALOG_CHANNELS)))
s_NIPCIBoards[CardNumber].usedChannelList[i] = 1;
else
s_NIPCIBoards[CardNumber].usedChannelList[i] = 0;
if (fGetPrintDebugInfo())
RtPrintf("Set Channel %d - %d to gain %d \n", i, i + (CardNumber * NIPCI62XX_MAX_ANALOG_CHANNELS), uiGain);
// Set Analog Channel
aiConfigureChannel(s_NIPCIBoards[CardNumber].board,
i, // channel number
uiGain, // gain -- check ai.h for allowed values
tMSeries::tAI_Config_FIFO_Data::kAI_Config_PolarityBipolar, // Bipolar -> signed values
tMSeries::tAI_Config_FIFO_Data::kAI_Config_Channel_TypeRSE, // Differential
(i == s_NIPCIBoards[CardNumber].lastChannel) ? kTrue : kFalse); // last channel must be terminated specifically
s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels++;
for (i = 0; i < s_NIPCIBoards[CardNumber].analogChannels; i++)
if (fGetPrintDebugInfo())
if (s_NIPCIBoards[CardNumber].usedChannelList[i] == 1)
RtPrintf("Channel %d used \n", i);
else
RtPrintf("Channel %d not used \n", i);
aiGetRawScalingCoefficients(eepromMemory, 0, 0, 0, &RawScaleCoeff); // intervalIdx 0 -> +/- 10V
if (fGetPrintDebugInfo())
RtPrintf("Gain: %f \n", RawScaleCoeff.fGain);
RtPrintf("Offset: %f \n", RawScaleCoeff.fOffset);
RtPrintf("kFact: %f \n", RawScaleCoeff.kFact);
RtPrintf("HighLimit: %.8x \n", RawScaleCoeff.highLimit);
RtPrintf("LowLimit: %.8x \n", RawScaleCoeff.lowLimit);
/* if(fGetPrintDebugInfo())
RtPrintf(" Order: %d c[2]: %d c[1]: %d c[0]:%d \n", ScaleCoeff.order ,(int)(ScaleCoeff.c[2] * 1000) ,(int)( ScaleCoeff.c[1] * 1000) , (int)(ScaleCoeff.c[0]*1000) );
// No need to continue if there are no used channels
if (s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels == 0)
return;
// Set Card Frequency
if (s_NIPCIBoards[CardNumber].deviceType == NIPCI6232_DEVICE_ID)
// On 6232 Card use fix sampling rate of 200k
uiSamplePeriodDivisor = NIPCI6232_SAMPLE_PERIOD_DIVISOR;
uiNumberOfSamples = 1;
uiNumberOfDMABlocks = 2;
else
if (uiActiveSlowCard)
//When there is a slow card in the system, scanrate is limited
if (uiRequestedScanrate >= NIPCI62XX_FAST_SAMPLING_RATE)
uiRequestedScanrate = NIPCI62XX_FAST_SAMPLING_RATE;
Analog_DebugInfo("Active Slow Card found - reducing max sampling rate \n");
if (uiRequestedScanrate > NIPCI62XX_FAST_SAMPLING_RATE)
// Highspeed mode, calculate sampling rate
uiSamplePeriodDivisor = NIPCI62XX_MAX_FREQUENCY / (s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * uiRequestedScanrate);
uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
else
// Normal mode -> fixed 1000kHz sampling rate
uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
// On 6250 sampling rate depends on channel and scanrate
uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE; // TEST !!!!!!!!
uiNumberOfDMABlocks = NIPCI62XX_NO_OF_SAMPLES;
// uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE * 2 ; // TEST !!!!!!!!
// uiNumberOfSamples = uiRequestedScanrate / NIPCI62XX_FAST_SAMPLING_RATE ;
// Error checking
//if(uiSamplePeriodDivisor > NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR)
// uiSamplePeriodDivisor = NIPCI6250_MAX_SAMPLE_PERIOD_DIVISOR;
if (uiNumberOfSamples <= 1)
uiNumberOfSamples = 1;
if (fGetPrintDebugInfo())
RtPrintf("Sample Period Divisor: %d \n", uiSamplePeriodDivisor);
RtPrintf("Sample Rate: %d Hz\n", NIPCI62XX_MAX_FREQUENCY / uiSamplePeriodDivisor);
RtPrintf("Number of Samples: %d \n", uiNumberOfSamples);
RtPrintf("Number of DMA Blocks: %d \n", uiNumberOfDMABlocks);
// Configure Analog Input
aiSetFifoRequestMode(s_NIPCIBoards[CardNumber].board);
aiEnvironmentalize(s_NIPCIBoards[CardNumber].board);
aiHardwareGating(s_NIPCIBoards[CardNumber].board);
aiTrigger(s_NIPCIBoards[CardNumber].board,
tMSeries::tAI_Trigger_Select::kAI_START1_SelectPulse,
tMSeries::tAI_Trigger_Select::kAI_START1_PolarityRising_Edge,
tMSeries::tAI_Trigger_Select::kAI_START2_SelectPulse,
tMSeries::tAI_Trigger_Select::kAI_START2_PolarityRising_Edge);
aiSampleStop(s_NIPCIBoards[CardNumber].board,
(s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels > 1) ? kTrue : kFalse); // multi channel?
aiNumberOfSamples(s_NIPCIBoards[CardNumber].board,
0, // posttrigger samples
0, // pretrigger samples
continuous); // continuous?
aiSampleStart(s_NIPCIBoards[CardNumber].board,
uiSamplePeriodDivisor,
3,
tMSeries::tAI_START_STOP_Select::kAI_START_SelectSI_TC,
tMSeries::tAI_START_STOP_Select::kAI_START_PolarityRising_Edge);
aiConvert(s_NIPCIBoards[CardNumber].board,
19, // convert period divisor
3, // convert delay divisor
kFalse); // external sample clock?
aiClearFifo(s_NIPCIBoards[CardNumber].board);
/* DMA Settings */
/* Calculate DMA-Size */
uiDmaSizeInBytes = s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * sizeof(unsigned short)* (uiNumberOfDMABlocks);
s_NIPCIBoards[CardNumber].uiDmaRequestSizeInBytes = s_NIPCIBoards[CardNumber].NumberOfUsedAnalogChannels * 2;
if (fGetPrintDebugInfo())
RtPrintf("DMA Size: %d bytes \n", uiDmaSizeInBytes);
RtPrintf("DMA Request Size: %d bytes \n", s_NIPCIBoards[CardNumber].uiDmaRequestSizeInBytes);
/* Enable dMA */
s_NIPCIBoards[CardNumber].board->AI_AO_Select.setAI_DMA_Select(1);
s_NIPCIBoards[CardNumber].board->AI_AO_Select.flush();
status = s_NIPCIBoards[CardNumber].dma->config(0, tDMAChannel::kRing, tDMAChannel::kIn, uiDmaSizeInBytes, tDMAChannel::k16bit);
if (status != kNoError)
if (fGetPrintDebugInfo())
RtPrintf("Error: dma configuration (%d)\n", status);
status = s_NIPCIBoards[CardNumber].dma->start();
if (status != kNoError)
if (fGetPrintDebugInfo())
RtPrintf("Error: dma start (%d)\n", status);
else
/* Start Measurement here */
aiArm(s_NIPCIBoards[CardNumber].board, kTrue);
aiStart(s_NIPCIBoards[CardNumber].board);
if (fGetPrintDebugInfo())
RtPrintf("Starting Board & DMA \n");
Hello,
sorry it took so long, but I had to setup a new workstation dedicated for debugging this problem. The code above is the entire initialization of the AI measurement. It's based on the aiex3 sample for continuous measurement and DMA data transfer.
I also have some new information regard the error: On my new test system I am not able to reproduce this the error with PCI-6250 stopping the acquisition. I now have two PC Systems where one shows the problem, the other does not. I will investigate further.
Previously I said the PCI-6232 card does not show any error, but this is not true. I noticed that on 64-bit modes the AI channels are mixed up. Example: I am measuring 16 channels, and have a 1kHz sinus on channel 1 ... in the acquired data i see the sinus on channels 4, 8 and 12. Again, the code is exactly the same that works fine when compiled for 32-bit.
Similar Messages
-
When using my cRIO 9024 on the field, I prefer to be able to start and stop acquisition with push of a physical button on cRIO.
I mean I don't want it to be "as start-up," I don't want cRIO to start acquisition as soon as the power is supplied.
Is that possible?
Solved!
Go to Solution.Hi Cashany,
you surely can read that switch status. But there are easier (but more expensive) ways to switch a button. Fiddling with a pen or small screwdriver to switch USER1 isn't what I call "user friendly"...
- You have atleast 2 voltage inputs on your module available. Use a switch to supply voltage to those inputs. Use a "real" button!
- You have a serial port available. You could set some pins to GND or voltage and check their status inside cRIO/RT target...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Start and stop acquisition using a pulse train
Hi
As illustrated in the attached picture I would like to use a pulse train ( connected to PFI line) as a triggering devide to start and stop acquisition on rising edge
Could you please help me to do it in LabVIEW. My problem is I have to use the same line to start and stop ( trigger and reference trigger ) and both should use rising edge
Thanks
Attachments:
pulse train.jpg 33 KBtintin_99 wrote:
I greatly appreciate help on this. How can I use a pulse train to start and stop data acquisition on rising edges as described in attached picture.
Have a look here
CLA, LabVIEW Versions 2010-2013 -
AAM has stopped working (Win 7 (64bit) preventing installation of PSE 13 trial
I have been trying to install the trial version of PSE13 without success. The download appears ok and I can get up to "Sign In Required". If I proceed, Window 7 (64bit) indicates that AAM has stopped working and will close the program. No error messages. I have downloaded both AAM 8.0 and PSE13 twice to no avail. I had an old download for the PSE 12 trial which goes through to install ok.
My scenario and history:
Windows Vista Ultimate and now Windows 7 Ultimate
NVidia Quadro Fx 4500 driving 4 monitors total SLi on or off - makes no difference. Drivers irrelevant.
2 x Xeon 5160 (so total 4 cores)
24Gb RAM
PS CS 4 or 5
4 monitors - - yep it is the 4 monitor thing.
Fails everytime as you describe.
Observation - If you Remote Desktop Connection onto the computer - and so in effect are using only ONE monitor - PS works fine.
A WORKAROUND for 4 or 5 - I don't consider this a fix because you lose some functionality but it gets you 99% there and is the same workaround for CS4 or 5
Go to<drive>:\Program Files\Adobe\Adobe Photoshop CS5 (64bit)\Plug-ins\Extensions\ (or CS4 - depending on version)
Locate File:
ScriptingSupport.8li
Disable this extension by renaming the file with a tilde in front of the file name. Thus:
~ScriptingSupport.8li
Start Photoshop - it works and is mainly functional.
The only real downside I have discovered is that disabling this scripting extension means you cannot use some of the built in scripts under FILE - SCRIPTS - the biggest PIA for me being the Contact Sheet builder no longer works. But as I now use Lightroom to create contact sheets - this is not a big loss. Other scripting functionality - I am sure is affected - but not to a point I find PS unusable.
ADOBE - if you read this - it has been that extesion now for the last two editions of PS. -
NI DAQ matlab stop acquisition trigger
Bonjour,
J'utilise matlab / DAQ toolbox pour acquérir des tensions par le biai d'une carte NI PCIe-6320, j'ai cree une interface afin que l'acquisition commence lors de la reception d'un top externe de déclenchement.
- code utilisé
set(handles.ai,'TriggerType','HwDigital');
set(handles.ai,'HwDigitalTriggerSource','PFI0')
set(handles.ai,'TriggerCondition','PositiveEdge')
set(handles.ai,'SamplesPerTrigger',handles.nbreacq);
start(handles.ai);
wait(handles.ai, handles.duree+handles.attente);
res = getdata(handles.ai);
- donc si la carte recoit le top externe tout marche correctement, par contre je rencontre un problème lorsque je veux annuler l'acquisition, j'ai programmé un bouton 'stop' en essayant les lignes de code suivantes
% ai = analoginput('nidaq','Dev1');
% delete(ai)
% clear ai
% daqreset
% close
% Fct_acq
% clear ('ai')
% ai.stop()
% stop('ai');
% start(ai);
% wait(ai, handles.duree+5);
% res = getdata(ai);
% clear('ai')
% daqreset
% delete (ai) ;
% stop('handles.ai')
% % clear all
% trigger(handles.ai)
% daqreset
% % delete(handles.ai)
% handles.ai.TimerFcn = {'stop'};
% ai = analoginput('nidaq','Dev1');
% set(ai,'inputtype','SingleEnded') ;
% set(ai,'SampleRate',200);
% set(ai.Channel,'InputRange',[-10 10])
% addchannel(ai, 0:7);
% ai.SamplesPerTrigger = 200;
% % watchon;
% % drawnow;
% start(ai);
% wait(ai, 35);
% waittilstop (handles.ai);
% stop 'handles.ai'
% delete(handles.ai);
% clear 'handles.ai'
Mais aucune ne fonctionne correctement, je suis obligé de reinitialiser la carte manuellement à chaque fois, si j'essais la fonction daqreset sur matlab le logiciel plante :x
Auriez vous une idée sur la ligne de code que je pourrais associer à un bouton stop permettant de stopper une attente de trigger ?
Seconde question, sauriez vous comment je peux sous matlab détecter le moment ou la carte recoit le top d'acquisition ?
Merci d'avancePetite correction:
L'erreur est d'à peu près 50%
Merci -
"Adobe Illustrator CC has stopped working" - Windows 7 64bit
I have been struggling with this for weeks.
After reinstalling multiple times, uninstalling Wacom drivers, etc. -- tracked it down to a plugin.
The newest update for AI CC is not compatible with the Silhouette Studio plugin.
Posting this in case it proves helpful to others.
Not a happy camper over lost time and productivity, but fortunately I had my CS5 disks.Do you have a Silhouette cutter? If so, that is the problem. I've tried every troubleshooting & finally know now that is it. If you have Windows, go to C:\Program Files\Adobe\Adobe Illustrator CC (64 Bit)\Plug-ins (Computer, then program files, adobe, adobe illustrator CC, plug ins. Delete the plug in that says scp_cc7
Then reopen adobe illustrator. -
HP Scan Applicatio​n has stopped working Windows 7 64bit
The HP Scan 3.5 works better - it will scan pictures but the program must restart after each scan. Also the scans are really slow, other scanning programs work fine, Microsoft Live Photo Gallery and Picasa 3 in particular. I would prefer to use the HP program; it should take less steps to scan.
any ideas?
thanks
dan
Problem Event Name: APPCRASH
Application Name: hpiscnapp.exe
Application Version: 13.0.0.131
Application Timestamp: 4a0c0809
Fault Module Name: hpotiop5.dll
Fault Module Version: 100.0.272.0
Fault Module Timestamp: 47d1de66
Exception Code: c0000005
Exception Offset: 00041ef8
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789Guys,
I am interested in this thread and would like to ask you to try the fix that is posted for the Scanned files disappearing as it installs a new version of the Scan software that may help with this problem.
The fix is posted here
http://h10025.www1.hp.com/ewfrf/wc/document?lc=en&dlc=en&cc=us&docname=c01960605
Can you reply to this tread telling if this helped at all.
Thanks
JonW
I work for HP -
Hardware digital trigger to start stop continuous analog acquisition
Hi I have seen the following example to use digital trigger to start and stop for finite number of samples. The example names is (DigitalStartandStopTrigger.vi)
in this example Reference Digital edge is used to stop acquisition but if I change to continuous then Reference Digital edge stops and show an errir. Could you please let me know how can I use hardware digital trigger to start stop continuous analog acquisition. An example would be really great
many thanksHI tintin_99,
The way that example works (by modifying the read position of the buffer) essentially performs the same operation that the continuous samples mode does. That is to say, it is already a continuous acquisition.
The article below explains this in more detail, and the reasoning behind specifying buffer size manually and other tricks used. You may have already visited it in order to get the example VI, in which case it may be worth another read over.
http://digital.ni.com/public.nsf/allkb/BA775B0E445BFA79482571FE0032CCEB
Kind Regards, -
Adobe Photoshop CC 2014 'Stopped working'
recently purchased Creative cloud.
Photoshop boots up but crashes immediately with the dialog box 'Photoshop CC has stopped working'
Windows 8 - 64bit
Graphics : nVidia GT 650m
Graphics : Intel (R) HD Graphics 4000
both drivers are up to date.
Illustrator works fine.
Any help would be appreciated
ThanksCtrl+V should past in here???
Adobe Photoshop Version: 2014.0.0 20140508.r.58 2014/05/08:23:59:59 x64
Operating System: Windows 7 64-bit
Version: 6.1 Service Pack 1
System architecture: Intel CPU Family:6, Model:13, Stepping:7 with MMX, SSE Integer, SSE FP, SSE2, SSE3, SSE4.1, SSE4.2, HyperThreading
Physical processor count: 12
Logical processor count: 24
Processor speed: 1995 MHz
Built-in memory: 40886 MB
Free memory: 32601 MB
Memory available to Photoshop: 37133 MB
Memory used by Photoshop: 70 %
3D Multitone Printing: Disabled.
Touch Gestures: Disabled.
Windows 2x UI: Disabled.
Image tile size: 1024K
Image cache levels: 4
Font Preview: Huge
TextComposer: Latin
Display: 1
Display Bounds: top=0, left=0, bottom=1080, right=1920
Display: 2
Display Bounds: top=0, left=-1360, bottom=768, right=0
OpenGL Drawing: Enabled.
OpenGL Allow Old GPUs: Not Detected.
OpenGL Drawing Mode: Advanced
OpenGL Allow Normal Mode: True.
OpenGL Allow Advanced Mode: True.
AIFCoreInitialized=1
AIFOGLInitialized=1
OGLContextCreated=1
glgpu[0].GLVersion="3.0"
glgpu[0].GLMemoryMB=2048
glgpu[0].GLName="Quadro 4000/PCIe/SSE2"
glgpu[0].GLVendor="NVIDIA Corporation"
glgpu[0].GLVendorID=4318
glgpu[0].GLDriverVersion="9.18.13.3311"
glgpu[0].GLRectTextureSize=16384
glgpu[0].GLRenderer="Quadro 4000/PCIe/SSE2"
glgpu[0].GLRendererID=1757
glgpu[0].HasGLNPOTSupport=1
glgpu[0].GLDriver="nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um"
glgpu[0].GLDriverDate="20140429000000.000000-000"
glgpu[0].CanCompileProgramGLSL=1
glgpu[0].GLFrameBufferOK=1
glgpu[0].glGetString[GL_SHADING_LANGUAGE_VERSION]="4.40 NVIDIA via Cg compiler"
glgpu[0].glGetProgramivARB[GL_FRAGMENT_PROGRAM_ARB][GL_MAX_PROGRAM_INSTRUCTIONS_ARB]=[6553 6]
glgpu[0].glGetIntegerv[GL_MAX_TEXTURE_UNITS]=[4]
glgpu[0].glGetIntegerv[GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS]=[192]
glgpu[0].glGetIntegerv[GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS]=[32]
glgpu[0].glGetIntegerv[GL_MAX_TEXTURE_IMAGE_UNITS]=[32]
glgpu[0].glGetIntegerv[GL_MAX_DRAW_BUFFERS]=[8]
glgpu[0].glGetIntegerv[GL_MAX_VERTEX_UNIFORM_COMPONENTS]=[4096]
glgpu[0].glGetIntegerv[GL_MAX_FRAGMENT_UNIFORM_COMPONENTS]=[2048]
glgpu[0].glGetIntegerv[GL_MAX_VARYING_FLOATS]=[124]
glgpu[0].glGetIntegerv[GL_MAX_VERTEX_ATTRIBS]=[16]
glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_PROGRAM]=1
glgpu[0].extension[AIF::OGL::GL_ARB_FRAGMENT_PROGRAM]=1
glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_SHADER]=1
glgpu[0].extension[AIF::OGL::GL_ARB_FRAGMENT_SHADER]=1
glgpu[0].extension[AIF::OGL::GL_EXT_FRAMEBUFFER_OBJECT]=1
glgpu[0].extension[AIF::OGL::GL_ARB_TEXTURE_RECTANGLE]=1
glgpu[0].extension[AIF::OGL::GL_ARB_TEXTURE_FLOAT]=1
glgpu[0].extension[AIF::OGL::GL_ARB_OCCLUSION_QUERY]=1
glgpu[0].extension[AIF::OGL::GL_ARB_VERTEX_BUFFER_OBJECT]=1
glgpu[0].extension[AIF::OGL::GL_ARB_SHADER_TEXTURE_LOD]=1
clgpu[0].CLPlatformVersion="1.1"
clgpu[0].CLDeviceVersion="1.1 CUDA"
clgpu[0].CLMemoryMB=2048
clgpu[0].CLName="Quadro 4000"
clgpu[0].CLVendor="NVIDIA Corporation"
clgpu[0].CLVendorID=4318
clgpu[0].CLDriverVersion="333.11"
clgpu[0].CUDASupported=1
clgpu[0].CUDAVersion="6.0.1"
clgpu[0].CLBandwidth=7.48518e+010
clgpu[0].CLCompute=184.082
License Type: Subscription
Serial number: 96040035116912554961
Application folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\
Temporary file path: C:\Users\JOHNJM~1\AppData\Local\Temp\
Photoshop scratch has async I/O enabled
Scratch volume(s):
F:\, 465.2G, 173.4G free
C:\, 224.2G, 105.3G free
Required Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\Required\Plug-Ins\
Primary Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CC 2014\Plug-ins\
Installed components:
A3DLIBS.dll A3DLIB Dynamic Link Library 9.2.0.112
ACE.dll ACE 2014/04/14-23:42:44 79.554120 79.554120
adbeape.dll Adobe APE 2013/02/04-09:52:32 0.1160850 0.1160850
AdbePM.dll PatchMatch 2014/04/23-10:46:55 79.554276 79.554276
AdobeLinguistic.dll Adobe Linguisitc Library 8.0.0
AdobeOwl.dll Adobe Owl 2014/03/05-14:49:37 5.0.33 79.552883
AdobePDFL.dll PDFL 2014/03/04-00:39:42 79.510482 79.510482
AdobePIP.dll Adobe Product Improvement Program 7.2.1.3399
AdobeXMP.dll Adobe XMP Core 2014/01/13-19:44:00 79.155772 79.155772
AdobeXMPFiles.dll Adobe XMP Files 2014/01/13-19:44:00 79.155772 79.155772
AdobeXMPScript.dll Adobe XMP Script 2014/01/13-19:44:00 79.155772 79.155772
adobe_caps.dll Adobe CAPS 8,0,0,7
AGM.dll AGM 2014/04/14-23:42:44 79.554120 79.554120
ahclient.dll AdobeHelp Dynamic Link Library 1,8,0,31
amtlib.dll AMTLib (64 Bit) 8.0.0.45 BuildVersion: 8.0; BuildDate: Fri Mar 28 2014 20:28:30) 1.000000
ARE.dll ARE 2014/04/14-23:42:44 79.554120 79.554120
AXE8SharedExpat.dll AXE8SharedExpat 2013/12/20-21:40:29 79.551013 79.551013
AXEDOMCore.dll AXEDOMCore 2013/12/20-21:40:29 79.551013 79.551013
Bib.dll BIB 2014/04/14-23:42:44 79.554120 79.554120
BIBUtils.dll BIBUtils 2014/04/14-23:42:44 79.554120 79.554120
boost_date_time.dll photoshopdva 8.0.0
boost_signals.dll photoshopdva 8.0.0
boost_system.dll photoshopdva 8.0.0
boost_threads.dll photoshopdva 8.0.0
cg.dll NVIDIA Cg Runtime 3.0.00007
cgGL.dll NVIDIA Cg Runtime 3.0.00007
CIT.dll Adobe CIT 2.2.6.32411 2.2.6.32411
CITThreading.dll Adobe CITThreading 2.2.6.32411 2.2.6.32411
CoolType.dll CoolType 2014/04/14-23:42:44 79.554120 79.554120
dvaaudiodevice.dll photoshopdva 8.0.0
dvacore.dll photoshopdva 8.0.0
dvamarshal.dll photoshopdva 8.0.0
dvamediatypes.dll photoshopdva 8.0.0
dvametadata.dll photoshopdva 8.0.0
dvametadataapi.dll photoshopdva 8.0.0
dvametadataui.dll photoshopdva 8.0.0
dvaplayer.dll photoshopdva 8.0.0
dvatransport.dll photoshopdva 8.0.0
dvaui.dll photoshopdva 8.0.0
dvaunittesting.dll photoshopdva 8.0.0
dynamiclink.dll photoshopdva 8.0.0
ExtendScript.dll ExtendScript 2014/01/21-23:58:55 79.551519 79.551519
icucnv40.dll International Components for Unicode 2013/02/25-15:59:15 Build gtlib_4.0.19090
icudt40.dll International Components for Unicode 2013/02/25-15:59:15 Build gtlib_4.0.19090
imslib.dll IMSLib DLL 7.0.0.145
JP2KLib.dll JP2KLib 2014/03/12-08:53:44 79.252744 79.252744
libifcoremd.dll Intel(r) Visual Fortran Compiler 10.0 (Update A)
libiomp5md.dll Intel(R) OpenMP* Runtime Library 5.0
libmmd.dll Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler 12.0
LogSession.dll LogSession 7.2.1.3399
mediacoreif.dll photoshopdva 8.0.0
MPS.dll MPS 2014/03/25-23:41:34 79.553444 79.553444
pdfsettings.dll Adobe PDFSettings 1.04
Photoshop.dll Adobe Photoshop CC 2014 15.0
Plugin.dll Adobe Photoshop CC 2014 15.0
PlugPlugExternalObject.dll Adobe(R) CEP PlugPlugExternalObject Standard Dll (64 bit) 5.0.0
PlugPlugOwl.dll Adobe(R) CSXS PlugPlugOwl Standard Dll (64 bit) 5.0.0.74
PSArt.dll Adobe Photoshop CC 2014 15.0
PSViews.dll Adobe Photoshop CC 2014 15.0
SCCore.dll ScCore 2014/01/21-23:58:55 79.551519 79.551519
ScriptUIFlex.dll ScriptUIFlex 2014/01/20-22:42:05 79.550992 79.550992
svml_dispmd.dll Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler 12.0
tbb.dll Intel(R) Threading Building Blocks for Windows 4, 2, 2013, 1114
tbbmalloc.dll Intel(R) Threading Building Blocks for Windows 4, 2, 2013, 1114
TfFontMgr.dll FontMgr 9.3.0.113
TfKernel.dll Kernel 9.3.0.113
TFKGEOM.dll Kernel Geom 9.3.0.113
TFUGEOM.dll Adobe, UGeom© 9.3.0.113
updaternotifications.dll Adobe Updater Notifications Library 7.0.1.102 (BuildVersion: 1.0; BuildDate: BUILDDATETIME) 7.0.1.102
VulcanControl.dll Vulcan Application Control Library 5.0.0.82
VulcanMessage5.dll Vulcan Message Library 5.0.0.82
WRServices.dll WRServices Fri Mar 07 2014 15:33:10 Build 0.20204 0.20204
wu3d.dll U3D Writer 9.3.0.113
Required plug-ins:
3D Studio 15.0 (2014.0.0 x001)
Accented Edges 15.0
Adaptive Wide Angle 15.0
Angled Strokes 15.0
Average 15.0 (2014.0.0 x001)
Bas Relief 15.0
BMP 15.0
Camera Raw 8.6
Camera Raw Filter 8.6
Chalk & Charcoal 15.0
Charcoal 15.0
Chrome 15.0
Cineon 15.0 (2014.0.0 x001)
Clouds 15.0 (2014.0.0 x001)
Collada 15.0 (2014.0.0 x001)
Color Halftone 15.0
Colored Pencil 15.0
CompuServe GIF 15.0
Conté Crayon 15.0
Craquelure 15.0
Crop and Straighten Photos 15.0 (2014.0.0 x001)
Crop and Straighten Photos Filter 15.0
Crosshatch 15.0
Crystallize 15.0
Cutout 15.0
Dark Strokes 15.0
De-Interlace 15.0
Dicom 15.0
Difference Clouds 15.0 (2014.0.0 x001)
Diffuse Glow 15.0
Displace 15.0
Dry Brush 15.0
Eazel Acquire 15.0 (2014.0.0 x001)
Embed Watermark 4.0
Entropy 15.0 (2014.0.0 x001)
Export Color Lookup NO VERSION
Extrude 15.0
FastCore Routines 15.0 (2014.0.0 x001)
Fibers 15.0
Film Grain 15.0
Filter Gallery 15.0
Flash 3D 15.0 (2014.0.0 x001)
Fresco 15.0
Glass 15.0
Glowing Edges 15.0
Google Earth 4 15.0 (2014.0.0 x001)
Grain 15.0
Graphic Pen 15.0
Halftone Pattern 15.0
HDRMergeUI 15.0
IFF Format 15.0
Ink Outlines 15.0
JPEG 2000 15.0
Kurtosis 15.0 (2014.0.0 x001)
Lens Blur 15.0
Lens Correction 15.0
Lens Flare 15.0
Liquify 15.0
Matlab Operation 15.0 (2014.0.0 x001)
Maximum 15.0 (2014.0.0 x001)
Mean 15.0 (2014.0.0 x001)
Measurement Core 15.0 (2014.0.0 x001)
Median 15.0 (2014.0.0 x001)
Mezzotint 15.0
Minimum 15.0 (2014.0.0 x001)
MMXCore Routines 15.0 (2014.0.0 x001)
Mosaic Tiles 15.0
Multiprocessor Support 15.0 (2014.0.0 x001)
Neon Glow 15.0
Note Paper 15.0
NTSC Colors 15.0 (2014.0.0 x001)
Ocean Ripple 15.0
OpenEXR 15.0
Paint Daubs 15.0
Palette Knife 15.0
Patchwork 15.0
Paths to Illustrator 15.0
PCX 15.0 (2014.0.0 x001)
Photocopy 15.0
Photoshop 3D Engine 15.0 (2014.0.0 x001)
Photoshop Touch 14.0
Picture Package Filter 15.0 (2014.0.0 x001)
Pinch 15.0
Pixar 15.0 (2014.0.0 x001)
Plaster 15.0
Plastic Wrap 15.0
PNG 15.0
Pointillize 15.0
Polar Coordinates 15.0
Portable Bit Map 15.0 (2014.0.0 x001)
Poster Edges 15.0
Radial Blur 15.0
Radiance 15.0 (2014.0.0 x001)
Range 15.0 (2014.0.0 x001)
Read Watermark 4.0
Render Color Lookup Grid NO VERSION
Reticulation 15.0
Ripple 15.0
Rough Pastels 15.0
Save for Web 15.0
ScriptingSupport 15.0
Shake Reduction 15.0
Shear 15.0
Skewness 15.0 (2014.0.0 x001)
Smart Blur 15.0
Smudge Stick 15.0
Solarize 15.0 (2014.0.0 x001)
Spatter 15.0
Spherize 15.0
Sponge 15.0
Sprayed Strokes 15.0
Stained Glass 15.0
Stamp 15.0
Standard Deviation 15.0 (2014.0.0 x001)
STL 15.0 (2014.0.0 x001)
Sumi-e 15.0
Summation 15.0 (2014.0.0 x001)
Targa 15.0
Texturizer 15.0
Tiles 15.0
Torn Edges 15.0
Twirl 15.0
Underpainting 15.0
Vanishing Point 15.0
Variance 15.0 (2014.0.0 x001)
Water Paper 15.0
Watercolor 15.0
Wave 15.0
Wavefront|OBJ 15.0 (2014.0.0 x001)
WIA Support 15.0 (2014.0.0 x001)
Wind 15.0
Wireless Bitmap 15.0 (2014.0.0 x001)
ZigZag 15.0
Optional and third party plug-ins:
CUR (Windows Cursor) NO VERSION
GREYCstoration NO VERSION
ICO (Windows Icon) NO VERSION
Reduce Noise 7.0.0.0
ScriptListener 13.0
StarFilter Pro 3 3.0.5.1
SuperPNG 2.0
Plug-ins that failed to load: NONE
Flash: NONE
Installed TWAIN devices: NONE -
MultiThread for data acquisition (basic problem)
Hi there,
I want to create a data acquisition VI that perform acquiring data in an independant thread, and when the data is ready, displaying it in a graph. In another word, one thread for acquisition and another one for UI events (button to start / stop acquisition, display cursor...). Data acquisition is higher priority than displaying data. Any VI concrete sample for multithread ?? Thanks in advance.> Hi there,
> I want to create a data acquisition VI that perform acquiring data in
> an independant thread, and when the data is ready, displaying it in a
> graph. In another word, one thread for acquisition and another one for
> UI events (button to start / stop acquisition, display cursor...).
> Data acquisition is higher priority than displaying data. Any VI
> concrete sample for multithread ?? Thanks in advance.
By default, the UI runs in the UI thread. The execution of the VI runs
in the Standard execution system, which has its own thread. By default,
these threads are at the same priority. If you want your DAQ to run at
a higher priority, you can place your DAQ code in a subVI. Then set the
subVI to run in any execution system you like at a higher
priority.
Call the subVI in parallel with the rest of your UI loop, and determine
how you want the DAQ data to get to the UI. You can use a global, a
queue, etc. Don't overlook simply using the terminal or local for the
graph. All of these other methods have their advantages, but they also
add overhead. At some point, you will need to copy the data from the
DAQ code to the UI code. This is all that writing to a terminal or
local does as long as synchronous display is not turned on.
Greg McKaskle -
VBAI Balser Ace Continuous Image Acquisition
We are running VBAI on a fast PC through an Intel Pro/1000 port and jumbo frame GigE switch to a large number of Basler Ace GigE cameras.
Two of the cameras are inspecting a rotating part. They both have hardware encoder triggers wired to their input lines.
In order to capture a sequence of 9 images, we are using the continuous every image acquisiont mode with buffers set to the max of 10.
We assume that in this continuous mode these cameras will broadcast frames, nonstop, to the PC, consuming network bandwidth even for the gaps between successive inspections.
In order to conserve network bandwidth, should we turn continuous mode off after we have captured 9 frames by putting the camera in shaphot mode with a read/write camera parameters command? Or is there a way that we can use the Number of Frames to have it automatically stop after 9 images?
The Basler users manual describes a number of low level Pylon SDK commands to control starting and stopping acquisition, but those are obviously not available from VBAI.
Thanks,
NelsonI tried using the camera's attributes for "Acquisition Mode" set to Single Frame and the "Acquisition Frame Count" set to 9, but it looks like the frame count only applies if the camera supports a "MultiFrame Acquisition Mode" and my Ace did not, so I don't think there's a good way to do it using publicly available camera attributes.You could do as you describe and change the cameras attributes so it's no longer continuous once you get the images you need. Another option would be to gate your encoder signal so the camera is only triggered when you want it to be (not sure how easy/feasible this is, but this would be the cleanest in SW side since you know every image is a valid one and you don't need to worry about discarding images). Another option is to throttle the camera bandwidth so it can't send data as quickly and doesn't take as much of the GigE bandwidth, and you can even use the "Frame Transmission Delay" attribute under Transport Layer to offset the two cameras so they aren't sending their images at the same time.
Hope this helps,
Brad -
Hi all,
I'm running two uEye USB cameras in parallel, with mixed results. When I first open the program and plug in the cameras, it runs perfectly 80% of the time (sometimes it just opens one camera instead of both). However, if I stop the program and then run it again, it doesn't work, just thinks for half a second and then ends itself (not initalizing correctly maybe?). To solve this, I have to unplug one camera, run the program, stop the program, and plug in the second camera. Now it will work again -- but just once, then I have to go through the whole routine again.
I'm a real beginner, and I don't know enough about computer science to troubleshoot this. It seems to me that there could be some memory dump that's not happening at the end of the run, or maybe a buffer that isn't being emptied. What do you think?
Thanks,
Anne
Attachments:
StereoSnap_v2010(IMAQ)edits.vi 104 KBHi Anne,
Have you tried verifying that this behaviour is not replicated with a single IMAQ camera? You mentioned that you have to run one camera than the other to get the two to work in parallel, but what happens if you try to start and stop acquisition on a single camera? Do you still notice the issue occurring?
Best Regards,
James Kent
James Kent | Applications Engineer | National Instruments UK & Ireland
w: uk.ni.com | ireland.ni.com -
Lightroom 4 64bit installation fail
Hi
Does anyone know what´s wrong: My 64bit Lightroom installation stops when extracting lighroom 64bit.msi. I have 64bit win 7. I have tried to start win only minimum processes and tried to uninstall old 3.6 version. After trying to install windows installer msiexec stays on processes list but gets no cpu time. 32bit-installation goes well.Hi
i'm experiencing same problem and can't find any answer....
Installation starts successfully then the message "extracting .msi" show up and then .... everything stops and nothing more.
I see that process msiexec.exe is up but not running, i tried to wait a long time... in case the installing process is slow... but nothing happened.
I had not had any problem installing the Beta version of LR4, I have no problem installing other applications.
After much manipulation I'm confused (and frustrated):
- I re-load from the adobe website
- I disabled everything that was possible on the PC (including anti-virus)
- I tried System Restore at a later date
- I tried installing on my laptop also in windows 7 64bit and it works!
- I tried Setup32 launched, and it seems to work.
the last thing I have not tried is re-install of the OS ... I prefer to avoid this...
does anyone of you have ever had the trouble and managed to solve it?
thank you in advance -
DAQ stimulation to acquisition
Hi,
I want to run two DAQ assistants concurrently for acquisition and stimulation. However, I want the aqcisition one to stop when the stimulationg one stops. Any ideas on hoe to do that?
Thank you
CycyHi Cycy for doing that in DAQ you can use the triggers, in Daqmx, you can configure triggers to star and stop acquisitions
http://digital.ni.com/public.nsf/websearch/878BD3188B1CD64686256F8C0060CCAB?OpenDocument
http://zone.ni.com/devzone/cda/tut/p/id/4329
http://zone.ni.com/devzone/cda/epd/p/id/5028
I hope this can help
Benjamin C
Senior Systems Engineer // CLA // CLED // CTD -
Programming Analog Input Registers for MSeries NI-6221
I am trying to understand the Preliminary M Series Register Map in order to correctly setup and acquire data from the Analog Input channels of my PCX-6221 card. I have been able to figure out the DIO locations and use them but I am having trouble understanding what I have to do to configure and acquire data using the Analog Input registers of the card. I need to program at this level for an RTX application using Microsoft Visual Studio Net 2003 and have had great success doing so with other NI Cards. I have tried looking at the examples provided by the MDDK but I haven't been able to create a environment that allows me to compile them with Chipobjects and it appears like alot of the work is hidden by the subroutines.
I wonder if someone had a high level algorithum using the Register Map it would help out alot.
Questions:
How would I create a multiple channel Scan List and load it into the card setting gain etc...
How would I configure the card to acquire continously at a specified freq (ex 1000 samples a sec)
How would I start/stop acquisition
I would guess getting the status of the FIFO and accessing the FIFO is a matter of reading the AI_STATUS_1 and AI_FIFO_DATA locations
Would looking at the Register Programming Manual for the "E" Series help me or just get me more confused?
Thanks in advance for any light you can shed on the subject.
FloydHi Floyd-
Let me address your questions individually:
How would I create a multiple channel Scan List and load it into the card setting gain etc...
A multi-channel scanlist can be created as shown in the method aiConfigureChannel() from ai.cpp in the M Series MHDDK \Examples folder. Note that the other operations leading up that point (notably, aiClearConfigurationMemory() must be performed in the order shown in the various AI examples. aiex3.cpp is the most useful starting point for investigation, in my opinion.
How would I configure the card to acquire continously at a specified freq (ex 1000 samples a sec)
aiex3.cpp shows how to setup the device and its DMA controller (aka the "MITE") for DMA operation. In order to configure for continuous operation you set the "continous" flag in that example to kTrue. The effect of that setting is to program the STC-II to generate either a finite or continuous AI sample clock. This programming is performed in the function aiNumberOfSamples() from ai.cpp and has the effect of setting the appropriate bitfield for continuous operation in the AI_Mode_1 register.
Earlier in your post you asked if the STC Technical Reference Manual ( http://digital.ni.com/manuals.nsf/websearch/E929838D7D0EE50986256728007FEADF ) would be a good reference. In fact, it's a great reference from the perspective of understanding the bitfield/register names and understanding the basics of how the timing hardware works (for example BC, UC and other sample counters are all functionally equivalent in the STC and STC-II). From the perspective of actual register writes and reads, the functionality is different between E Series and M Series. The biggest difference, as another forum user alluded, is that we map and write directly to the registers on M Series so Windowed_Mode reads and writes are no longer necessary.
Another difference between STC and STC-II is that the STC-II uses NI TIO-style counter/timers. For that reason, the NI 660x RLP manual ( http://digital.ni.com/manuals.nsf/websearch/4CE1C778F442B01386256C870060F9F3 ) would be a good reference for M Series counter/timer operations.
How would I start/stop acquisition
Assuming you don't need an external start trigger, you only need to write to the strobe bit AI_Command_2->AI_START1_Pulse. This will create a single start trigger pulse internally. The differences between AI_START1 and AI_START are described in the STC Technical Reference Manual.
A finite acquisition would be stopped automatically by the AI timing engine based on the number of samples you program via the method shown in aiNumberOfSamples(). Continuous AI would be stopped by first stopping the DMA operation and then calling aiReset().
I would guess getting the status of the FIFO and accessing the FIFO is a matter of reading the AI_STATUS_1 and AI_FIFO_DATA locations
Yes, this would work but I would strongly suggest using DMA as shown in aiex3.cpp. If you want to use "programmed I/O" to read the FIFO data directly, that method is shown in aiex2.cpp
Would looking at the Register Programming Manual for the "E" Series help me or just get me more confused?
In many cases it would be very helpful. See my comments, above.
I have inherited code that works on 65xx cards which I am pretty sure uses windowed mode that I am using in this 6221 driver. I have found that I can set the PLL registers to act as DIO and I can read the Discrete inputs just fine. Makes me curious, if Windowed mode is not used doesn't that mean the addresses are relative to the BAR1 address? Why then am I able to read the DIO?
I'm not sure why this would work- it's possible that some legacy functionality is still working due to the way you access the hardware in your code. For full functionality with M Series you must use mapped memory I/O to write and read from the device's registers.
Also starting with Clock_and_FOUT according to the example I set it for Slow_Internal_Timebase. But when I read back that Address it is always zero. According to the register map it is a "write". Does that mean I can't read it's contents? Or do I seem to have a problem because I am trying to use windowed mode with this card.
Yes, the "write" registers are write-only and the "read" registers are read-only. The effect of data read from or written to "write" or "read" registers, respectively, is undefined.
Hopefully this helps-
Tom W
National Instruments
Maybe you are looking for
-
HP Laser Jet 2600N - Printing PDF's
I am running Adobe Acrobat 9 on my Windows XP system. When I try to print a file it comes out blurred. I have printed the PDF on another printer and it prints okay. No clue as to what problem might be.
-
FM to get file path (windows)
Hi abapers! Greetings from Brazil! Please I need your wisdom, I am having a big problem to find a function to take the file address(folder) in a browse. But I need to select the folder not the file like happens in WS_FILENAME_GET function for example
-
Unable to scroll down when image is full size in the preview frame.
Since the recent update to Premier Elements I am unable to use the 'down button' on the slider bar to scroll down to the next image when the image is at full size. I am still able to scroll up.
-
Ethernet port dead- new logic board needed?
The ethernet port on my 2010 iMac 21.5" died after a storm last week, so I brought it to the Apple store to have it checked out. They said it needs a new logic board since the port is connected to it, which will cost around $700. I can't see spendi
-
AOL Desktop for Macs. Anyone have used it?
G4 Digital Audio Version used; supplied with clean HDD and now upgraded OS 10.4.11 I use AOL as an internet service provider for dial up. Don't knock it, but you can if u want I'm cool with people here. I use the dial up because I use two ISP and att