Jump to content

NeilA

Members
  • Posts

    50
  • Joined

  • Last visited

Profile Information

  • Gender
    Male

LabVIEW Information

  • Version
    LabVIEW 2011
  • Since
    2005

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

NeilA's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Thanks, yeah didn't realise that was possible, I can see them I will take some time later to see if I can extract them for use. Many Thanks! Neil.
  2. My VIPM is crippled by my works proxy and rediculous IM rules so I was wondering if it is possible that these be shared in a non VIP format? I will continue to try and get the VIPM solution fixed but at the moment I would love to see this design pattern if it is at all possible. Many Thanks, Neil.
  3. I have been asked by the installation builder to insert LV DVD's to generate the installer. I understand that this has been covered, but the best option I can see is to copy the Install DVD's to the hard drive or a server to point at during the installer build process. This is fine but my IM department have my copy of the LV installer, which is frustrating if each time a new update comes in and I have to get it and copy it to a hard drive or server. Is there seriously not a way for this to use the files on the PC? I have everything needed for the installation on my machine and all the components required to make the installer? I have the update, 8.6.1 on my desk, is there a way for me to change something a reg setting or something in the .LVProj file that will allow me to use the update discs?
  4. I have a situation where instrument drivers are being fixed/modified on the test systems and this is effecting deployment of new code as often 'vanilla' versions of these drivers are used in future developments (I know stupid right). My real problem here is that I am unsure how to have the drivers in source code control and also have them be available in the functions palette as well so everyone has the modified versions. This may be an obvious/dumb question, but, I am trying to implement some integrated source code control using LabVIEW proffessional. Code control has been separated up until now and causing a night mare. Any advice, direction and help much appreciated. Thanks, Neil.
  5. I have a server that listens on a port (27000) that I need to replace to fit in with my new system. The client code can't change. I have found a few articles that say you can build a server using the LabVIEW TCP primitives but having little knowledge about what is exchanged between client and server and how it all works. I have tried using the solution found in this link (read cutting a corner lol). http://forums.ni.com...&thread.id=1941 I am unsure how to set the Local IP there doesn't seem to be a way to do this, only a way to read it. This is going to be a problem. As at first this was setting itself to 127.0.0.1 which is fine, but now it seems to use 0.0.0.0 which means the client app wont connect. From what I can read about the winsockcontrol activex component you should be able to set the IP but maybe I am missing something(I have not done much more than the Int2 ActiveX training). I dont know how to monitor the client handshaking data but I am lead to believe it is winsock standard. I don't know if any of you have seen this code before and know what the problem may be or have a LabVIEW primitive solution, but any help would be greatly appreciated. Many Thanks in advance!! Neil.
  6. I just got it to work! I just cropped the image that I copied until it was just the graph and border and then added the additional borders. I then copied and pasted back in to the customise VI saved and updated. Done!! Thanks, Neil.
  7. Hi, Thanks for replying. As I said I dont have any experience with the editor but after trying I guess I can go to the custumise screen coppy the grap open it in paint edit it and then copy it back? Sound simple so I tried it and if I copy it and try to edit it it copies the whole control not just the graph bit so when copy back do it crop just the part I am interested in or what? going to give it a go now and see what happens but any other word of advice would be great. Neil.
  8. I am generating final results as a popup VI front panel which allows the user to select the output result to view as an example they can switch between phase vs frequency and Gain vs frequency. Every thing happens dynamically based on the data set selected so that once the selection has been made a button can be pressed to print the VI front panel. To make the graph look best when printed out I prefer to have every thing white except the graph grid lines, outlines, scales, titles and the plot lines unfortunately because of the 3D effect of the graph there is no bottom and right hand graph outline which make the plot appear to not have printed correctly. I have tried using a report VI and attaching the plot too but as far I can tell it takes an image of the front panel to achieve this so it has the same problem. I have not used the customise function much other than to define type def's so I dont know if it is possible to do this there. Any advice or help would be great. Many Thanks in advance, Neil.
  9. I have tried to reply correctly to this a couple of times I will create a more complete response when I get home from work my work set up seems to not like posting to LAVA. Thanks, Neil.
  10. OK to keep it simple I explained the simplest use for the system (single measurement). What the Executive actually does in its simplest guise is run a simple test, for instance a Gain vs Frequency sweep and translate and mediate all of the comms back and forth. In actuality the master system sends an execute xml that contains all the details for 64 sweeps of the DUT the executive then refactors the xml from one complete XML to a test specific XML. XML structure:- General test details Detail 1 Detail 2 ... Detail n ---> Test 1 specific Details ---> Detail 1 ---> Detail 2 ---> .... ---> Detail n ---> Test 2 specific Details ---> Detail 1 ---> Detail 2 ---> .... ---> Detail n Refactored to:- General test details Detail 1 Detail 2 ... Detail n Test 1 specific Details Detail 1 Detail 2 .... Detail n I then send this flattened test specific XML to the Test VI. I then control the execution of these tests and inform the master system of the progress and translate the requests. Not much more than the simple version but it gives you an idea of the reason behind the executive. We dont generally do this , but, the way it is done you to just change the XML and it could potentially run all of the tests with one call to the executive. This is simple because the XML is created by a database script and the data is populate by another script from an excel speadsheet. The spreadsheet become your sequence editor.
  11. OK, thanks for the comments. First off the diagrams were thrown together quickly this afternoon based on a few seperate diagrams I have that describe the seperate components of the system to give a simple overview to help my explanation. To address a couple of the statements in your post ShaunR I consider the three components inside of the red dotted area to be the executive and the test VI represents the test called for measurement at that moment in time. There have only been a few Test VIs written at this point but they all follow a Queued State Machine architecture. The Executive and the Test VIs each have their own queues, the executive starts both queues but either the exec or test vi can add to the others queue this allows the test vi to call for information from the Master test controller about DUT or to ask the Master test controller to change the DUT cofiguration via the exec which has control of the SOAP messaging. So I think I have a similar sub-language/protocol you discss that is aparant in the supplier software. The C# sharp layer in the diagram is actually in 2 parts the first part is C# layer that is the best way I could find to create a SOAP webservice server, but, what it does is strip out the SOAP namespaces etc and then sends it through a localhost datasocket. The second part is a LabVIEW coded server that is loosely based on the XML-RPC server in the code repository (Sincere thanks to the dev(spoke to them before)) to monitor the localhost port and package the data into a native labview format from XML and place it on the queue. What I was originally illuding to in my earlier posts is that I think y LabVIEW server could be promoted to a similar duty as the suppliers interface layer. In the main program/vi of the executive I currently examine the received execute messages from the LabVIEW server to discover which test to load this sort of task could also be promoted to the server and could also check for tester specific information that would help me to select the correct Test VI or queue to talk to which could also work with more than one at a time. Also I would like to add that my Test VIs are hard coded tests which may make my software not strictly a Test Executive in the sequencer sence but just executes and controls the tests as more of an interface. The tests become set based on the test parameters that are sent to them ie frequencies, powers etc. Allowing them to be generic in performance and I forsee there to be a growing repository of tests available to be picked from. The only problem is that in my system it may be easier to keep the system as it is but allow it to determine a pair of tests that run together and are both controlled by a single executive. But I am unsure how this could be done. Either system would require some sort of synchronisation. Both the synchronisation and queues would have have to be network dependant (which I have seen some things to help on this forum). Does that make sense? Have you had to deal with these sorts of issues? Are there any tips? Dean, A lot of what you say makes sense and is very informative it also gives me some confidence that my slightly covoluted but modular approach makes sense and that although not always the easiest route to test executives they can be done in LabVIEW. Also the fact that I have seperated the functionality means that I can change parts of the system without massive reprocussions like you suggested Again I like to say thanks for your input, I am also relatively green but have learnt a lot from watching the forum and asking questions. I would still appreciate any further suggestions if you feel I am doing anything wrong or there is a better way. Many Thanks, Neil.
  12. Sorry, I have not had time to respond recently. ShaunR I like that you have taken the time to understand my requirement and I think you have done well with my limited description. I don't know where the boundry lies in what I am allowed to say so I have to be a little bit vague I'm afraid just to cover my own back, I hope you can understand. The set up is like this:- Now what needs to be understood from this set up is that the blue dotted RF measurement section can be my software (I call it the 'test exec' this is based on a company legacy software that I will replace) or any of our other suppliers. It is designed this way because they can all be attached at once or in any combination to test different parts of the DUT at once they can also be run locally without the Test system controller to perform debug and development and diagnostic checks. I have this pretty much figured out, the interfaces were set by the rest of the team before I joined, they are using SOAP messaging, so I did what I could and implemented a layer in C# code which acts as a server that talks to LabVIEW and I built a native LabVIEW client. I am happy with this part of the solution. My executive works really well and handles tests well. I found more confidence and happiness after reading a couple of other post that explained a similar situation using QSM architecture. However my solution is a little convoluted due to the teams choice of using SOAP which not handled well in LabVIEW. The overall system is designed this way to remove any knowledge of the testing from the test controller to make it usable in all projects. The only parts that are test specific are the data in the database and the Test VI's (in my case) my executive doesn't know what the test is it just loads the test based on a single parameter in the execute XML received from the Test Controller. OK, now then, my original question was based around the best way to implement what our supplier is doing for this current project. They are effectively running two testers at the same time that work in collaboration to acheive a more complex tests. There is no direct requirement to acheive this straight away but thought it may be worth looking into now as I could add hooks, loops or what ever you want to call them as I can, to help later. They have done this by adding a layer above their tester which is a comms layer. This layer accepts the comms form the Test system controller and then uses a different simplified dialog/protocol to talk to the testers once the SOAP has been decyphered. Sort of like this (excuse the quick and approximate drawing):- I wanted to see how others would approach this sort of thing. Does this make any more sense? This idea seems the most obvious to me and is fairly simple. It envolves an extra layer of communication which I think I could expand my C# interface and use this to work out to which tester the commands should be sent. I hope that atleast this gives you all an idea of what I am doing and hopefully explains why I am not using TestStand. I will try and answer any more questions if I can. Many Thanks in advance for all/any help. Neil.
  13. Was not being cranky, as I said I am just frustrated as I clearly don't know how to get my questions across correctly. I wouldn't go that far, lol! They are TestStand CLD and LabVIEW CLD I think. But I really think my use is a little light for TestStand (it is OK to say I am not really a psycho lol!) and since I have seen a few other Test Executive type questions on the forum I kind of thought my question would spark discussion. I will see what I can use to explain how my system works and get back to you. Cheers, Neil.
  14. As I wrote in my posts above, my code is really a protocol converter that is called Test Executive (as that is what it does). My test Executive is able to interpret an XML message (that is received via a SOAP webservice) and starts/iterates through tests based on that XML message. I have no need to edit test sequences or anything like that. The sequence for testing is held in the XML message. Using a refactoring of the XML I can determine the number of times the test is called etc. Using TestStand to do what I am doing:- I would have to write a SOAP webservice (maybe a service that linked to a .dll or datasocket) that would call to TestStand in probably a similar way that I have already done for LabVIEW. I would have to create something to parse the XML, like I have done for LabVIEW (using the company schema not LabVIEWs). Then I could write a sequence using these items to call test VIs. Currently the only difference to using TestStand that I can see would be using a sequence instead of a state machine. The hard parts of what I have done so far would still have needed to be done for Test Stand. My state machine is a bit complex but at the heart is still a statemachine, a simple architecture that is proven in exactly the same way as TestStand. I may be too rookie with TestStand to know what I am missing but I work with some NI alliance members and they believe my implementation using LabVIEW is good and that TestStand would be wasted for my architecture. Which is why I wanted to discuss ways in which you could potentially create what I wanted in LabVIEW which is to have two of my programs running at once that could work together to perform a test. For instance one sets a RF signal and the other measures it. Maybe either a heirarchy of VIs with a logging in system etc, or to implement a master/slave relationship where one nominates itself as master at start up and if a master quits there would be a shuffle to re-select a new master. I wanted to discuss the use of items like the network queue VIs etc with perhaps debate about what could be interesting code in the end. I have ideas of what to do if on one PC but on networked machines it gets a bit more confusing. However, this turned into a discussion about TestStand which was magnified when the post was moved to a TestStand forum section. How am I going to get interesting LabVIEW responses now? I am annoyed that I am constantly told to use TestStand on a LabVIEW forum, I may not be explaining myself very well or something but I dont get what more I can say! I have had lots of help from the members of this site in the past, I am a bit sad this has been such a frustrating experience. Neil.
  15. Took a while to find this it moved I think. A little background: The complete system is used for testing satellites, and controls all of the satellite during build. There are sub systems for power, configuration, monitoring, testing etc. Therefore the architecture of our testing system is complex and wierdly the test executive I am writing is only a small part one of the subsystems. My executive controls an RF measurement system which contains things like spectrum analysers, network analysers, power meters and switching networks for RF testing. My executives' main purpose is to receive communications from the Master Test System Controller (MTSC) which controls the entire measurement and satellite payload and sub systems. It then decyphers the message, selects the correct test and passes the parameters to the test which is effectively a sub VI. My executive also controls execution of the test, then relays the results as they are captured to the MTSC. The legacy system had an MTSC which was based on Teststand and controlled an in-house RF test system that was an HTBasic relic that lost support and functionality over the years. Our group came to rely on out sourced RF Test systems with teststand remaining. My executive is being developed to claw some of this capability back in house and to fit in to the new system using an MTSC developed in c# by my colleagues. Test Stand does a lot of things but we only used it simply to run sequences. I haven't been in the company long but I understand that teststand has not been used correctly and therefore not worked well. This has led to a redesign. I turned up after the design was created and I already had LabVIEW experience, so I chose labVIEW. It made sense for the tests and talking to the equipment. But has not been simple to implement the SOAP etc. If I used teststand in my executive I would again only use a subset of the teststands functionality and would still have to use a converter for the SOAP handling. The use of LabVIEW in this context is much more reasonable. There is a requirement to have to test systems working together to acheive a certain type of test. This is being done by our outside provider by making the webservice part of the system Heirarchical leader of the test and delegating to the RF Measurments systems. I am certain that it is possible to either add the functionality to my SOAP handler function and have that delegate the tasks to the execs similar to our provider or add a master slave decision system in to my exec. Does it make more sense now? I hope it does, I have asked questions about my executive on here before and have gotten a similar answer of Teststand can do that, try teststand. I believe that for my currently requirements the QSM structure is simple and works fine controlling the messaging and test control perfectly. The ability to control two or more test systems at once has again made me wince with concern that the path I have chosen is the right one specially when the answers are Teststand again. Teststand is not always the right solution and our suppliers are not using it acheive the same thing I want to do so wanted to discuss really if the way they do it is the best. If you were in the same situation what might you do? Many Thanks, Neil.
×
×
  • Create New...

Important Information

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