All Activity
- Last week
-
Carlos Gonzalez Olivera joined the community
-
Assistance with Old Tabor plug and play drivers- can't find .dll file
Bryan replied to Ronin7's topic in LabVIEW General
-
GakkieZ joined the community
-
dxc joined the community
-
People will decorate their office with retro software boxes, and game boxes. So yes various LabVIEW manuals, books, and old software gets you a bit of nerd cred. I have a box of Windows 3.1 on my shelf next to my copy of LabVIEW for everyone, LabVIEW 7.0, and my bound thesis.
-
Assistance with Old Tabor plug and play drivers- can't find .dll file
sbus replied to Ronin7's topic in LabVIEW General
You can get the latest WW257x drivers directly from the manufacturer at taborelec.com. Use the contact link and request them. -
GProgrammer joined the community
-
I have an original set of LabVIEW version 1.2 floppy disks (released in 1989), that includes instrumentation VIs (GPIB & serial port), NB LabDriver 3 VI library examples, DSP analysis VIs, etc. Do people actually collect these?
-
liusc joined the community
-
Write multiple images into TDMS file
infinitenothing replied to Thang Nguyen's topic in Database and File IO
In my experience SQLite will be much slower than TDMS. My recommendation is to reshape whatever array you have into a 1D array and then that can be your waveform. Store the image dimensions in metadata. Indexing is not challenging. You can get the the waveform size out of the channel properties (NI_ChannelLength) and divide that by how many pixels are in each image to get how many images are in your TDMS. You can pull out a given image index by multiplying the image index by the image pixel count and feeding that into the offset input for TDMS read and using the pixel count for the count input. Everything takes in i64s so you don't have to worry about large indexes. You just reshape the 1D array the read. -
evanhorn joined the community
-
Achtu joined the community
-
该文件中有四行头文件 (4 rows of header in this file) 下面是一个程序,它将读取四个标题行,然后每次读取其余的 100 行 read csv per chunk of 100 rows.vi
-
拆分了一段,大一点数据传输困难,服务器老是断开,导致无法上传,麻烦您试试。 采样数据 2024_10_20 08_27_28_0.csv
- Earlier
-
您可以按行读取文件 如果您提供文件的一小部分,我可以帮助您编写一个 vi 来逐行加载文件
-
本人想读取一个CSV大型文件,数据很大,如何才能读取某一段时间内的数据,任意时间段数据,直接打开整个数据是打不开的。
-
Write multiple images into TDMS file
Thang Nguyen replied to Thang Nguyen's topic in Database and File IO
Thank you. I will try with SQLite then. -
Write multiple images into TDMS file
Antoine Chalons replied to Thang Nguyen's topic in Database and File IO
what is the size of you images and what's the max duration you need to save for? 180FPS is not that much, you could just save images to a SSD or if needed to a RAID drive just make put acquisition in parallel of save and pre-allocate enough buffers to store the acquired images. in 2007 (before SSD existed) I worked on an image streaming to disk system, up to 8000fps (images were tiny and monochrome), max duration was 30 seconds, but with a ggod SSD this is nothing. -
hooovahh started following Write multiple images into TDMS file
-
Write multiple images into TDMS file
hooovahh replied to Thang Nguyen's topic in Database and File IO
Writing strings to TDMS that are a byte stream can be tricky. I have a Read/Write Cluster to TDMS and it flattens it to a string. But as you noticed there needs to be special consideration for null. Well it also turns out that on different platforms there are other characters that need special attention too. You can absolutely do extra work on your images. But I fear that you won't get the performance you want. TDMS is crazy fast and all, but it sounds like a bonkers amount of data real fast, and I don't know if it will be able to keep up, especially if there is special code needed to convert a string ready to be written to TDMS so the null (and any other characters you want) get written correctly. Writing an array of bytes also sounds crazy for this application. The number of samples on the channels might approach NI's limitations for the data type, and then keeping track of where the offsets are for files would need to be a separate channel. I've done stuff like this for logging raw CAN frames to TDMS files but that seems like way less data. Honestly you might be better served writing to binary files, then having the TDMS file just keep an index of the file names or locations for replay. Not sure how I'd go about solving this. -
Hi, I am working on a R&D project which need to acquire and record images at 180FPS. I intend to convert image data to byte array then to string then save to TDMS file. I just figured out TDMS does not save string with NULL value. I don't think it's a good idea to save byte array since it will be difficult to index images with a large size array. Could you please give me some advice on what I should do? Sincerely, Thang Nguyen
-
It's not listed in https://www.ni.com/en/support/documentation/bugs/24/labview-2024-q3-bug-fixes.html As LabVIEW user I feel happy for their attention to this. As OpenG ZIP developer I feel a bit cheated. 😁
-
This bug has been fixed by NI in patch 24.3.2f2 of LabVIEW 2024 Q3
-
I've looking to find the right package/install file to get this capability on computers that don't have LabVIEW Development. I'm building EXE and creating installers, but I want to add this capability so that I can monitor these computers via the browser
-
We do not have one. We are discussing it...but, unfortunally, we also started collaborating (because we have to...) assuming we will, eventually, and I had to provide the application. The application started as a very basic and incomplete one but in the last weeks it started to became a little bit to "functional and usable" to be honest. Of course, if we will really have a contract I will remove the time-bomb. Thanks! I used dotNET Cryptography Library, a package on VIPM.
-
Just saw this update. Will take a look.
-
LogMAN started following License an application with expiration date in always offline systems
-
A couple of ideas: Include a license file that clearly explains what they can and cannot do (e.g., no distribution, no use without a valid license, 30 day trial period, etc.) Use a hardware dongle to prevent copies (you can just encrypt the executable, which can then only be started when the dongle is present. No programming required.) If the application is not licensed (e.g., during a 30 day trial period Automatically shutdown the application after 30 minutes Limit the number of data points they can collect (e.g., limit file size to 1 Mib or 100k samples) Turn off certain features (e.g., limit the types of reports that can be produced) Of course, it depends on what value the application represents and how "useful" it is outside your partnership. At some point, however, you will have to trust them enough to not misuse your software outside what is being agreed. If you don't trust them enough to uphold such an agreement, it is probably better not to go into a partnership...
-
I though about the hack to set the back the clock. I don't know, honestly: the application produce data where the real timestamp tagged with the data is very important. If they will change the clock of the system than everthing is compromised. Yes, it will always be possibile to compensate the offset in the log files or in the stream of data.... I don't want to make it pro hacker proof, I simply want to make inconvenient to keep using it and, most importantly, to go to a third party client and distributed the application forever even if our partnership doesn't go thorough. Regarding your suggested solution: I'm still pushing updates to the application, to solve bugs or add futures. I guess I could put the counter inside the main .ini file, between the entry generated by LabVIEW. Maybe as a second check, just in case they will start to change the system clock... Right now I was trying to generate a license file (with the expiration date), signed with a private key generated with OpenSSL. Now I'm looking for a way to read it using the public key in LabVIEW. Marco.
-
ensegre started following License an application with expiration date in always offline systems
-
My 2c: I guess that the problem with an expiration date on an offline computer is that you have no means for the executable to verify that they didn't set the clock backwards to extend indefinitely their usage. If you don't expect them to be pro hackers, what about protection by simple obfuscation? E.g. the incremental time the program has run, saved periodically in obfuscated form in an essential key file, masked as "configuration"? With some mechanism to make more complicate to get through just by rewriting an older file in place of it?
-
Bruniii started following License an application with expiration date in always offline systems
-
Hi, I'm looking to license an application that will run exclusively on offline systems. I came across the "Third Party Licensing & Activation Toolkit API" available through JKI VIPM, but from what I understand, it requires an online activation process, which wouldn't work for my use case. Are there any other libraries or toolkits you’d recommend? I also checked out Build, License, Track from Studio Bods (link), but I’m not clear on what the free tier offers, or if it's even available. I realize the irony of asking for a free toolkit to license an application! However, I’m not looking to profit from this. I simply want to protect an application that I need to provide to a potential industrial partner while we finalize our collaboration. Unfortunately, I have to hand over the executable, but I want to ensure the application won’t run indefinitely if the partnership doesn't go through. Thanks, Marco.
-
Shameless self-plug: I do have an online video course on Using Git Effectively. It includes some material on GitLab as well. https://www.sasworkshops.com/using-git-effectively-course-preview