Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

c#

Hi all

I am writing a program in visual basic C# to control stepper motors through the NI6211. The stepper motors are connected to a control card. And the control card is connected to a 74HC595 which is then connected to the 6211. I was wondering if I could get some help with the program to declare my 4 outputs of the 6211. Do I need 4 writers, 4 channels and 4 tasks? My code so far can be seen below:

 

            Cursor.Current = Cursors.WaitCursor;

            try

            {

 

                using (Task digitalWriteTask = new Task())

                {

                    //  Create an Digital Output channel and name it

                    digitalWriteTask.DOChannels.CreateChannel("Dev1/Port1/line0", "DataPin",

                        ChannelLineGrouping.OneChannelForEachLine);

                    digitalWriteTask.DOChannels.CreateChannel("Dev1/Port1/line1", "ParallelClock",

                       ChannelLineGrouping.OneChannelForEachLine);

                    digitalWriteTask.DOChannels.CreateChannel("Dev1/Port1/line2", "SerialClock",

                       ChannelLineGrouping.OneChannelForEachLine);

                    digitalWriteTask.DOChannels.CreateChannel("Dev1/Port1/line3", "Strobe",

                       ChannelLineGrouping.OneChannelForEachLine);

 

                    //  Write digital port data

                    DigitalSingleChannelWriter DataPin = new DigitalSingleChannelWriter(digitalWriteTask.Stream);

                    DigitalSingleChannelWriter SerialClock = new DigitalSingleChannelWriter(digitalWriteTask.Stream);

                    DigitalSingleChannelWriter ParallelClock = new DigitalSingleChannelWriter(digitalWriteTask.Stream);

                    DigitalSingleChannelWriter Strobe = new DigitalSingleChannelWriter(digitalWriteTask.Stream);

 

                    SerialClock.WriteSingleSampleSingleLine(true, false);

                    ParallelClock.WriteSingleSampleSingleLine(true, false);

 

                    for (int i = 0; i < 8; i++)

                    {

                        if (motor_state & 0x80)

                        {

                            DataPin.WriteSingleSampleSingleLine(true, true);

                        }

                        else

                        {

                            DataPin.WriteSingleSampleSingleLine(true, false);

                        }

                        motor_state <<= 1;

 

                        SerialClock.WriteSingleSampleSingleLine(true, true);

                        SerialClock.WriteSingleSampleSingleLine(true, false);

                    }

 

                    ParallelClock.WriteSingleSampleSingleLine(true, true);

                    ParallelClock.WriteSingleSampleSingleLine(true, false);

                }

 

            }

 

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                Cursor.Current = Cursors.Default;

            }

0 Kudos
Message 1 of 3
(6,086 Views)

Visual Express, not visual basic! sorry

0 Kudos
Message 2 of 3
(6,084 Views)

@Will1991 wrote:

Visual Express, not visual basic! sorry


And you have posted in the VC++ forum.

 

 

0 Kudos
Message 3 of 3
(6,013 Views)