Jump to content

liakofan

Members
  • Posts

    9
  • Joined

  • Last visited

Posts posted by liakofan

  1. Hello everyone,

    Basically i have 2 VIs, one running on a PXI, lets call it PXI.vi and one on the pc, GUI.vi

    I started testing my application some days ago and after 3 hours of running i got the error in the picture.

    Error -1073807339 occured at VISA Write in PXI.vi

    Reason: Timeout expired before operation completed.

    Then immediately also this error:

    Unable to locate variable in the shared variable engine. Deployment of the variable may have failed.

    I restarted the PXI and started the test and it happened again after 2 hours.

    The third time even sooner.

    It is always 2 variables that cause this problem.They are used to pass information about error happening on a instrument.

    So actually they are not even used when giving the message.

    I check them in a loop every second.

    They are not buffered. I initialize them when the vi starts

    I am using Labview 2011 and windows 7

    Thank ou in advance for your time.

    post-18391-0-88727500-1328864541_thumb.p

  2. Kello everyone!

    I have some instruments which i controll over VISA.

    the software has two parts: one GUI running on a computer and the program running on the PXI

    to which the instruments are connected. I would like the user to be able to choose the GPIB

    address of each instrument on the GUI, so i created a cluster of GPIB controls.

    My problem is that while the same cluster on the software of the PXI gives the posible addresses from the

    instruments connected to it, on the GUI it does not.

    One easy solution is the user to write the number of each instrument and manipulate the string but i hope

    there is a more "nice" way. Also if i create a shared variable it cannot be network, only single

    proccess, which might play a role.

    I am using Labview 2011 and windows 7

    Thank you in advance.

  3. Hello Everyone!

    I have 3 arrays from which i initialize a .CSV file when i run my VI ( as you can see in the example file.)( i use data from other arrays as well but it is not important )

    The First array "customer Number" can be from 0 - 15

    The second array "Customer Present" is a Boolean.

    The Third array will contain some fix values like " milk, meat, clothing....." it will have 14 different categories.

    The Fifth array will contain the quantity of the products from each category from the previous array.

    My job is to add in my initialized .CSV file the values from the 4th and 5th array but only for the customers that are present.

    The result should look something like the second file i give( which sadly, i created by hand)

    If no customer has bought something from a category it should not be mentioned.

    Also it would be nice for me if i separated the file for each customer ( create 16 different files )

    I hope someone has some idea, because i don't.

    I figured out that i should have the bool array into a case structure and if the customer is present then........

    Thank you in advance!

    Initilized&Data.doc

    post-18391-0-36633400-1291898118_thumb.g

  4. What you need to do is count how many times each index has changed. To do this, use a second array for just the number of changes. You can use nested for loops to iterate to see which elements have changed and if they did increment that element in the number of changes array. Then at the end, see which elements are greater than 10.

    Array Changes.vi

    you've been a great help! I am stuck on this almost 3 days now....

    Don't know if I am doing something wrong but i don't get the results for the columns and the rows....

    Also the array is going to change every second and it would be preferred no to have to push " update" every second.

    Should i just remove the event case and introduce a stacked sequence structure?

  5. Thank you all for your help!

    Got some really interesting ideas!

    My array will be changing every second and i would like to know which elements are changing more than 10 times. after the program has finished it should generate a report ( .CSV file ) saying that "these elements generated that many errors", or just more than 10 errors, which sounds easier.

    my program will run for 24 hours and after it should give the results. Probably i will have to sum the differences of my array from each iteration so at the end i will know the total sum of the changes as well. ( 2nd diagram )

    I didn't know about what crossrulz did with dividing the array by the number of rows( ? ) so i thought about indexing my array into n different arrays in order to make it work.

    @ Ton Plomp : My brain can not understand right now your solution but shall look into that later on.

    my ,very ugly, code is the following. though crossrulez is pretty close to what i had in mind.

    thank you very much for your time.

    arrays.vi

    CheckingArrays.vi

  6. Hello Everyone,

    I have a 16*16 array with some I32 values and i want to know with each iteration if there is a change in any of the elements.

    If the number of changes are bigger than 10 there should be a msg saying something. So i subtract my array with the previous one, using feedback node and i add the resulting array to itself. I can check if there is a value inside the last array greater than 10 but i can not figure out how to know what column and row the element is.

    If anyone could help I would appreciate it.

    I hope i explained the diagram correctly.

    Kind Regards<br style=""> <br style="">

×
×
  • Create New...

Important Information

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