public DeviceAccession()
        {
            //Az attributumok elérésénél a lockhoz a szinkronizációs objektum
            lockAttributes = new object();

            DAQ = DaqSystem.Local.LoadDevice("Dev1");
            DAQ.SelfCalibrate();

            ditask = new Task();
            dotask = new Task();
            aitask = new Task();

            chLeftEnd = ditask.DIChannels.CreateChannel("Dev1/port0/line0", "Left End", ChannelLineGrouping.OneChannelForEachLine);
            chRightEnd = ditask.DIChannels.CreateChannel("Dev1/port0/line1", "Right End", ChannelLineGrouping.OneChannelForEachLine);

            chMoveToLeft = dotask.DOChannels.CreateChannel("Dev1/port1/line0", "Move to the Left", ChannelLineGrouping.OneChannelForEachLine);
            chMoveToRight = dotask.DOChannels.CreateChannel("Dev1/port1/line1", "Move to the Right", ChannelLineGrouping.OneChannelForEachLine);

            chAngle = aitask.AIChannels.CreateVoltageChannel("Dev1/ai0", "Angle", AITerminalConfiguration.Rse, -10, 10, AIVoltageUnits.Volts);
            chPosition = aitask.AIChannels.CreateVoltageChannel("Dev1/ai1", "Position", AITerminalConfiguration.Rse, -10, 10, AIVoltageUnits.Volts);

            ditask.Start();
            dotask.Start();
            aitask.Start();

            digreader = new DigitalMultiChannelReader(ditask.Stream);
            digwriter = new DigitalMultiChannelWriter(dotask.Stream);
            anreader = new AnalogMultiChannelReader(aitask.Stream);
        }
Esempio n. 2
0
        public virtual void Configure()
        {
            // This code was generated by Measurement Studio.  Changes to this
            // file may cause incorrect behavior and will be lost if the code
            // is regenerated.

            DIChannel ch = DIChannels.CreateChannel("Dev1/port1", "DigitalIn", ChannelLineGrouping.OneChannelForAllLines);
        }
Esempio n. 3
0
    public bool getLine(uint line)
    {
        Task      task        = new Task();
        string    devFullname = string.Format("{0}/port0/line{1}", name, line);
        DIChannel channel     = task.DIChannels.CreateChannel(devFullname, "", ChannelLineGrouping.OneChannelForEachLine);

        task.Start();
        DigitalMultiChannelReader reader = new DigitalMultiChannelReader(task.Stream);
        IAsyncResult result = reader.BeginReadSingleSamplePortUInt32(null, null);
        uint         value  = reader.EndReadSingleSamplePortUInt32(result).ElementAt(0);

        task.Stop();
        int shft = (int)line;

        return((value & (1u << shft)) == (1u << shft));
    }
Esempio n. 4
0
        public static void InitializeInstrument()
        {
            //Initializing Task
            motorLoadTask      = new Task();
            motorControlTask   = new Task();
            motorRotationsTask = new Task();

            //Initializing channels
            //Voltage analog in
            motorLoadChannel = motorLoadTask.AIChannels.CreateVoltageChannel("dev1/ai0", "Motor Load Channel", AITerminalConfiguration.Rse, 0, 10, AIVoltageUnits.Volts);

            //Voltage analog out
            motorControlChannel = motorControlTask.AOChannels.CreateVoltageChannel("dev1/ao0", "Motor Control Channel", 0, 5, AOVoltageUnits.Volts);

            //Voltage digital in
            motorRotationsChannel = motorRotationsTask.DIChannels.CreateChannel("dev1/port0", "Motor Rotation Channel", ChannelLineGrouping.OneChannelForAllLines);
        }
Esempio n. 5
0
    public uint getPort()
    {
        Task      task        = new Task();
        string    devFullname = string.Format("{0}/port0/line0:31", name);
        DIChannel channel     = task.DIChannels.CreateChannel(devFullname, "", ChannelLineGrouping.OneChannelForEachLine);

        task.Start();
        DigitalMultiChannelReader reader = new DigitalMultiChannelReader(task.Stream);
        IAsyncResult result = reader.BeginReadSingleSamplePortUInt32(null, null);
        uint         value  = 0;
        var          bits   = reader.EndReadSingleSamplePortUInt32(result);

        foreach (uint bit in bits)
        {
            value += bit;
        }
        task.Stop();
        return(value);
    }