Top level application structure with parallel data acquisition

Hey all LabVIEW-forum members!
I have some experience programing  LabVIEW, but mostly concerning smaller for the simplest form of data acquisition. Now I need to develop a larger application that might be continuously run for several weeksin a row and for that reason I woiuld like to make sure the application structure is stable! I turn to you in hope of some input regarding the most suitable approach to my problem or some pointing in a good direction.
-The project involves making hardware communication with a few different hardware interfaces, such as GPIB and NI’s DAQ-card (analog and digital reads/writes on PCI-6221).
-Save acquired data to disk.
-The communication and data save are based on condition of elapsed time (for example there could be a need to make parallel analog measurements med DAQ-card every 5th minute but GPIB-measurements every 30th second).
-At the mean time I would have to regularly the status of the test object and update the user interface. (However, while in test the user won’t be allowed to interact with the application other than to monitor the UI or pause the test).
The project isn’t really time critical (in case I need to make one type of data-acquisition while another one is already initiated, they can be carried out in sequence).
I’ve started with programmatically control the user interface by using the “Top Level Application Using Events”-template and produced code that will let the user set up a new test or load an existing test. All the data concerning the status and configuration of the test I’ve saved in two clusters that can be passed along to different events.
 I’ve reserved one subdiagram in the event structure for the actual execution of the test. It is the structure of this subdiagram I am a bit confused about…
Could I use another while-loop/event-structure inside this subdiagram and use user-registered events for the different data acquisition? Or is there some type of state-machine that is better suited to monitor time elapsed and can make a transition to a suitable state when it’s time to make any of the hardware measurement required? It would be nice to avoid using polling loops but maybe that is best way to go?
I’ve checked the “Continuously Generate Occurrences.vi”-example and that might be a way to go? What seems to be good with this approach is that I could let the different parallel hardware acquisitions actually be parallel, right?
I am really confused right now, hope someone has some helpful inputs!
Regards
Oscar

This post here can be proved as a great starting point for your application.
I am not allergic to Kudos, in fact I love Kudos.
 Make your LabVIEW experience more CONVENIENT.

Similar Messages

  • Unable to find top level site associated with project site

    Hello!
    SP and PS 2013. I faced the problem with one project and its site synchronization.
    When user published this project at 1st time, the site wasn’t created (there were some errors), but user didn’t notice that. So, after few days when he couldn’t open
    the site, he ask me for help.
    I did my usual operations in such cases – I open “Connected sites” and create the site myself.
    Earlier there was not any problem with that. But now this project experiences some troubles with permissions sync for
    it’s site – there is no synchronization.
    I connected this problem with November CU, which has been installed couple of weeks ago.
    I have read about the same problems after upgrade, so I want to emphasize that site was created on the root site collection (Project Web App) and it is not a subsite
    of another project site.
    If there is no solution until next update, maybe there is some way to turn off permission synchronization only for this site?
    Any help will be appriciated!!!
    Kate
    Queue error:
    GeneralQueueJobFailed
    (26000) - PreparePSProjectPermissionSynchronization.PreparePSProjectPermissionSynchronizationMessage.
    Подробные
    сведения: id='26000' name='GeneralQueueJobFailed'
    uid='231b2c2c-fc8b-e411-942d-0050569d3fac' JobUID='79031b2c-fc8b-e411-942d-0050569d3fac' ComputerName='7d8a1473-f6a8-4a8e-b7fb-1bdd868c7e20' GroupType='PreparePSProjectPermissionSynchronization' MessageType='PreparePSProjectPermissionSynchronizationMessage'
    MessageId='1' Stage='' CorrelationUID='a923d99c-8e88-c0e8-c7e2-08a980da8c96'.
    Для получения дополнительных сведений проверьте журналы ULS на компьютере
    7d8a1473-f6a8-4a8e-b7fb-1bdd868c7e20 для записей с JobUID
    79031b2c-fc8b-e411-942d-0050569d3fac
    In logs:
    12/25/2014 12:42:45.85        Microsoft.Office.Project.Server (0x07E4)        0x5E10           
    Project Server                            Sharepoint Integration           
    amed3 Exception        Unable to find top level site associated with project site Site1 System.IO.FileNotFoundException: <nativehr>0x80070002</nativehr><nativestack></nativestack>Нет
    веб-сайта
    с
    именем "/Site1".     at Microsoft.SharePoint.Library.SPRequestInternalClass.OpenWebInternal(String
    bstrUrl, Guid& pguidID, DateTime& pdtTimeCreated, String& pbstrRequestAccessEmail, UInt32& pwebVersion, String& pbstrServerRelativeUrl, UInt32& pnLanguage, UInt32& pnLocale, String& pbstrDefaultTheme, String& pbstrDefaultThemeCSSUrl,
    String& pbstrThemedCssFolderUrl, String& pbstrAlternateCSSUrl, String& pbstrCustomizedCssFileList, String& pbstrCustomJSUrl, String& pbstrAlternateHeaderUrl, String& pbstrMasterUrl, String& pbstrCustomMasterUrl, String& pbstrSiteLogoUrl,
    String& pbstrSi...   2a29d99c-9ecc-c0e8-c7e2-037970debfdf

    Hi Kate_S,
    since you are already aware that its a known issue caused Sep 2014 CU i believe, and an official fix has yet to release.
    but i would like to clarify here that this issue doesn't have anything to do with project site creation, because sync queue job while creating project site fails but does not block other queues activities. so your project site should be created in a normal
    way.
    and until official fix will arrive, 1 of the option is to change your project sites to provision under root site collection instead of PWA site collection. But be aware that this will fix sync issue only for new project sites.
    Go to Central Administratio -> PWA settings -> open site provision settings menu and made changes.
    2nd option is, since Project Owner always get access to Project site, to teach your project owners to include project team members manually to project site permission group to allow them to have access. this option can help you with both new and existing
    project sites, and i personally prefer this and did the same for my affected customers.
    Hope these 2 options will help you. 
    Khurram Jamshed - MBA, PMP, MCTS, MCITP (
    Blog, Twitter, Linkedin )
    If you found this post helpful, please “Vote as Helpful”. If it answered your question, please “Mark as Answer”.

  • Unerwartetes Erscheinen des Front Panel eines SubVI beim Start der Top-Level-Application

    Beim Starten meiner Top-Level-Application erscheint sofort das Front Panel eines Dialog-SubVI, welches eigentlich über die entsprechende Menüauswahl angewählt werden soll. Das passiert nur, wenn sich das SubVI im Speicher befindet. Das unerwünscht erschienene Front Panel zeigt dabei nicht die normale Fuktionalität, lediglich das Schliessen des Fensters ist möglich. Dabei verschwindet das VI jedoch komplett aus dem Speicher (sowohl Front Panel als auch Block Diagram). Danach lässt sich der Menüpunkt anwählen und der Dialog läuft normal.
    Befindet sich das SubVI beim Start der Top-Level-Application nicht im Speicher, läuft alles normal.

    Es könte sein, dass die Eigenschaften für das Sub-VI auf "Öffnen wenn geladen" oder was ähnliches gesetzt ist.
    Schau nach, ob die ganze "Fenstererscheinungsbild" Eigenschaften wie gewöhnt eingestellt sind. Zu beachten ist auch, dass die Sub-VIs individuell im Block Diagram andere Eigenschaften zugeweisen werden können (Rechtsklick auf der Icon im Block diagram)...
    Ich hoffe, dass ich damit ein wenig helfen könnte
    Shane
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

  • How to fill depended Z-Table, created by Rapid Application Tool, with initial data?

    Hello gurus,
    I created a component ZBOOKING with RAD Tool and will fill booking detail table with initial data during a creation of new booking objekt.
    My Booking component looks like on the picture below. It was created with Rapid Application Tool and is based on one ZBOOKING Table with was created in CRM Backend and one “Booking details” Table with was created with Rapid Application.
    My Question is how should I populate initial Template-Data to this dependent “booking details” Table wenn I will create a new booking object.
    Web UI of ZBooking component
    Component structure of ZBooking
    I have tried to do sample implementation in do_init_context method of ZACL_CLASS00000C_IMPL class to fill ZBOOKING_DETAILS with some data.
    method DO_INIT_CONTEXT.
    CALL METHOD SUPER->DO_INIT_CONTEXT.
    DATA: lr_col TYPE REF TO if_bol_bo_col,
    lr_valuenode TYPE REF TO  cl_bsp_wd_value_node,
    lr_template  TYPE REF TO  ZBOOKING_DETAIL.
    CREATE DATA lr_template.
    CREATE OBJECT lr_valuenode
    EXPORTING
    IV_DATA_REF = lr_template.
    if lr_valuenode is BOUND.
    lr_valuenode->SET_PROPERTY_AS_STRING(
    iv_attr_name = 'ZZVISITDATE' "#EC NOTEXT
    iv_value     = '01.01.2014'
    ENDIF.
    CREATE OBJECT lr_col TYPE cl_crm_bol_bo_col.
    lr_col->ADD(
    exporting
    iv_entity = lr_entity
    IV_SET_FOCUS = ABAP_TRUE
    me->TYPED_CONTEXT->ZBOOKING_DETAIL->SET_COLLECTION( lr_col ).
    endmethod.
    After this implementation the initial data is displayed in “Booking details”.
    However if I press an Edit-List-button (Assignment block) I get an error “CUST Operation”.
    May be I should fill this depented table ZBOOKING_DETAILS without cl_bsp_wd_value_node?
    Where should I implement logic if I want to fill initial data just during creation of booking object and not every
    time when the booking object is called or initialized?
    Regards Dmitry

    Hi,
    I get an error "Dereferencing of the NULL reference" during created_related_entity.
    If you see on the picture below I think that I use right relation name for my zbooking_detail table.
    method DO_INIT_CONTEXT.
    CALL METHOD SUPER->DO_INIT_CONTEXT.
    data :   lr_leading_entity  TYPE REF TO cl_crm_bol_entity,
                lr_col TYPE REF TO if_bol_bo_col.
               lr_leading_entity->create_related_entity(
                      iv_relation_name = 'ZAET_CA_ATAB000000' ).
               lr_leading_entity->SET_PROPERTY_AS_STRING(
                           iv_attr_name = 'ZZVISITDATE' "#EC NOTEXT
                           iv_value     = '01.01.2014'
    lr_col->ADD(
       exporting
         iv_entity = lr_leading_entity
         IV_SET_FOCUS = ABAP_TRUE
    me->TYPED_CONTEXT->ZBOOKING_DETAIL->SET_COLLECTION( lr_col ).
    endmethod.
    Many Thanks & Regards,
    Dmitry

  • Parallel data acquisition problem

    Hi everyone!
    I’m facing a problem with acquiring data from my NI 6259 BNC card.
    What I basically want to do is to measure, let’s say, both RPM of the jet engine as well as temperature. I have thermocouple and of course the voltage of thermocouple is proportional to temp. I also have a phototransistor to measure RPM, but… the signal from phototransistor is non-TTL signal. For measuring RPM I’m using code from: “DAQmx: Counting Non-TTL Pulses with Multifunction Board and Labview”. It is using port redirecting and triggering.
    Both measurements are ok when run separately. I mean I can measure continuously temperature and plot it to graph in real time. I can measure PRM with very good accuracy as well. But I can to this only separately, I don’t know how to write a program to measure them both together in one VI.I want to measure (and save to file) both RPM and temperature at the same time.
    I think it has something with triggering option in RPM measurements, triggering stops all measurements. Is there any way to measure them both?
    Thanks in advance,
    Maciek

    Hi Maciek,
    You are saying it right, there is limitation due the trigger used. The examle you mentioned is elegant for measuring just RPM but adding any other measurement on AI side is nearly impossible since the analog input is triggered depending on RPM value and there is usually requirement on measuring the temperature with fixed sampling period (especially when you want to log it to the file).
    I would propose 2 solutions:
    The first one is easier and does not require any signal conditioning. It would be just measuring the temperature and RPM through analog inputs (each on one AI channel) and processing would be made using LabVIEW. The sampling rate thus must be made with respect on the RPM signal to be sure that you will acquire enough samples to extract the signal shape (mainly the edges) exactly enough to make the measurement precise and reliable. The temperature will be acquired the same sampling rate so you can select just one of e.g. 100th or average multiple samples into one which will be displayed and stored to a file. There is also one recommendation. Since the USB-6259 BNC card has aggregated AI, it is good to have all AI signals on similar range because switching the signals e.g. 10mV and 10V can cause some accuracy issues. Usually, signal condition before connecting is to the card solves the issue.
    Second way how to measure both signals is to convert the signal from RPM to TTL logic, it should not be a problem using one or more transistors. Then it is very easy to measure RPM using only a counter. The temperature measurement will be second separated task, so all will be independently configurable. In my opinion, this is cleaner and more effective how to measure both quantities, but you have to to the converter from your "non-TTL" signal to TTL.
    Please let me know if this is acceptable for you, if not, send here the code with deeper comments (mainly about the parameters of the RPM signal).
    Best regards,
    Martin

  • Do Siebel Applications come with demo data like Vision data for EBS??

    Hi All,
    I am pretty new to Siebel Business Applications. I am trying to install Siebel 8.1.1.5 on a VM and would like to do an Oracle BI Applications ETL to build data warehouse. For this I need some demo data in the Siebel source system.
    For Oracle E-Business Suite - we get a demo data Vision instance data.....like this do Siebel provides a demo data for Siebel Business Applications?
    Thanks for your time,
    DK

    Yes, it's called the sample database. It can be separately installed.
    At the moment I just don't rememeber whether it's part of the normal client download, or a if it's seperate download.

  • Data Pump with parallel data ending up in 1st file!

    Oracle 10g 10.2.0.3 EE
    Ran the following command on a 16 core HPUX PA-RISC machine:
    expdp normaluser/password@RDSPOC FULL=y directory=DMPDIR parallel=12 dumpfile=exp_RDSPOC_2nd_%U.dmp logfile=exp_RDSPOC_2nd.log
    Database size, approx 900Gig of data
    All things looked good at first. All cores close to 100% utilized, Disk also at 100% utilized
    1h23m later I had 11 files all about the same size +- 40Gig
    The first dump file continued to grow. After another 60 hours the first file is approx 500 Gig and growing (status says 85% complete)
    One core is running max, and disk utilization is about 15%
    Note, I am not sys but a normal user with full export privilege (If that could make a difference)
    How do I get it to keep the machine running all cores and disks as hard as possible?
    Thanks

    Hi,
    Metadata is never unloaded in parallel, but is sometimes loaded in parallel.
    See Parallel Capabilities of Oracle Data Pump (Doc ID 365459.1)
    Also check the status of expdp, if there is e.g. one big table only one worker will still have data to pump.
    HTH,
    Peter
    Edited by: pa110564 on 05.08.2011 11:04

  • A structure with mutiple data types or array of array

    I want to read some soft of a table from a text file and want to store in a structure (not in database) for future use. I want the structure to have rows and columns when I need to reach. Colums should store multiple data types (int and/or string). I have examined Collections that only store one data type and only one dimension. I need a structure that holds multiple datatypes and at least 2 dimension. In short I need array of array? Any example or suggestion?

    Here is the colection part. But I cound not get it finished. Stuck at getting data from collection.. How could I read from the collection
        public static Long ReadFromFile() {
            List liste = new ArrayList();
            try {
                FileReader file = new FileReader ("abc.txt");
                BufferedReader buffer = new BufferedReader (file);
                String line = "";
                int i = 0;
                while ((line = buffer.readLine())!= null) {
                    if (i>0) {
                        DataS kontrol = new DataS();
                        String [] temp = null;
                        temp = line.split("\t");
                        for (int j=0; j< temp.length; j++) {                       
                            if (j== 0 && StrUtil.ValidNumber(temp[0])>0 ) {
                                kontrol.set_C_id(temp[0]);
                            } else if (j== 1) {
                                kontrol.set_C_enabled(temp[1]);
                            } else if (j== 2) {
                                kontrol.set_C_table(temp[2]);
                            } else if (j== 3) {
                                kontrol.set_C_field(temp[3]);
                            } else if (j== 4) {
                                kontrol.set_C_xmlobjectname(temp[4]);
                            } else if (j== 5) {
                                kontrol.set_C_xmlsubobjectname(temp[5]);
                            } else if (j== 6 && StrUtil.ValidNumber(temp[6])>0 ) {
                                kontrol.set_C_controltype(temp[6]);
                            } else if (j== 7) {
                                kontrol.set_C_datatype(temp[7]);
                            } else if (j== 8 && StrUtil.ValidNumber(temp[8])>0 ) {
                                kontrol.set_C_datalength(temp[8]);
                            } else if (j== 9 && StrUtil.ValidNumber(temp[9])>0 ) {
                                kontrol.set_C_dl(temp[9]);
                            } else if (j== 10) {
                                kontrol.set_C_conditionop(temp[10]);
                            } else if (j== 11) {
                                kontrol.set_C_conditionval(temp[11]);
                        liste.add(kontrol);                   
                    i++;
                    buffer.close();
            catch (IOException e) {
                return Long.valueOf(-1);
            /*For reading test*/
            try{
                DataS stored_kontrol = new DataS();
                Iterator itr = liste.iterator();
                int i = 0 ;
                while(itr.hasNext()) {
                    //Object obj = itr.getClass();
                    // Here were I stuck... How can I read from collection which is filled with object
            } catch (Exception e) {
                return Long.valueOf(-1);
            return Long.valueOf(1);
        }

  • Fresh install leaves locked folder at top level (Mac OS X Install Data)

    I jsut did a fresh install.  wanted to use my SL DVD but the MBP i5 refused to star with it so I used the original DVD (10.5) and upgraded with the SL DVD to 10.6.  However after the initial SL Installation, it tried from the SL DVD and this failed.  I did a manual restart, starting from the HD and everything ran fine.  however today I note there is a locked file on the HD named Mac OS X Install Data.  It contains 181 .pkg files. 
    Now I suppose this should have been moved or deleted as part of the install process. 
    Does anybody have an idea if this is indeed a install failure?  Can I move them to a file where they belong?  Could it be my install DVD is funked? Or any other suggestions?

    Remains the quesion if one can remove the aformentioned folder.
    I believe the folder is part of the 'preinstall' for Snow Leopard -- it should contain items the installer creates on the hard drive before the Mac automatically restarts from the DVD to complete the installation. It should only contain items referenced by the installer & should have been deleted at the end of a successful install.
    Without knowing exactly what you installed over what (still not quite sure about that) I can only guess, but if everything is running fine, there should be no issues if you remove it.
    Alternately, you could just run the installer again, making sure you used the one that came with that MBP.

  • Data Acquisition problem with multiple length of commands and data received.

    Hello,
    I need to write a program to communicate with a Data Acquisition board. There are about 10 commads and each has a different number of bytes associated with it. For example command-1 has 4 bytes which need to be send to the DAQ, command 2 has 6 bytes, Command 3 has 4 bytes etc...
    When the board responds back to the commands I send, it responds back with different number of bytes for each command. For example, When Command 1 is send to the board, it responds back with 3 bytes of data, whereas when command-2 is send it responds back with 5 bytes of data.
    Each data byte received by my labView program from the board, needs to be displayed after some processing has been done. This processing may or may not happen on all the bytes of data got back.
    I want the program to be scalable, so that if more commands are added later on, the display and the processing changes in accordance with that.
    What will be the best approach for such a system ? I want the system to be dynamic, and dont want to repeat or re-write the code for each case statement ( case statements will be decided by the commands).
    Any input is welcome.
    Thanks,
    birapxi

    Hello Dennis,
    That is certainly one way of doing it, but it is the brute force method. Is there any way to use clusters and add the data bytes coming in and going out to clusters. Also when the user sends a specific command out, can I use the unbundle by name function to send the bytes corresponding to that command.
    For displaying the data received, can I follow a similar approach and use unbundle by name function to just display the specific data bytes for the command i have received.
    Thanks for your input,
    birapxi

  • Result Analysis with transaction code KKAJ for Top level WBS element

    Hi Experts,
    we have four level WBS structure with level 1 and level 4 with all operative indicators active
    when we are doing Result analysis by using KKAJ for level 1 WBS element, System is taking all level 4 wbs elements also into consideration.
    Is there a way to run results analysis using KKAJ only for level 1 wbs elements for multiple projects, avoiding the level 4 WBS elements.
    SAP version 4.6C
    Please suggest.
    Thanks in advance
    Chakravarthy

    Hi
    refer this thread posted a few days back
    Ajay M

  • Reentrant top level vi

    I have a fairly large top level application vi which contains a number of non-reentrant Functional Globals.  It is a cRIO RT application.  The product which this LV application supports is modular.  That is, the end product is being expanded by integrating a duplicate set of the hardware.  From a software control standpoint, the same LV application could be used to support the expansion.  Thus, on the cRIO a second instance of the top level application vi running from a parallel loop would do the job.  However, because of the non-reentrant Function Globals this will not work because state needs to be maintained.  I see two options for a solution:
    1) Duplicate the top level vi hierarchy with unique file names for all functional global vi's.  This would be very inefficient.
    2) Change the functional global vi's to re-entrant, pre-allocated.  This may be the best, but has it's issues because the application calls these vi's in different places.
    Any other suggestions to manage a modular architecture like this?

    Here, I got it to work.
    You make your functional global a non-reentrant template and you make your top level vit a reentrant vi template. Then when you launch the top level vit dynamically you will get two independent instances of the functional global. I used VI server methods but you could most likely use start async call if you are using LabVIEW 2012.
    Run the Main.vi and you will see that each launched template VI increments its counter independent of the counter in the other vit.
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    vitemplates.zip ‏25 KB

  • FIle Creation in the Application Server With Unicode-8 and Byte-Order Mark

    Hi Guys,
    I've requirement of creating a file in the Application server with the Data.
    The Data Format Should be in UTF-8 and Byte-Order Mark.
    I need to supply this data from SAP to PRMS.
    I'm able to create a file with Unicode, but any of the guys have worked on Umicode with Byte-Order Mark, please let me know.
    Thanks,
    Adi.

    Hi Mathieu,
    If you haven't found an aswer yet, you can check in transaction SE24 CL_ABAP_FILE_UTILITIES method CREATE_UTF8_FILE_WITH_BOM. You can check the code of the method (it's very short) so you can understand how it works. It's also a static method so you can call it directly in your program.
    Ex:
    CALL METHOD cl_abap_file_utilities=>create_utf8_file_with_bom(your_file_name).
    I hope this helps.
    Pax Vobiscum.
    ~ Eric

  • Release memory for nested top-level classes

    Hello experts.
    I have a top-level class which consists of several static methods. Inside such a method I create several new instances of a nested top-level class inside my original class. Later I want to release one of these instances i.e. destroy instance and free memory. How can I do that?
    Thanks.

    sure, but I do not see any references to this nested top-level class. With "Releasing" I mean something like directly assigning a NULL value to the nested top-level clas in order to enable GC.
    But as I said there are no references and while monitoring the memory I see that the GC does not collect some memory. (I know that GC is not reliable, but after ten attempts of this scenario the memory allocation is equal the whole time).
    I guess the GC does not work with classes, but the classloader. But how can I control releasing memory in this scenario?
    Any further hints?

  • Buffered Data Acquisition at different rate

    Hi,
    I have a pb with my data acquisition : I'm using a PXI-4472 AI card and continuous acquiring data to file.
    Until now all channels are acquired at the same frequency : Ok. I know this card does not support multi-frequency acquisition.
    But I want save data at different rate : ex : first channel at the frequency desired (ex 10 KHz), second channel at frequency /2 : 5 Khz ... to reduce amouth of data in the saved file.
    I know the amouth of data retrieve et each AI-Read (ex 2048 scaled data / channel), and the frequency divisor / channel.
    What's the best way (performance) to process the scaled data tab (2 dim) from the AI-READ to save it in the file (using Write File +) with frequency divisor consideration.
    And how to re
    ad the data in the saved file after.
    Can you send me an example please ???
    Thanks
    Eddy DUCHENE
    12 F Chemin de Boutary
    69300 CALUIRE ET CUIRE
    [email protected]

    Hi kdm,
    please stick in one thread for the same topic!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

Maybe you are looking for

  • How do I avoid a pop-up from Firefox every time I go from an email back to my inbox?

    I go to my email in-box and click to read an email. When I'm finished, I want to go back to the email in-box. The easiest way for me is to hit the backspace key which brings me right back to the in-box. More then half the time, however, when I hit th

  • Ora-00081

    hi, I am using the DB link to connect to another DB to collect the TBS information. But i am receiving the below mentioned error while running the select query in TOAD. ORA-00081 - address range is not readable... ORA-600 - internal error code (15160

  • Multiple WLANs & DSL connection

    Has anyone had any experience with configuring multiple WLANs feeding into a single DSL connection? I need to set up WLANs in 4 separate rooms that each have single cable back to a switch and a DSL connection. The idea is that each room will be stand

  • How do I remove Mac 10.8.2

    Ever since installing 10.8.2 my Mac keeps crashing, how do I uninstall it?

  • Best development framework for a beginner

    Hi, can somebody recommend a good( the best around if there is) framework for a beginner to start learning. i don't know a lot about frameworks and j2ee but i'm starting to learn. i don't have any hands on experience yet with any of them, i can't dec