Prev: read and write retain variables(flags) modbus with labview and wago 750-842
Next: more imaq usb problems
From: d_a_stuart on 23 Feb 2006 13:40
I am trying to run the Parallax USB servo controller
directly thru LabView, and stuck. I?m not very familiar with USB controls and
commands, so help would need to come at a very basic level.
I know the servo and
controller are both working, as I can control them with Parallax?s software in
real time. This means commands are being successfully sent via the USB cable.
The USB version of the controller comes with its own
software, but that doesn?t help, so I looked for the manual for the older
serial version, and DL?d the manual. I?ve also downloaded the vi examples that are found
<a href="http://www.parallax.com/dl/sw/labviewbs2.pdf" target="_blank">http://www.parallax.com/dl/sw/labviewbs2.pdf</a>
The problem is that the assumption is that the Servo
Controller is receiving commands from a Basic Stamp, such as the Board Of
Education. I need to address the SC without the middle-man, which I know is
possible because the software for the PSC-usb lets me do just that.
I understand the SYNTAX of the examples in the manual, but
am having problems with how its sending to the controller.
What I?ve tried:
If I use a terminal emulator, like RealTerm, if I send
With a terminal carriage return, I get the version number.
If I set the input text in the labview program to ?Code? (as
suggested in an earlier post here) and type
The Read Window outputs
Which is somewhat confusing, but livable. It?s acting like
it?s echoing the SEND string, as well as reading the actual output from PSCusb.
Also, I set the VISA configure to send a terminal carriage return
automatically, but still need to manually input the \r.
BUT when I try to enter commands that require more than one
piece of information, like reading servo location or setting servo position, I get
The examples in the manual give the commands as
[?!SC?, channel, rate, lowbyte, highbyte, CarriageReturn]
So, to send the servo from position 250 to position 1250 (one
extreme to the other) with no delay on channel zero, the command string should
be something like
!SC 0 0 250 1250 \r
I have tried all different combinations of spaces, quotes,
commas, etc. and its still not getting the servo to move. I assume that there
is some way that the BasicStamp software breaks up the commands. Clearly I can?t
As it wouldn?t be able to tell where channel stopped and
So, what do I need to do in order to get this thing to move?
Do I need to send each parameter individually? Any help would be greatly appreciated. I?m
pretty sure if someone knows how to this with a terminal, I can make it work in