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 110 111 112 113 114 115 116 117 118 119 120 121 122
|
private SerialPort com = new SerialPort();
public void configPort()
{
if (serialPort.IsOpen == true) com.Close();
try
{
SqlCommand commande = new SqlCommand("select Port,Speed_bits,Data_bits,Stop_bits,Parity_bits from ConfigPort1", Program.connexion);
Program.connexion.Open();
SqlDataReader read = Program.commande.ExecuteReader();
while (read.Read())
{
serialPort.PortName = read[0].ToString();
serialPort.BaudRate = System.Convert.ToInt32(read[1]);
serialPort.DataBits = System.Convert.ToInt32(read[2]);
switch (read[4].ToString())
{
case "Even": serialPort.Parity = System.IO.Ports.Parity.Even; break;
case "Odd": serialPort.Parity = System.IO.Ports.Parity.Odd; break;
case "None": serialPort.Parity = System.IO.Ports.Parity.None; break;
}
switch (read[3].ToString())
{
case "1": com.StopBits = System.IO.Ports.StopBits.One; break;
case "1.5": com.StopBits = System.IO.Ports.StopBits.OnePointFive; break;
case "2": com.StopBits = System.IO.Ports.StopBits.Two; break;
}
serialPort.Handshake = System.IO.Ports.Handshake.None;
serialPort.ReadTimeout = 500;
serialPort.WriteTimeout = 500;
}
}
catch (Exception z) { MessageBox.Show(z.ToString()); }
Program.connexion.Close();
}
public void lecture(string adress)
{
if (serialPort.IsOpen == false) serialPort.Open();
ArrayList trame_lecture = new ArrayList();
ArrayList Adr = new ArrayList();
ArrayList Consigne = new ArrayList();
StringBuilder adr = new StringBuilder(adress);
for (int s = 0; s < adress.Length; s++)
{
if (adress.Length == 1) { Adr.Add(48); Adr.Add(48); }
Adr.Add(Convert.ToInt32(adr[s]));
Adr.Add(Convert.ToInt32(adr[s]));
}
trame_lecture.Add(4);
trame_lecture.AddRange(Adr);
trame_lecture.Add(80);
trame_lecture.Add(86);
trame_lecture.Add(5);
envoie(trame_lecture);
}
public void adressetuve()
{
try
{
Program.connexion.Open();
SqlCommand commande = new SqlCommand("select Adresse,Temperat_Con_1 from Oven", Program.connexion);
SqlDataReader reader = commande.ExecuteReader();
while (reader.Read())
{
lecture(reader[0].ToString());
}
reader.Close();
}
catch (Exception z) { MessageBox.Show(z.ToString()); }
Program.connexion.Close();
}
public void envoie(ArrayList liste)
{
if (serialPort.IsOpen == false) serialPort.Open();
Byte[] T = new Byte[liste.Count];
for (int s = 0; s < T.Length; s++)
{
T[s] = Convert.ToByte(liste[s]);
}
serialPort.Write(T, 0, T.Length);
string msg = serialPort.ReadExisting();
}
StringBuilder adr = new StringBuilder();
string value;
ArrayList trame = new ArrayList();
private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (serialPort.IsOpen == false) serialPort.Open();
value = serialPort.ReadExisting();
adr = new StringBuilder(value);
trame.Add(adr[3]);
trame.Add(adr[4]);
trame.Add(adr[5]);
trame.Add(adr[6]);
this.Invoke(new EventHandler(DisplayText));
serialPort.Close();
}
private void DisplayText(object sender, EventArgs e)
{
int i = 0;
String sList = "";
for (i = 0; i < trame.Count; i++)
{
sList += trame[i];
}
textBox3.AppendText(sList);
} |
Partager