Load controller parameters to FPGA

I'd like to deliver an FPGA solution with functionality that allows the user to change the PI controller values.
What are my options for implementing this?
Ideally I'd use a FPGA 783xR PCI card, but could also use Compact RIO.
Ideally the user would edit a config.txt file on the host PC to set the PI parameters, this file would be read by the FPGA when execution was started via an external digital input (an on/off switch).
I'm could create a .exe labview program that sets the PI values on the FPGA, then add this to the host PC start-up menu.  But I would really like the FPGA to retain the new PI values permanently once changed by the user.  I could deliver the full development software and teach the customer how to set the new PI values as the default personality on the FPGA, but this is expensive and messy.
Can anyone suggest an elegant solution?

Hi bmann2000,
The CompactRIO can function in the capacity of an ethernet enabled FPGA device.
The following steps will enable the CompactRIO FPGA device as FPGA target from your host computer:
1.Follow the steps detailed in the LabVIEW 8 FPGA help to configure the CompactRIO's VISA settings for remote access. 2
2.Start a new project in LabVIEW or open an existing project.
3.Right click on My Computer in the Project and select New.. » Targets and Devices....
4.Select the New Target or Device radio button.
5Since the chassis is on a remote system, LabVIEW cannot auto-detect it. Select the CompactRIO chassis model number from the list. This information can be found on the bottom of the cRIO chassis.
6.Click OK.
7.A new FPGA target will show up under My Computer. Right click on the chassis and select Properties.
In the Resource Field, enter visa://xxx.xxx.xxx.xxx/RIO0::INSTR where xxx.xxx.xxx.xxx is the IP address of the CompactRIO module.
8.Click OK. The FPGA is now ready to be used as if it was installed in the host PC.
Keep in mind that the FPGA is operating over an ethernet link, and therefore will have the assosciated latencies and speed limitations in communicating with the host.
However, you should be able to deliever Host applications that communicate with both the 7833R and cRIO without the need to deliever the FPGA module to you customer.  You would just have to intialize the PI values on the host side and develop your program so that it could change the PI values if you wanted too.  You could also deliver several different Personalities with PI values already set and the user could select between the ones they wanted.
Reagrds,
Steven B.

Similar Messages

  • RSPC Variant does not exist - Could not find or load print parameters

    We are on BI 7.0 (support pack SAPKW70017).  We recently freshed test system from production.   After the refresh, we have problems opening all the process chains.  
    1. When I go to RSPC to open a process chain, I get many messages like this:
    Variant &0000000067180 does not exist (there are different variant numbers)
    Message no. DB612
    Diagnosis
    You selected variant &0000000067180 for program RSPROCESS.
    This variant does not exist.
    2. When I go to SM21 to check the system log, it displays many entries like below:
    EJ  F Could not find or load print parameters for step 1, job BI_PROCESS_TRIGGER/09134500
    Documentation for system log message EJ F :                                                                               
    An error occurred during loading of the print parameters for a        
    background job step.                                                  
    The print parameter record may have been deleted even though there was
    a still a step that needed that data. This is an error as the         
    reorganization of the print parameters should prevent this from       
    happening.                                                            
    To fix the problem, edit the step and save it, copy the job, or       
    schedule a new job. The print parameters will be regenerated in all   
    these cases.    
    3. I applied the OSS note 1169659 - Correction: Process variants not entered by BDLS.   The Basis rerun BDLS.  But it did not fix the problem.
    Would appreciate if someone could provide any help.
    Thank you.

    Hi Rebecca.
    1) Please verify if exist process types called 'unknown job'. If exist:  delete process types called 'unknown job' in your process chain. To do that please remove the chain from scheduling (menu bar > process chain > remove from schedule), afterwards switch the detail view on (menu bar >  view) > right mouse click on the process type "unknown job" > displaying scheduled jobs > delete that job. After deletion of the 'unknown jobs' activate and schedule your process chain again.
    2) After the removal of the 'unknown jobs' please check if the error messages with the missing variants pop up when calling your process chain disappears. If not, please implement and execute the attached report Z_FIND_JOBS_WITHOUT_VARIANT which deletes the jobs without variants.
    I have already attached report as Report Z_FIND_JOBS_WITHOUT_VARIANT, you can download and create the report accordingly.
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    REPORT  Z_FIND_JOBS_WITHOUT_VARIANT.
    data: l_t_job type table of tbtcp with header line,
          l_s_varsel    TYPE rsvar,
          l_t_variant   TYPE TABLE OF rsparams.
    parameters: delete type rs_bool.
    select * from tbtcp as job into table l_t_job
                        where progname = 'RSPROCESS'
                        and   exists ( select * from tbtco
                              where jobname = job~jobname
                              and   jobcount = job~jobcount
                              and   status = 'S' ).
    loop at l_t_job.
      l_s_varsel-report  = l_t_job-progname.
      l_s_varsel-variant = l_t_job-variant.
      CALL FUNCTION 'RS_VARIANT_CONTENTS'
        EXPORTING
          report               = l_s_varsel-report
          variant              = l_s_varsel-variant
          execute_direct       = 'X'
        TABLES
          valutab              = l_t_variant
        EXCEPTIONS
          variant_non_existent = 1
          variant_obsolete     = 2
          OTHERS               = 3.
      if sy-subrc <> 0.
        write: / l_t_job-jobname, l_t_job-jobcount.
        if delete = 'X'.
          CALL FUNCTION 'BP_JOB_DELETE'
            EXPORTING
              JOBCOUNT = l_t_job-jobcount
              JOBNAME  = l_t_job-jobname
            EXCEPTIONS
              OTHERS   = 1.
          IF SY-SUBRC <> 0.
            write 'not deleted'.
          else.
            write 'successfully deleted'.
          ENDIF.
        endif.
      endif.
    endloop.
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    I hope I can be helpful.
    Thanks,
    Walter Oliveira.

  • Customizing Controller Parameters are null. Please check Default Profile.

    Hello,
    since last week we get the following error when trying to select an image or intenal link on an xml form (any xml form).
    Customizing Controller Parameters are null. Please check Default Profile.
    And this is the full trace obtained:
    com.sapportals.wcm.WcmException: Customizing Controller Parameters are null. Please check Default Profile.
         at com.sapportals.wcm.repository.service.layout.cm.customizing.CustomizingController.getInstance(CustomizingController.java:163)
         at sun.reflect.GeneratedMethodAccessor403.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:331)
         at com.sapportals.wcm.repository.service.layout.customizing.CustomizingControllerFactory.createCustomizingController(CustomizingControllerFactory.java:141)
    The layout set in case of a document selection is ConsumerSelectorWithUpload_EP and in case of an image is ConsumerThumbnailSelector_EP. In both cases the Layout Set seems correct, because when I use them in an iView it works correctly.
    I don't think it is a problem of the xml form, because we haven't change anything of them and suddenly this error started to appear.
    Has anybody had the same error?
    Thank your.
    Regards.
    Mireia Romo

    Hello Srinivasa,
    from a quick scan of the message it seems to be a rendering error rather than a TREX error. But I am not sure. You may need to log a support message to SAP.
    Before you do that, check the SDN postings by user "Jochen Goenninger" they contain the most common configuration errors in EP-KM to TREX communication.
    Regards, Karsten

  • How to automatically load function parameters when editing c/c++ DLL call?

    I built a DLL in CVI and is used in TestStand, I want this DLL to have the ability to automatically load function parameters after specifying Module pathname and function name in "Edit C/C++ DLL Call" dialog? How can I do it?

    Staring with CVI 7.1 and TestStand 3.1 you do not need a type library for TestStand to load parameters automatically. Just make sure you declare your exported functions with the __declspec(dllexport) modifier as in the following code:
    __declspec(dllexport) void fun(void)

  • SAP HANA Load Controller

    Dear HANA Guru,
    Help needed,  Can you provide some pointer on Load Controller ?
    Regards,
    Manoj.

    Hello,
    like what it is good for?
    It is part of Sybase Replication scenario and it controls replication. You can read more in SAP Master Guide:
    page 21 - chapter 2.4 Log-Based Replication
    https://service.sap.com/~sapidb/011000358700000604552011
    The SAP HANA Load Controller, a component that resides in SAP HANA, coordinates the entire replication process: it starts the initial load of source system data to the SAP HANA database in SAP HANA, and communicates with the Sybase Replication Server to coordinate the start of the delta replication.
    Tomas

  • Loading initialization parameters

    I am trying to load parameters from web.xml in the init() method. But, in vain.
    What's wrong with the following code?
    package test;
    public class TestServlet extends HttpServlet{
         public void init(ServletConfig config) throws ServletException {
              super.init(config);
              String param1 = config.getInitParameter("param1");
              //For test,
              System.out.println(param1); //wrongly shows null.
         }web.xml contains:
        <servlet>
            <servlet-name>TestServlet</servlet-name>
            <servlet-class>test.TestServlet</servlet-class>
            <init-param>
              <param-name>param1</param-name>
              <param-value>test string</param-value>
            </init-param>
        </servlet>I access the servlet as http://localhost/servlet/test.TestServlet.
    The servlet works fine, except for the parameters read from web.xml.
    I am not using any <servlet-mapping> element in web.xml because am testing from ROOT.
    Someone please guide me. Thanks.

    I am still stuck with this.
    Can't read init. parameters. What am I missing here?
    One book says this : "You never use default URLs of the form http://..../servlet/ServletName when using init parameters". I don't get why it is so. Is this a recommendation for deployment scenario, or is it just plain illegal to try to use init parameters with the default URL? I am using the default URL because that's easy for me in the learning phase.
    Thank you.

  • Is it possible to use a cRIO controller without the FPGA backplane?

    Obviously, I'm talking about the modular units (cRIO9014 or 9025) and not the all-in-one models. If we have no IO/FPGA requirements for an application, can we just use the controller by itself? I realize this isn't the most optimum use of this hardware, but we are dealing with a requirement.
    Thanks,
    Chris
    Solved!
    Go to Solution.

    Hi Chris,
    yes, you can.
    You're limited to the in/outs of the controller itself (USER switch, USER LED, LAN-Port, maybe RS232), but you can run the controller on it's own...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Fuzzy Controller on cRIO FPGA

    Hi,
    I am trying to implement a fuzzy controller on the cRIO 9073 in FPGA mode. My problem is that there is not even the a symbol of fuzzy controll to drag and drop. Are there any possibilities to do that?
    I have already implemented the controller in scan mode. However, I want to implement it in FPGA mode to get higher performance. 
    Michael

    Hi Michael
    You're right the fuzzy controller VIs are not shown under FPGA. The Fuzzy Controller VIs are implemented for
    Windows or Real-Time. (They use DBL as data type which is not supported under FPGA)
    It is possible to implement a Multi-Channel PID with the PID Express VI under your FPGA target. For more
    information see at these two links.
    PID and Fuzzy Logic Toolkit User Manual
    http://www.ni.com/pdf/manuals/372192d.pdf
    Using PID on FPGA Targets (PID and Fuzzy Logic Toolkit)
    http://zone.ni.com/reference/en-XX/help/370401J-01​/lvpidmain/pid_on_fpga/
    Kind regards,
    Andreas Scheuber
    Applications Engineer
    NI Switzerland

  • Multiple FPGA targets under one cRIO controller

    Hi !
    I was reading the cRIO System Configuration Information (CRI) Reference Library article (http://www.ni.com/example/51852/en/) and there Figure 9 shows a cRIO Controller with multiple FPGA targets. How can this be accomplished?
    In my case, when I tried to add a 2nd FPGA target, under my cRIO-9076, I get a message that only one can be associated with the controller. 
    Any ideas ?
    Solved!
    Go to Solution.

    The CRI Library claims support back to LabVIEW 8.5.1, which leads me to believe this screenshot was taken in that version. The RIO Scan Interface/FPGA Scan Engine (RSI) were introduced in LabVIEW 8.6 and NI-RIO 3.0.x. In order to include this support, the notion of a chassis in the LV project was introduced (notice there is no chassis under the controller in the screenshot). To better facilitate RSI and the Scan Engine and provide a more accurate representation of what is actually available in a system, you can only add one chassis per controller. This allows the RSI to load the correct controllers for deployment.
    In LV 8.5.1, you can add multiple targets to an integrated controller/FPGA system (like the cRIO-9072) even though there is no way that could happen in real life, so this isn't really that desirable. What you can still do is add multiple FPGA targets (even from cRIO chassis) under the My Computer target in your project. This will still allow you to communicate with the FPGA target, but any VIs will be running on your PC system, not the cRIO controller.
    Donovan

  • RT Host VI does not communicate with FPGA VI with PID Discrete controller

    Hi. I am using LV 7.1 RT with PXI 7831R. While developing an application with a PID controller in the FPGA vi, I have run into the following problem:
    1.   After a successful FPGA compile, the code runs directly on the FPGA device and the PID controller works fine.
    2. After I switch to the RT and run the host vi, it shows no activity from the FPGA vi. I look at the while loop count of the FPGA (indicator named 'FPGA-count' in the snaps below)) and it shows 'zero'. I have refreshed the FPGA vi reference but to no avail.
    3. If i take out the PID related stuff from the FPGA vi, then the Host vi to FPGA communication works.
    I have attached snaps of a simplified version of the fpga and RT vi's. If anyone can help, that would be greatly appreciated.
    I also read that the PID control toolkit needs to be installed. It is installed on the host computer and shows in Automation explorer under LV 7.1. Does it need to be installed on the remote machine that is the RT controller as well. if so, then how to do that.
    Thanks
    Attachments:
    RT-frt panel.JPG ‏38 KB
    fpga-block.jpg ‏39 KB
    RT-block.JPG ‏35 KB

    It seems like the FPGA is not running for some reason when you are running the RT VI. Without having the actual VIs to look at I can only make a few guesses why.
    On the Open FPGA VI Reference make sure the option is set to Open and Run, not just Open. Right click on the node to check this option.
    On the RT VI, make sure that stop-FPGA is False before you start.
    On the FPGA VI, make sure that the default value for stop-FPGA is set to False.
    In the RT VI check the error cluster passed to the loop to make sure that there are not errors and the FPGA VI is actually running.
    If you are using the PID function on the FPGA, you do not need any additional SW installed on the RT controller. If you are using the PID function in LV RT then you do need to install the PID toolkit on the RT controller. This is done from MAX (Measurement and Automation Explorer) using the Install Software option for the controller.
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Load FPGA bitfile on boot sbRIO

    Hello
    I would like to load and start a FPGA bit file when my sbRIO-9626 boots. I found a setting for this in the RIO Device Setup, but if i try to set it to autoload on powerup or reboot the application hangs. I get a progress bar that just circles for however long i wait and i have to kill LabVIEW to abort it. The setting is not set.
    I havent found much information about doing this on a sbRIO so i wonder if anyone have tried and succeded or if its a feature that simply doesnt work on sbRIO-9626.
    I use LabVIEW 2012 sp1 if that helps.
    To clarify, i want the FPGA bit file to load and start before my rtexe-file, or at the same time at least.
    Regards,
    Nimgaard

    I use RIO 14.0.1. Firewall is turned off on the network that i have the sbRIO on. Network status is hard to determine just from this, it works fine for all other operations. I can run both the FPGA and RT code interactively from my computer and while there is a network switch between the computer and sbRIO, its connected with cables roughly 1 meter long to both ends. The switch is also used exclusively for communicating with the sbRIO, no other units are connected to it.
    I would have to check if its ok for me to upload the bitfile since i work with a customer application. I could email it to you if thats possible though.
    I did update to LV2014 recently but it was reverted due to other issues. The install remains on my computer. The problem of setting the FPGA to run on boot happened before this as well. I have never seen it work on this computer. I noticed just now that i also get an error when trying to download the bitfile to flash from the RIO Device Setup. This have worked before.
    Error -52003 occurred at an unidentified location
    Possible reason(s):
    An unexpected software error occurred.
    Maybe this is related to the problem?
    / Nimgaard

  • Applet. Loading parameters.

    Hollo guys!
    I have an Applet imbeded into html page with list of parameters.
    I know that there is the function getParameter(String) which loads parameter with cpecified name. But is it possible to load all parameters which are in <parameter> tags? I have a lot of parameters more than 50 and is it possible to load them (into string array for example) in one time?
    Thank you.

    up

  • Keystation Pro 88 (or other controller) as the Logic Control

    Has anybody got their setup like this? I've been trying to get this to work for the past 6 hours and no luck. Can someone please help me? Just bought Studio 2 days ago and haven't touched it yet cuz I can't get the keyboard to fully work.
    Joined: 17 Jan 2006
    Posts: 55
    Location: Los Angeles
    Posted: Sun Jul 15, 2007 12:03 am Post subject: Keystation Pro 88 (or other controller) as the Logic Control
    I'm sure some of you already know how to do this. I just figured I'd write this up at some point to share with others. The basic idea is to use the Keystaion Pro 88 (or some other MIDI Controller) as an actual Control Surface, or in this case the Logic Control, to have more freedom with the MIDI Controller, i.e. using the group of 8 faders (on the Keystation) to control Volume for tracks 1-8 in the arrange window, and then hitting Bank Right to automatically control tracks 9-16, and as a result making a universal controller not bound by specific channel messages, or MIDI CC Volume messages etc... in short the essence of any Control Surface.
    What I'm describing below is what this app will also do: http://www.opuslocus.com/lcxmu/index.php
    I basically just wanted to avoid using a separate application all together. Keep in mind that the app does simplify the whole process, but Logic inherently can do pretty much everything the app does.
    I recommend reading this in its entirety before attempting.
    KeyStation Pro 88 as Logic Control
    Part One: Add Logic Control as Control Surface
    1. Open Logic.
    2. Preferences / Control Surfaces / Setup...
    3. New / Install / Select your preferred device (in my case Logic Control
    4. Click the icon in the setup window for the Logic Control.
    5. On the left hand side under "Logic Control" you should see an "Out Port:" and "Input:" ... select the desired MIDI in/out through which your device is connected.
    6. Open Preferences / Control Surfaces / Controller Assignments. Make sure you select the "EXPERT VIEW" check box.
    7. You should now see a bunch of different Zones in the Zone column, one of which is "Control Surface: Logic Control"
    8. Create your own Zone, KeyStation Pro 88 (or whatever) using the Plus sign in the bottom left corner of the Controller Assignments window.
    9. Now basically go through the existing parameters already available in the Logic Control Zones, Select what you want. You can select entire Modes or individual Controls / Parameters. You can select multiple values (only multiple Control / Parameters NOT modes) by selecting and dragging or simply with select and holding command.
    10. Command-C the selected Modes and then click back onto you user zone that you created above.
    11. Click inside the Mode column (or Control / Parameter column depending upon what you selected and copied from the Logic Control zones).
    12. Command-V to paste the Modes into your user Zone.
    13. Do this for as many Modes / Controls you want, that your specific MIDI controller interface will be able to handle.
    Part Two: Assigning Input Values
    1. Open Preferences / Control Surfaces / Controller Assignments
    2. Now for each parameter that you copied, you will need to set the input MIDI value from your controller.
    3. Click on your User Zone, then Mode, then the first parameter in the 3rd column.
    4. You should see a "MIDI Input" option (this should already be set correctly as long as you set it earlier in Step 5 of Part One). If it's not set to the correct MIDI input (which I found to be the case sometimes even after Step 5), then change that here.
    5. Next to "Value Change:" you will see a box with MIDI data in it. Delete the existing date by highlight and delete.
    6. Activate "Learn Mode" (bottom right corner of Controller Assignments window) then click within the "Value Change" box, then move the corresponding fader, button etc. The "Value Change" should now show the MIDI data value for that fader. Be careful here, there should only be 3 groups of 2 for data here... if you see 2 groups, of 3 groups, of 2 then typically the FIRST group of 3 should be the value you want here. You can always delete the data, and move the fader again to be sure. The reason for the 2 groups of 3 is not in error: some buttons send TWO MIDI values, one on press and one on release. You can use this to your advantage and assign TWO different functions to these buttons, thus the first (press hold) value can do one thing and the second (release) value can do another. You can also change the MIDI controller to only send 1 message on press and nothing on release, or simply make sure that only the on value is present in the "Value Change" box.
    7. You'll have to do this for all the different knobs / faders etc. on your MIDI controller. There are many shortcuts of course. You can manually type in the Values if you know them. For the Keystation Pro, M-Audio has an app called Enigma that I recommend for changing controller parameters and much more on the Keystation. You can use this app to assign all the actual control data that each button or fader sends to the sequencer, once you know the values you can convert that data to the MIDI data values and enter them into the Value Change box.
    8. Once you're done assigning values to the controllers, you can delete all the Zones except for the user Zone you created earlier. Before you do this, it's a good idea to back up the Control Surface preference file just in case you ever want to grab something else from the Logic Control Zones. You could always add a second Logic Control and copy the Zone from that, but you'd have to reassign all the MIDI Input: values ... short version, just back up the preference file before you delete the Zones. The reason why you want to delete the Zones that you're not using is simply because if you have a controller that happens to send out MIDI data to the sequencer, and the actual Logic Control happens to have that MIDI data value already inherent it it's Zones, then you could be asking for trouble, simply put you'd be sending MIDI data to change Volume and the Logic Control maybe has that MIDI Data Value already assigned to Pan for the existing track.
    The file to backup is located here: ~Users/username/Library/Preferences/Logic/com.apple.logic.pro.cs
    As a precaution I have always backed up my Logic Preference file WITH this .cs file. Technically it's not necessary... for instance: Let's say you trash your preferences and open Logic to find that the Logic Control is missing from the Control Surfaces Setup. So you add it back and now you find out that Logic is missing the User Zone that you created. If you close Logic and copy the .cs file back to the directory above, then upon reopening Logic you should find your User Zone is in place again. But I've had mixed results with that, so just in case I copy over the preference file with the .cs file as a pair. It seems that the Logic pref file only contains information that the Logic Control is a Control Surface on your system and the .cs file is the preferences for that specific Surface.
    Another note: after a recent Logic update, maybe 7.2? ... it was whichever update added support for more Control Surfaces, I can't remember. This update basically erased all the hours of hard work linking the Keystation to Logic as the Logic Control. This only happened with this specific Control Surface update, but not with 7.2.3, probably simply because they didn't make any changes to the .cs pref file.
    Anyhow, when this happens again in the future, there seems to be a quick fix. I take NO responsibility for you somehow crashing Logic on a continual basis after applying the fix. Personally I have seen NO issues by doing this at all. I simply copied a version of the .cs file with the new update missing the Keystation Zone, as well as a version of the .cs file WITH the Keystation Zone, to a PC (I think it was a PC, don't believe I tried it with textedit, although should work as well). I opened both of the files in notepad and compared them. I noticed the word Keystation towards the bottom and realized that most all the data (gibberish) was exactly the same up until a point in which the file with the Keystation data had a group that was absent from the new .cs pref file from the new update. So I basically copied the data from the old .cs pref file, pasted it into the new .cs pref file, saved it and open Logic. Logic warned me that a pref file was corrupt or something of that nature, but loaded fine anyway, and the Keystation Zone was back in Controller Assignments.
    One last thing... the problem that some of you may run into is that by making your MIDI controller a Control Surface, or turning your Keystation Pro into a Logic Control, limits some of the functionality of the MIDI Controller. For instance, a Logic Control's main purpose is to control different faders, knobs and what not of MANY different tracks. When you move a fader for volume on the Logic control, it will move the fader corresponding to the selected track... it's not programed to say change the actual midi CC 7 for Volume, only the actual Fader. Thus, what if you want the MOD wheel to still control modulation and you want the sustatin pedal to continue to act as a sustain pedal. Well, if Logic sees that Port 1 is the input for the Logic Control, but in reality the Keystation, then it's only going to allow specific events through. The way around this issue is by using both the input options that the Keystation has... hook the MIDI out into Logic and use the USB port as well. I run the Keystation as a Logic Control through the USB port, and use the MIDI out for actual MIDI data. But the catch is you have to make sure you only connect the MIDI Port into Logic's sequencer in the environment. Thus open the environment, open Clicks & Ports, Port 1 and Port 2 are the IN/OUT for the USB port. Midi Port is the Keystation's MIDI port. Select and delete the cable for the SUM, and run individual cables for the ports you want to use. Thus, all your other MIDI interface Ports, the Caps Lock keyboard etc. Just be sure that if your using Port 1 (USB Port Out from Keystation) for the fake Logic Control, that it DOES NOT cable into the "Input View" or "to Recording & Thru". This creates yet another issue:
    The controls on the Keystation have to send SOME form of MIDI control message / data to Logic. Well if the faders on the Keystation are preset to send Ch1-9, Volume 0-127 messages, then when you move a fader on the Keystation (as the Logic Control) since the Keystation is still reaching the sequencer from the MIDI port, you will be sending MIDI values that can effect your current track possibly when you don't want to. The work around for this is to be sure that all the faders / knobs that you want to use as your fake Logic Control are sending useless MIDI data... i.e. CC 75, 76, 77, and so on. This way moving faders won't effect playback, although you could still in theory record this MIDI data into your sequencer. You could however filter this events from entering the sequencer input with a transformer since you know precisely what MIDI CC values you are changing. The easy way to assign these values is to use the program Enigma from M-Audio that I mentioned above.
    More discussion specifically related to the Keystation Pro 88:
    You can do a lot using the Controller Assignments and different Zones from the Logic Control. For instance, the real Logic Control has Solo, Mute, and Record buttons for the 8 faders. The Keystation Pro only has 1 button underneath each fader. But you could use one of the other buttons to toggle Solo, Mute, and Record mode so that depending on which mode your in, the buttons underneath each fader will correspond to Mute or Solo etc. By the way, a good setup from my experience is to use the first 8 faders of the Keystation as the track faders, and the final 9th fader for Master Volume. You can then set two of the buttons underneath the Knobs as Bank Left and Bank Right buttons to change the 8 fader tracks to correspond to the onscreen track groups of 8. Also don't forget that you can assign TWO functions to EACH button, since a button press can send a value of 127 and a button release can send a 00 value. So if you press and hold a button it can activate "Shift-select Mode" and until released it can make the buttons under the faders act as Volume to Zero resets or whatever you want. When you release the button it will go back to just Mute mode or Solo mode. The Controller Assignments window has MANY options, and parameters some of which are very confusing and take a lot of trial and error to understand... the manual helps a little but of course isn't perfect.

    I'm thinking about buying a Keystation Pro 88 (2nd hand) so I was googling around and found this:
    http://www.soundonsound.com/sos/Oct04/articles/keystation.htm
    [quote]
    I had some trouble getting the transport controls to work with Emagic's Logic, even when I loaded the 'Pro 88 Logic Preset.LSO' file on the supplied CD-ROM into Logic. I contacted the guys who designed and set up the Keystation here in the UK at the old Evolution offices, and between us we managed to work out what was going wrong. First of all, you need to enter the appropriate MIDI key commands in Logic's user preferences. These cannot be updated with an LSO file, so the commands have to be entered using the Learn Key function in Logic (see the screenshot below for the list we used). Then we discovered that the transport keys were toggling, which meant that only each second press of each key was actually working. It turned out that I had an early version of the Logic preset before this had been fixed, but the more recent one has been put on the M Audio web site for anyone else that needs it. It took about 30 seconds to change the output commands so that the buttons were no longer toggling.[/quote]
    Did you get it to work correctly eventually?

  • 7342 too slow on loading

    HI
    I use 7342, it seems too slow to load parametres to the card between 20 ms and 40 ms : ( i have used canalyzer to check the time with 2 frames like below)
    CANTx_CVI_CMF();// can frame
                                 // Load motion parameters to the FlexMotion controller
                                flex_load_rpm (boardID, axisNum, Vitesse , HOST); 
                                flex_load_rpsps (boardID, axisNum, NIMC_BOTH, acceleration_RPSPS, HOST);
                                // Start motion
                                flex_load_target_pos (boardID, axisNum, targetPosition, HOST);
                                flex_start (boardID, axisNum, 0);
    CANTx_CVI_CMF();// can frame
    is there any option to make that faster ?
    thank you

    20 to 40 ms sounds a bit long but depending on your CPU, chipset and so on it's not extremely extraordinary.
    If you want to reduce the time between two or more moves you should either use blending or contouring. In blend mode you can load the new move constraints for the next move while the current move is still running. With the blend factor you can either decide to accelerate the next move when the first move starts to decelerate (blend factor = -1) or wait for an adjustable number of ms between the moves.
    Contouring allows you to download buffers with position data to the board. To learn more about both features please follow this link. Most of the examples in this tutorial are written in LabVIEW but it works the same way in C.
    Here you can find some C examples (example1, example2) for blending. You will find more examples in the NI-Motion driver installation directory.
    I hope that helps,
    Jochen Klier
    National Instruments Germany

  • Loading PID Parameter and Reading Back

    Hello,
    Currently,  I'm developing NI-Motion Driver for 7358 motion control card. My environment is QNX 6.5 realtime OS.
    According to NI Motion Driver Developer's Kit document basically i'm sending packages to board to set values, to start motion etc.
    Now, i'm can drive brushed motor with given velocity and acceleration parameters. I want to ask you that is it possible to read back
    values that written to board.
    For example,
    To load PID parameters i'm using command 32 as given in DDK with axis information, pid parameters and input vector (0xFF). It should
    work same like flex_load_pid_parameters function given in FlexMotion Software Reference Manual.
    I want to check that PID values has been set correctly with my own function. But i could not find any way to do this. There is no command
    as i see to read back these values from board. The thing i learnt from DDK is if command package is wrong board gives package error in
    csr. If something goes wrong during run time, board gives modal error. So, i want to check if there is direct way to read parameters i set?
    Best regards.

    Hey Erhan,
    There isn't a way you can check the values corresponding to the PID effect because this is done in FPGA and cannot be accessed. 
    Regards,
    A. Zaatari
    National Instruments
    Applications Engineer

Maybe you are looking for

  • How to create a view on tables with different keys?

    I have to create a View on: Z3PVR: Transparent Table BSEG: Cluster Table CKIS: Transparent Table BKPF: Transparent Table RV61A: Structure T001: Transparent Table All the tables have different "Key Fields" and the structure has no "Key Fields". When i

  • Excel 2003+ exports are actually being saved as .mhtml documents. How to export as true .xls?

    Hi All, I am new to OBIEE and was confused about why exporting report views to Excel renders them as .mhtml documents. I am using version 11.1.1.5.0 What I have tried doing so far is this: Open Dashboard Click 'Export' link under my target Analysis w

  • Scripting in JSF pages

    Hey, I have 2 JSF pages: container.jsp and sub.jsp, container.jsp loads sub.jsp in a dynamic call like this: <jsp:include page='<%= pageToLoad %>' />Inside sub.jsp, I have a parameter defined for a commandLink tag: <h:commandLink ...>   <f:param name

  • Help me in alv grid control

    Hi,      I need to print horizontal and vertical scrool bar in my grid display.how can i do that. please help me. with regards, khadar.

  • How do i download apps

    Hello everyone, Cloud you tell me how to download apps from App Store? And where can I find apps I downloaded? Thank you! A new user