Tesla1856 Skrevet 5. februar 2018 Del Skrevet 5. februar 2018 (endret) Er ganske fersk i C# så sliter veldig nå. Lager et program som simulerer funskjonen til en DAQ(Data Aqusition) Skal egentlig ha 6-analoge sensorer og 3-digitale som skal generere kontinuerlig strøm av tilfeldige målinger. Analoge er i området 0-1V og digitale er selvsagt enten 0 eller 1. Har lekt litt med dette, men møtt veggen egentlig. Det jeg lurer på er egnetlig relativt enkelt for en erfaren programmerer. Jeg ønsker å lage en Array av 10 sensorer som generer tilfeldige anmaloge verdier 0-1V og boolske 0 eller 1 states. I tillegg ønsker jeg tid og dato når de repsektive sensorene har generert verdiene. Jeg har greid å feks få dato og tid til å komm i tekstboks, men kun ved at jeg trykker en knapp. Hvordan får jeg det automatisk i det jeg kompilerer applikasjonen?? Under er programmet mitt, altså Windows Form og Sensor klassen jeg har opprettet. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DAQ_Simulator { public partial class Form1 : Form { int counter; int maxSid = 10; string sTxt; private DateTime datetime; public Form1() { InitializeComponent(); } private void displaySensorData(object sender, EventArgs e) { // Create an array of 10 sensor objects Sensor[] sObj = new Sensor[10]; for (counter = 0; counter < maxSid; counter++) { sObj[counter] = new Sensor(counter); } for (counter = 0; counter < 10; counter++) { sTxt = sObj[counter].GetValue().ToString("F3"); } /* Random slumpGenerator = new Random(); // Or whatever limits you want... Next() returns a double int tal = slumpGenerator.Next(0, 100); textSensorValues.Text = tal.ToString();*/ } private void groupSampl_Enter(object sender, EventArgs e) { } private void textSampling_TextChanged(object sender, EventArgs e) { } private void btnSampling_Click(object sender, EventArgs e) { } private void groupLogg_Enter(object sender, EventArgs e) { } private void txtLogging_TextChanged(object sender, EventArgs e) { } private void labelLoggingText_Click(object sender, EventArgs e) { } private void btnLogging_Click(object sender, EventArgs e) { } private void labelSensorValues_Click(object sender, EventArgs e) { } private void textSensorValues_TextChanged(object sender, EventArgs e) { } private void btnStart_Click(object sender, EventArgs e) { datetime = DateTime.Now; string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second; textSensorValues.Text = time; } private void timer1_Tick(object sender, EventArgs e) { } } } Her er Sensor klassen min: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DAQ_Simulator { public class Sensor { double dVal; int sId; Random rSensVal; public Sensor(int id) { sId = id; rSensVal = new Random(id); dVal = 0.0F; } public double GetValue() { dVal += rSensVal.NextDouble(); return dVal; } public int GetSensId() { return sId; } } } Håper noen kan ta en titt Endret 5. februar 2018 av Tesla1856 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå