Using a seperate thread to control motors

Hi am new to Java and am struggling with a probelm.
The application is to control 4 motors connected to the parallel port. When the user presses a button the motor is set to a certain speed (byte output to port). Once the button is released the port outputs to stop the motors, i also have it working so multiple motors can be driven at the same time (multiple buttons held down) i have the code working ok, but at present the program just outputs a byte of data when its worked out what buttons are pressed/released.
The problem is i want to drive one of the motors using a crude form of PWM (output an 'on' byte, wait 1 second, output an 'off' byte, wait one second, ect)
This is clearly going to have to be performed in a loop that is basically an infinite loop untill the key is released. However the program also need to be listening for other key inputs to turn on other motors.
I think the best way to do it is to create a thread for the PWM that sleeps, allowing the program to do other things, and breaks out when it recieves an interrupt (triggered by another key press), however i am have major difficultly converting the code. at present the code looks like this:
private void DebugKeyReleased(java.awt.event.KeyEvent evt) {                                 
int c;
c = evt.getKeyCode();
switch (c)
case 83:     Control(100);
               break;
     case 68:     Control(80);
               break;
     case 65:     Control(40);
               break;
     case 87:     Control(20);
               break;
private void DebugKeyPressed(java.awt.event.KeyEvent evt) {                                
int c;
c = evt.getKeyCode();
switch (c)
case 83:     Control(1);
               break;
case 68:     Control(8);
               break;
case 65:     Control(4);
               break;
case 87:     Control(2);
               break;
private void Control(int direction){
switch (direction)
     case 1:      forwards = 1;
               break;
     case 100:     forwards = 0;
break;
     case 2: backwards = 1;
               break;
     case 20: backwards = 0;
break;
     case 4:          right = 1;
               break;
     case 40: right = 0;
break;
     case 8:          left = 1;
               break;
     case 80:     left = 0;
break;
     global_direction = forwards*1+(backwards*2)+(left*8)+(right*4);
if(global_direction == 0)
moving = "Stopped";
short stop = 255;
lpt.output(Addr,stop);
     else if(global_direction == 1)
moving = "Backwards";
short Back = 239;
lpt.output(Addr,Back);
ECT, there are alot more if statements that account for all possibilities.
i want the backwards and forwards cases to enter loops that output data on and off for certain time periods.
can anybody suggest the best way to convert the code?
thanks for any info / help
cheers John

A finite state machine is an abstraction in which you have a finite collection of states, and a set of transitions between states. One state is active at a time. So a traffic light might have red, green, and yellow states, and transitions between green to yellow, yellow to red, and red to green. There can be multiple transitions out of a single state.
So for your app, each state might be a kind of signal or a kind of sequences of signals set to the motors, and the transitions would be taken when you need to change the signals. You could send the key events and time events to whatever state currently is active. That active state would then decide what transition to take based on the event.
I'm sure there will be an entry in Wikipedia about it.
If the code works, that's great, but (1) it's obviously not working entirely because you're posting here, and (2) code like this can get hairy very fast and thus hard to maintain and thus bug-prone. So if you can simplify it, it will only help.
If you want to use a thread, you can. You basically have that now. But instead of Thread.interruped as you have it now, you could just have the key press event change the value of the flag to one that will stop the loop.
(for example, you'd have a "running" boolean field, a "while(running) {" in your run() method, an the event can change the value of "running" from true to false to cause the thread to stop.

Similar Messages

  • Use Kensington trackball mouse to control motors

    Hello experts,
    I am writing a Labview program using a Kensington expert trackball mouse to control two motors. Here is the mouse that I am using :
    http://www.kensington.com/kensington/us/us/p/1444/K64325/expert-mouse%C2%AE.aspx
    I would like to use the motion of the trackball to rotate the first motor: when I move the trackball left (or right), the motor will rotate left (or right); and the motion of the scroll ring (left/right) to control the second motor (left/ right). Besides, I would like to use the four click buttons as different ON/OFF buttons.
    I do not want to use the trackball as a mouse, it means that I do not want the cursor of my computer moves when I move the trackball/rotate the scrolling ring!
    So is there any solution that make only Labview "see" the trackball mouse motion, so that I can control my motors, without affecting the cursor function/position  of the computer?
    Thank you for your help.

    I haven't done something like this myself, but like Bob said, once you plug the mouse in, Windows automatically recognizes it as a mouse. You might want to read these on how you can prevent that from happening and get the data yourself. If I understand correctly, you will need to parse and interpet all the raw data yourself:
    http://forums.ni.com/t5/LabVIEW/Nugget-1-of-n-GEtting-started-with-USB-communication-via-VISA/m-p/74...
    http://forums.ni.com/t5/LabVIEW/Nugget-2-of-n-USB-Control-transfers-using-VISA/m-p/757011
    http://forums.ni.com/t5/LabVIEW/USB-Nugget-3-of-n-Unifying-the-multitude-of-USB-driver/m-p/1814964/
    Try to take over the world!

  • Establishment of XA "Thread of Control" in a Tuxedo application

    Hello there,
    I am assigned the task of developing an XA compliant resource manager so that a client can use the C interface to our JMS messaging system from a Tuxedo application and have the application's transactions managed by it. The query I have here is abbout establishing the "thread of control" in a Tuxedo context. I'll set out my understanding and the particular queries that I have in the hope that you can confirm whether my understanding is correct and maybe point me in the right direction.
    The XA Specification clearly sets out the requirements for
    successful distributed transaction processing, and the important roles within this for the three participants: the application programme (AP), the resource manager (RM) and the transaction manager (TM). The key concept in XA is the Thread of Control as described in section 2.2.8 of
    the specification. Here is the paragraph describing the pivotal role that identification of thread of control has in transaction coordination:
    <quot>The thread concept is central to the TM's coordination on RMs. APs call RMs to request work
    while TMs call RMs to delineate transaction branches. The way the RM knows that a given work request pertains to a given branch is that the AP and the TM both call it from the same thread of control. For example, an AP thread calls the TM to declare the start of a global
    transaction. The TM records this fact and informs RMs. After the AP regains control it uses the native interface of one or more RMs to do work. The RM receives the calls from the AP and TM in the same thread of control.
    Certain XA routines, therefore, must be called from a particular thread.</quot>
    In developing a RM the key question is what should be used to identify thread of control so that work can be properly assigned to the correct transaction or more specifically XID. The obvious choice here is the thread identifier itself (such as would be returned by
    PRThread* PR_GetCurrentThread(void) when using the Netscape Portable Runtime library).
    As long as AP, RM and TM are all in one process this is not a difficult problem, however many threads may
    be created. It will also work for in our messaging system in the case where branches of the same transaction are executed in separate processes of this type. This is because "transaction assembly" occurs on the "server" when JMS messages are received there. A Message is assigned to a transaction on an individual basis. This also gives us the flexibility to implement various connection pooling mechanisms or use a single connection to transfer messages
    for many different transactions along with messages not participating in an XA transaction at all.
    However, Tuxedo presents a challenge as there cannot be a single thread in this sense as the participants are distributed across several processes. These processes are respectively, client; server and RM; TMS. There are at least two TMS to avoid blocking problems and potentially very many server-RMs. Given this situation how then is it possible for the RM to match up units of work requested by various services with the XIDs that it has been informed of by the TMS? One assumes that a different thread will run in the server/RM process for:
    a) TMS to indicate to RM that a transaction has started, ended, etc., one distinct thread for each of these calls.
    b) service execution, one distinct thread for each call, where there may be many of these making up
    the work of one transaction
    It is obviously preferable from our point of view that our RM should not have to use Tuxedo specific code, but if this is unavoidable then we shall have to live with it.
    BTW in case it is relevant I'm assuming that the RM will not use dynamic registration.
    Thanks for any help,
    Gillian Horne

    Gillian,
    When Tuxedo issues an xa_start() call, the matching xa_end() call will
    always be executed in the same thread of the same process.
    If another xa_start() is executed at a later point for the same transaction,
    that call could be made in a different process, in a different thread of the
    same process, or in the same thread of the same process.
    Tuxedo will call xa_end() with the TMSUSPEND|TMMIGRATE flag pair only for
    certain CORBA transactions. If your application does not use CORBA, then it
    would be acceptable to develop an RM with the TMNOMIGRATE flag set in the RM
    switch. Tuxedo does not use asynchronous XA operations, so you do not ened
    to develop an RM with the TMUSEASYNC flag set.
    The xa_prepare() call for a particular transaction branch can be made in
    different process or thread from the xa_commit() or xa_rollback() call that
    follows it.
    Except in the case of transactions started with the Tuxedo AUTOTRAN feature,
    the xa_prepare() and xa_commit() calls for a particular transaction branch
    will almost always be made in different processes from the processes that
    performed xa_start()/xa_end() calls for that transaction branch.
    There shouldn't be any need to write special RM code for Tuxedo. Popular
    RMs such as Oracle, Informix, DB2, MQ Series, and others have all been able
    to work with Tuxedo, with the former Top End product, with Encina, and with
    other transaction monitors.
    I hope this information is of help in implementing your RM.
    Ed
    <Gillian Horne> wrote in message news:[email protected]...
    Hello there,
    I am assigned the task of developing an XA compliant resource manager so
    that a client can use the C interface to our JMS messaging system from a
    Tuxedo application and have the application's transactions managed by it.
    The query I have here is abbout establishing the "thread of control" in a
    Tuxedo context. I'll set out my understanding and the particular queries
    that I have in the hope that you can confirm whether my understanding is
    correct and maybe point me in the right direction.
    The XA Specification clearly sets out the requirements for
    successful distributed transaction processing, and the important roles
    within this for the three participants: the application programme (AP), the
    resource manager (RM) and the transaction manager (TM). The key concept in
    XA is the Thread of Control as described in section 2.2.8 of
    the specification. Here is the paragraph describing the pivotal role that
    identification of thread of control has in transaction coordination:
    <quot>The thread concept is central to the TM's coordination on RMs. APs
    call RMs to request work
    while TMs call RMs to delineate transaction branches. The way the RM knows
    that a given work request pertains to a given branch is that the AP and the
    TM both call it from the same thread of control. For example, an AP
    thread calls the TM to declare the start of a global
    transaction. The TM records this fact and informs RMs. After the AP regains
    control it uses the native interface of one or more RMs to do work. The RM
    receives the calls from the AP and TM in the same thread of control.
    Certain XA routines, therefore, must be called from a particular
    thread.</quot>
    In developing a RM the key question is what should be used to identify
    thread of control so that work can be properly assigned to the correct
    transaction or more specifically XID. The obvious choice here is the thread
    identifier itself (such as would be returned by
    PRThread* PR_GetCurrentThread(void) when using the Netscape Portable Runtime
    library).
    As long as AP, RM and TM are all in one process this is not a difficult
    problem, however many threads may
    be created. It will also work for in our messaging system in the case where
    branches of the same transaction are executed in separate processes of this
    type. This is because "transaction assembly" occurs on the "server" when JMS
    messages are received there. A Message is assigned to a transaction on an
    individual basis. This also gives us the flexibility to implement various
    connection pooling mechanisms or use a single connection to transfer
    messages
    for many different transactions along with messages not participating in an
    XA transaction at all.
    However, Tuxedo presents a challenge as there cannot be a single thread in
    this sense as the participants are distributed across several processes.
    These processes are respectively, client; server and RM; TMS. There are at
    least two TMS to avoid blocking problems and potentially very many
    server-RMs. Given this situation how then is it possible for the RM to match
    up units of work requested by various services with the XIDs that it has
    been informed of by the TMS? One assumes that a different thread will run in
    the server/RM process for:
    a) TMS to indicate to RM that a transaction has started, ended, etc., one
    distinct thread for each of these calls.
    b) service execution, one distinct thread for each call, where there may be
    many of these making up
    the work of one transaction
    It is obviously preferable from our point of view that our RM should not
    have to use Tuxedo specific code, but if this is unavoidable then we shall
    have to live with it.
    BTW in case it is relevant I'm assuming that the RM will not use dynamic
    registration.
    Thanks for any help,
    Gillian Horne

  • Control motor direction using digital control

    Dear all,
    I am trying to control motor direction (forward and reverse) based on condition. I am reading data from two load cell left and right. 
    Currently I am using radio button to control motor direction when stress read from load cell reaches at certain point. For example If I have a fixed cut off value for forward direction +20 as soon the value from load cell reach to value of +20 then motor start moving in another direction (reverse). I tried my best to explain my situation please ask me question if you need further information. I have attached screen shot of my programme. 
    Thanks in advance
    Tariq
    Attachments:
    help.PNG ‏147 KB

    Hi Supreeth;
    Thanks for your reply. I think I solved the bit of problem and use two condition for forward and reverse direction of motors and used and gates to set and rest the conditions. But at one point you can see the broken wire would you please help me with this because error said:
    These cannot be wired together because their data types (numeric, string, array, cluster, etc.) do not match. Show the Context Help window to see what data type is required.
    The type of the source is 1-D array of
    boolean (TRUE or FALSE).
    The type of the sink is boolean (TRUE or FALSE).
    I add the comments.
    Kind Regards
    Tariq
    Attachments:
    help1.png ‏39 KB

  • Can I use SoftMotion to simulate a PID motor control loop using a Solidworks model?

    Hi
    I'm not a labVIEW user yet. But I probably will become one when I can do the following:
    I have a Solidworks model of a complex machine with multiple servo motors. Can I use labVIEW plus SoftMotion to calculate the needed motor forces and aply these forces on the Solidworks model making some parts in the model move and can I get positional feedback from the Solidworks model which I can use in labVIEW to calculate the motor forces again. This way I could use labVIEW to simulate the complete motor control loop including some PID filtering.
    I could find some posts about SoftMotion, but they all seem to handle about SoftMotion in combination with external hardware. But I would like to do a complete software simulation.
    I hope this is possible.

    Hi Melomania
    Solidworks for SoftMotion works in an interesting manner. First SoftMotion runs in labview and plots a trajectory path based off the input from the user. The generated points are controlled by speed, velocity and acceleration. These generated points are sent to SolidWorks where the physics engine takes over. SolidWorks calculates the ammount of force required to move the component the given distance and also if there are any collisions that take place. Basically the whole process is open loop with no PID being implemented. The purpose for the software is to test your motion system for collisions and calculate the required torque for your motors to move and the velocities and accelerations provided. A system prototyped with SoftMotion Solidworks will still need to be tuned when constructed in the real world.
    For your application I would look into Control Design and Simulation Toolkit.
    Thank You
    Eric Reid
    National Instruments
    Motion R&D

  • Problem running putty.exe in a seperate thread

    Hi All - I have an issue when using a new thread to run an external .exe file (Putty in this case)
    When I don't use a new thread Putty will start and stay open and let me do what I need to as normal, however it then hangs the rest of the application so you can't use it until you are finished with Putty - So I thought I would put it in a new thread. I use this method quite a bit in my application and don't have any issues so i'm wondering what I have done wrong here, I call other external .exe files and also start some external Java processes using a new thread and they work OK (using the same method)
    It seems to me that the putty process doesn't seem to give any output and so the thread assumes it has closed and shuts down, or I need to inform the thread to wait and send it a message to clean up when I am finished. If I connect to a host and need to add the RSA key to the cache then Putty will stay open in the new thread until I click OK to save the key, then as soon as I have done that it closes
    Can anyone point me in the right direction?
    Below is some code for working and not working scenarios, the code below has been altered to run from a button click as in my app it's done from a popup menu and I don't think the issue is with the calling function (but I could be wrong)......
    Working:
        private void jbtnTestButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
            try {
                String myPuttyDir;
                File myFile = new File("C:\\Putty\\putty.exe");
                myPuttyDir = myFile.toString();   
                String myPuttyArgs = " -ssh [email protected] -pw PASSWD";
                String myProcStart = myPuttyDir + myPuttyArgs;
                Process proc = Runtime.getRuntime().exec(myProcStart);
                BufferedReader bri = new BufferedReader(new InputStreamReader(proc.getInputStream()));
                BufferedReader bre = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
                String line;
                while ((line = bri.readLine()) != null) {
                    System.out.println(line);
                bri.close();
                while ((line = bre.readLine()) != null) {
                    System.out.println(line);
                bre.close();
                proc.waitFor();
                System.out.println("Putty Closed!");         
                catch (Exception ex)
                    System.out.println("Exception error :"+ex.getMessage());
                    ex.printStackTrace();
           //no issue with this method, putty stays open until I close it and then it prints the closed message and exits cleanly
        }And here is the code with a new thread:
    private void jbtnTestButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
            final Thread t = new Thread() {
                public void run() {
                    try {
                       String myPuttyDir;
                        File myFile = new File("C:\\Putty\\putty.exe");
                        myPuttyDir = myFile.toString();
                        String myPuttyArgs = " -ssh [email protected] -pw PASSWD";
                        String myProcStart = myPuttyDir + myPuttyArgs;
                        Process proc = Runtime.getRuntime().exec(myProcStart);
                        BufferedReader bri = new BufferedReader(new InputStreamReader(proc.getInputStream()));
                        BufferedReader bre = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
                        String line;
                        while ((line = bri.readLine()) != null) {
                            System.out.println(line);
                        bri.close();
                        while ((line = bre.readLine()) != null) {
                            System.out.println(line);
                        bre.close();
                        proc.waitFor();
                        System.out.println("Putty Closed!");
                    } catch (Exception ex) {
                        System.out.println("Exception error :" + ex.getMessage());
                        ex.printStackTrace();
            t.start();//start the thread
            //This method opens Putty for a second, you just see it, and then it closes
    }   Thanks in advance for any help! I'm new to threading in Java having come from a .NET environment and I think I need to listen to the thread somehow but i'm a bit lost......

    Hi Gimbal2 - google is my friend (other search engines are available.....) and I have looked at loads of results but none of them gets close to what i'm looking for, nearly all the telnet/ssh libraries don't do interactive window stuff (although I admit I do want the moon on a stick....)
    The best I looked at so far is Gritty (seems to be base on JSch terminal) but it just can't handle telnet or ANSI formatting and doesn't do VT100 emulation, although the plain SSH terminal is OK and usable
    The rest are SSH/Telnet libraries and I will need to write a terminal emulator and some other stuff to make them do what I need....TBH i'm not good enough a programmer to do that. I just make small apps that make my life at work easier (and also my work mates) i'm not a professional programmer and nothing is for commercial reasons
    I use the Reflections .NET control in my old .NET app and it has absolutely everything built in, all functions of Reflections are callable via native code so it makes life so easy - I was hoping for that kind of solution in Java, because basically i'm lazy!! The reason is that the equipment I connect to uses Telnet and SSH but they aren't 'normal' servers as such, I work in 'comms and each vendor has their own language that you need to use over the Telnet/SSH session so I need a plain terminal emulator that handles XTERM/VT100/VT102, ANSI etc. Reflections did this for me and had a great way to send commands in just about any format and then store results etc
    Anyway - apologies if i've been spamming the forum with stupid questions, I do try to work through google answers before posting here....
    BTW, I tried the google search with SSH terminal and got way more/better results than searching for "Java Telnet" or "Java Terminal Emulator" so am going to have a look at some of those as well, thanks for your help!
    Edited by: Matt_C on Oct 25, 2012 6:07 AM

  • How to use single element as both control as well as indicator in labview

    Hi All,
    I need to use single element for both control and as an indicator.
    I need not want to use its value property os shift register.

    Hi pmg,
                I think this thread will be helpful to you.
               http://forums.ni.com/t5/LabVIEW/Using-a-control-as-both-an-indicator-and-control/td-p/1113158 
    Thanks as kudos only

  • Help! My application uses a Single Thread !

    Hi all !
    I have a web application which performs some long running tasks. This can be easily simulated with:
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              System.out.println("Started Long Running Task!");
              try {
                   Thread.sleep(20000);
              } catch (InterruptedException e) {
                   e.printStackTrace();
              System.out.println("Done");
    In order to deal with Long Running Tasks, I have created a WorkManager with MinThreads 10 and MaxThreads 100
    Then I have assigned the Work Manager to the Web application usign weblogic.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
    <wl-dispatch-policy>WorkManager-0</wl-dispatch-policy>
    </weblogic-web-app>
    However it seems that the Web application uses a SINGLE Thread to reply to the Servlet. In other words issuing n parallel requests the output is:
    Started Long Running Task!
    [20 Seconds Pause]
    Started Long Running Task!
    [20 Seconds Pause]
    Started Long Running Task!
    [20 Seconds Pause]
    Started Long Running Task!
    [20 Seconds Pause]
    My settings are the default Weblogic 12c Server settings, I've just added Weblogic NIO performance libs to the Java's path.
    Is there any setting which allow just 1 Socket for my application ? Maybe it's because I'm using the "unlicensed" (free download) server version ?
    Thanks a lot
    Frank

    You need to create separate Windows user accounts if you want to seperate the behaviour of iTunes for each user. That also means separate iTunes libraries for each user.
    Windows is a multi-user operating system but you are not using it properly. iTunes is not a multi-user application. No application is. You can't expect it to treat different users differently when they are all using the same computer user account.
    Do you understand what I mean?

  • What happens to AM instances used by asynchronous threads

    Hi,
    We have a long running process inside an AM, that calls pl/sql packages. Sometimes, this is causing http connection timeout depending on the volume of data it is processing. While we can increase the timeout, we are exploring other options. One that we're planning to spawn a thread in the backing bean, and invoke the AM method binding inside the thread. And have a polling component on the UI that keeps checking the status of the process. If you guys have done it before, please share your experiences and insights. Please help us with the following questions:
    1) When we spawn a thread that uses an AM instance - will it still be managed by ADF or completely moves out of ADF control ?
    2) In our case we spawn a thread and return control back to the UI. So obviously the http connection / HttpServletResponse will be closed immediately. Does this also trigger ADF to forcefully reclaim the AM ? or ADF considers it as busy and not-passivate/release until thread completes ?
    3) Precisely at what point in time, AM gets released? is it upon closure of http/servlet connection ? or upon completion of am method calls ?
    4) Upon thread completion, do we need to take care of releasing it back to pool or ADF will do it automatically ?
    5) Does ADF transaction management work fine with thread scenarios ?
    4) What happens, If another request comes from the same user? does it get a different am instance to cater that request ? Even if it gets a different am instance, it might represent an invalid state, because the previously initiated process could still be running.
    Your help is greatly appreciated.
    Have a good weekend.
    Thank you
    Srini

    If you spawn a new thread to do work, you should use another application module than the one you use for the UI. The way I do this is to call a method in the am which then spanws the new thread which then gets a new root application module and the thread uses this ma exclusivly. All changes done in the thread are part of the transaction of the am used in the thread. There can't be any communication with the transaction from the am used in the ui. The ui only can react on changes done in tables in the db. The spawned thread uses a semaphore which only allows one execution of the thread until the thread has done its work. Here you have to be careful if your app runs in a cluster environment. In this case the semaphore has to be stored in the db or an a shared file system.
    One other way to do this (more easily) is to implement hte log running process as an asynchronous web service. then you call this service from your UI and let the service do the work. Via the callback you get notified once the service has finished.
    Timo

  • How do I use the Oracle Developer Reporting Control in Visual Basic 6.0?

    I was wondering how to use the Oracle Developer Reporting Control componant in Visual Basic 6.0 to generate reports in Oracle Reports? Any help would be appreciated.

    Hi Rohit,
    Would like to ask you some questions about the oracle report with Visual Basic.
    1. I have a report built in oracle report. Currently there is a Visual Basic program want to pass some parameter to this report. Can Visual Basic program pass the parameter to this oracel report?
    2. Based on yr answer, do i have to installed the oracle report? or just copy and register the Rwsxa60.ocx (i'm using oracle report 6i) in the PC? So can i use this activeX control.
    3. Is this activeX control similar to Crystal report object which can found in VB?
    4. Is there an example/guide on how the Visual Basic pass the parameter to oracel form?
    Your answer will be much appreciated.
    Thanks.
    Regards,
    Hock Leong

  • Do I need to set something when using Dynamic VIs to pass control values to an executable VI

    I am using VI server to pass control information from one VI to another.
    In the development system this works fine.
    How ever once I build the VI's into an executable the values from one of the VIs does not get passed.
    I use the same method in three different applications, 2 of the applications work fine, but one does not.
    The only thing I can think of is that there is something that needs to be set that I did (without realizing) in the first two but not in the third.
    All the Applications run fine.
    The problem that occurs is in the values passed. The same value gets passed everytime this turns out to be what ever the default was prior to running application builder.
    I a
    m currently using 6.02.

    Kandrew wrote:
    > I am using VI server to pass control information from one VI to
    > another.
    > In the development system this works fine.
    > How ever once I build the VI's into an executable the values from one
    > of the VIs does not get passed.
    >
    > I use the same method in three different applications, 2 of the
    > applications work fine, but one does not.
    Are you using Call by Reference or Set Control Value method? The second
    absolutely requires the Front Panel to be present to work properly. The
    LabVIEW application builder wants to remove the Front Panel by default
    if the VI hasn't been configured to show its front panel when called or
    doesn't have at least one Control Property Node in its diagram.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • To run OHS at port 80 using solaris role based access control

    Hi.
    I already know & have done setuid root to ohs/bin/.apachectl to allow ohs to listen to port 80. Now on a new OFM 11.1.1.4 install, I want to use Solaris Role Based Access Control (RBAC) instead. Is it possible? RBAC does work as I can run a home built apache2 httpd at port 80 withOUT suid root.
    On Solaris 10, I enabled oracle uid to run process below port 1024 using RBAC
    /etc/user_attr:
    oracle::::type=normal;defaultpriv=basic,net_privaddr
    Change OHS httpd.conf Listen from port 8888 to port 80.
    However, opmnctl startproc process-type=OHS
    failed as below with nothing showing in the diag logs:
    opmnctl startproc: starting opmn managed processes...
    ================================================================================
    opmn id=truffle:6701
    0 of 1 processes started.
    ias-instance id=asinst_1
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ias-component/process-type/process-set:
    ohs1/OHS/OHS/
    Error
    --> Process (index=1,uid=187636255,pid=25563)
    failed to start a managed process after the maximum retry limit
    Thx,
    Ken

    Just to add my two cents here.
    The commando used on Solaris to assign the right privilege to bind TCP ports < 1024 is:
    # usermod -K defaultpriv=basic,*net_privaddr* <your_user_name>
    Restart the opmnctl daemond.
    After that OHS/Apache user can bind to lower TCP ports.
    Regards.
    Edited by: Tuelho on Oct 9, 2012 6:05 AM

  • How can i use the ACL file to control the access from the other website?

    Hello all~
    My Sun one is 6.1 sp3 on Windows 2003 SE, and I am try to use the ACL file to control the access.
    My ACL file is below:
    version 3.0;
    acl "path=my_path_on_HD";
    deny absolute (all)
    (user = "anyone") and
    (dns = "*.my_site.com");
    deny absolute (all)
    (user = "anyone") and
    (dns = "*.other_site.net");
    Once I add the "deny", anyone include my site is decline for vist the path specify in the ACL file. But if remove the "deny", everyone include other one's website can access the file.
    Can anybody tell me how to make it work?

    I think you've misunderstood what the dns attribute is for. The dns attribute returns the hostname of the client accessing your website, not the hostname of the website that linked to your website.
    For example, when someone using the Comcast ISP goes to a malicious website at example.com that loads images from your website at www.amigoo.net, the dns attribute will be something like "c-1-2-3-4.ca.comcast.net", not "example.com". ACLs are used for authentication and authorization of clients (not the websites those clients chose to visit), and they don't provide the functionality you're looking for.
    If I understand correctly, you want to prevent websites other than amigoo.net from linking to files in your d:/webserver/imat/pics_upload directory. You can achieve this adding the following lines to your obj.conf configuration file:
    <Object ppath="d:/webserver/imat/pics_upload/*">
    <Client referer="*~*amigoo.net">
    PathCheck fn="deny-existence"
    </Client>
    </Object>

  • Can I use a midi console to control GarageBand?

    Hi all,
    I'll start off by saying I've never been a huge audio guy; just know enough to get by. Basically, I recently was given two consoles; Yamaha AW-4416 & Tascam TM-D1000. Both are slightly old, but new in box. At the moment I'm keeping both since I do school shows and such from time to time. They are really both designed around recording; and both also have midi out. Is there a way to use the midi out to plug into my Mac and use one of them to control GarageBand? I.e use the channel faders to control channels in GarageBand. I also have Adobe Audition.
    Thanks

    Is there a way to use the midi out to plug into my Mac and use one of them to control GarageBand? I.e use the channel faders to control channels in GarageBand.
    As far as I know, Bob, Garageband automatically assigns midi CC settings, and there is no way to override these assignments.  So while some of the faders and dials might end up controlling various things, there is no way to, for example, ensure that your controller's volume fader is assigned to CC7. 

  • Use one fpga vi to control two targets

    Hi,
    I have two fpga because I need more than 8 analogue output and analogue input.  I wonder if I can use one fpga vi to control two targets (the two FPGA boards I use are PCI-7833R) so that the outputs can be synchronized.  I think if it's possible it'll be easier to implement the synchronization between while loops,etc.  If it's not possible, how can I interface between between fpga.vi and make the synchronization possible and make two vi's talk to each other?  Thank you very much for your help!
    Thanks,
    Charles

    I have successfully ran the same code on two (2) different FPGA boards. The difference being that the host will use different Aliases to control the FPGA boards,
    Both FPGA Boards MUST be the same type ( I used PXI-7811s). 
    My program consisted of 6 individual communication portals and there was NO synchronization between boards
    Visualize the Solution
    CLA
    LabVIEW, LabVIEW FPGA

Maybe you are looking for

  • Jump from 3.5 to 7.0

    After filling all the gaps from the RSBBS (in 3.5) transanction I do not get any response when in BEx I make de jump by clicking "Go to" the query in 7.0 The problem may be when in 3.5 I make de choice between the report type (in rsbbs transaction) I

  • Upgrade Oracle 9.2.0.5 to Oracle 11g

    Hi, Any one done a upgrade of oracle 9.2.0.5 to 11g R2 ? I have two databases : 1. 9.2.0.5 in RAC mode 2. 9.2.0.7 Any idea how long would if take to upgrade the RAC instance ? I also need to know if PRO*C programs can be directly upgraded to the 11gR

  • Rsproxy.class

    Has anyone created a work around for the Netscape 6.0 Microsoft Remote Scripting Problem? Has anyone reverse engineered this rsproxy.class? or figured a way of signing it? I am aware of JSRS, but I need the synchronous capabilities of MSRS. Microsoft

  • Free Characteristicas

    Hi, In my BEx Explorer report output I have few free charateristics Like (Currently ) <b> Application Bcalendar Date CMarket DProduct Name </b> My report output I need Free Characters should be (I want) DProduct Name Application CMarket Bcalendar Dat

  • How do I capture an image of my screen (s/t MS "print screen)?

    the title says it all