Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Control of DMX J SA 17 stepper motor in Labview

Hi,

 

I'm trying to build a simple program to control an Arcus Technology DMX J SA 17 stepper motor via USB. I'm basing my program on the example which Arcus provide on their website, and which I attach in an llb (the program is demo.vi, the rest are sub vi's). 

 

The motor also comes with a piece of standalone software for controlling it, and this program works fine - which implies that there is no problem with the hardware or connection. 

 

The problem I'm having is that when running the demo, having input some arbitrary positions for the motor to turn to, it returns error 8004:

 

"LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

=========================

NI-488:  Command requires GPIB Controller to be Controller-In-Charge."

 

The error is confusing because the control mechanism does not use GPIB hardware or commands, also the VI was made by Arcus and I would have expected them to handle the formatting of the data inputs correctly.

 

Any help would be much appreciated

 

Dan

 

 

0 Kudos
Message 1 of 4
(7,709 Views)

Hi guys,

 

Can anyone help me with this? I've been working on other projects for a while, but now that I come back to the stepper motor control I'm still at an impasse.

 

Any help would be much appreciated.

Thanks,

Dan

0 Kudos
Message 2 of 4
(7,579 Views)

Hi Dan,

 

I'm Jack an Applications Engineer at National Instruments UK.

 

I've looked into the problem you describe. I can only test so far without the stepper motor but have made some progress.

 

I downloaded the drivers including the Dynamic-Link Library (dll) that go with the motor you have and at first couldn't execute the VI. I found the error I was having originated from the Call Library Function Node in the sendReceiveCommand.vi.

 

I think the first part of the error you posted ("An input parameter is invalid...") could be related to my initial problem and mean you have an invalid file path for the dll. To solve this or rule out the possible error please try the following steps.

 

Double-click the Call Library Function Node (in sendReceiveCommand.vi)>>> Ensure "Specify box on diagram" is checked>>> Create a constant on the diagram for this input>>> locate the dll and paste address to new constant

 

I will continue to look into the matter but please get back to me if this process makes a difference (solves problem/ different error). If you do still get an error please can you update me with a screen shot of the error message and tell me what version of LabVIEW you are using and which OS you have so I can continue to troubleshoot.

 

Hope this helps

Jack. W
Applications Engineer
National Instruments
0 Kudos
Message 3 of 4
(7,409 Views)

Hi Jack,

 

Thanks very much for your help. I've managed to complete the VI now, working as was intended. The principle problem came from trying to use demo.vi as a standalone - it turns out all the vi's in the .lib are sub-vi's apart from utility.vi. This was of course, not at all clear - and I've emailed Arcus recommending that they includ some descriptive documentation with the .lib download. 

What was happening was that demo.vi was trying to send commands without having first established a communication channel, which is done by two other sub-vi's in sequence (device selector and open device). Also, once communication is established, the motor needs to be sent the command string 'EO=1' to be enabled.

 

I attach the final vi I made 'motor control' and the sub vi library, incase anyone working with the same hardware finds them usefull.

 

Thanks again,

Dan

Download All
Message 4 of 4
(7,371 Views)