SMC100pp rotation stage

Hello,
I am trying to program a Newport SMC100PP controller to run a Newport TRA6PPD linear actuator to move a Newport 481 rotation stage.
My goal with this program is to have the stage move at a slow velocity form designated point 1 to point 2 while reading out the absolute position.
The program that i have written is having a problem. Every time i try and run the program i get an "Error on reset - Timeout" error and the light on the front panel of the SMC100pp controller reads solid green as if the system is ready to go.
In the code below i have the top part which simply reads the motor position and time and saves that to a txt file. The top part is necessary because it is a reduced set of code for the rest of an instrument i want to incorporate this rotation stage into. The bottom code is my program where i am trying to 1st initialize the step motor, 2nd enter/modify controller velocity on command part way through a larger experiment once i see some preliminary data and 3rd execute the programed controller movement on command as the last part of a larger experiment to finish the experiment.
Included below is my labview error message, picture of the program and the program vi.
Attachments:
error.PNG ‏36 KB
SMC100 test code.vi ‏70 KB
Vi program.PNG ‏178 KB

Hello Shike,
As you are using a library or VIs that are provdided or created by the Newport company it seems, you need to contact them and verify the conditions needed for Reset to be executed correctly.
RIght now you are getting a timeout that may refer to a VI not given the sufficient time to execute or a similar condition.
Please contact Newport support about this controller and the VI's.
Regards,
David M.
National Instruments 

Similar Messages

  • Rotate Stage tool

    I'm wondering if there is a Rotate Stage tool in Flash like Photoshop's Rotate View tool? Some angles are difficult to draw and I could really get some use out of it. If there is a plugin, can someone post a link to it please. Thank you!

    Great point!
    I hope adobe guys could hear that. Unfortunately it had been almost 6 years since u had written that post and no sign of any stage rotation for flash. Flash is a great tool for an animator whereas adobe is not taking this into consideration

  • Labview examples for Newport rotation stage Model URS50BBC

    Hi there,
    I am currently wanting to control the motion of the motorised mount using Labview, but I dont have examples, Can you ,possibly, help me please?
    The mount Model is: Newport rotation stage Model URS50BBC.
    Thank you ,
    Maab

    Hi CasiL,
    Thank you for this.
    I doenloaded them, and it is Ok now, however , the example need COM adress ,when I put 1 , it says : failed in connection and somthing about VISA identification..
    I dont know how can I found VISA or code library,I will attach the error box.
    Thank you very much,
    Maab
    Attachments:
    error labview capture.JPG ‏256 KB

  • Thorlabs rotation stage control using LabWindows

    Hi there
    I have been trying to program automated control of Thorlabs rotation stage PRM1Z8 based on TDC001 DC servo controller using Lab Windows Actives Controller Wizard.
    The steps followed by me as follows:
    1. Insert Activex control (thorlabs stage GUI) in the panel using .ocx file obtained with the stage. Edit the control properties to put in the controller serial number and then right click on the control to generate the activex control driver. 
    The following code was written. Although I do not obtain any compiling error, I have not managed to communicate with the stage. 
    #include "MG17Motor.h"
    #include "AProt.h"
    #include <cvirte.h>
    #include <userint.h>
    static HRESULT _tmp8;
    static long _tmp9;
    static HRESULT _tmp3;
    static long _tmp4;
    static int _tmp2;
    static CAObjHandle _tmp1;
    static int panelHandle;
    int main (int argc, char *argv[])
    if (InitCVIRTE (0, argv, 0) == 0)
    return -1; /* out of memory */
    if ((panelHandle = LoadPanel (0, "AProt.uir", PANEL)) < 0)
    return -1;
    DisplayPanel (panelHandle);
    RunUserInterface ();
    DiscardPanel (panelHandle);
    return 0;
    int CVICALLBACK imagepanel (int panel, int control, int event,
    void *callbackData, int eventData1, int eventData2)
    switch(event)
    case EVENT_COMMIT:
    _tmp2 = GetObjHandleFromActiveXCtrl(panelHandle, 2, &_tmp1);
    _tmp3 = MG17MotorLib__DMG17MotorStartCtrl (_tmp2, NULL, &_tmp4);
    _tmp8 = MG17MotorLib__DMG17MotorIdentify (_tmp2, NULL, &_tmp9);
    break;
    return 0;
     Please could you help me sort out any programming error that I might have committed here. 
    Thanks
    Deepa

    Hello Deepa,
    I never used Thorlabs products, but as you can see in the online help for the command, GetObjHandleFromActiveXCtrl returns the obtained handle into the last parameter, in your case _tmp1; I suppose this is the variable you must pass to the following command(s) in the Thorlabs library. The return value _tmp2 is an error code which you should use to add some error checking to your code.
    You should also check into Thorlabs documentation the exact meaning and usage of the command you are using: it is possible that the return values are error codes that may give you some guidance on how to clean up any error you may have in function calls.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Controlling rotation stage with NI card/controller

    I am trying to control a rotation motor (Velmex). I have a NI PCI-7414 card and NI MID-7604 stepper motor drive already installed. My problem is in how to actually send commands to control the motor via LabVIEW software (ValueMotion). I am not extremely software inclined but I know the basics of LabVIEW. Has anyone done this before and can help. Thanks -)

    Hello,
    Thank you for contacting National Instruments.
    One good starting place for motion control is to use the Measurement and Automation Explorer (MAX) program to setup and test your motion controller. If you are using the PCI-7314 with ValueMotion 5.0.2 (latest version), then you should be able to use MAX. If not, I highly recommend upgrading to 5.0.2. Also note that ValueMotion is an obsolete product, so updates are no longer being made.
    For assistance with MAX, please see the following tutorials (note that the tutorials are based on the newer software, and will look a little different for ValueMotion):
    Axis Configuration
    Axis Settings
    Trajectory Settings
    To use the motion controller in LabVIEW, I recommend first taking a look at the example programs. ValueMotion will install example VIs for simple move operations in the LabVIEW\examples\motion\ValueMotion folder.
    Another good starting place is the following tutorial (the example VIs in the tutorial are based on the newer motion software, but the same basic procedure applies with the ValueMotion VIs):
    Fundamentals of Motion Control
    Hope this information helps out. Let me know if you have any further questions.
    Best Regards,
    Jesse D.
    Applications Engineering
    National Instruments

  • Using one of the new WLS DAQ products on a rotating platform or something similar?

    I am considering strapping one of the WLS DAQ devices, such as a WLS-9215, to a motorized rotation stage spinning at 1-10 Hz. 
    My main objective is to eliminate twisting/breaking wires without using slip rings.
    Any experience or insight would be appreciated.

    TEP,
    Unless your spinning platform is quite large, I doubt you'll have a problem. The wireless DAQ devices use industry-standard 802.11x connectivity, which should be OK at the relatively low speeds you've mentioned. I agree that you'll want to test it when you get it, but I doubt you'll experience connection problems.
    -Chad Bailey
    Chad B. » National Instruments » ni.com

  • Question about XY Stage Stats

    Hello my is David Charlot and I'm trying to use a NI 7344 motion controller and a MID-7604 motor driver to control a microscope XY stage. I want to make sure I am controlling the stage correctly. The manufacturer told me that the stage has a 2mm pitch lead screw and has a linear encoder resolution of 2nm/pulse. I don't know how that translates to MAX's  steps/revolution and encoder counts per revolution. Any help would be most appreciated. Thanks.
    David C.

    The breakdown of these stages goes something like this:
    The stepper is most likely a 1.8 deg/step standard type.  The encoder will have XXX pulses/revolution and is connected to a second shaft coming directly from the motor.  While the stage has a 2mm pitch (2mm travel/revolution of screw), this gives XXX pulses pre 2mm of travel.  There is probably a gearing ratio, most likely a worm gear.  Worms ratios are usaully in the range of 20:1 to 100:1, giving a XXX*100pulses/(2mm travel).  With the 2nm/ pulse reported by the stage supplier,  and assumin a 100:1 gear ratio, the encoder has XXX=10^4 pulses/rev.  This is incredibly high.  I have never heard of anything higher than 2000 pulses/rev.
    I suggest contacting the supplier and asking for specs on the encoder itself, which will be reported in pulses/count ( or counts/rev), not in length/pulse.  This is the number you specify in MAX.
    For the steps/rev:
    MAX will read the microstep setting set on the 7604 and will assume a standard 1.8 deg stepper, which is 200step/rev.  So, if you set the microstep on the 7604 to 10x, the 7344 controller will read 10*200=2000 steps/rev.  Now, if you want to include gear ratios, you must manually multiply it in MAX.  Normally, this is not done, since max velocities are specifed at the motor.  If you use a rotation stage, then you might want to multiply it in.  It's a matter of taste.

  • PXI crate crashing regularly

    We have a PXI crate with a MXI link to a PC running labview 6.1 (can't run 7.0 as we are using DCOM to talk to though from a VMS system). This PXI crate is full, there is the MXI card, 4 PXI-7344 to drive 15 motors and 3 PXI-6508 Digital I/O to read 10 absolute encoders. The motors that need to be driven are separated in two categories : 5 are running translation stages, closed loop and 10 are running rotation stages, with absolute encoders (the VI then adjust the motor steppings to get as close as possible to the desired absolute value). So the PXI-cards are not initialised in the same way (fast and closed loop for one of the cards, slow and open loop for two other cards, and one card is a mix between the two). The VI runs fine but everynow and then, one of the PXI-7344 cards crashes. Although very inconvenient, I used to be able to recover the system from home or from my office by using MAX, power up reset (by the way it would be good to have the power up reset button as a VI that could just be run instead of having to run MAX), then I restarted my VI which included some initialisation of the cards. Over the last few days, when I do that, the PXI-6508 cards disappear from the MAX Devices and Interfaces. The only way out is to actually go to the kit itself, turn everything off, physically pull the cards out and restart the system. This happens randomly and I am working a 24h facility which means that I have to fix this at any time during the day and night so I would really apreciate a solution to this.
     Thanks,

    Post the KP report. Then, see
    What is a kernel panic,
    Technical Note TN2063: Understanding and Debugging Kernel Panics,
    Mac OS X Kernel Panic FAQ,
    Resolving Kernel Panics, and
    Tutorial: Avoiding and eliminating Kernel panics for more details.

  • Load error code 3 unable to load front panel

    Hi all,
    Wrote a vi in 8.6 and saved it for 8.5 for collaborators. When they run it up pops the error code 3 unable to load front panel. Memory full. see attached picture.
    Has anyone any suggestions as to how to fix this?
    Regards,
    leeser
    Attachments:
    labview error code 3.png ‏51 KB

    Hi guys,
    Thanks for the comments,
    Attached is the code (zipped). Excuse the bulkiness of the block diagrams. It basically controls a rotation stage and makes an avi at specific times/angles. The motor stage is ActiveX controlled.
    As I don't have access to the hardware I am writing semi-blind. However, when I did visit them and had a quick look at the code I could get it to work by quickly including the subvis into a new main vi and obviously compiling it in 8.5. (may be onto something here!)
    Different versions of the labVIEW -> doing a group a favour; I have v8.6 they have v8.5, wrote it in v8.6 saved it for v8.5. I don't have v 8.5. I also have v 8.2.1 on a different machine. Saved it for v8.2.1 and it opened no problem in 8.2.1. Will send this version on and see how they get on. More likely to be forward compatible???
     I agree that the optimal situation is 1) use the same version of labview and/or
    2) they get someone to do their coding on-site!!!!
    I think the corrupt front panel object could be true given that I could get it to work when the subvis were included in a new main vi on-site.
    so versions 8.6, 8.5 and 8.2 attached.....
    regards,
    Leeser
    Attachments:
    rotation_control.zip ‏178 KB
    rotation_control_v8.6.zip ‏60 KB
    NCLA_rot_usb_v8.5 Folder.zip ‏141 KB

  • The MID-7604 puts out a lot of noise, where can I get isolated cables for it?

    I'm using a MID-7604 stepper motor driver. I'd like to reduce the ground loop noise in the system that I am measuring on my PXI-5152 (through a series of transducers, etc.) by using an optical or transformer isolator for the 68 pin VHDCI cable that connects the motor driver to the computer. Does such a thing exist or are there other methods to mitigate the noise? I'd prefer to have the MID-7604 and the computer connected to the same circuit/I don't really want to buy a gigantic isolation transformer/surge protector just to plug in the MID-7604.
    Solved!
    Go to Solution.

    OlliesCamel,
    The devices I'm using are PXI-5152 for signal acquisition, TEGAM 4040B for amplification, MID-7604 to drive stepper motors (which have specifications shown here http://www.sherline.com/stepspec2.pdf) to turn a Sherline rotational stage. The transducers are both Harisonic I30508T 5 MHz 3.5" focus transducers.
    I have scanned in a drawing I made up of how everything is physically connected entitled Electrical connections.PDF. Also, the noise I am referring to is the noise that is shown in picture noiseMID7604.jpg. (It is labeled)
    For the initial laser noise I'm getting an optically isolated RS232 which should fix that problem. On the MID-7604/7602 stepper power motor drive user guide and specifications it shows on page 13 that a wire should go from the 3 position to the case for grounding. It also shows that it seems to be attached to the shield of the shielded wire. Is this necessary as long as I have the ground connected to the case of the motor or? The way I have it now I just have a separate wire in the bundled/shielded cable that is going to the case but it isn't connected to the shielding itself.
    The settings for the amplifier and the PXI are for 1 M ohm impedance.
    As you can see, my signals don't have a very large SNR, so any sort of motor noise is problematic, particularly since the noise I've shown doesn't stay in the same place during the test. It tends to move around/be on top of my signals at random times even though it doesn't show that in this particular picture. It is problematic since I'm taking many measurements (20,480 acoustic signals per scan, etc.).
    I've tried averaging (256 times) and filtering (10 MHz low pass filter is the lowest I can go), however, the noise still persists a bit since it happens to somewhat fall under the same frequencies, etc. The averaging does help, but I'd like to run the test faster and so eliminating that noise would help me in that regard.
    Attachments:
    Electrical connections.PDF ‏418 KB
    noiseMID7604.jpg ‏128 KB

  • Cannot open a HyperTermi​nal session

    Hi all -
    I can communicate with my device through HyperTerminal just fine.  I would like to do this through LabVIEW.  I have looked at several examples around the forum.  One said to wire "C:\Program Files\Windows NT\hypertrm.exe /t COM6" to System Exec.vi.  This successfully opens HyperTerminal, but then I get an error in HyperTerminal "Unable to connect to COM6 port 23." 
    Any ideas what is going on here?  I attached an image of what I described.
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    hyper.JPG ‏77 KB

    Dennis - Good questions... no, I confirmed that the session wasn't open by toggling the power, removing USB, closing VISA in LabVIEW, closing hyperterminal, and closing LabVIEW examples.  I don't know if that actually closed it but I don't know what else to do... and I am not using LabVIEW to connect to the port mostly because everything I tried in that department hasn't worked thus far.  I have seen that HyperTerminal isn't really good with LabVIEW, but at least at this point I can communicate with the device using HyperTerminal.
    smercurio - Ideally, I would like to only use LabVIEW, but right now only HyperTerminal is working.  The device came with a driver which I installed.  I'm pretty sure I couldn't even talk thru HyperTerminal if I didn't install that, right?  Hyper2.jpg shows what happens when I try to talk through MAX.  Hyper1.jpg shows that I can communicate with the device through HyperTerminal.  (Note - I disconnected before I took the picture)
    Ian - Yes, I checked out that page, and played around with LVTerm.vi.  A lot of what is in LVTerm.vi I have tried.  I think you should look at Hyper2.jpg also.
    All -
    The device is here: http://www.thorlabs.com/thorProduct.cfm?partNumber​=MCLS1
    The manual is here: http://www.thorlabs.com/Thorcat/18600/18659-D02.pd​f (see page 14 for the commands)
    I have a decent amount of LabVIEW experience, so I was surprised that most of the VISA things I tried haven't worked so far.  There is very little software support from ThorLabs (or at least for this product).  I was able to set up a different device (rotating stage made by Zaber) without any difficulty just last week.
    Does anyone think it is possible that I can only communicate with the device through HyperTerminal?
    Thanks guys, I really do appreciate the help!
    Attachments:
    hyper1.JPG ‏94 KB
    hyper2.JPG ‏107 KB

  • Editing text in Action Script

    I am trying to edit the text in a text effect file. I opened
    the ActionScript for the item and changed the text. However, only
    the last 2 letters of the new text show up in the effect. Here's
    the ActionScript. The text I"m trying to edit is on line 66.
    function Rotator(x, y, text) {
    this.x = x;
    this.y = y;
    this.ry = 0;
    this.rz = 0;
    this.radius = 80;
    this.count = 0;
    this.init(text);
    Rotator.prototype.init = function(text) {
    for(var i = 0; i < this.count; i++)
    _root["char" + i].removeMovieClip();
    this.count = text.length;
    for(var i = 0; i < this.count; i++) {
    _root.attachMovie("char", "char" + i, 1000+i);
    _root["char" + i].char_shape.value = text.substr(i, 1);
    Rotator.prototype.render = function() {
    var x, y, z, prev_x, value, dist, persp = 200;
    var angle = this.rz, delta = (Math.PI*2)/this.count;
    var angle_deg = this.rz*180/Math.PI + 90, delta_deg =
    360/this.count;
    var sin_rz, cos_rz;
    var sin_ry = Math.sin(this.ry);
    var cos_ry = Math.cos(this.ry);
    for(var i = 0; i < this.count; i++, angle+=delta,
    angle_deg+=delta_deg)
    sin_rz = Math.sin(angle);
    cos_rz = Math.cos(angle);
    x = this.radius * cos_rz;
    y = this.radius * sin_rz;
    prev_x = x;
    x = prev_x * cos_ry;
    z = -prev_x * sin_ry;
    if(z > persp)
    _root["char" + i]._visible = false;
    else {
    dist = persp/(persp - z);
    value = 100 * dist;
    with(_root["char" + i])
    _x = x * dist + this.x;
    _y = y * dist + this.y;
    _xscale = value * cos_ry;
    _yscale = value;
    _alpha = value * dist;
    _visible = true;
    char_shape._rotation = angle_deg;
    drag = false;
    prev_x = 0;
    prev_y = 0;
    dx = 0.02;
    dy = -0.1;
    r = new Rotator(Stage.width/2, Stage.height/2, "<<
    ekm.h1.ru << ekm.h1.ru ");
    onMouseDown = function() {
    setFocus();
    prev_x = _xmouse;
    prev_y = _ymouse;
    drag = true;
    stop();
    onMouseUp = function() {
    drag = false;
    play();
    onMouseMove = function() {
    if(this.drag) {
    r.ry += (dx = (_xmouse - prev_x) / 20);
    r.rz += (dy = (_ymouse - prev_y) / 20);
    r.render();
    prev_x = _xmouse;
    prev_y = _ymouse;
    Text

    Please read this whole message before doing anything.
    This procedure is a diagnostic test. It’s unlikely to solve your problem. Don’t be disappointed when you find that nothing has changed after you complete it.
    The purpose of the test is to determine whether the problem is caused by third-party software that loads automatically at startup or login, by a peripheral device, by a font conflict, or by corruption of the file system or of certain system caches.
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards, if applicable. Start up in safe mode and log in to the account with the problem. You must hold down the shift key twice: once when you boot, and again when you log in.
    Note: If FileVault is enabled, or if a firmware password is set, or if the boot volume is a Fusion Drive or a software RAID, you can’t do this. Ask for further instructions.
    Safe mode is much slower to boot and run than normal, with limited graphics performance, and some things won’t work at all, including sound output and Wi-Fi on certain models. The next normal boot may also be somewhat slow.
    The login screen appears even if you usually login automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    Test while in safe mode. Same problem?
    After testing, reboot as usual (not in safe mode) and verify that you still have the problem. Post the results of the test.

  • How to automate Thorlabs TDC001 motor

    Hi.  I am trying to automate the control of a Thorlabs motor, this question has been asked before but I don't think there has been a satisfactory answer.  I have the motor connected to a rotation stage and I would like to be able to tell the stage to rotate by x degrees every x seconds.  I have followed the instructions provided by Thorlabs on how to get started so I can control the motor via the buttons on the GUI (files attached).  I have looked at the help files provided by Thorlabs but they were not much help to me (I am a fairly new to Labview).  I have tried tried to use the "setcycleparams" and "getOperatingMode" Active X methods but with no success.  Has anyone implemented something similar?  Any help would be greatly appreciated.  Thanks.
    Attachments:
    Rotation_servo_control_automated.vi ‏16 KB

    I like to use a little timing vi to see if the time has elapsed for a certain event. If the output is true, you can make a case structure so that it sends a command to your stages and restarts the timer.
    The timer uses an uninitialized shift register, so make sure to call it once using the "start" mode before checking how much time has elapsed. You can call it many times from anywhere in your program, and wire the error lines to make sure it executes in the order you want.
    Attachments:
    FG_Timer.vi ‏25 KB

  • Control Thorlabs TDC001 without using Activex

    Hi ! I'm using thorlabs CR1/M-7 rotating stages with TDC001 contoller , and I'm trying write a simple application in labview to control my device. I have found 'USBRawControl.vi' from NI website, but I have an issue with USB communication. Does anyone here,have written a similar labview vi's to control a stages using USB communications protocols?  I'm also using the VISA- test panel in NI MAX but it still doesn't work. Regards, Paul
    Attachments:
    APT_Communications_Protocol_Rev_9.pdf ‏3226 KB
    USBRawControl.vi ‏152 KB

    Dear pawelek,
    You might be interested in Pyrame. It is a open source framework we actively develop at the CNRS for test benches. It supports Thorlabs APT controllers. As of version 2.1 it supports the LTS300 and LNR50 stages (the latter through a BSC2 controller). Supporting more stages involves just a few lines of code, so If you need something else just contact us.
    Pyrame allows you to code your control modules in Python, C, C++, Lua or Bash. From your module you can then interact with Pyrame's modules, such as that of Thorlabs APT (cmd_th_apt).
    There's also a module that lets you define forbidden zones of a 3 axis space and it calculates automatically the path between origin and destination to avoid those zones (cmd_paths).
    Here is our website with the full documentation and source code.
    http://llr.in2p3.fr/sites/pyrame/
    Don't hesitate to contact us for further information.
    Truly yours,
    Miguel Rubio-Roy
    Computer research engineer at CNRS

  • I look for a vi which allows to drive a stepper motor drive

    The stepper motor is: HIGH-RESOLUTION ROTATION STAGES of Newport

    What type of stages do you have? Are they the SR50 series? If so what type of controller do you have? I have VI's for the ESP6000 PC-Based High-Performance Motion Controller (From the Newport Website) that work really well. But these won't work if you don't have the same controller. Do a search on the Newport website for your controller. They will have some VIs and utilities for your specific controller. Here is the link that will show the compatible controllers for the SR50 Series
    Compact High-Resolution Rotation Stages.
    http://www.newport.com/store/xq/ASP/lone.Motion+Control/ltwo.Motorized+Rotation+Stages/lthree.SR50+Series%253Cbr%253ECompact+High%252DResolution+Rotation+Stages/lfour./id.3206/lang.1/qx/product.htm
    Hope this helps, Good luck!
    Greg

Maybe you are looking for

  • THIS IS WHAT WORKED FOR ME

    For hours I tried clicking back and forth from something else in iTunes back to the "iPhone" hoping to reconnect; that didn't work it! After five hours of clicking back and forth (as other users suggested) I decided to browse the iTunes store and aft

  • My google has disappeared from my desktop

    My google suddenly disappeared from my desktop and I cannot find it on my phone to reinstate. Any help with this would be greatly appreciated.

  • Master Suite CS5 Install

    Received the Upgrade CS5 today [May5th]. Spent the day trying to install it. I enter the serial number and then okays it but then said can't find related product..my CS4 Suite. Was on-line 2 times today with people and was told to call the tech line.

  • Encore cs4 crashes upon creating a new file

    I recently purchased the Production Premium CS4 and when I try to run Encore or Premiere Pro, when I make a new file the program will quit and give me an Adobe crash submit screen.  I have tried chaging the sizes and types of the files I create, defr

  • HashSet with number of occurences

    Hi, I use an HashSet to store some objects without repetitions, is there a way to count how many times a specific object has occured? I better explain: the main app. finds an object, it tries to store it into the hashset, so only one istance for each