Hi sorry war wegen Umzug gestern nicht früher in der Lage mich zu melden
Dankeschön nochmal für die Erklärungen konnte zwischenzeitlich alle Probleme soweit lösen habe mir also die DLL aus anderen "Messsoftwaren" von Cesys geholt und dann ging es direkt habe auch mein erstes Programm soweit laufen natürlich noch klein.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CeboMsrNet;
namespace Eingabe_ausgabe__für_Projektarbeit { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) {
IList <Device> devices = LibraryInterface.Enumerate (DeviceType.Usb);
if (devices.Count > 0) { Device device = devices[0]; device.Open();
IInput[] inputs = new IInput[] { device.SingleEndedInputs[0], device.SingleEndedInputs[1], device.DifferentialInputs[1],
};
device.SetupInputFrame(inputs);
for (int i = 0; i < 100; ++i) { InputFrame inFrame = device.ReadFrame();
textBox1.Text = Convert.ToString( "Analoger Eingang #0: " + inFrame.GetSingleEnded(0) + " V, " + "Analoger Eingang #1: " + inFrame.GetSingleEnded(1) + " V, " + "Differential #1: " + inFrame.GetDifferential(1) + " V, "); }
device.Close(); }
}
private void button2_Click(object sender, EventArgs e) {
IList<Device> devices = LibraryInterface.Enumerate(DeviceType.All);
if (devices.Count > 0) { Device device = devices[0];
device.Open();
IOutput[] outputs = new IOutput[] { device.AnalogOutputs[0] };
device.SetupOutputFrame(outputs);
OutputFrame outFrame = device.CreateOutputFrame();
for (int i = 0; i < 100; ++i) { [color=red] outFrame.SetAnalogOutput(0, (float)(3 * Math.Sin((float)i / 100.0f))); outFrame.SetDigitalPort(2, i);
device.WriteFrame(outFrame);[/color] }
device.Close(); }
} } } |
Ist zwar noch nicht gut aber Als Grundfunktion klappt es kann meine Werte lesen und einen Wert ausgeben das muss ich jetzt noch etwas verschönern und bisschen mit Klassen verbessern da es ja mehrere Messmethoden geben wird.
Zeile 96-98 müsste ich euch jedoch nochmal belästigen und zwar konnte ich mir diesen Teil nochnicht soweit erklären bzw nutzen um ihn für mich anzupassen, konnt mir das nur als Beispiel nehmen aber eine wirkliche Anpassung eines Spannungswertes habe ich noch nicht hinbekommen. Werde es noch weiter Probieren falls es klappt hier dann direkt bescheid geben, fals nicht würde ich mich freuen wenn ihr mir diese Zeile vllt nochmal näher bringen könntet damit ich da vllt besser zurecht komme
Edit:
Ganz vergessen meine Meinung zu schreiben:) outFrame.SetAnalogOutput(0, - ist klar, ist die anweisung das auf dem Analogen Ausgang 0 die Frameausgabe stattfinden soll
float - müsste ja ähnlich wie double sein und gibt mir nur an welche forum mein wert dann hat also halt ne float zahl
3*Math.Sin ist für mich jetzt 3 mal der sinus von (i/100.0f)
und der letzte klammerwert ist praktisch dann i also die hochrechnung der wiederholungen /100.0f
Jetzt versteh ich allerdings gerade diesen befehlt i/100.f nicht also wieso nimmt es mir die zahlen 1-100 obwohl ich beim ausgang einen konstanten wert messe? und was genau macht jetzt 100.0f ?
Moderiert von Th69: Code- durch C#-Tags ersetzt