I cracked out a servo controller to try to reproduce your problem. I wrote this C# code:
using System.IO.Ports;
namespace SerialServoControllerTest
{
class Program
{
static void Main(string[] args)
{
SerialPort serialPort = new SerialPort("COM6", 9600);
serialPort.Open();
byte[] command = new byte[] { 128, 1, 2, 0, 90, 128, 1, 2, 1, 90, 128, 1, 2, 2, 90 };
while (true)
{
serialPort.Write(command, 0, command.Length);
}
}
}
}
and used the Parallax Serial Adapater. I took off the protocol selection jumper. I powered VSERVO and VIN at 6V. I connected a servo to channel 0. When I run this code, the servo moves to position and only the green LED is on.
I then wrote this program:
using System.IO.Ports;
namespace SerialServoControllerTest
{
class Program
{
static void Main(string[] args)
{
SerialPort serialPort = new SerialPort("COM6", 9600);
serialPort.Open();
byte[] command = new byte[] { 128, 1, 2, 0, 90, 128, 1, 2, 1, 90, 128, 1, 2, 2, 90 };
serialPort.Write(command, 0, command.Length);
serialPort.BaudRate = 10000;
serialPort.Write(command, 0, command.Length);
serialPort.Close();
}
}
}
Which changes the baud rate after a couple of commands. This code generated the LED sequence you are seeing: solid yellow, red flashing, and green off.
I believe that something is wrong with your LabVIEW-computer system that is generating the incorrect baud rate. I suggest seeking help with someone more experienced with LabVIEW serial communication or exploring alternate options for your serial generation.
- Ryan