Jump to content

hooovahh

Moderators
  • Posts

    3,451
  • Joined

  • Last visited

  • Days Won

    294

Everything posted by hooovahh

  1. You're right that there are a few ways to do this. Having a separate library of Common Controls is one way to go about it. In this you only need to have Type Defs that are shared between two or more libraries. For me the overwhelming majority of the time a Type Def is only needed in one library. If I have a set of VIs that does some kind of thing and needs a cluster or enum I'll save it as a type def to go along with the library. Any library that needs to use that type def, is going to probably need it because it will be a constant, or a control, that calls a VI from the first library. And so in that case it doesn't really matter that the second library depends on the first because of the control, because it is going to call the subVI so that dependency requirement is going to be there anyway. So I'll just have one type def control in the first library. Sometimes I'll make separate Type Defs, that contain the same data in different libraries, but in the future they might not. So one library may have an enum with "Yes, No, Cancel" and named "User Response.ctl". Even though another library has the need for the same set of enum values, I might make one separate control for each library because while they contain the same data, they aren't directly related. This could also work for you. Even though the two libraries have the same data Waveform data, they could be decoupled. Wiring will then do an automatic coercion dot which is nice, but could lead to issues in some small cases.
  2. Change is scary. Especially when it is forced on you. I guess that summarizes how I feel about this whole situation.
  3. That would be the right attitude to have as a manager. But that also reduces my value to the company. Now instead of doing work, I have a guy, that has to hire a guy to get the work done. My value in the company stays very high assuming NI and LabVIEW are the accepted tools used.
  4. My problem with this, is that for some tasks if I do it in LabVIEW it might take a week. And if I were asked to do that task it in any other language I'd ask for a year. Sure I can do anything my boss asks, but if I tell him I need a year to do something, all the sudden my value at the company is much less then it was earlier when LabVIEW was an option. There's reuse, work flows, templates, example projects, and tools already done if I work in LabVIEW and NI that I'd have to relearn, or recreate.
  5. Can't I just retire 10 years earlier than expected? Or maybe I can become a manager that just tells people what to do, instead of doing the work.
  6. When I saw your post I figured it would be an RT error I see all the time. Nope, never seen anything like that. I'd also suggest a reinstall of the RT module, and possibly of LabVIEW itself.
  7. I get where Shaun is coming from here. There are some behaviors in LabVIEW that either weren't well defined, or up for interpretation on how it should work. Then a new fix would come to LabVIEW where all of the sudden those corner cases weren't the same. Events are one of those things I've also thought might change, but I'm glad to hear that likely isn't the case. I remember a presentation by Jack Dunaway years ago at NI Week I think that talked about some of the event behaviors, and how it has changed in some releases. This was in the 2012 era.
  8. This video appears to be missing. But otherwise lots of good resources.
  9. I think the oldest I have is 7.0 or 7.1 in physical form. These boxes of old stuff just look cool to me so I have them displayed in my office along with a few LabVIEW books, and boxes of older software like Windows 3.1. I do wish I had more just to display and show off.
  10. There are complications with this. On Windows the first thing it does it figure out where the controls are, and creates the template HTML pages and web code. Then when it runs it can send the values of controls to the HTML pages, or send images of what the controls look like. If I'm remembering right, on embedded devices, some of the needed functions won't work. I think the get an image of a control doesn't work, even if the embedded UI is enabled. And Writing to PNG using compression doesn't work. But the good news is the values of controls can still be sent and received. At some point I did have this working on devices with an embedded UI as a test and showed it here It looks like some controls are in image mode, so maybe I'm wrong about it not working. The code as it is today is already a bit of a mess, when it comes to examples and demoing the features it has. So that code was an even bigger hack. I do wish I had time to work on this because it is one of the cooler projects I've worked on, and the easiest 80% of the project is done. But the last 20% would take a bunch of work. So it sorta sits here in this sorta works, but needs some attention, stage.
  11. First I'll mention that snippets aren't working recently on LAVA. I messaged the admin but haven't heard anything. Second I'm wondering why this can't be a native LabVIEW feature. Has anyone made an idea on the Idea Exchange for probes to work on parallel For loops, where the P terminals can constant fold to a 1? I'm also not sure why this works only in the enabled structure. I wouldn't expect the structure to be a non-reentrant type function. And it doesn't, when I put a wait in there as a test.
  12. Okay it looks like you'll get an Out of Memory error on building. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019No1SAE&l=en-US
  13. I have seen others on the forums state that this can be an issue. What are the symptoms of hitting this limit? Should I just set this value on all development machines just in case?
  14. There is an offline help option, but I would much prefer to the more straight forward CHM files. https://forums.ni.com/t5/LabVIEW/Offline-Help-window-in-LabVIEW-2022/m-p/4251163#M1236962 NI's website has many deficiencies that have been well known for years. So the effort to force things to go online, is crazy to me. Maybe trying to drive up network traffic to look better for investors or buyers?
  15. I'll ping the site admin.
  16. Sorry I can't get them to work either. Sometimes LAVA's servers will do weird things with compression or resizing, and in the process it might strip out the meta data that is the VI file. Once we noticed this, these settings were turned off but it is possible these were back when that was an issue.
  17. NI-XNet is newer then NI-CAN. I believe its first release supported LabVIEW 2010 or so. It really is a superior API with much more flexible features. I cover some of the differences in NI-CAN and NI-XNet in Part 3 of my CAN blog. Part 6 goes into XNet in more detail. Newer CAN hardware support either API, but some old stuff does need to use NI-CAN. One thing you didn't mention was if you installed NI-CAN 17 after installing LabVIEW or not. During the install it will detect versions of LabVIEW installed and add support for it. So if you install NI-CAN then LabVIEW, you won't see the supporting palettes. You can just run the NI-CAN installer again and it will add any missing components. This will add Example Finder examples from the Help >> Find Examples menu, and add the NI-CAN palette, I believe it goes under the Measurement I/O on the functions palette, but I don't have it installed at the moment.
  18. More information is needed. Is this a response to an ISO 15765 request? UDS, KWP2000, etc. Or is this periodically broadcasted frames? If it is UDS or something similar you'll need a CDD file to define how it should interpret the response. If it is a periodic message then a DBC file will define the structure of the data being sent, and what IDs belong to what data. I cover the Signal API and how bits can be interpreted in Part 5 of my CAN blog, and I talk about multi frame messaging in Part 8. If you are trying to reverse the CAN bus without this information, then I suspect you will have a very difficult time. There is an IEEE Float Data Type in the XNet Database editor which uses 4 bytes so it is possible this will do what you want. I'd make a database using the XNet Database editor specifying where in the frame the bits are and try using the conversion API with it. EDIT: Also I think Shaun is incorrect. 2 8 D5 0 0 0 0 B 5 70 I'm unsure what the 2 means but 8 means there are 8 bytes to read and the 8 bytes are D5 00 00 00 00 0B 05 70. 8 bytes is a common payload length for CAN. Double Edit: What are your expected values? I ran them through the IEEE conversion and tried Big/Little Endian but ended up with really large numbers both negative and positive.
  19. Write code that detects if the error is thrown, and if it is then close and reconnect. Honestly that shouldn't happen under normal use so I'm wondering if a reference is closed or lost somehow.
  20. I know right? I was looking for a 2D barcode generator not that long ago which is why I mentioned Darin's post that I found, which I presumed you had seen. I searched the forums a bunch and the only other code I found would send it to a website to get generated. I also saw a semi-hacky method using a Zebra printer API, but I never found that NI post either.
  21. Yeah sorry I haven't heard anything about a BBQ, and won't be attending.
  22. I've been using a few AIs in help for writing things. Professional sounding emails of sensitive subjects, work references, and a few other things to help get past a writing block. Image and animation stuff I see cool new things all the time, but haven't done much myself lately.
  23. Oh I get that you're welcome to post it here, I just wanted to link there so anyone here can see the conversation on the subject that has already taken place.
  24. Crosspost
  25. Very cool stuff. I don't know much about 2D barcode encoding, but how does this differ from the code posted by Darin here? Yours looks more polished, but I didn't know if one encoding is better or if both are the same. My users generally don't care at all and just want something that if they scan types what is in the barcode and it seems my QR Code scanning app works with either.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.