Motor Control Through Serial

Hello,
I am working on a project which requires the operator to be able to control the motor's rpm and whether it is on and off from a labview interface.  The motor is a Kollmorgen servomotor(AKM42E-ANDNC-00) which is connected to a danaher S20360-VTS controller. The controller is connect to the computer through the serial port.
My question is if there is any way to control this motor through the serial connection to the computer.  I attempted to communicate with is using strings but only received gibberish back. ( I don't really understand string communication).  The settings for the serial communication are correct (with the exception of flow control which I am unsure about).  Any help would be appreciated.  Serial info can be found starting on pg 57 of the controller manual.
Thanks
Solved!
Go to Solution.
Attachments:
msm20001_rev_C.pdf ‏2222 KB
akm_deis.pdf ‏1913 KB
BasicReadWrite.JPG ‏126 KB

John, thanksm for the response.  I keep getting the feed back in the attached image below.  I am in contact with Kollmorgen now and will update you when I get a response to my problem.
Attachments:
BasicReadWrite.JPG ‏126 KB

Similar Messages

  • Motor control by serial port

    So now I decided to move to a little hardware 
    I have been controlling the speed and direction of a DC motor by passing a combination of ASCII values and HEX values.For eg:- P20 will give me some speed P50 will give me another.M1/0 will rotate the motor in both the directions.S will give me counts which has been converted to the respective RPM.
    So I have no issues here. But now I have to implement a PID controller with it.
    That means Set Point will be decided by user(That is me) and Process Variable(PV) will I think be the feedback from the output of RPM.And, I think output of PID will be given as HEX to VISA.I don't know.Am I correct over here? 
    How to implement the motor control with the PID block?
    Can anyone guide me in the right direction?
    Attachments:
    Basic Serial Write and Read1.vi ‏23 KB

    Hi Sunny,
    the output of the PID is a number used to set an actuator. In your case you have to send that number to your motor control board, which expects strings (not any kind of HEX)! As you already gave examples of the expected strings you would use a FormatIntoString function to form the proper commands.
    VISA also only uses strings as in-/output, you have to create them anyway!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • User-specified DAQ interruptions, instrument control through serial communication

    I'm working on an instrument control program, and I've run into a structural problem that I cannot figure out.
    The instrument in question is effectively a thermostat.
    The program has two functions:
    1.)  Background sampling to record temperature in a log over time.
    2.)  Adjust temperature according to user input
    The issue is that the instrument uses EIA-232 serial communication to talk to the PC.
    This prohibits simultaneous execution.  Attempting to send a command while the program is taking a sample will result in serial blockage errors.
    So the program must interrupt background sampling until the specified command has been completed.
    I can't figure out how to do this.
    My best idea was to create a manual pause control.  If the user wants to adjust the temperature, he hits a switch to pause the sampling, sends the appropriate command, then hits the switch again to reinitiate sampling.  This method will suffice, but is not ideal.
    Beyond that, I really have no idea how to prevent the two functions from running into each other.
    Help structuring this program would be greatly appreciated,
    Thank you

    Look into Semaphores (icons with traffic light glyphs)
    Set up a Semaphore resource to the COM port that is wired to two parallel structures.
    One structure would do the background polling, the other would handle setting changes.
    Prior to background poll, lock the resource, then unlock it after the poll. Likewise for the setting change command.
    When a resource is locked, the other process cannot access it until it is unlocked. Be sure to dispose of the Semaphore when ending the program.
    -AK2DM
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    Attachments:
    SempahoreExample.jpg ‏256 KB

  • Motor Control & TurnRatio

    Hi All,
    Just wondering if anybody out there has much experience/success with using synchronised motors on the NXT and the TurnRatio Property Node? I've attached a screenshot of a VI I'm working on at the moment, trying to get synchronised motors to turn left/right using the TurnRatio input... it's not working at the moment, just wondering if people can see anything obviously wrong or missing?
    Thanks,
    Mike.
    Attachments:
    Set-Motor-Speeds.JPG ‏73 KB

    Hi Mike,
    I can't remember the exact reasons, but I know there were issues trying to get a proper Sync behavior through Direct Commands... which is why we didn't ship any Sync versions with the NXT toolkit. When the command is issued by a program on the brick, it sets both motor ports values simultaneously. If you dig in to the Sync Unlimited NXT Library VI, you'll see we use the NXTOutputMulti property node to do this. Unfortunately there is no Direct Command equivalent.
    However, in general I suggest that you don't try to do any fancy motor control through Direct Commands anyway. Since there is a latency in sending the message from the PC to the NXT and back again, it's very hard to send "simultaneous" commands as well as hard to ensure the motors stop at the right position or time (in the case of a Distance or Time based movement). Instead, put anything to do with your motor control algorithm down on a program running on the NXT. There you'll have access to the Sync commands and 1ms response time with the motors. After that, build a little Bluetooth messaging into the program on the NXT, then write a Direct Command program that sends a Bluetooth message that your NXT program will then interpret as a "Sync Unlimited". This is also a great way to build really fancy Direct Commands (like a "Drive this Path" command, which can be done by flattening a cluster of (Power, Distance, TurnRatio) to a string and sending it across). The only thing that this requires is that you actually have a program running on the NXT... hopefully that doesn't get in your way. Note that you can also programatically download an .rxe file and start a program up with Direct Commands, so it's pretty easy to make sure the program is running.
    Hope that helps. Best of luck!
    Brady

  • Control Camera Attibutes through serial port using VISA commands

    Hi there,
    I'm using a Basler acA2000-340kc camera through an PCIe-1473R FPGA as frame grabber.
    I would like to be able to configure the camera through the serial port just in LabView, not using a third-party as Pylon (which I can do now).
    According to this forum post 
    http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/My-Basler-acA2040-180km-NIR-is-not-visible-in...
    this is possible just taking the VI posted here
    https://decibel.ni.com/content/docs/DOC-5049
    and converting from IMAQ to VISA, as RIO frame grabbers cannot use IMAQ. I have been trying to do this by changing the IMAQ vi to their VISA equivalents, but I have no good results.
    Does anyone know which are the steps to go from that piece of code to one that can be used to control the camera in my case?
    Thanks a lot,

    Hi i.popa,
    Basler makes the Basler Binary Protocol Library for serial communication with their cameras. If you make sure you're running the serial server section of your FPGA code to keep the serial port open, you should be able to use calls from this library to communicate with your camera. We have a community example with more information on using the Call Library Function Node to call a DLL. This DLL will take care of all the processes needed to write from and read to the registry, so this implementation will probably be similar to the example program you listed above, using calls to this library instead of the IMAQ Serial functions.
    Good luck with your application!
    Emily C
    Applications Engineer
    National Instruments

  • DC motor closed loop control through labview using usb 6008

    Hello
    i am doing a project in which i want to control the speed of a DC motor (PID control) through labVIEW 2010. I am having a DC motor, a drive unit that regulates the voltage to the motor by getting analog voltage from 0 to 3.3V ( it can be used for both directions) and i also have a NI usb 6008 board. The problem is that i can't feed the usb 6008 with the digital signal from my hall effect speed sensor. Is it posible with this setup to control the motor?? I can also try to use the pulse as analog input and trasform the frequency into rpm's. Then i am thinking of generating an analog signal to feed the motor drive. If you have any further suggestion of a probably better hardware setup would be more than helpfull to me.
    Sincerely
    Jason Chaloulos

    Hello Michael
    Thanks for the reply. I came across those topics before and all of them are trying to generate a PWM signal as output i want to use just an analog signal output so timing on the output is not that important i guess. i am struggling on getting the frequency from the digital input signal that my hall effect sensor generates. Since the maximum speed of the motor is 3000 rpm and with my tooth wheel the maximum  output frequency of the sensor will be 300Hz which i see its way less than the limitation of my ni board. Is there any tutorial documentation that might help me with this one ? Thank you in advance.
    Kind regards
    Jason

  • Can I modify the Arduino sketch 'LIFA_Base​.pde' to include some motor control

    Hi there,
    I am new to Labview and Arduino. I have two Inertial Measurement Unit sensors and I wish to send the readings to a PC via Bluetooth. I read that I can perform this using the LIFA. Can I modify the Arduino sketch ‘LIFA_Base.pde’ to include some motor control? I wish to use the readings earlier to control the motor to move different directions. At the same time, I wish the readings can be sent continuously to the PC wirelessly?

    The newest LIFA_Base.pde has motor controls. The issue that I see is that the VIs are designed to be connected to the Arduino through serial.
    You could have an Arduino connected to the computer and another Arduino connected to the motors. Each Arduino is equipped with Bluetooth to create the wireless connection.
    Alternatively, and probably easier... create your own case in the LabVIEWInterface.pde to handle Bluetooth commands from the computer. In this case, you would only need one Arduino with Bluetooth (connected to the motors). *Assuming your computer has Bluetooth and you can send Bluetooth commands.
    It is hard to give suggestions without knowing the whole system. Hope this helps.
    Edit: Also, you should upload your Arduino (LIFA) related questions to the LIFA Board: https://decibel.ni.com/content/groups/labview-inte​rface-for-arduino
    CLD Certified 2014

  • Control of serial numbers in productions (parts and final product serials)

    Hi,
    We are starting using our production module in SBO 9.0 PL11 and it is all quite messy.
    We need to manufacture an item that has a serial number made of parts, some of which have serial numbers. Just imagine a car. The car will have its own serial number, but the engine, the radio and so on will have their own serial numbers. But the cables, tyres, etc do not have  a serial of their own.
    We set a BOM model, made of every part (with or without serial) and set every line to manual.
    Then we place a PO for our parts, and then do a Goods Receipt and enter the individual items' serials.
    Then, we issue a Production order for our final product made of all of our parts in the BOM. Then we release it for production.
    Next, it all gets messi. If we create a receipt from production, we can issue the serial number of each of our final products.
    If we create an Issue for Production, we can choose what serials to pick for production.
    Big problem is that we loose all traceability. There is no way (or we can't find it) to know what are the serials of the parts that created the final product.
    Not only this, issue for production looks (serial number transaction report-wise) looks like a goods issue, so just a way to decrease your parts stock. And receipt of production looks like a goods receipt. So you just now you received something for production or that you issued it to production, but there doesn't seem to be a link between them. No traceability at all.
    Can anyone throw some light into this? I am sure we are doing something really wrong, but can't see what.

    Hi,
    1. But how do we control what serial numbers for each part we used to create the final product specific serial? (I use engine #003 and radio #376) to create product with serial #076. And we always produce in quantities greater than 1.
    Please provide an sample process production with FG item and components with required serial format to check
    2. This query is not returning any rows. I am inputing a final product code, with production orders, and nothing shows up.
    As mentioned, the above query works for batch managed items. Once we conclude process, I can try modify above query to meet your purpose.
    3. It sounds really complicated to have to open both receipt and issue to track a single manufacturing operation.
    You can use relationship map option to view both issue and receipt for single production.
    4. Besides that, what is the exact workflow? I don't quite understand issue and receipt, should I run both independently?
    Standard work flow for production order:
    1. Create bill of material
    2. Create planned production order based on above BOM
    3. Make sure required components are arrived.
    4. Change planned to released status.
    5. Issue components to production by issue production
    6. Receive finished item from production through receipt from production.
    Thanks & Regards,
    Nagarajan

  • Quanser DC Motor Control Trainer Missing Some VI's

    Hi, my name is Ansel. I am working on a project to set up an NI ELVIS with the Quanser DC Motor Control Trainer board and create a few very simple experiments demonstrating basic mechatronic functions.
    I've been unable to utilize the VI's that came with the Quanser DC Motor Control Trainer board. The disc that was included must have been faulty because not a single file (not even simple html files) would open. I contacted Quanser about this and was directed to a website (http://www.meqtronics.com/public/requests/QCI_TEMP/QNETCDv1.20forLabVIEW8_5/) from which I was able to download the content of the disc. The files I downloaded seem not to be broken, however when I attempt to run one of the VI's, such as "04-QNET_DCMCT_Speed_Control," all but four of the sub-VI's necessary are found. The four missing VI's are "Intergrator.VI," "Integrator (DBL).VI," "Transfer Function.VI," "and "Transfer Function (DBL).VI." I have all the necessary components installed, as far as I know, and a search of my computer's hard drive returns no results for any of these VI's. I am running the full version of LabVIEW 8.5.
    I would appreciate advice from anyone concerning this issue, but I'd also like to know if the Quanser Trainer VI's are the best way to learn how to create my own very simple VI's. All of the documentation I have found on the internet has referenced the trainer VI's that were supplied, so without them I haven't made much progress. I am only interested in a very simple open-loop system for controlling motor velocity as well as a slightly more complex closed-loop system. Is it worthwhile to get the Quanser Trainer VI's working or could I build these experiments from scratch?
    Thank you for your time.
    Ansel
    Message Edited by Ansel on 04-29-2008 04:50 PM

    Ansel,
    Just to clarify, the version of the NI-ELVIS software that you may have is not the reason for the missing VIs in the Quanser program you downloaded.  The VIs in question are included as part of the LabVIEW PID Toolkit, which I'm assuming is not installed on your machine. However, these particular VIs (Integrator, Transfer Function, etc) are fairly out of date, and they are only included in the PID Toolkit to support legacy code.  I'm not sure if you have access to the PID Toolkit (it is also included as part of the LabVIEW Real-Time Module), but I would not suggest purchasing it just to get this Quanser code working.
    If you are going to be focusing on simple open-loop control of the Quanser DC Motor, you could start by looking at some of the basic DAQmx examples.  Driving the motor at a certain velocity would just require supplying a constant voltage through a DAQ output.  If you want to do more advanced closed-loop control, the LabVIEW Control Design & Simulation Module might be worth taking a look at.  Take a look at the 3-hour Control Design & Simulation course here.  It is written specifically with the Quanser DC Motor board in mind.
    Chris M.

  • New to Motor Control, Seeking best approach

    Hi...  I have an upcoming task where we want to have a LabVIEW based motor control applied to a round, rotatable table inside a coating chamber.  The table will be on the order of 20 inches in diameter, made of aluminum and I will guess that it might weigh around 10 pounds.  We will have four equally spaced quadrants where a silicon wafer will sit in each quadrant.  On command we want the table to move to one of four locations where it will hold for quite some time (minutes to hours) while that one wafer is exposed to coating material.  Then we will want it to move to the other three positions in a similar way.  We want to have feedback that the table is where we think it is and we want to be able to define and return to a "home" position when desired...   There is a possibility that we might also want small motors on each of the four individual stations, meaning we would add some planetary rotation capability for each quadrant while still having overall motion control of the larger 20" round platform..   I'm not yet sure of the desired rotation speed of the small planetary components. but let me guess at say from once per second to once per minute...  On the other side I can imagine a case where they might want these to truly "spin" at say 1000 rpm.  For the larger 20" table I would say that needs only to be able to move one quarter of a revolution in say 10 seconds but when it stops it needs to hold accurately...    
    We will have a PC running LabVIEW controlling this and other features of the process...  Certainly a PCI backplane will be available but we have budget to also buy other interface chassis if that's what is recommended... It's a one time deal so we only need to build one system.  
    I am seeking feedback on what's the best motor type, controller, interface, etc for this kind of application...  Your thoughts???   Any feedback will be much appreciated...  thanks.. bob...

    Hi Bob,
    Here are a couple of links to get you started:
    Configuring a Motion Control System
    This is a good general intro to motion control and breaks down what NI provides in the way of Motion drives and controllers as well as the pros and cons of the different types of motors we support. 
    NI Motion Hardware
    This is a break down of all the hardware we sell.
    http://www.ni.com/motion/
    Please let me know if you have questions after looking through these links.
    Message Edited by Michelle_B on 10-20-2008 02:35 PM
    --Michelle
    Instrument Control R&D
    National Instruments
    Instrument Control
    Machine Vision

  • LV acquire the print information from the embed board with Linux system through serial port

    I want to acquire the print information by LV from the embed board with Linux system through serial port, like the window hyperterminal tool?
    I try to use VISA serial config function to achieve it ,but lost and prompt that is error like attachment.
    I can't sure that my idea is reasonable.
    help me
    thanks a lot!

    I ended up finding the answer to my problem. After pointing a client directly at one of the DPS systems, I saw the following error in the logs:
    [27/Jul/2009:17:11:47 -0400] - OPERATION  - INFO  - conn=3688 op=4 BIND RESPONSE err=12 msg="The server is not configured to pass through control 1.3.6.1.4.1.42.2.27.8.5.1" etime=0After adding that control OID to the allowed-ldap-controls, I could login via password auth. Adding this control also allowed for password changes to work from a client system.

  • How to come true a constant temperature control through PCI 7344

    I have one PCI-7344 to control three motors.I also need to come true a constant temperature control through 7344.
    using "Analog Input"and "Analog Reference",is it possible to come true the control.
    To come true it, what others I need?
    Waiting for your answer!
    Thanks
    帖子被langtian在12-20-2005 08:58 PM时编辑过了

    Langtian,
    In general the PID control loop of the 7344 can be used for a wide
    variety of control applications. You can use the analog inputs to
    acquire the feedback signals and the analog outputs to control e. g.
    torque, flow rates and so on. For temperature control the board seems
    to be a bit oversized as temperatures typically change very slowly
    compared to the high control loop rates of the 7344 but this shouldn't
    result in a problem.
    Please note that the "Analog Reference" Output can't be used for
    control tasks as this is a static analog output fixed to 7.5 V which
    can't be changed.
    For more information about how to use NI motion control boards with analog feedback please refer to this link and to this document.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Simple motor control with Labview

    Can anyone suggest a simple motor to be controlled by labview. I am interested in making a small scale elevator that is controlled with a labview interface. If anyone could point me in the right direction it would be greatly appreciated. - Bryan

    Attached is the vi for the program.  I will also try and attach the C code for the project.  It took a lot of failed attempts to get it working so I hope this works for you.  I don't have a schematic for you, but if you look over the C code it should let you know.  Also I used the CCS development kit 16F877A.  I'm not great at programming in C so there is a good chance you can clean it up a bit.
    I'll keep an eye on this post if you have any questions, when winter comes I'll probably work on this some more.
    Message Edited by nutmegzzzz on 09-19-2005 01:56 PM
    Attachments:
    Serial Read with Timeout version 1b.vi ‏169 KB
    LED and Motor Control from LabView - Complete.c ‏3 KB

  • When connected to my Ford Mondeo, my ipod nano can be controlled through interface.  But after while it comes up with message 'loading data' and then freezes.  Anyone else got the issue?

    When connected to my new Ford Mondeo, my ipod nano can be controlled through user interface in car.  This worksd most of the time, but after a while if I try to change the music or search, it comes up with message 'Loading Data'.  I then have to pull out USB and reinseert, at which point it works again.  Has anyone esle expereinced this/have a solution?

    Does not matter if anyone else has this issue.  You need to contact the Ford dealership.  It's their product you are having problems with. 
    If you really want to know if anyone else has this issue, post on Ford's Mondeo message boards.  It's where the Ford car owners hang out.

  • DAQ and motor control in the same VI

    Hello,
    I am a beginner in labview and I am trying to control a maxon motor and run a NIDAQ at the same time. Basically, I need to measure the pressures and the angles at the same time and record these.
    The problem that I am facing is that when I execute the VI, the motor runs first and this is followed by the measurement. I have twiddled around with it a lot getting a lot of help from this community but I can't figure it out. No matter what I do the motor starts running first and after the motor has completed its movement then the DAQ takes the measurements.
    Is there any way to run the motor and the sensors together? I can run the motor seperately and I can run the sensors separately in their own VIs but can't seem to run them sequentially.
    Any help would be appreciated.
    Aman
    Attachments:
    VI.jpg ‏64 KB

    In LabVIEW, your wires between VIs (and structures like While Loops) determine the order in which things happen.
    There are several approaches that you can take to de-couple the motor and DAQ processes.  The most obvious would be to put the motor control in one while loop, and the DAQ in another.  Yes, you can do this in LabVIEW.  Just don't get too carried away.  Each loop usually will go to a separate core to run.
    If there is data that has to be shared between the loops, you can use local variables, or the Value property nodes of the controls and indicators of your VI.
    Machine Vision, Robotics, Embedded Systems, Surveillance
    www.movimed.com - Custom Imaging Solutions

Maybe you are looking for