Jump to content

kull3rk3ks

Members
  • Content Count

    20
  • Joined

  • Last visited

  • Days Won

    1

kull3rk3ks last won the day on May 30 2016

kull3rk3ks had the most liked content!

Community Reputation

2

About kull3rk3ks

  • Rank
    Active

Profile Information

  • Gender
    Not Telling

LabVIEW Information

  • Version
    LabVIEW 2015
  • Since
    2011

Recent Profile Visitors

755 profile views
  1. Does anyone have issues with blocking calls when used in parallel processes? I would like to deserialize data in multiple parallel processes, but the "from JSON Text", that in turn calls the "JSON text to Variant" function which uses the NI utilities for determining variant data types. These are set as non-reentrant and as they are protected, there is no way to change that. Am I stuck up poop creek without a paddle here?
  2. Thank you all for your inputs! I will use the poly method, as I also now think it would suit my application best. It wouldn't be very maintenance-intensive, since i don't believe the communication protocols will shift that much.
  3. so am I correct in assuming that what you are suggesting is that I implement a config class of which i pass the correct child instance to the initialise() method of the messenger class and the child instance gets its init data from there?
  4. I am trying to wrap my head around something i've been dealing with lately: I want to implement a "Messenger" Class for facilitating a switch of communication interfaces in my programs. Basically my current thought process is that I have: - A parent class called "Messenger" with the methods: initialise(?), connect(), [U8] recieveData(), sendData([U8]), disconnect(), that I can use in my code. - A child class "TCP Messenger", which overrides the methods: initialise(IP, Port, Timeout, DVR, ConnectionType), connect(), [U8] recieveData(), sendData([U8]), disconnect(). - A child class "Serial Messenger", which also overrides the methods: initialise(Port Number, Timeout, DVR, ConnectionType), connect(), [U8] recieveData(), sendData([U8]), disconnect(). - A child class "Profibus Messenger", which again overrides the methods: initialise(FPGA ref, SlaveAddress, ConnectionType), connect(), [U8] recieveData(), sendData([U8]), disconnect(). ... I would like to change the communication type by simply loading a different class and letting dynamic dispatch do the rest. All of the methods have similar interfaces, except the initialise method, as every type of connection necessitates different types of parameters. Everything else is basically getting byte Arrays and setting Byte arrays. How would one go about solving this? Do I just create an Initialise method with every possible parameter and only use what I need in the specific implementation? Robert
  5. I just checked the JSON file again, found no error in it and decided to upload it to che cRIO again for testing. Lo and behold it works... I have no idea why.
  6. I am currently wondering about the encoding of strings in JSON, since havine something like this: { "serverConfig": { "read": { "address": "164.3.157.40", "port": 5010, "bytesToRead": 130, "connectionMode": "Server", "connectionTimeout": 5000, "readTimeout": 2000 } } } throws error 1 (Parser error) and when I remove the quotation marks on the values like so: { "serverConfig": { "read": { "address": 164.3.157.40, "port": 5010, "bytesToRead": 130, "connectionMode": Server, "connectionTimeout": 5000, "readTimeout": 2000 } } } everything seems to work just fine. The problem is that the JSON Editor that I use automatically sets quotation marks for non-numeric values. also the first variant passes validation, whereas the second doesn't. am I missing something?
  7. I am trying to figure out if i'm missing something in my approach. I am using an Array of Objects as Class Data of a handler Class. I Dynamically add these Instanced to the handler and when i'm done, I'd like them to be released from memory. When adding the Instance of the class (using the Insert Into Array function of LabVIEW), I call methods to add the data, set a status and create a file backup of the object so it can be retrieved after a program restart. When I'm done I'd like to remove the Instance from the Array by using the Delete From Array function of LabVIEW and delete the file backup of the object like this: My question is if the Instance of the probe object still remains in memory after this and if so, is there any way I can tell LabVIEW to destruct it? Cheers, Robert
  8. I couldn't seem to get the Panel to work for me for some reason, so I played around with it and startet digging. In this process I found a bug that affects localised hardware, where the decimal symbol is not a point. To get the example running I had to do the following: Set "use system decimal point" to false and Set the options on the formating string to use the decimal point. There might be other instances of the GetJSONData Method where the format has to be changed, I didn't check all of them. Cheers, Robert
  9. Hey there, I have a cRIO capable of rendering an embedded UI (cRIO 9039). Is it possible to Control that embedded UI by using VNC? Has anyone attempted anything like this? Thanks, Robert
  10. Hi, this may be a stupid question, but I'm trying to host a thinclient on my cRIO 9068 and thus want to display some html/javascript from the cRIO itself. I couldn't find the folder where I could do these things in the file structure of the 9068. Has anyone had any experience regarding this?
  11. Hey, I have an application where I need to sample at a specific higher rate to calculate RMS values and feed some of my values over FPGA front panel objects to a fast loop on my RT and send the samples at a slower rate (triggered by a timer) over a DMA FIFO to slower loop. I Set the loop time to 10000 S/s and i'm filling up the DMA FIFO every 50 ms. The diagram looks something like this: My question is: does the FPGA code execute the auto-indexed FOR-Loop like the Non-FPGA Diagram would, where the single Trigger bool from the timer remains true for all cycles of the for-loop, OR do I need to make sure the "Triggered" condition of the case structure is there for all FOR-Loop cycles? Thanks, Robert
  12. Hi there, I have an issue with a small project i'm currently working on, where I have an array of waveforms that I'm displaying on a graph. What I would like to do is to change the X-Axis from displaying the timestamp to displaying another channel. I have for instance a channel where force was recorded, and another where distance was recorded. I would now like to display force over distance for example. What would be the best way to do this? Would be thankful for any pointers on this matter. Robert.
  13. That did the trick, thanks Ton! Also thanks for the Anwer, hooovahh but i wanted the Programmer to be able to just bundle the variables and be done with it - and it seems to work nicely this way.
×
×
  • Create New...

Important Information

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