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); }
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); }
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)); }
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); }
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); }