Вы находитесь на странице: 1из 7

Simulator.

java

1 package com.cableur.app;
2
3 import java.io.IOException;
9
10 public class Simulator {
11
12 private static SerialPort serialPort;
13 DecimalFormat df = new DecimalFormat("0.00");
14 DecimalFormat df2 = new DecimalFormat("00");
15 DecimalFormat df3 = new DecimalFormat("00");
16 DecimalFormat df4 = new DecimalFormat("0000");
17 public Clip beepBp;
18 public Clip beepAlert;
19 public Clip beepFin;
20 public Ecran ecran;
21 public int ledReseau=0;
22 private String retour="\r\n";
23 private boolean connect;
24 public double adc_na=4095;
25 public double adc_k=4095;
26 public double adc_cl=4095;
27 public double adc_ca=4095;
28 public double adc_temp=51.89;
29 public double adc_sensor=4095;
30 public double naVolt=4095;
31 public double kVolt=4095;
32 public double clVolt=4095;
33 public double caVolt=4095;
34 public double tempVolt=4095;
35 public double sensorVolt=4095;
36 public double sondeVolt=4095;
37 private double facteurAdc= 0.8192;//4.5 8.6 0.4
38 public String infoAction ="Instrument non connecté";
39 public String messageMaint="Section Maintenance";
40 public String textBp="";
41 public String typeAnalyse="SERUM";
42 public int progressBar=0;
43 public int pas_pump=0;
44 public int vitesse_pump=1;
45 public int sonde=0;
46 public int dir_sonde=0;
47 public int position_sonde=0;
48 public int positionMaxSonde=230;
49 public int gap_senseur=255;public boolean pumpAsp=false;
50 public boolean sonde_run=false;
51 public int niveau=9;
52 public int vanne=0;
53 public int vanneA=0;
54 public int vanneB=0;
55 public int vanneC=0;
56 public String adc_sonde="0";
57 public boolean calDemande=false;
58 public boolean calibration=true;////////////////////////////////////////
59 public int positionTempsReelPump=0;
60 public int positionActuellePump=0;
61 public int positionTempsReelSon=0;
62 public boolean analyseDemander=false;
63 public boolean echanOK=false;
64 public String naConc;
65 public String kConc;
66 public String clConc;

Page 1
Simulator.java

67 public String caConc;


68 public int tempRecal=7;
69 public int tempRince=2;
70 public boolean finAnalyse=false;
71 public String idPatent="";
72 public String nomPatent="";
73 public boolean resultUpdate=false;
74 public String lblIdPatient="Id Echantillon :";
75 public String lblNomPatient="Nom Patient :";
76 public boolean action_fait=false;
77 public int bulle=0;
78 public int air=0;
79 public int airTime=0;
80 public int stdAtime=0;
81 public int stApump=0;
82 public int airPump=0;
83 public String cmd="Y";
84 public String cmd_retour="X";
85 public String port="COM20"; // bluetooth
86 //public String port="COM2"; //proteus
87 public int runningTimeSondeMax=300;
88 public int error=0;
89 public int count=0;
90 public int waitF=2000;
91 public boolean ack=true;
92 public boolean lock=true;
93 //22 nov 2018
94 int read = 2;
95 public int air_sensor=400;
96 public double slope_na=50.69;
97 public double slope_k=60;
98 public double slope_cl=-51;
99
100
101 public static void main(String[] args) {
102 new Simulator();
103
104
105 }
106
107
108
109 public Simulator(){
110 // getSound();
111
112 ecran=new Ecran(this);
113 try {
114 new TCP_Client().start();
115 //new TCP_server().start();
116 //new Udp_server().start();
117 //new Udp_client().start();
118 } catch (IOException e1) {
119 // TODO Auto-generated catch block
120 e1.printStackTrace();
121 }
122
123 // getting serial ports list into the array
124 String[] portNames = SerialPortList.getPortNames();
125
126 if (portNames.length == 0) {
127 System.out.println("There are no serial-ports :( You can use an emulator, such

Page 2
Simulator.java

ad VSPE, to create a virtual serial port.");


128 System.out.println("Press Enter to exit...");
129 try {
130 System.in.read();
131 } catch (IOException e) {
132
133 e.printStackTrace();
134 }
135 return;
136 }
137
138 for (int i = 0; i < portNames.length; i++){
139 System.out.println(portNames[i]);
140
141 }
142
143
144
145 }
146
147
148 /** */
149 public class SerialWrite extends Thread {
150
151
152
153 public SerialWrite () {
154
155 }
156
157 public void run() {
158 while(true){
159 tempo(waitF);
160 try {
161
162
163 //pas_pump,vitesse_pump,position_sonde,gap_senseur
164 // vitesse_pump++;pas_pump++;position_sonde++;gap_senseur++;
165 count++;
166
167 String toSend=cmd+ledReseau+dir_sonde+sonde+vanne+retour;
168 // serialPort.purgePort(1);
169 // System.out.println("cmd = "+toSend);
170 // if(serialPort.writeBytes(data)){
171 if(serialPort.writeString(toSend)){
172 // if(serialPort.writeString(sdata)){
173 //
System.out.println("*******************************************************");
174 // System.out.println(count+" Bien envoyé ******"+toSend);
175 ack=false;
176
177 }else{
178 System.out.println("Echec d'écriture *************");
179 }
180
181
182 }
183
184 catch (Throwable ex) {
185 System.out.println("Erreur d'envoit: " + ex);
186

Page 3
Simulator.java

187 }
188
189
190 }
191
192 }
193 }
194
195 public class SerialRead extends Thread {
196
197
198 public SerialRead() {
199
200 }
201
202 public void run() {
203 int inc=0;
204 while(true){
205 String sommeVu="";
206 String vu="";
207
208 try {
209 vu=(new String(serialPort.readBytes(1,164000)));
210
211 while(!vu.equalsIgnoreCase("@")){
212 sommeVu=sommeVu+vu;
213 vu=(new String(serialPort.readBytes(1)));
214
215
216 }
217 inc++;
218 if(inc==2){
219 inc=0;
220 System.out.println(sommeVu);
221 ecran.console.append(sommeVu+"\n");
222 }
223
224
225 }catch (Throwable ex) {
226 System.out.println( ack+" Erreur de reception: " + ex);
227 // ack=true;
228
229 }
230
231
232 }
233
234 }
235 }
236
237
238 public void rs232connect(){
239 if(!connect){
240 while(!connect){
241 try {
242 serialPort = new SerialPort(port);
243 // serialPort.closePort();
244 serialPort.openPort();
245
246 serialPort.setParams(SerialPort.BAUDRATE_9600,
247 SerialPort.DATABITS_8,

Page 4
Simulator.java

248 SerialPort.STOPBITS_1,
249 SerialPort.PARITY_NONE);
250
251 // serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN |
252 // SerialPort.FLOWCONTROL_RTSCTS_OUT);
253
254 // serialPort.addEventListener(new PortReader(),
SerialPort.MASK_RXCHAR);
255 new SerialRead().start();
256 // new SerialWrite().start();
257
258 connect=true;
259 ecran.btnRsoff.setText("RS232 = ON");
260 infoAction="Instrument connecté";
261 niveau=0;
262
263 }catch (Exception ex) {
264 ex.printStackTrace();
265 serialPort = new SerialPort(port);
266 try {
267 serialPort.purgePort(1);
268 serialPort.purgePort(2);
269 serialPort.purgePort(3);
270 serialPort.closePort();
271 } catch (SerialPortException e) {
272 // TODO Auto-generated catch block
273 e.printStackTrace();
274 }
275
276 }
277 }
278 }else{
279 connect=false;
280 ecran.btnRsoff.setText("RS232 = OFF");
281 System.exit(0);
282 }
283 }
284
285
286
287 public void tempo(int t) {
288 try {
289 Thread.sleep(t);
290 } catch (InterruptedException e) {
291
292 e.printStackTrace();
293 }
294 }
295
296
297
298
299
300
301 public void finPump() {
302 pumpAsp=false;
303
304 }
305
306
307 public void endTest() {

Page 5
Simulator.java

308
309 this.lock=false;
310 }
311
312
313
314
315
316 public void af(String beepLink) {
317 System.out.println(beepLink);
318
319 }
320
321
322
323 public void send_cmd(String cmd) {
324
325 String toSend=cmd+retour;
326
327 try {
328 if(serialPort.writeString(toSend)){
329 }else{
330 System.out.println("Echec led");
331 }
332 } catch (SerialPortException e) {
333
334 e.printStackTrace();
335 }
336
337 }
338
339
340
341
342
343
344
345
346
347
348 public void refresh_service(int delay) {
349 cmd="U";
350 cmd_retour="U";
351 // String toSend=cmd+niveau+retour;
352 String toSend=cmd+1+delay+retour;
353 try {
354 if(serialPort.writeString(toSend)){
355 }else{
356 System.out.println("Echec led");
357 }
358 } catch (SerialPortException e) {
359
360 e.printStackTrace();
361 }
362
363 }
364
365
366
367
368 }

Page 6
Simulator.java

369

Page 7

Вам также может понравиться