Threads in real time games

For a game like Starcraft or Diablo 2 (or any real time game) is it standard practice to make a seperate thread for each object (such a monsters / units, etc.)
Thanks.

no, the overhead would become to great. There is one "master thread" for all monsters, which will keep track of their state, possibly one thread for each player in the case of RTS games like Starcraft. The game engine will have all kinds of tricks to make the AI seem smart, while they are actually pretty dumb and take up little cpu power. A single thread can keep track of hundreds of units this way.

Similar Messages

  • Effectivly Drawing a Real-Time Game

    Hello, I have several questions regarding the methods needed to draw a real-time game. First of all, is there a way of using Hardware accelerated graphics in Java? Secondly, and more to the point, my real-time game needs to repaint the screen every 25 milliseconds. The actual painting is done in the paintComponent method of my Game component (which extends JPanel). Anyway, I need to draw the background Image and to draw the foreground image onto existing terrain. I am painting the whole Background image (clipped to the size of the screen) each repaint. Furthermore, I draw the Foreground Image once for each polygon in my Vector of Polygons which describe the terrain - each time the graphics is clipped to the current terrain polygon I am referring to. This means I draw the amount of Polygons + 1 images every 25 milliseconds (And some of which are 3000x3000 pixels big). No wonder the screen is flickering... However, I do not know any alternate way (even though I am sure one exists). Any help would be kindly appreciated.
    With Thanks,
    laginimaineb.

    @laginimaineb,
    Create terrain image 'only once' using,
    Image image = Toolkit.getDefaultToolkit().getImage(fileName);
    BufferedImage bimage = new BufferedImage(3000,3000, type); //Max size set
    Graphics g = bimage.createGraphics();
    for(int i=0;i<noOfPolygons;i++) {
    g.drawImage(image, xPos, yPos, null);
    g.drawPolygon(polygon);
    Image completeImage = Toolkit.getDefaultToolkit().createImage(bimage.getSource());
    g.dispose();
    Just draw this CompleteImage in paint() or paintComponent() method.
    CompleteImage is created only once.
    If you are changing terrain after 25 seconds then different logic may need.

  • !!!-Need help for terminating a Java thread in real time

    Hi everyone!
    I use J2SDK1.4.1 on a Unix platform.
    I want to terminate (or stop) a running java thread, which is dealing with time consuming tasks, in real-time (for example: the delay before the thread is terminated can't beyond one second), However, I don't know which techniques I can use to make sure the previous (or old) running java threads have been terminated?
    Could you please give me any help if you can?
    Any suggestion or reply will be kindly appreciated!
    Thanks!

    Thanks very much, jverd !
    I do set a flag that the thread should periodically check !
    Well, the scenario is like this:
    1. the thread read line by line (using BufferedReader) string from a probably huge-size file
    2. analyse each string read from the file if required (some strings may be omitted based on the user's operations), the analyzing process is a time-consuming task, and the analysing process may be terminated at any time the user want.
    3. record only the strings that have been analyzed by the previous process into a recording file
    The problem I meet is as follows: (Here, I suppose that it should take at least 30 seconds to finish analyse all the strings in a given huge file )
    1. the user start the analysing process, and run it for only 5 seconds,then stop the analyzing.
    2. the user start the analysing process again from the begining of the file(analyse the strings within the same file as previous step), and then stop the analysing process at 10 second. (it means, this time the analysing process is running for 10 seconds, still haven't finish analyse all the strings in the file).
    Once I open the record file, I saw some of the strings in the recording file have been repetitively record for 2 times, and the repetitive strings are just the strings the analysing time from at 5 second to at 10 second.
    And the repetitive times are depend on how many time the user start and stop the analysing process using the same file. for example, based on the above two steps, the user do the third step as follow:
    3. the user start the analysing process once again, analyse the same file,too. And run it for 15 seconds
    This time open the recording file, this time I saw some of the strings have been repetitively record for 3 times, and the repetitive strings are just the strings the analysing time from at 10 second to at 15 second.
    So, I guess the problem is probably because the previous analysing threads haven't been terminated completely, or say they just are blocked or set as inactive etc., then when the next time start the analysing process, the old threads will be reactive,and rerun ffrom the last time they are blocked.
    I hope you had catched what I mean, if you not, please ust let me know, I'll try to explain it again.
    Thanks once again!

  • SIT Real-time data logging and passing data

    Hello all,
    I am pretty new to LabView real-time, so I just want to confirm a few things. I am also using the Simulation Interface Toolkit.
    Let's take the Sinewave.vi from the SIT examples. I have modified it to use sinewave.dll, and run on PXI-8101. If my understanding is correct, when I click "Play", the entire Sinewave.vi is deloyed into PXI-8101, and therefore the entire VI is running at the same pace. The front panel I see on my desktop is slower snapshots of what is actually happening?
    1) Let's pretend now that the sinewave model is time critical and must run every 10ms. How do I do that? I have noticed that within the "SIT_Indicator_Indices" loop, there is a Wait 50ms block. Is that accurate?
    2) I have also added a time elapsed block that will change the Frequency and Amplitude inputs as a function of time. I made them update every 2ms. What clock are we running on? If my sinewave.mdl suddenly calculate integration (time dependent), can I use that elapsed time block as my timer to pass into the model?
    3) How fast is the sinewave.vi running anyways?
    4) Let's say I want a log of the sinewave output (a data point every 10ms). I don't need the log in real-time, I just want to do some analysis on it later. How do I do it?
    Thanks.
    Attachments:
    Sine Wave.vi ‏104 KB

    Hi Bladhart,
    When running the in the Development Environment (pressing the run button on the Real-Time vi) there will be an extra thread to handle the front panel you see. This thread will be handled just like any other thread in Real-Time and will take processor time, thus slowing down your entire application to a certain extent.  
    1. You would need to make sure everthing inside the loop can execute within 10ms and change the wait time to 10ms. Or you can use a timed loop set to run every 10ms and get rid of the wait time but again you would need to ensure everything in the loop can execute in under 10ms.
    2. The elapsed time should be running off the Real-Time system clock. 
    3. The time that the Sinewave.vi is running is system dependent, there is no set speed.
    4. You can log the data by saving to a *.tdms file. You can then use the data from the *.tdms file to do processing later. 
    <Brian A | Applications Engineering | National Instruments> 

  • Xi Real time

    Are there any basic XI exercises available to prepare myself for real time scenarios?
    I understand that SAP training material includes exercises. But other than that material (for people who do not have that material), are any other options available?
    If I can get XI system access, what are the basic topics/areas that I need to practice to survive the first few months as XI developer?

    Hi Ayappa!
    Pls. Follow the links to weblogs which will help to develop the basic scenarios.
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters - IDoc to File
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Proxy to File
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30 - File to JDBC
    /people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - File to ABAP Proxy
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1 - File to File Part 1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 - File to File Part 2
    /people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping - Any flat file to any Idoc
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit - File to RFC
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1685 [original link is broken] [original link is broken] [original link is broken] - File to Mail
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i - Dynamic File Name Part 1
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii - Dynamic File Name Part 2
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address - Dynamic Mail Address
    /people/siva.maranani/blog/2005/05/25/understanding-message-flow-in-xi - Message Flow in XI
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm - Walk through BPM
    /people/siva.maranani/blog/2005/05/22/schedule-your-bpm - Schedule BPM
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - Use of Synch - Asynch bridge in ccBPM
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] - Use of Synch - Asynch bridge in ccBPM
    /people/michal.krawczyk2/blog/2005/08/22/xi-maintain-rfc-destinations-centrally - Maintain RFC destination centrally
    /people/sravya.talanki2/blog/2005/08/18/triggering-e-mails-to-shared-folders-of-sap-is-u - Triggering Email from folder
    /people/sravya.talanki2/blog/2005/08/17/outbound-idocs--work-around-using-party - Handling different partners for IDoc
    /people/siva.maranani/blog/2005/08/27/modeling-integration-scenario146s-in-xi - Modeling Integration Scenario in XI
    /people/michal.krawczyk2/blog/2005/08/25/xi-sending-a-message-without-the-use-of-an-adapter-not-possible - Testing of integration process
    /people/michal.krawczyk2/blog/2005/05/25/xi-how-to-add-authorizations-to-repository-objects - Authorization in XI
    http://help.sap.com/saphelp_nw04/helpdata/en/58/d22940cbf2195de10000000a1550b0/content.htm - Authorization in XI
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step - Alert Configuration
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide - Trouble shoot alert config
    /people/sameer.shadab/blog/2005/09/21/executing-unix-shell-script-using-operating-system-command-in-xi - Call UNIX Shell Script
    /people/sravya.talanki2/blog/2005/11/02/overview-of-transition-from-dev-to-qa-in-xi - Transport in XI
    /people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping - Using ABAP XSLT Extensions for XI Mapping
    /people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure - Mail Adaptor options
    /people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
    /people/sap.user72/blog/2005/11/17/xi-controlling-access-to-sensitive-interfaces - Controlling access to Sensitive Interfaces
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14 - The same filename from a sender to a receiver file adapter - SP14
    /people/prasad.illapani/blog/2005/11/14/payload-based-message-search-in-xi30-using-trex-engine - Payload Based Message Search in XI30 using Trex Engine
    /people/sap.user72/blog/2005/11/24/xi-configuring-ccms-monitoring-for-xi-part-i - XI : Configuring CCMS Monitoring for XI- Part I
    /people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter - XI: HTML e-mails from the receiver mail adapter
    /people/sap.user72/blog/2005/11/22/xi-faqs-provided-by-sap-updated - XI : FAQ's Provided by SAP
    and also check this link
    http://help.sap.com/bp_bpmv130/html/demo_page.htm
    go thru this link to get the some demos-
    https://www.sdn.sap.com/irj/sdn/docs?rid=/webcontent/uuid/110ff05d-0501-0010-a19d-958247c9f798#xi [original link is broken]
    Tutor files-
    Link is -
    https://websmp109.sap-ag.de/netweaver ->SAP Netweaver In detail->Process Integration->SAP Exchange Infrastructure->Media Library
    There are mnay tutor files/documentation etc..
    Elearning~
    https://www.sdn.sap.com/irj/sdn/developerareas/xi?rid=/webcontent/uuid/a680445e-0501-0010-1c94-a8c4a60619f8 [original link is broken]
    http://help.sap.com/bp_bpmv130/html/demo_page.htm
    please look at following thread
    Need real time scenario
    Let me know if u need more info.
    Thank you

  • How do i use multiple threads( very much real time), using JavaFX?

    I'm creating an application, using JavaFX because one can create awesome GUI using JavaFX. I need to know how to create real time multiple threads using javafx.
    JavaFX doesn't support creation of multiple threads, but i think there is another way of doing it. I need it work in real time as my application works with an hardware (wacom intous 3 tablet), and i need mutiple threads to get all the parameters from the stylus of the tablet simultaneously...
    any code which will help me out or explaination on how to go about this is appreciated...
    Help required quickly...

    See example at
    [http://jfxstudio.wordpress.com/2009/06/09/asynchronous-operations-in-javafx/|http://jfxstudio.wordpress.com/2009/06/09/asynchronous-operations-in-javafx/]

  • How to stop a thread in java 5 for a real-time system??

    Hi,
    In Java 5, thread.stop is deprecated. We need to modify some variable to indicate that the target thread should stop running. "The target thread should check this variable regularly........"
    We are currently developing a simple real-time operating system using the basic features of java. It is running on top of SunSPOT (JAVA5). My question is I need to stop a thread in a scheduler loop of a real-time operating system. We cannot check it regularly. Otherwise it is not a real-time operating system.Is there anyway else to do this?
    Thanks,
    Qing

    That's rather hard to answer. You say you are writing in Java, but you're writing an OS. BUt what's executing the Java - you need a VM of some form. Is that a real-time or non-real-time VM? How it does things ultimately controls how effectively you can do what you are trying to do.
    The simple answer is that Thread.stop() is deprecated and that it will not stop a thread in all situations anyway - eg trying to acquire a monitor lock. But all Thread.stop does is make an exception pending on the thread, and as the thread executes it polls to see if there is an exception pending. When this happens depends on the VM: it might be after every bytecode; it might be when the thread transitions states (eg thread-in-java, thread-in-vm, thread-in-native) - it all depends. But it is polling - just the same as checking that variable - it's just implicit in the VM rather than explicitly in your code.**
    The RTSJ adds a new form of asynchronous termination requests through the AsynchronouslyInterruptedException (AIE). But it only affects code that explicitly declares that it expects AIE to occur, and there are also deferred sections where the AIE will remain pending. Writing code that can handle AIE is very difficult because the normal Java rules are "bent" and finally blocks do not get executed inside AIE-enabled code.
    So as I said this is very hard to answer, it really depends what exactly you are running on and what you are trying to achieve.
    ** Note: some people used bytecode rewriting tools to add this kind of polling as a post-processing step. Perhaps that is something you might be able to do too.
    David Holmes

  • Real-time support in Java SE Embedded

    From what I understand, Java SE Embedded is a slimmed down SE JDK/JRE compiled to support different typical embedded processors, ARM etc.
    Does Java SE Embedded provide any additional support for handling realtime situations? For example, are there any JVM modifications to guarantee response times and execution times for time critical scenarios?
    The reason for asking is that I know a while back there was a specific Real Time Java release - did any of this technology get rolled into the new SE Embedded?
    Thanks.

    Yes, Java3D or an openGL toolkit such as JOGL or LWJGL is probably the best choice. Bearing in mind that Java3D is on the way out you may want to look at using OpenGL although there is much talk over at javagaming.org of putting together an open-source Java3D-like scenegraph renderer for the openGL toolkits and the guy working on it is very good indeed so it will probably happen. Assuming that it does, time spent learning Java3D is not wasted time.
    If you are interested in Java3D download the API and tutorials and see how you get on with it. I put together a fairly gaming oriented tutorial here http://www.newview.co.uk/e/tutorials/java3d/index.jsp which may help you get started.
    If you are serious about writing games in Java you will want to get over to the javagaming forums http://www.javagaming.org/cgi-bin/JGNetForums/YaBB.cgi because that is where you can generally find the best advice. There are a number of old threads on this question there and you will probably find it well worth your while to look through the older posts on it.

  • InDesign auto-size frame feature not working in real time in InCopy why?

    We have just recently migrated from InCopy CS4 to CS6 to take advantage of the new features like the auto resize frame option, however it now seems that this feature is not working in real-time.
    Basically the steps are needed to be complete before it auto-resizes the frame in InCopy, we use both layout and assignment based workflows:
    1. From an ID document ('doc1'), exported a 'layer' to IC, certain frames are set to auto-size in height using the text frame options. So that editorial can review and make changes to text and the frame should resize according to the specifications set. IC stories are saved to a folder located in a content folder inside the top issue working folder.
    2. Editorial opens the IC software, then opens the ID 'doc1'. Check’s out correct .icml file and makes edits to frame with auto resize.
    3. Frame does not resize according to text frame set options and InCopy file does not respond in same fashion as InDesign.
    4. Change only occurs when InCopy file is closed and updated in InDesign, which is frustrating as this feature would save huge amounts of time serving editorial requests.
    Has anybody experienced this type of workflow problem? If anyone can provide mw with some pointers as to what can I do to get this to update in real time perhaps run a script? Update file in InCopy and refresh I will very much appreciate their assistance. I have run out of ideas.
    Thanks!

    We've had all sorts of problems with this feature as it should've worked straight out of the box but after some testing we have found that its something to do with the way you open the actual file in InCopy. Which is far from ideal and should have been UAT by Adobe before release.
    This will not work consistently work if you open the designed .indd or .icma file in InCopy using the file open command within the application.
    If you need this to work, the InCopy user has to open the .indd or .icma file by dragging and droping from OS windows explorer into InCopy, we use Windows 7 acrros all the teams. Check out .icml files add text changes to the set auto resized frames, this process will expand/collapse the frames to fit the content but as you have to use the drag and drop method to open the .indd and .icma file, 2 users cannot access the same time doc at the same time (a serious flaw in the programming architecture!) which stops people working in parallel. Save changes, check in .icml content and close .indd or .icma.
    However the flaw comes in if you then open the .indd and .icma file in InCopy using the file open command within the application, before an InDesign user opens and saves the file (updates the design). The corrections added in the previous stage above, will not show the frames expanded/collapsed to take in the added text and instead show over matter???? The only way around this is to ask an InDesign user to open, update and save the design that way the InCopy user will see the same result no matter what file open method they use.
    Another suggestion is to design the page to have some of the auto resize frames anchored within main body of text and that way the frames will expland/collapse when checking out and editing the content. However, this does cause issues with InDesign crashing etc. so we have tried to stop this method within the working group.
    Have you experienced other more serious issues with InDesign crashing consistently when re-importing .icml files? See other forums here:
    http://forums.adobe.com/thread/671820?start=80&tstart=0
    http://forums.adobe.com/message/5045608#5045608
    As far as we can see this is a major flaw in how the application(s) work, we have an enterprise agreement with Adobe and purchase a large volume of Adobe products globally but so far the technical support team are unable to find a solution to this and I'm not hopeful of any resolution soon even with the new release of Adobe CC.

  • Problem with DAQmx and Real Time PCI-7041/6040E.

    Problem with DAQmx and Real Time PCI-7041/6040E.
    I have a problem with the Real Time card PCI-7041/6040E, I think it is properly installed because my software run with the traditional NI-DAQ. When I try to use the new DAQmx to acquire one signal, Labview doesn't see any device for de DAQ card 6040E.
    Information, I work on Windows XP and LabView v7.0.0 (NIDAQ RT v7.0.0, NI-Serial RT v2.5.2, NI-VISA v3.0.1 and NI-Watchdog v2.0.0).
    Could Labview RT run with new DAQmx ?
    What can I do to use DAQmx with PCI-7041/6040E?
    Thanks for your help !

    Hello,
    I refer to your posts because i am using the PCI 7041/6040E card as
    well but without any success to make it work. The problem I have
    already described in the following thread:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=120198
    Would be nice if you had a look on it, maybe you can help me. BTW, the
    thread starts with a problem of someone else, the difficulties I
    encountered are to be found a little bit to the bottom of the thread's
    page.
    Thank you!
    Dirk Völlger
    Darmstadt
    Message Edited by ratschnowski on 07-28-2005 07:14 AM

  • How to count occurences of a certain string in incoming real-time data? Also displaying RTC data. Current VI included

    I use LabView student Express 7 on a Windows XP system.
    Time-frame: we are doing final integrations for our balloon experiment today. We just got told that the press wants to view real-time data, which we haven't programmed for. I need help to get a working VI at the latest by 25.02.2004 before 0800(morning) (GMT+1).
    Note on license
    It is a student balloon flight, and the data will not be used in scientific work, so the I am not breaking any license agreements (I hope).
    Problem synopsis:
    The balloon continually transmits data at 9600baud. The data is a semi-repeating header followed by a constant lenght data-package arranged like this:
    BEXUS[h][m][s]BEXUS[h][m][s]
    [Raw binary data, 7channels*8sub-channels*8bits]
    What the groundstation is doing right now:
    Take all incomming data and save (append) the data to a file without any data-handling. (We figured we would go post-processing).
    What I need to change in less than 24 hours:
    - Add a "package" counter
    - Add a display of the clock data (RTC)
    How I planned to implement the changes:
    -RTC display:
    The RTC data is in BCD format, since that means that if you look at the data as hex numbers, you get the hours and minutes and seconds out in "clear text". That is 12 hours is 0x12hex. I figured that I can do a match pattern BEXUS and pass the "after substring" to another match pattern BEXUS from which I feed the "before substring" to a type-cast VI (casting string to u8) and displaying that, which should give me a display of "123000" for the time 12:30:00... I couldn't get it to work at all when I tried out the supplied "beta" vi.
    - Package counter:
    Counting how many BEXUS that gets detected and dividing by 2. I don't know how to do this. I've looked on the forum (a good thread on the problem: "how do I count the number of *'s in a string") but these use either loops or arrays... and I'm not sure how this works when I'm getting the data in at realtime. I cant make an array and then count it, since then the array would grow fast and possibly interfere with saving of the data??? Saving the data is critical.. without that file we cant do post-processing.
    Since my time is so limited (I'm not even supposed to do the groundstation software but they called on me in the last minute because no-one else had time/wanted too/could do it) I hope that you could make an exception and provide me with working VI's (based on the one I have attached) so that I can show something to the press! (Free comercial for NI!! Since the student version shows the National Instruments water-mark on all VI's!!! Possible TV time!!)
    Thanks!
    PS: even if you are to late (after 25) post anyway!
    Why:
    -I can learn from it
    -the launch might be delayed due to weather conditions
    -others might find it amusing!
    Thanks again!
    Attachments:
    BexusII_groundstation.vi ‏46 KB

    I have a valid example data file attached to this thread.
    If you open BEXTEST.bin in a hex-editor of your choice, you'll see the BEXUS as 42 45 58 55 53 and then the time as 00 28 09 etc.
    I couldn't get Joe Guo's VI to work. It doesn't count packages correctly, and the time is not displayed correctly either.
    The file was saved using a straight save to file VI.
    The data is from actual launching area tests performed a few mintues ago. The time displayed is "On time" e.g. how long the gondola has been powered up.
    I have a spare T-junction, so I can hook into the balloon real-time data as we fly, in case anyone care to see if they can figure out why the latest version of Joe Guo's program is not displaying correctly.
    I will monitor this
    thread during and after flight to see if anyone can make it in time!
    Thanks for the great effort!!
    Attachments:
    bextest.bin ‏53 KB

  • Error -1074384569; NI-XNET: (Hex 0xBFF63147) The database information on the real-time system has been created with an older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your database to the real-time system.

    Hello
    I have a VeriStand-Project (VSP) created with my Laptop-Host (LTH) which works with my PXI, while
    deploying it from my LTH. Then I have installed the whole NI enviroment for PXI and VeriStand use on a
    industrial PC (iPC). I have tried to deploy my VSP from the iPC to the PXI but the following error
    message arose on my iPC:
    The VeriStand Gateway encountered an error while deploying the System Definition file.
    Details: Error -1074384569 occurred at Project Window.lvlibroject Window.vi >> Project
    Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
    Possible reason(s):
    NI-XNET:  (Hex 0xBFF63147) The database information on the real-time system has been created with an
    older NI-XNET version. This version is no longer supported. To correct this error, re-deploy your
    database to the real-time system. ========================= NI VeriStand:  NI VeriStand
    Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI
    VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> NI VeriStand Engine.lvlib:Initialize
    Inline Custom Devices.vi >> Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * • Unloading System
    Definition file... • Connection with target Controller has been lost.
    The software versions of the NI products (MAX/My System/Software) between my LTH and the iPC are
    almost the same. The only differences are:
    1. LabView Run-Time 2009 SP1 (64-bit); is installed on LTH but missing on iPC. The iPC has a 32-bit system.
    2. LabView Run-Time 2012 f3; is installed on LTH but missing on iPC.
    3. NI-DAQmx ADE Support 9.3.5; something strage on the LTH, because normally I am using NI-DAQmx 9.5.5 and all other DAQmx products on my LTH are 9.5.5. That means NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5.. On the iPC side all three products are 9.5.5.. That means NI-DAQmx ADE Support 9.5.5, NI-DAQmx Device Driver 9.5.5 and NI-DAQmx Configuration 9.5.5..
    4. Traditional NI-DAQ 7.4.4; The iPC has this SW installed. On the LTH this SW is missing.
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    1. LabVIEW Real-Time 11.0.1
    2. NI-488.2 RT 3.0.0
    3. NI_CAN 2.7.3
    Unfortunately the above stated problem still arose.
    What can I do to fix this problem?
    I found a hint on http://www.labviewforum.de/Thread-XNET-CAN-die-ersten-Gehversuche.
    There it is written to deploy the dbc file againt.
    If this is a good hint, so how do I deploy a dbc file?
    I would feel very pleased if somebody could help me! :-)
    Best regards
    Lukas Nowak

    Hi Lukas,
    I think the problem is caused by differenet drivers for the CAN communication.
    NI provides two driver for CAN: NI-CAN and NI-XNET.
    NI-CAN is the outdated driver which is not longer used by new hardware. NI replaced the NI-CAN driver with NI-XNET some years ago, which supports CAN, LIN and the FLEXRAY communication protocol.
    You wrote:
    In order to fix this problem I have formatted my PXI and I have installed the following SW from the iPC:
    3. NI_CAN 2.7.3
    NI CAN is the outdated driver. I think that you should try to install NI-XNET instead of NI-CAN on your PXI-System, to get rid of the error message.
    Regards, stephan

  • Scheduling in Real-Time Java

    Hello,
    I have some questions concerning how scheduling in fact is intended to be performed in a RTSJ based Real-Time Java System.
    As far as I understood, RTSJ requires pre-emptive priority-based dispatching of Schedulable objects.
    This means that the execution eligibility of a schedulable entity is mainly its priority.
    That causality is reflected within the specification with the (one-and-only specified) PriorityScheduler, which is the base scheduler for actual Real-Time Java applications.
    Furthermore, there is a notion of extensibility of that PriorityScheduler described by RTSJ,
    in order to provide further scheduling mechanims and feasibility analysis algorithms (please correct me if there are any wrong assumptions).
    This is the point, where everything becomes really weird to me ...
    As far as I could investigate, in most RTSJ implementations based on a POSIX compliant system underneath (like Java RTS does on RTLinux or Solaris)
    each (Realtime)JavaThread is mapped 1-to-1 to a light-weight process on the operating system level (e.g. a pthread).
    So far, we have no "green threads" within the JVM, but real LWPs scheduled by the OS.
    The difference between "normal" and "real-time" threads lies in the scheduling policy used for that mapping.
    While normal Java threads probably map to SCHED_RR or SCHED_OTHER, real-time threads are scheduled by the OS via the SCHED_FIFO policy in order to achieve a better real-time predictability.
    However, the OS's scheduling mechanisms automatically make decisions about the right positioning of a LWP within an appropriate run-queue, due to thread's preemption, blocking or release (even dynamic priority changes) activities and its scheduling policy.
    That's exactly why I ask myself, what is the need of a Scheduler representation within a JVM?
    Furthermore, how a Scheduler extension is able to incorporate with the threading model and the underlying scheduling mechanisms of the OS?
    One point could be a situation where a real-time JVM runs directly on top of the bare hardware and has to perform scheduling decisions on its own.
    The Scheduler API could then be understood as an extension mechanism of a kind of JVM-intern scheduler (e.g. the PriorityScheduler), thereby allowing scheduling decisions to be made even in user defined Scheduler implementations.
    A similar use case for an OS-based scenario could be if a JVM is intended to pass scheduling/threading routines of the underlying OS (eg. a part of the POSIX API)
    up to the Java application level in order to provide the opportunity for a kind of application defined scheduling (like e.g. in the MaRTE OS).
    Unfortunatelly, after introspecting the RTSJ API, both conclusions seem to me to be wrong.
    So far, Java RTS seems not to provide any mechanism for reaction on scheduling events/decisions, neither intra-JVM nor from an underlying OS outside of the JVM.
    Furthermore, there is no notion for incorporation with the base PriorityScheduler for making extended scheduling decisions.
    I hope this post could bring me more light into the scheduling idea behind Real-Time Java systems as intnded by the RTSJ.
    Sincerely,
    Vladimir

    Vladimir.Nikolov wrote:
    That means, that a scheduling policy different to PriorityScheduler can only be assigned to a Schedulable object if it is supported by the OS and the JVM?Well it has to be supported by that implementation of the RTSJ. Howe that is done - ie whether it requires OS support - depends on that VM, the OS and the actual scheduling policy.
    It also seems that at the current state of the art the PriorityScheduler representative within the JVM is intended only for manipulating a feasibility set of Schedulable objects (supporting online feasibility analysis)?
    However, since user-defined scheduling is not intended by the specification, applications have to rely on the feasibility analysis based on the underlying/supported scheduling mechanisms.
    Thus, in the current Java RTS implementation this would be the "default" feasibility mechanism based on the PriorityScheduler.
    Unfortunatelly I can not figure out the need of maintaining a feasibility set, since feasibility, as specified for the PriorityScheduler, is a simple asumption that we have "an adequatly fast machine to handle the periodic and sporadic load"?
    I actually assumed that feasibility analysis performs real cost budgeting taking into account deadlines and so on, but it seems to be specified simply to make a negative statement always when aperiodic tasks are involved ?The RTSJ scheduling framework provides support for feasibility analysis by defining the admission control methods eg setXXXIfFeasible. However the RTSJ does not, and can not, mandate any non-trivial feasibility algorithm because in simple terms no such general algorithms exist. There are some static feasibility tests in the literature and you could apply those offline to your application (assuming you can find the values of all the "magic" numbers in such formulae - which is generally not the case). At present the RTSJ doesn't support even these simple feasibility tests because blocking-time is not recorded in the release parameters - something being addressed in RTSJ 1.1. In any case unless there is a pluggable framework for feasibility tests it would be a waste of time for VMs to implement them given they can (more) easily be done offline using other tools.
    Only dynamic admission control is really of interest and as far as I am aware no such general dynamic admission control policies exist (anything you find in the literature is very context specific). So it is left up to an implementation as to whether they try and define dynamic admission control algorithms - and so far none have because they don't have one.
    In "Getting More Flexible Scheduling in the RTSJ" Wellings and Zerzelidis propose some (more or less) "minor" extensions to the RTSJ API in order to enable hierarchical scheduling within the fixed priority framework.
    Since Andy Wellings is a member of the RTSJ Technical Interpretation Committee, is there any attempt to evolve the specification in a similar direction as described above, in order to support more flexible scheduling mechanisms and feasibility analysis?If there is ever a RTSJ 2.0 then more sophisticated scheduling support is one of the items on the wishlist. But there's no guarantee there ever will be a RTSJ 2.0
    David Holmes

  • Real-Time Application doesn't run; source code works fine

    The short version is I'm programming a cRIO and apparently the RT code isn't running after being deployed and I can't figure out why. This is further complicated that I'm doing all this remotely and I don't have direct access to the unit since I'm 500 miles away. I'm working through a couple of other guys who know some LabVIEW, but neither works at the site so they have to explicitely travel out there every time I have a bright idea.
    I was out there a few weeks ago. During this time I created a simple cRIO code, since I'm new to cRIO, that allowed the user to move a control and change a graph. It worked fine, but I should note it did not have an FPGA component. After that I worked on the real code, which reads some sensors, displays the results on a UI and logs the results. This did have FPGA. I used it in the LabVIEW environment and it worked fine, but I ran out of time before I could complete a release version and deploy the RT as a compiled application. I sent them the release version later, my contact deployed it but got network stream errors when running the UI.
    After hours of looking at network problems and sending over debug versions, I tried creating a log on the RT level so I could see what was going on. The log doesn't even open, even if it's the first command in the code. I pored through the forums and found http://forums.ni.com/t5/LabVIEW/cRIO-Troubleshooting-creation-and-deployment-of-startup/td-p/1956475... which took me in a new direction.
    I had my contact use the RT debug console and when he pulls up the RT front panel, it shows a broken run arrow. He clicks it and nothing happens -- no running, no bug list. If he pulls up the bug list manually, it's empty. Again the RT works fine if you run it through LabVIEW and not as a compiled real-time application. He also noticed that the Open FPGA VI was grayed out on the block diagram. No other icons are.
    So the problem appears to be that the compiled RT application is getting some kind of error but not telling me what it is, and it seems to be related to opening the FPGA. I've recompiled the FPGA and RT. I've had him recompile the RT himself, but not the FPGA because it would take hours. He's downloading everything correctly to the cRIO. The RT is set to run automatically. He's rebooting the cRIO every time he deploys the RT. They have LabVIEW on a computer there but it doesn't have the right drivers to run the code from the LV environment. I'm resisting having them install the dirvers because downloading big files is complicated there due to security restrictions and a lousy network connection at a remote site. Besides that doesn't solve the problem of the RT executable not running the same as the source code, which according to the thread above appears to be a thing.
    The latest thing I'm trying is that I sent him instructions for how to build a source distribution from the project I sent and try deploying that to the cRIO. Even if that works I'm not sure that's an acceptable solution because I assume running the VI rather than the EXE is slower, and they need speed on this project.
    I simply have no idea where to go from here. I probably need to get direct acess to the cRIO and I might be able to convince them to ship it to me so I can figure this out, but I'm not sure where I'd even start other than the standard voodoo debugging of "try stuff at random until something works". I'm open to suggestions if anyone has managed to solve this before.
    Code snippet of the first part of the project is attached, though I'm not sure how much good it will do. I'm really stumped and the client is getting frustrated with how much of the budget is going to fix this.
    Solved!
    Go to Solution.
    Attachments:
    RTMainSnippet.png ‏623 KB

    Have you checked the cRIO error log? Usually I'd access it through the LabVIEW project (right-click on the target, don't remember the exact menu options and I don't have the RT toolkit installed on this machine to check), but it must be stored somewhere on the cRIO as well, although I don't know if it's in a human-readable format.
    Which cRIO are you using? What exactly do you mean by "debug console"? (This may be related to the cRIO - the newer ones have video out, although I don't know if that's what you're referring to.) With a broken run arrow, you won't get an error list unless you're running in the development environment.
    Have you confirmed that the software installed on the cRIO matches the version you're using for development, including patch level? Get someone to connect to the cRIO with Measurement and Automation Explorer, and get a list of the software installed on the cRIO.
    Sounds like the ability to connect with a remote debugger would be helpful here, if you can get the right drivers installed on the machine with LabVIEW that's connected to the cRIO. Make sure all driver versions match what you're using. Any chance you could then do a remote desktop connection from your work site to the remote LabVIEW machine?

  • Fico interview questions and Real time tickets with resoving details

    MODERATOR:  Do not post (or request) email address or links to copyrighted or confidential information on these forums.  If you do, the thread will be LOCKED and all points UNASSIGNED.
    hi sap gurus
                    i have done sap-fico iam in job trails. can any body help me    Fico interview questions and Real time tickets with resoving details
    regards
    prasad.v
    Edited by: chinna prasad on Jun 5, 2008 4:10 PM

    Hello Prasad,
    Before attending interviews.....First you need to understand general things like CV writing, projects, sub modules etc., you should be gain knowledge on these concepts then you can move further.
    1. CV 2.Projects 3.your strenths in sap (reading..reading...reading....practice...practice...practice)
    2.you please interact with your friends who is on trails, then you can get more information like interview process, methodology, technical etc.,
    I am sending some real time interview tech questions which will useful for you.
    Questions:
    1.When tickets are raised by end users who will give priority? After resolve the tickets who will close the status?
    2.In real time at a time how many normal periods, special periods, MM periods we can open?
    3.What is client dependant & Independent?
    4.How to transport configuration settings from one client to another client or production client, which tools we can use for transport?
    5.Why we donu2019t assign business area to company code?
    6.What is the difference between General GL A/c, Control A/c, Reconciliation A/c & Offsetting A/c?
    Answers:
    1.The priority is generally decided by the Coordinator on the client side. After tickets are resolved, they will have to be closed by the coordinator on the customer site
    2. In FI as many as you wants. In MM only 2 (current month + previous
    3.Certain tables and customizations made in one client will affect the other clients also - then it is cross client i.e, client dependent. While if the changes made in one client has no impact on the other client - it is said to be client independent
    4.Transports from one server to the other can be made with the help of transport requests. When a configuration is done the system generates a request number. First release the task and then release the request. Use TC-SE10 / SE09, SE09: workbench transport; SE10: customizing transport. But currently no such difference actually exists.
    5.because in case of multiple company codes, same business area can be used across company codes. Business area is cross company code, means it is not confined to one company code thatu2019s why we don't assign BA to any of the company codes. It is client dependant, not company code dependant. We can pass values from one company code to any of the BA in that client.
    6.General GL Account are those used for standard posting like for example Income and Expenses Accounts
    - Control Account are basically used for reconciliation between modules like FI and CO, to ensure that both the modules are in sync.
    - Reconciliation Account are those specific covering ADK (A-Assets, D-Customer, K-Vendor). For example a Customer Master would be mapped to a Bills Receivable Reconciliation Account and any transaction that needs to be posted are done against the customer code.
    - Offsetting Account are used for variety of reasons and few examples are Intercompany Postings, at the time of Implementation when TB and Balance sheet are uploaded would be offsetted against a dummy account.
    All the best.....dont forget and pl assign points if useful and if u have any querries pl revert back
    thanks
    Anil

Maybe you are looking for

  • 11.5.10 : LOT나 SERIAL CONTROL ITEM을 ROI 통해 RECEIPT 하는 방법은?

    제품 : MFG_INV 작성날짜 : 2006-05-18 11.5.10: LOT나 SERIAL CONTROL ITEM을 ROI 통해 RECEIPT 하는 방법은? ============================================================== PURPOSE Receiving Open Interface(ROI)에서 Lot나 Serial 정보를 위해 사용하는 interface tables은 무엇인지 알아본다. Expla

  • How to open multiple files on one layer

    hi there, I have a fairly simple problem and I browsed through all the different FAQs to find it but nothing came up. In any case, my question is how do you select multiple files (in this case PNGs) and open them as individual layers on one file inst

  • Spreadsheet to array memory problems

    I'm trying to read a large .csv file (329 MB) and display a user selected column of data on a graph.  I have a standalone executable that does this wonderfully, however, I cannot contact the developer of this application to ask questions.  I just hav

  • Optimizing for different web browsers? Help

    Hi, I have a spry horizontal nav bar at the top of my page. I originally made the page viewing it using Chrome. When I look at it in IE, the spry bar is always bigger, covers up its container border. I cant seem to come to a compromise between the 2

  • "Unable to connect to server"  I have wifi connection but I'm getting this error when I try to purchase an app. Why?

    "Unable to connect to server"  I have wifi connection but I'm getting this error when I try to purchase an app. Why? If anyone knows can you please help me thank you in advance. :-(