Compare commits
131 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d21efcb78f | |||
| 6d52ccdc9c | |||
| bdc0ce1aa5 | |||
| 31519c303b | |||
| 0cfbbe069a | |||
| 04f9a8155e | |||
| de8daee8f9 | |||
| 8ccd5fc06b | |||
| 698fd47177 | |||
| f48ee73ede | |||
| 3dedafd43f | |||
| 020d8304a5 | |||
| 2a66160e84 | |||
| a52d76bb5b | |||
| 112f6ed697 | |||
| 9798b5a993 | |||
| c28c77bec9 | |||
| 9232597888 | |||
| db7a6c39c3 | |||
| 3b3b6c424e | |||
| 90ef09785c | |||
| eba5920137 | |||
| 3d16c4d682 | |||
| d6ea0e7f9a | |||
| 8bd8144294 | |||
| e5daf52bb4 | |||
| 3120746f60 | |||
| 642026eadc | |||
| e3fb330264 | |||
| edfb4c4423 | |||
| 9294cecc15 | |||
| 14ed50b58d | |||
| 3d6e711bf0 | |||
| 79bf736201 | |||
| 3a39f20b5a | |||
| fa77cc11cb | |||
| 1a120db9e3 | |||
| d3f6dc4a77 | |||
| e216f9597d | |||
| d06f36edbe | |||
| b732e1514d | |||
| 2e84a57cfb | |||
| 100c030844 | |||
| c020a5588b | |||
| 1532898329 | |||
| d367532d11 | |||
| 302456b21b | |||
| bc0a33cf7f | |||
| dcb65ad4f3 | |||
| 117a6288bb | |||
| 95484c7ee7 | |||
| 4db37d663f | |||
| bbfe28edc7 | |||
| 180334822b | |||
| 63b09c1dfb | |||
| ea32e6b506 | |||
| e65ba32e09 | |||
| 426eaeea95 | |||
| 026a85e5ff | |||
| 85a387cc86 | |||
| dfcaac23ba | |||
| 9c1928c7ae | |||
| 506c14f82a | |||
| 10835c555e | |||
| c1adb138e7 | |||
| f06dac3a7b | |||
| 6545727c2f | |||
| cf240405a5 | |||
| e377d7ece7 | |||
| 70011ed571 | |||
| e4d3c5559a | |||
| 7232f63094 | |||
| 581dade86d | |||
| 84033194a6 | |||
| 0cb7833480 | |||
| d9c892cb11 | |||
| f08b33ebf6 | |||
| bdbc136638 | |||
| 2d4ae4c0cc | |||
| 60e8f3da34 | |||
| a1aed17621 | |||
| add63366a3 | |||
| 4f9d26c536 | |||
| bfd963f8d7 | |||
| 16bda5b2a9 | |||
| c32f50070e | |||
| 0c03082ff8 | |||
| 11928ef3bf | |||
| f745084d44 | |||
| ec06bf016d | |||
| 7ed09443d9 | |||
| d99c7b52a6 | |||
| 6c0cef552c | |||
| 87976bea45 | |||
| 93544b93a7 | |||
| 20a059602f | |||
| f9586ce949 | |||
| 46b715dd3c | |||
| d926a504d5 | |||
| a30e50fe53 | |||
| 4fd3807875 | |||
| 7bee0f3e91 | |||
| b55569e608 | |||
| 684f595878 | |||
| 1ab581bd43 | |||
| fbc6e22bf7 | |||
| b86c338b14 | |||
| ad8681991b | |||
| f018da3a5f | |||
| 440abb4e51 | |||
| 8132da127e | |||
| 2dd6f93bd0 | |||
| 2be6c229d7 | |||
| 88257068ae | |||
| d4ca3f9f1a | |||
| c2f8441e8b | |||
| 6dfee4a431 | |||
| f3c040fb1a | |||
| 67644f38b9 | |||
| 49d7b45c67 | |||
| 189d5e200f | |||
| e99d3bdb0d | |||
| 747fe636be | |||
| 6c5d9ce68d | |||
| 08cecd01f5 | |||
| fce288f451 | |||
| 2c8227e1c2 | |||
| f4e9a85e51 | |||
| c8b21095a4 | |||
| cd20b0f117 | |||
| d1ddae1f61 |
@@ -0,0 +1,57 @@
|
||||
declare module Recipe{
|
||||
|
||||
interface IRange{
|
||||
min: number;
|
||||
max: number;
|
||||
}
|
||||
|
||||
interface IStatus{
|
||||
visible: boolean;
|
||||
enabled: boolean;
|
||||
hasError: boolean;
|
||||
}
|
||||
|
||||
interface IValue{
|
||||
range:IRange,
|
||||
status:IStatus,
|
||||
unitMeasure:string,
|
||||
valueAct: number
|
||||
}
|
||||
|
||||
interface IRecipe{
|
||||
vacuum_main_start?:IValue,
|
||||
vacuum_main_delay?:IValue,
|
||||
vacuum_main_max_time?:IValue,
|
||||
vacuum_main_1_chart_setpointx?:IValue,
|
||||
vacuum_main_1_chart_setpointy?:IValue,
|
||||
vacuum_main_2_chart_setpointx?:IValue,
|
||||
vacuum_main_2_chart_setpointy?:IValue,
|
||||
vacuum_main_3_chart_setpointx?:IValue,
|
||||
vacuum_main_3_chart_setpointy?:IValue,
|
||||
vacuum_main_manual?:IValue,
|
||||
vacuum_direct_enabled?:IValue,
|
||||
vacuum_direct_delay?:IValue,
|
||||
vacuum_direct_time?:IValue,
|
||||
vacuum_aux_enabled?:IValue,
|
||||
vacuum_aux_delay?:IValue,
|
||||
vacuum_aux_max_time?:IValue,
|
||||
vacuum_aux_1_chart_setpointx?:IValue,
|
||||
vacuum_aux_1_chart_setpointy?:IValue,
|
||||
vacuum_aux_2_chart_setpointx?:IValue,
|
||||
vacuum_aux_2_chart_setpointy?:IValue,
|
||||
vacuum_aux_3_chart_setpointx?:IValue,
|
||||
vacuum_aux_3_chart_setpointy?:IValue,
|
||||
vacuum_aux_manual?:IValue,
|
||||
vacuum_pre_enabled?:IValue,
|
||||
vacuum_pre_delay?:IValue,
|
||||
vacuum_pre_max_time?:IValue,
|
||||
vacuum_pre_1_chart_setpointx?:IValue,
|
||||
vacuum_pre_1_chart_setpointy?:IValue,
|
||||
vacuum_pre_2_chart_setpointx?:IValue,
|
||||
vacuum_pre_2_chart_setpointy?:IValue,
|
||||
vacuum_pre_3_chart_setpointx?:IValue,
|
||||
vacuum_pre_3_chart_setpointy?:IValue
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
declare module Recipe{
|
||||
|
||||
interface IRange{
|
||||
min: number;
|
||||
max: number;
|
||||
}
|
||||
|
||||
interface IStatus{
|
||||
visible: boolean;
|
||||
enabled: boolean;
|
||||
hasError: boolean;
|
||||
}
|
||||
|
||||
interface IValue{
|
||||
range:IRange,
|
||||
status:IStatus,
|
||||
unitMeasure:string,
|
||||
valueAct: number
|
||||
}
|
||||
|
||||
interface IRecipe{
|
||||
vacuum_main_start?:IValue,
|
||||
vacuum_main_delay?:IValue,
|
||||
vacuum_main_max_time?:IValue,
|
||||
vacuum_main_1_chart_setpointx?:IValue,
|
||||
vacuum_main_1_chart_setpointy?:IValue,
|
||||
vacuum_main_2_chart_setpointx?:IValue,
|
||||
vacuum_main_2_chart_setpointy?:IValue,
|
||||
vacuum_main_3_chart_setpointx?:IValue,
|
||||
vacuum_main_3_chart_setpointy?:IValue,
|
||||
vacuum_main_manual?:IValue,
|
||||
vacuum_direct_enabled?:IValue,
|
||||
vacuum_direct_delay?:IValue,
|
||||
vacuum_direct_time?:IValue,
|
||||
vacuum_aux_enabled?:IValue,
|
||||
vacuum_aux_delay?:IValue,
|
||||
vacuum_aux_max_time?:IValue,
|
||||
vacuum_aux_1_chart_setpointx?:IValue,
|
||||
vacuum_aux_1_chart_setpointy?:IValue,
|
||||
vacuum_aux_2_chart_setpointx?:IValue,
|
||||
vacuum_aux_2_chart_setpointy?:IValue,
|
||||
vacuum_aux_3_chart_setpointx?:IValue,
|
||||
vacuum_aux_3_chart_setpointy?:IValue,
|
||||
vacuum_aux_manual?:IValue,
|
||||
vacuum_pre_enabled?:IValue,
|
||||
vacuum_pre_delay?:IValue,
|
||||
vacuum_pre_max_time?:IValue,
|
||||
vacuum_pre_1_chart_setpointx?:IValue,
|
||||
vacuum_pre_1_chart_setpointy?:IValue,
|
||||
vacuum_pre_2_chart_setpointx?:IValue,
|
||||
vacuum_pre_2_chart_setpointy?:IValue,
|
||||
vacuum_pre_3_chart_setpointx?:IValue,
|
||||
vacuum_pre_3_chart_setpointy?:IValue
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
import Vue from 'vue';
|
||||
import Component from 'vue-class-component';
|
||||
import {Prop} from 'vue-property-decorator';
|
||||
import Slider from "@/app_modules_thermo/components/slider.vue"
|
||||
import Scheda from "@/app_modules_thermo/components/scheda.vue"
|
||||
|
||||
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
|
||||
export default class VuotoPrincipale extends Vue{
|
||||
|
||||
Recipe:Recipe.IRecipe={
|
||||
vacuum_main_delay:{
|
||||
range:{
|
||||
min:8,
|
||||
max:105
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:57
|
||||
},
|
||||
vacuum_main_max_time:{
|
||||
range:{
|
||||
min:9,
|
||||
max:127
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:30
|
||||
},
|
||||
};
|
||||
|
||||
@Prop({default:0})
|
||||
ritardo:number;
|
||||
|
||||
@Prop({default:0})
|
||||
percentuale:number;
|
||||
|
||||
@Prop({default:0})
|
||||
durata:number;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<template>
|
||||
<section>
|
||||
<aside class="scrollable auto">
|
||||
<div class="input-area">
|
||||
<label>Partenza</label>
|
||||
<select>
|
||||
<option value="Label partenza">Label partenza</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>Ritardo</label>
|
||||
<div class="rect">
|
||||
{{ritardo}} s
|
||||
</div>
|
||||
</div>
|
||||
<slider :min="0" :max="10" v-model="ritardo" unit-of-measure="s"></slider>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<label>Portata in manuale</label>
|
||||
<div class="rect">
|
||||
{{Recipe.vacuum_main_delay.valueAct}} %
|
||||
</div>
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
|
||||
</aside>
|
||||
<hr>
|
||||
<div class="specific">
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
</div>
|
||||
<div class="specific">
|
||||
<div class="input-area">
|
||||
<label>Durata massima</label>
|
||||
<div class="rect">
|
||||
{{Recipe.vacuum_main_max_time.valueAct}} s
|
||||
</div>
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./vuoto-principale.ts"></script>
|
||||
@@ -0,0 +1,50 @@
|
||||
import Vue from 'vue';
|
||||
import Component from 'vue-class-component';
|
||||
import {Prop} from 'vue-property-decorator';
|
||||
import Slider from "@/app_modules_thermo/components/slider.vue"
|
||||
import Scheda from "@/app_modules_thermo/components/scheda.vue"
|
||||
|
||||
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
|
||||
export default class VuotoPrincipale extends Vue{
|
||||
|
||||
Recipe:Recipe.IRecipe={
|
||||
vacuum_main_delay:{
|
||||
range:{
|
||||
min:8,
|
||||
max:105
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:57
|
||||
},
|
||||
vacuum_main_max_time:{
|
||||
range:{
|
||||
min:9,
|
||||
max:127
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:30
|
||||
},
|
||||
};
|
||||
|
||||
@Prop({default:0})
|
||||
ritardo:number;
|
||||
@Prop({default:0})
|
||||
percentuale:number;
|
||||
@Prop({default:0})
|
||||
durata:number;
|
||||
|
||||
mock_ritardo:number=this.ritardo;
|
||||
mock_percentuale:number=this.percentuale;
|
||||
mock_durata:number=this.durata;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<section>
|
||||
<aside class="scrollable auto">
|
||||
<div class="input-area">
|
||||
<label>Partenza</label>
|
||||
<select>
|
||||
<option value="Label partenza">Label partenza</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>Ritardo</label>
|
||||
<input class="rect" v-model="Recipe.vacuum_main_delay.valueAct">
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<label>Portata in manuale</label>
|
||||
<input class="rect" v-model="mock_percentuale">
|
||||
</div>
|
||||
<slider :min="0" :max="100" v-model="mock_percentuale" :unit-of-measure="'%'"></slider>
|
||||
</aside>
|
||||
<hr>
|
||||
<div class="specific">
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
</div>
|
||||
<div class="specific">
|
||||
<div class="input-area">
|
||||
<label>Durata massima</label>
|
||||
<input class="rect" v-model="Recipe.vacuum_main_max_time.valueAct">
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./vuoto-principale.ts"></script>
|
||||
@@ -0,0 +1,63 @@
|
||||
import Vue from 'vue';
|
||||
import Component from 'vue-class-component';
|
||||
import {Prop} from 'vue-property-decorator';
|
||||
import Slider from "@/app_modules_thermo/components/slider.vue"
|
||||
import Scheda from "@/app_modules_thermo/components/scheda.vue"
|
||||
|
||||
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
|
||||
export default class VuotoPrincipale extends Vue{
|
||||
|
||||
Recipe:Recipe.IRecipe={
|
||||
vacuum_main_delay:{
|
||||
range:{
|
||||
min:8,
|
||||
max:105
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:57
|
||||
},
|
||||
vacuum_main_max_time:{
|
||||
range:{
|
||||
min:9,
|
||||
max:127
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:30
|
||||
},
|
||||
vacuum_main_manual:{
|
||||
range:{
|
||||
min:4,
|
||||
max:115
|
||||
},
|
||||
status:{
|
||||
visible:true,
|
||||
enabled:true,
|
||||
hasError:false
|
||||
},
|
||||
unitMeasure:"",
|
||||
valueAct:8
|
||||
},
|
||||
};
|
||||
|
||||
@Prop({default:0})
|
||||
ritardo:number;
|
||||
@Prop({default:0})
|
||||
percentuale:number;
|
||||
@Prop({default:0})
|
||||
durata:number;
|
||||
|
||||
mock_ritardo:number=this.ritardo;
|
||||
mock_percentuale:number=this.percentuale;
|
||||
mock_durata:number=this.durata;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<section>
|
||||
<aside class="scrollable auto">
|
||||
<div class="input-area">
|
||||
<label>Partenza</label>
|
||||
<select>
|
||||
<option value="Label partenza">Label partenza</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>Ritardo</label>
|
||||
<input class="rect" v-model="Recipe.vacuum_main_delay.valueAct">
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="input-area">
|
||||
<label>Portata in manuale</label>
|
||||
<input class="rect" v-model="Recipe.vacuum_main_manual.valueAct">
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_manual.range.min" :max="Recipe.vacuum_main_manual.range.max" v-model="Recipe.vacuum_main_manual.valueAct" :unit-of-measure="Recipe.vacuum_main_manual.unitMeasure"></slider>
|
||||
</aside>
|
||||
<hr>
|
||||
<div class="specific">
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
<scheda></scheda>
|
||||
</div>
|
||||
<div class="specific">
|
||||
<div class="input-area">
|
||||
<label>Durata massima</label>
|
||||
<input class="rect" v-model="Recipe.vacuum_main_max_time.valueAct">
|
||||
</div>
|
||||
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./vuoto-principale.ts"></script>
|
||||
@@ -10,7 +10,7 @@ namespace Client.Config.SubModels
|
||||
{
|
||||
public Boolean Enabled { get; set; }
|
||||
public Boolean FollowNcWindow { get; set; }
|
||||
public ushort Type { get; set; } /* 0: Demo - 1: Fanuc - 2: Siemens - 3: Osai */
|
||||
public ushort Type { get; set; } /* 0: Demo - 1: Fanuc - 2: Siemens - 3: Osai - 4: Siemens S7 */
|
||||
public string IpAddress { get; set; }
|
||||
public string Port { get; set; }
|
||||
|
||||
|
||||
@@ -1283,6 +1283,21 @@ namespace Active_Client.View
|
||||
ncWindowHeight = HMI_WINDOW_HEIGHT_OSAI;
|
||||
ncWindowX = HMI_WINDOW_POS_X_OSAI;
|
||||
ncWindowY = HMI_WINDOW_POS_Y_OSAI;
|
||||
}; break;
|
||||
|
||||
// 4: Siemens S7
|
||||
case 4:
|
||||
{
|
||||
processname = DemoName;
|
||||
processpath = @"C:\CMS\ACTIVE\DEMO" + DemoPath;
|
||||
ncWindowWidth = 0;
|
||||
ncWindowHeight = 0;
|
||||
ncWindowX = 0;
|
||||
ncWindowY = 0; ;
|
||||
//ncWindowWidth = HMI_WINDOW_WIDTH_SIEMENS;
|
||||
//ncWindowHeight = HMI_WINDOW_HEIGHT_SIEMENS;
|
||||
//ncWindowX = HMI_WINDOW_POS_X_SIEMENS;
|
||||
//ncWindowY = HMI_WINDOW_POS_Y_SIEMENS;
|
||||
}; break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,6 +257,8 @@ namespace Active_Client.View
|
||||
Config.VendorHmiConfig.Type = 2;
|
||||
else if (ncVendorName.Equals("OSAI"))
|
||||
Config.VendorHmiConfig.Type = 3;
|
||||
else if (ncVendorName.Equals("S7NET"))
|
||||
Config.VendorHmiConfig.Type = 4;
|
||||
else
|
||||
{
|
||||
setStatus("Close the application!", "Errror in configuration, from server");
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<system.serviceModel>
|
||||
<bindings>
|
||||
<basicHttpBinding>
|
||||
<binding name="OPENcontrol" />
|
||||
</basicHttpBinding>
|
||||
</bindings>
|
||||
<client>
|
||||
<endpoint address="http://192.168.20.2:8080" binding="basicHttpBinding"
|
||||
bindingConfiguration="OPENcontrol" contract="OPENControl.OPENcontrolPortType"
|
||||
name="OPENcontrol" />
|
||||
</client>
|
||||
</system.serviceModel>
|
||||
</configuration>
|
||||
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<modules>
|
||||
<block>
|
||||
<id>1</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">DiscesaCZ ENG</lang>
|
||||
<lang langKey="it">DiscesaCZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>MOVEMENT</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>2</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">MembDiscesaZ ENG</lang>
|
||||
<lang langKey="it">MembDiscesaZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>MOVEMENT</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>3</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">MembZ ENG</lang>
|
||||
<lang langKey="it">MembZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>MOVEMENT</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>4</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_MembSalitaZ ENG</lang>
|
||||
<lang langKey="it">Mod_MembSalitaZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>MOVEMENT</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>6</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_RiscaldoInf ENG</lang>
|
||||
<lang langKey="it">Mod_RiscaldoInf ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>HEATING</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>7</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_RiscaldoSup ENG</lang>
|
||||
<lang langKey="it">Mod_RiscaldoSup ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>HEATING</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>0</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>2</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>8</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_PirometroRisc ENG</lang>
|
||||
<lang langKey="it">Mod_PirometroRisc ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>HEATING</type>
|
||||
<section>HEATING</section>
|
||||
<idParam>80</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>true</showStatus>
|
||||
<priority>3</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>13</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_Imbutitura ENG</lang>
|
||||
<lang langKey="it">Mod_Imbutitura ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>DRAWING</type>
|
||||
<section>FORMING</section>
|
||||
<idParam>99</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>true</showStatus>
|
||||
<priority>2</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>16</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_Raffreddamento ENG</lang>
|
||||
<lang langKey="it">Mod_Raffreddamento ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>COOLING</type>
|
||||
<section>FORMING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>2</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>17</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_PirometroRaffr ENG</lang>
|
||||
<lang langKey="it">Mod_PirometroRaffr ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>COOLING</type>
|
||||
<section>FORMING</section>
|
||||
<idParam>139</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>true</showStatus>
|
||||
<priority>3</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>19</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_Vuoto ENG</lang>
|
||||
<lang langKey="it">Mod_Vuoto ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>VACUUM</type>
|
||||
<section>FORMING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>4</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>21</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_VuotoDiretto ENG</lang>
|
||||
<lang langKey="it">Mod_VuotoDiretto ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>VACUUM</type>
|
||||
<section>FORMING</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>5</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>36</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_EstrazioneZ ENG</lang>
|
||||
<lang langKey="it">Mod_EstrazioneZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>EXTRACTION</type>
|
||||
<section>EXTRACTION</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>true</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>2</priority>
|
||||
</block>
|
||||
<block>
|
||||
<id>42</id>
|
||||
<localizedLabels>
|
||||
<lang langKey="en">Mod_SalitaCZ ENG</lang>
|
||||
<lang langKey="it">Mod_SalitaCZ ITA</lang>
|
||||
</localizedLabels>
|
||||
<type>MOVEMENT</type>
|
||||
<section>EXTRACTION</section>
|
||||
<idParam>-1</idParam>
|
||||
<showDelay>false</showDelay>
|
||||
<showStatus>false</showStatus>
|
||||
<priority>1</priority>
|
||||
</block>
|
||||
</modules>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="modules">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<!-- Heads -->
|
||||
<xs:element name="block" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="id" type="xs:int"/>
|
||||
<xs:element name="localizedLabels">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="lang" type="langType" minOccurs="0" maxOccurs="unbounded">
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="type" type="mblockType" />
|
||||
<xs:element name="section" type="mblockSection" />
|
||||
<xs:element name="idParam" type="xs:int" />
|
||||
<xs:element name="showDelay" type="xs:boolean" />
|
||||
<xs:element name="showStatus" type="xs:boolean" />
|
||||
<xs:element name="priority" type="xs:int" />
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- Language Type -->
|
||||
<xs:complexType name="langType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="langKey" use="required" type="xs:string" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- ModBlock Type -->
|
||||
<xs:simpleType name="mblockType" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HEATING" />
|
||||
<xs:enumeration value="DRAWING" />
|
||||
<xs:enumeration value="MOVEMENT"/>
|
||||
<xs:enumeration value="VACUUM"/>
|
||||
<xs:enumeration value="COOLING"/>
|
||||
<xs:enumeration value="EXTRACTION"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!-- Section Type -->
|
||||
<xs:simpleType name="mblockSection" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HEATING" />
|
||||
<xs:enumeration value="FORMING" />
|
||||
<xs:enumeration value="EXTRACTION"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="recipe">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<!-- Heads -->
|
||||
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="id" type="xs:int"/>
|
||||
<xs:element name="category" type="param_type" />
|
||||
<xs:element name="subCategory_1" type="xs:string" />
|
||||
<xs:element name="subCategory_2" type="xs:string" />
|
||||
<xs:element name="name" type="xs:string" />
|
||||
<xs:element name="description" type="xs:string" />
|
||||
<xs:element name="format" type="xs:string" />
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- Head Type -->
|
||||
<xs:simpleType name="param_type" final="restriction">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="General" />
|
||||
<xs:enumeration value="Positions" />
|
||||
<xs:enumeration value="Cycle"/>
|
||||
<xs:enumeration value="Heats"/>
|
||||
<xs:enumeration value="Pyrometer"/>
|
||||
<xs:enumeration value="Drawing"/>
|
||||
<xs:enumeration value="UpperPlate"/>
|
||||
<xs:enumeration value="Cooling"/>
|
||||
<xs:enumeration value="Vacuum"/>
|
||||
<xs:enumeration value="Extraction"/>
|
||||
<xs:enumeration value="Options"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,981 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<riscaldo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="risk2007Validator.xsd" comPort="5" baudRate="19200" gainTc="0.5" addrTc="4D5">
|
||||
<riflettore tipo="0" dimensionScale="20000" slimScale="2" offsetTc="0">
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="1" termocoppiaAssociata="1" canale="7" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="2" termocoppiaAssociata="1" canale="44" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="3" termocoppiaAssociata="1" canale="81" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="4" termocoppiaAssociata="1" canale="118" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="5" termocoppiaAssociata="1" canale="155" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="6" termocoppiaAssociata="1" canale="192" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="7" termocoppiaAssociata="1" canale="229" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="8" termocoppiaAssociata="1" canale="266" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="9" termocoppiaAssociata="1" canale="303" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="10" termocoppiaAssociata="1" canale="340" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="11" termocoppiaAssociata="1" canale="377" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="12" termocoppiaAssociata="1" canale="414" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="1" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="1" canale="1" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="14" termocoppiaAssociata="1" canale="8" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="15" termocoppiaAssociata="1" canale="45" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="16" termocoppiaAssociata="1" canale="82" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="17" termocoppiaAssociata="1" canale="119" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="18" termocoppiaAssociata="1" canale="156" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="19" termocoppiaAssociata="1" canale="193" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="20" termocoppiaAssociata="1" canale="230" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="21" termocoppiaAssociata="1" canale="267" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="22" termocoppiaAssociata="1" canale="304" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="23" termocoppiaAssociata="1" canale="341" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="24" termocoppiaAssociata="1" canale="378" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="1" idTermocoppia="0" idGruppo="25" termocoppiaAssociata="1" canale="415" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="26" termocoppiaAssociata="1" canale="9" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="27" termocoppiaAssociata="1" canale="46" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="28" termocoppiaAssociata="1" canale="83" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="29" termocoppiaAssociata="1" canale="120" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="30" termocoppiaAssociata="1" canale="157" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="31" termocoppiaAssociata="1" canale="194" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="32" termocoppiaAssociata="1" canale="231" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="33" termocoppiaAssociata="1" canale="268" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="34" termocoppiaAssociata="1" canale="305" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="35" termocoppiaAssociata="1" canale="342" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="36" termocoppiaAssociata="1" canale="379" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="37" termocoppiaAssociata="1" canale="416" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="3" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="1" canale="1" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="38" termocoppiaAssociata="1" canale="10" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="39" termocoppiaAssociata="1" canale="47" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="40" termocoppiaAssociata="1" canale="84" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="41" termocoppiaAssociata="1" canale="121" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="42" termocoppiaAssociata="1" canale="158" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="43" termocoppiaAssociata="1" canale="195" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="44" termocoppiaAssociata="1" canale="232" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="45" termocoppiaAssociata="1" canale="269" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="46" termocoppiaAssociata="1" canale="306" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="47" termocoppiaAssociata="1" canale="343" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="48" termocoppiaAssociata="1" canale="380" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="3" idTermocoppia="0" idGruppo="25" termocoppiaAssociata="1" canale="415" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="49" termocoppiaAssociata="1" canale="11" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="50" termocoppiaAssociata="1" canale="48" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="51" termocoppiaAssociata="1" canale="85" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="52" termocoppiaAssociata="1" canale="122" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="53" termocoppiaAssociata="1" canale="159" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="54" termocoppiaAssociata="1" canale="196" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="55" termocoppiaAssociata="1" canale="233" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="56" termocoppiaAssociata="1" canale="270" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="57" termocoppiaAssociata="1" canale="307" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="58" termocoppiaAssociata="1" canale="344" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="59" termocoppiaAssociata="1" canale="381" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="60" termocoppiaAssociata="1" canale="417" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="5" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="1" canale="1" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="61" termocoppiaAssociata="1" canale="12" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="62" termocoppiaAssociata="1" canale="49" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="63" termocoppiaAssociata="1" canale="86" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="64" termocoppiaAssociata="1" canale="123" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="65" termocoppiaAssociata="1" canale="160" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="66" termocoppiaAssociata="1" canale="197" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="67" termocoppiaAssociata="1" canale="234" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="68" termocoppiaAssociata="1" canale="271" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="69" termocoppiaAssociata="1" canale="308" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="70" termocoppiaAssociata="1" canale="345" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="71" termocoppiaAssociata="1" canale="382" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="5" idTermocoppia="0" idGruppo="25" termocoppiaAssociata="1" canale="415" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="72" termocoppiaAssociata="1" canale="13" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="73" termocoppiaAssociata="1" canale="50" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="74" termocoppiaAssociata="1" canale="87" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="75" termocoppiaAssociata="1" canale="124" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="76" termocoppiaAssociata="1" canale="161" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="77" termocoppiaAssociata="1" canale="198" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="78" termocoppiaAssociata="1" canale="235" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="79" termocoppiaAssociata="1" canale="272" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="80" termocoppiaAssociata="1" canale="309" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="81" termocoppiaAssociata="1" canale="346" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="82" termocoppiaAssociata="1" canale="383" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="83" termocoppiaAssociata="1" canale="418" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="7" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="1" canale="2" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="85" termocoppiaAssociata="1" canale="14" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="86" termocoppiaAssociata="1" canale="51" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="87" termocoppiaAssociata="1" canale="88" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="88" termocoppiaAssociata="1" canale="125" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="89" termocoppiaAssociata="1" canale="162" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="90" termocoppiaAssociata="1" canale="199" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="91" termocoppiaAssociata="1" canale="236" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="92" termocoppiaAssociata="1" canale="273" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="93" termocoppiaAssociata="1" canale="310" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="94" termocoppiaAssociata="1" canale="347" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="95" termocoppiaAssociata="1" canale="384" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="7" idTermocoppia="0" idGruppo="96" termocoppiaAssociata="1" canale="419" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="97" termocoppiaAssociata="1" canale="15" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="98" termocoppiaAssociata="1" canale="52" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="99" termocoppiaAssociata="1" canale="89" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="100" termocoppiaAssociata="1" canale="126" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="101" termocoppiaAssociata="1" canale="163" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="102" termocoppiaAssociata="1" canale="200" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="103" termocoppiaAssociata="1" canale="237" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="104" termocoppiaAssociata="1" canale="274" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="105" termocoppiaAssociata="1" canale="311" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="106" termocoppiaAssociata="1" canale="348" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="107" termocoppiaAssociata="1" canale="385" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="108" termocoppiaAssociata="1" canale="420" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="9" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="1" canale="2" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="109" termocoppiaAssociata="1" canale="16" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="110" termocoppiaAssociata="1" canale="53" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="111" termocoppiaAssociata="1" canale="90" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="112" termocoppiaAssociata="1" canale="127" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="113" termocoppiaAssociata="1" canale="164" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="114" termocoppiaAssociata="1" canale="201" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="115" termocoppiaAssociata="1" canale="238" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="116" termocoppiaAssociata="1" canale="275" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="117" termocoppiaAssociata="1" canale="312" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="118" termocoppiaAssociata="1" canale="349" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="119" termocoppiaAssociata="1" canale="386" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="9" idTermocoppia="0" idGruppo="96" termocoppiaAssociata="1" canale="419" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="120" termocoppiaAssociata="1" canale="17" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="121" termocoppiaAssociata="1" canale="54" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="122" termocoppiaAssociata="1" canale="91" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="123" termocoppiaAssociata="1" canale="128" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="124" termocoppiaAssociata="1" canale="165" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="125" termocoppiaAssociata="1" canale="202" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="126" termocoppiaAssociata="1" canale="239" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="127" termocoppiaAssociata="1" canale="276" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="128" termocoppiaAssociata="1" canale="313" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="129" termocoppiaAssociata="1" canale="350" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="130" termocoppiaAssociata="1" canale="387" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="131" termocoppiaAssociata="1" canale="421" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="11" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="1" canale="2" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="132" termocoppiaAssociata="1" canale="18" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="133" termocoppiaAssociata="1" canale="55" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="134" termocoppiaAssociata="1" canale="92" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="135" termocoppiaAssociata="1" canale="129" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="136" termocoppiaAssociata="1" canale="166" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="137" termocoppiaAssociata="1" canale="203" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="138" termocoppiaAssociata="1" canale="240" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="139" termocoppiaAssociata="1" canale="277" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="140" termocoppiaAssociata="1" canale="314" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="141" termocoppiaAssociata="1" canale="351" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="142" termocoppiaAssociata="1" canale="388" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="11" idTermocoppia="0" idGruppo="96" termocoppiaAssociata="1" canale="419" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="143" termocoppiaAssociata="1" canale="19" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="144" termocoppiaAssociata="1" canale="56" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="145" termocoppiaAssociata="1" canale="93" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="146" termocoppiaAssociata="1" canale="130" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="147" termocoppiaAssociata="1" canale="167" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="148" termocoppiaAssociata="1" canale="204" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="149" termocoppiaAssociata="1" canale="241" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="150" termocoppiaAssociata="1" canale="278" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="151" termocoppiaAssociata="1" canale="315" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="152" termocoppiaAssociata="1" canale="352" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="153" termocoppiaAssociata="1" canale="389" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="154" termocoppiaAssociata="1" canale="422" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="13" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="1" canale="3" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="156" termocoppiaAssociata="1" canale="20" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="157" termocoppiaAssociata="1" canale="57" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="158" termocoppiaAssociata="1" canale="94" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="159" termocoppiaAssociata="1" canale="131" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="160" termocoppiaAssociata="1" canale="168" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="161" termocoppiaAssociata="1" canale="205" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="162" termocoppiaAssociata="1" canale="242" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="163" termocoppiaAssociata="1" canale="279" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="164" termocoppiaAssociata="1" canale="316" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="165" termocoppiaAssociata="1" canale="353" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="166" termocoppiaAssociata="1" canale="390" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="13" idTermocoppia="0" idGruppo="167" termocoppiaAssociata="1" canale="423" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="168" termocoppiaAssociata="1" canale="21" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="169" termocoppiaAssociata="1" canale="58" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="170" termocoppiaAssociata="1" canale="95" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="171" termocoppiaAssociata="1" canale="132" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="172" termocoppiaAssociata="1" canale="169" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="173" termocoppiaAssociata="1" canale="206" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="174" termocoppiaAssociata="1" canale="243" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="175" termocoppiaAssociata="1" canale="280" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="176" termocoppiaAssociata="1" canale="317" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="177" termocoppiaAssociata="1" canale="354" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="178" termocoppiaAssociata="1" canale="391" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="179" termocoppiaAssociata="1" canale="424" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="15" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="1" canale="3" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="180" termocoppiaAssociata="1" canale="22" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="181" termocoppiaAssociata="1" canale="59" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="182" termocoppiaAssociata="1" canale="96" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="183" termocoppiaAssociata="1" canale="133" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="184" termocoppiaAssociata="1" canale="170" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="185" termocoppiaAssociata="1" canale="207" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="186" termocoppiaAssociata="1" canale="244" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="187" termocoppiaAssociata="1" canale="281" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="188" termocoppiaAssociata="1" canale="318" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="189" termocoppiaAssociata="1" canale="355" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="190" termocoppiaAssociata="1" canale="392" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="15" idTermocoppia="0" idGruppo="167" termocoppiaAssociata="1" canale="423" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="191" termocoppiaAssociata="1" canale="23" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="192" termocoppiaAssociata="1" canale="60" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="193" termocoppiaAssociata="1" canale="97" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="194" termocoppiaAssociata="1" canale="134" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="195" termocoppiaAssociata="1" canale="171" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="196" termocoppiaAssociata="1" canale="208" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="197" termocoppiaAssociata="1" canale="245" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="198" termocoppiaAssociata="1" canale="282" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="199" termocoppiaAssociata="1" canale="319" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="200" termocoppiaAssociata="1" canale="356" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="201" termocoppiaAssociata="1" canale="393" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="202" termocoppiaAssociata="1" canale="425" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="17" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="1" canale="3" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="203" termocoppiaAssociata="1" canale="24" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="204" termocoppiaAssociata="1" canale="61" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="205" termocoppiaAssociata="1" canale="98" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="206" termocoppiaAssociata="1" canale="135" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="207" termocoppiaAssociata="1" canale="172" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="208" termocoppiaAssociata="1" canale="209" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="209" termocoppiaAssociata="1" canale="246" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="210" termocoppiaAssociata="1" canale="283" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="211" termocoppiaAssociata="1" canale="320" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="212" termocoppiaAssociata="1" canale="357" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="213" termocoppiaAssociata="1" canale="394" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="17" idTermocoppia="0" idGruppo="167" termocoppiaAssociata="1" canale="423" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="214" termocoppiaAssociata="1" canale="25" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="215" termocoppiaAssociata="1" canale="62" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="216" termocoppiaAssociata="1" canale="99" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="217" termocoppiaAssociata="1" canale="136" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="218" termocoppiaAssociata="1" canale="173" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="219" termocoppiaAssociata="1" canale="210" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="220" termocoppiaAssociata="1" canale="247" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="221" termocoppiaAssociata="1" canale="284" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="222" termocoppiaAssociata="1" canale="321" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="223" termocoppiaAssociata="1" canale="358" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="224" termocoppiaAssociata="1" canale="395" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="225" termocoppiaAssociata="1" canale="426" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="19" idTermocoppia="0" idGruppo="226" termocoppiaAssociata="1" canale="4" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="227" termocoppiaAssociata="1" canale="26" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="228" termocoppiaAssociata="1" canale="63" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="229" termocoppiaAssociata="1" canale="100" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="230" termocoppiaAssociata="1" canale="137" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="231" termocoppiaAssociata="1" canale="174" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="232" termocoppiaAssociata="1" canale="211" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="233" termocoppiaAssociata="1" canale="248" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="234" termocoppiaAssociata="1" canale="285" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="235" termocoppiaAssociata="1" canale="322" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="236" termocoppiaAssociata="1" canale="359" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="237" termocoppiaAssociata="1" canale="396" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="19" idTermocoppia="0" idGruppo="238" termocoppiaAssociata="1" canale="427" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="239" termocoppiaAssociata="1" canale="27" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="240" termocoppiaAssociata="1" canale="64" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="241" termocoppiaAssociata="1" canale="101" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="242" termocoppiaAssociata="1" canale="138" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="243" termocoppiaAssociata="1" canale="175" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="244" termocoppiaAssociata="1" canale="212" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="245" termocoppiaAssociata="1" canale="249" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="246" termocoppiaAssociata="1" canale="286" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="247" termocoppiaAssociata="1" canale="323" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="248" termocoppiaAssociata="1" canale="360" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="249" termocoppiaAssociata="1" canale="397" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="250" termocoppiaAssociata="1" canale="428" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="21" idTermocoppia="0" idGruppo="226" termocoppiaAssociata="1" canale="4" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="251" termocoppiaAssociata="1" canale="28" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="252" termocoppiaAssociata="1" canale="65" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="253" termocoppiaAssociata="1" canale="102" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="254" termocoppiaAssociata="1" canale="139" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="255" termocoppiaAssociata="1" canale="176" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="256" termocoppiaAssociata="1" canale="213" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="257" termocoppiaAssociata="1" canale="250" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="258" termocoppiaAssociata="1" canale="287" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="259" termocoppiaAssociata="1" canale="324" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="260" termocoppiaAssociata="1" canale="361" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="261" termocoppiaAssociata="1" canale="398" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="21" idTermocoppia="0" idGruppo="238" termocoppiaAssociata="1" canale="427" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="262" termocoppiaAssociata="1" canale="29" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="263" termocoppiaAssociata="1" canale="66" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="264" termocoppiaAssociata="1" canale="103" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="265" termocoppiaAssociata="1" canale="140" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="266" termocoppiaAssociata="1" canale="177" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="267" termocoppiaAssociata="1" canale="214" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="268" termocoppiaAssociata="1" canale="251" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="269" termocoppiaAssociata="1" canale="288" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="270" termocoppiaAssociata="1" canale="325" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="271" termocoppiaAssociata="1" canale="362" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="272" termocoppiaAssociata="1" canale="399" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="273" termocoppiaAssociata="1" canale="429" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="23" idTermocoppia="0" idGruppo="226" termocoppiaAssociata="1" canale="4" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="274" termocoppiaAssociata="1" canale="30" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="275" termocoppiaAssociata="1" canale="67" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="276" termocoppiaAssociata="1" canale="104" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="277" termocoppiaAssociata="1" canale="141" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="278" termocoppiaAssociata="1" canale="178" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="279" termocoppiaAssociata="1" canale="215" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="280" termocoppiaAssociata="1" canale="252" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="281" termocoppiaAssociata="1" canale="289" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="282" termocoppiaAssociata="1" canale="326" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="283" termocoppiaAssociata="1" canale="363" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="284" termocoppiaAssociata="1" canale="400" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="23" idTermocoppia="0" idGruppo="238" termocoppiaAssociata="1" canale="427" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="285" termocoppiaAssociata="1" canale="31" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="286" termocoppiaAssociata="1" canale="68" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="287" termocoppiaAssociata="1" canale="105" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="288" termocoppiaAssociata="1" canale="142" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="289" termocoppiaAssociata="1" canale="179" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="290" termocoppiaAssociata="1" canale="216" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="291" termocoppiaAssociata="1" canale="253" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="292" termocoppiaAssociata="1" canale="290" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="293" termocoppiaAssociata="1" canale="327" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="294" termocoppiaAssociata="1" canale="364" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="295" termocoppiaAssociata="1" canale="401" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="296" termocoppiaAssociata="1" canale="430" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="25" idTermocoppia="0" idGruppo="297" termocoppiaAssociata="1" canale="5" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="298" termocoppiaAssociata="1" canale="32" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="299" termocoppiaAssociata="1" canale="69" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="300" termocoppiaAssociata="1" canale="106" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="301" termocoppiaAssociata="1" canale="143" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="302" termocoppiaAssociata="1" canale="180" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="303" termocoppiaAssociata="1" canale="217" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="304" termocoppiaAssociata="1" canale="254" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="305" termocoppiaAssociata="1" canale="291" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="306" termocoppiaAssociata="1" canale="328" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="307" termocoppiaAssociata="1" canale="365" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="308" termocoppiaAssociata="1" canale="402" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="25" idTermocoppia="0" idGruppo="309" termocoppiaAssociata="1" canale="431" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="310" termocoppiaAssociata="1" canale="33" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="311" termocoppiaAssociata="1" canale="70" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="312" termocoppiaAssociata="1" canale="107" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="313" termocoppiaAssociata="1" canale="144" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="314" termocoppiaAssociata="1" canale="181" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="315" termocoppiaAssociata="1" canale="218" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="316" termocoppiaAssociata="1" canale="255" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="317" termocoppiaAssociata="1" canale="292" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="318" termocoppiaAssociata="1" canale="329" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="319" termocoppiaAssociata="1" canale="366" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="320" termocoppiaAssociata="1" canale="403" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="321" termocoppiaAssociata="1" canale="432" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="27" idTermocoppia="0" idGruppo="297" termocoppiaAssociata="1" canale="5" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="322" termocoppiaAssociata="1" canale="34" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="323" termocoppiaAssociata="1" canale="71" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="324" termocoppiaAssociata="1" canale="108" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="325" termocoppiaAssociata="1" canale="145" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="326" termocoppiaAssociata="1" canale="182" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="327" termocoppiaAssociata="1" canale="219" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="328" termocoppiaAssociata="1" canale="256" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="329" termocoppiaAssociata="1" canale="293" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="330" termocoppiaAssociata="1" canale="330" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="331" termocoppiaAssociata="1" canale="367" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="332" termocoppiaAssociata="1" canale="404" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="27" idTermocoppia="0" idGruppo="309" termocoppiaAssociata="1" canale="431" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="333" termocoppiaAssociata="1" canale="35" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="334" termocoppiaAssociata="1" canale="72" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="335" termocoppiaAssociata="1" canale="109" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="336" termocoppiaAssociata="1" canale="146" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="337" termocoppiaAssociata="1" canale="183" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="338" termocoppiaAssociata="1" canale="220" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="339" termocoppiaAssociata="1" canale="257" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="340" termocoppiaAssociata="1" canale="294" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="341" termocoppiaAssociata="1" canale="331" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="342" termocoppiaAssociata="1" canale="368" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="343" termocoppiaAssociata="1" canale="405" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="344" termocoppiaAssociata="1" canale="433" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="29" idTermocoppia="0" idGruppo="297" termocoppiaAssociata="1" canale="5" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="345" termocoppiaAssociata="1" canale="36" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="346" termocoppiaAssociata="1" canale="73" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="347" termocoppiaAssociata="1" canale="110" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="348" termocoppiaAssociata="1" canale="147" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="349" termocoppiaAssociata="1" canale="184" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="350" termocoppiaAssociata="1" canale="221" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="351" termocoppiaAssociata="1" canale="258" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="352" termocoppiaAssociata="1" canale="295" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="353" termocoppiaAssociata="1" canale="332" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="354" termocoppiaAssociata="1" canale="369" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="355" termocoppiaAssociata="1" canale="406" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="29" idTermocoppia="0" idGruppo="309" termocoppiaAssociata="1" canale="431" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="356" termocoppiaAssociata="1" canale="37" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="357" termocoppiaAssociata="1" canale="74" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="358" termocoppiaAssociata="1" canale="111" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="359" termocoppiaAssociata="1" canale="148" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="360" termocoppiaAssociata="1" canale="185" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="361" termocoppiaAssociata="1" canale="222" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="362" termocoppiaAssociata="1" canale="259" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="363" termocoppiaAssociata="1" canale="296" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="364" termocoppiaAssociata="1" canale="333" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="365" termocoppiaAssociata="1" canale="370" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="366" termocoppiaAssociata="1" canale="407" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="367" termocoppiaAssociata="1" canale="434" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="31" idTermocoppia="0" idGruppo="368" termocoppiaAssociata="1" canale="6" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="369" termocoppiaAssociata="1" canale="38" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="370" termocoppiaAssociata="1" canale="75" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="371" termocoppiaAssociata="1" canale="112" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="372" termocoppiaAssociata="1" canale="149" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="373" termocoppiaAssociata="1" canale="186" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="374" termocoppiaAssociata="1" canale="223" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="375" termocoppiaAssociata="1" canale="260" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="376" termocoppiaAssociata="1" canale="297" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="377" termocoppiaAssociata="1" canale="334" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="378" termocoppiaAssociata="1" canale="371" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="379" termocoppiaAssociata="1" canale="408" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="31" idTermocoppia="0" idGruppo="380" termocoppiaAssociata="1" canale="435" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="381" termocoppiaAssociata="1" canale="39" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="382" termocoppiaAssociata="1" canale="76" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="383" termocoppiaAssociata="1" canale="113" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="384" termocoppiaAssociata="1" canale="150" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="385" termocoppiaAssociata="1" canale="187" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="386" termocoppiaAssociata="1" canale="224" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="387" termocoppiaAssociata="1" canale="261" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="388" termocoppiaAssociata="1" canale="298" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="389" termocoppiaAssociata="1" canale="335" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="390" termocoppiaAssociata="1" canale="372" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="391" termocoppiaAssociata="1" canale="409" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="392" termocoppiaAssociata="1" canale="436" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="33" idTermocoppia="0" idGruppo="368" termocoppiaAssociata="1" canale="6" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="393" termocoppiaAssociata="1" canale="40" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="394" termocoppiaAssociata="1" canale="77" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="395" termocoppiaAssociata="1" canale="114" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="396" termocoppiaAssociata="1" canale="151" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="397" termocoppiaAssociata="1" canale="188" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="398" termocoppiaAssociata="1" canale="225" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="399" termocoppiaAssociata="1" canale="262" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="400" termocoppiaAssociata="1" canale="299" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="401" termocoppiaAssociata="1" canale="336" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="402" termocoppiaAssociata="1" canale="373" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="403" termocoppiaAssociata="1" canale="410" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="33" idTermocoppia="0" idGruppo="380" termocoppiaAssociata="1" canale="435" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="404" termocoppiaAssociata="1" canale="41" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="405" termocoppiaAssociata="1" canale="78" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="406" termocoppiaAssociata="1" canale="115" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="407" termocoppiaAssociata="1" canale="152" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="408" termocoppiaAssociata="1" canale="189" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="409" termocoppiaAssociata="1" canale="226" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="410" termocoppiaAssociata="1" canale="263" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="411" termocoppiaAssociata="1" canale="300" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="412" termocoppiaAssociata="1" canale="337" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="413" termocoppiaAssociata="1" canale="374" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="414" termocoppiaAssociata="1" canale="411" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="415" termocoppiaAssociata="1" canale="437" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="35" idTermocoppia="0" idGruppo="368" termocoppiaAssociata="1" canale="6" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="416" termocoppiaAssociata="1" canale="42" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="417" termocoppiaAssociata="1" canale="79" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="418" termocoppiaAssociata="1" canale="116" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="419" termocoppiaAssociata="1" canale="153" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="420" termocoppiaAssociata="1" canale="190" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="421" termocoppiaAssociata="1" canale="227" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="422" termocoppiaAssociata="1" canale="264" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="423" termocoppiaAssociata="1" canale="301" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="424" termocoppiaAssociata="1" canale="338" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="425" termocoppiaAssociata="1" canale="375" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="426" termocoppiaAssociata="1" canale="412" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="35" idTermocoppia="0" idGruppo="380" termocoppiaAssociata="1" canale="435" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="427" termocoppiaAssociata="1" canale="43" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="428" termocoppiaAssociata="1" canale="80" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="429" termocoppiaAssociata="1" canale="117" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="430" termocoppiaAssociata="1" canale="154" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="431" termocoppiaAssociata="1" canale="191" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="432" termocoppiaAssociata="1" canale="228" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="433" termocoppiaAssociata="1" canale="265" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="434" termocoppiaAssociata="1" canale="302" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="435" termocoppiaAssociata="1" canale="339" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="436" termocoppiaAssociata="1" canale="376" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="437" termocoppiaAssociata="1" canale="413" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="438" termocoppiaAssociata="1" canale="438" fast="false" softDelay="100" sfasamImp="false" />
|
||||
</riflettore>
|
||||
<riflettore tipo="1" dimensionScale="20000" slimScale="2" offsetTc="0">
|
||||
<resistenza tipo="28" riga="0" idTermocoppia="0" idGruppo="1" termocoppiaAssociata="9" canale="513" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="2" termocoppiaAssociata="9" canale="520" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="3" termocoppiaAssociata="9" canale="557" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="4" termocoppiaAssociata="9" canale="594" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="5" termocoppiaAssociata="9" canale="631" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="6" termocoppiaAssociata="9" canale="668" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="7" termocoppiaAssociata="9" canale="705" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="8" termocoppiaAssociata="9" canale="742" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="9" termocoppiaAssociata="9" canale="779" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="10" termocoppiaAssociata="9" canale="816" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="11" termocoppiaAssociata="9" canale="853" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="0" idTermocoppia="0" idGruppo="12" termocoppiaAssociata="9" canale="890" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="0" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="9" canale="927" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="14" termocoppiaAssociata="9" canale="521" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="15" termocoppiaAssociata="9" canale="558" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="16" termocoppiaAssociata="9" canale="595" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="17" termocoppiaAssociata="9" canale="632" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="18" termocoppiaAssociata="9" canale="669" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="19" termocoppiaAssociata="9" canale="706" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="20" termocoppiaAssociata="9" canale="743" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="21" termocoppiaAssociata="9" canale="780" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="22" termocoppiaAssociata="9" canale="817" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="23" termocoppiaAssociata="9" canale="854" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="24" termocoppiaAssociata="9" canale="891" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="1" idTermocoppia="0" idGruppo="25" termocoppiaAssociata="9" canale="928" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="2" idTermocoppia="0" idGruppo="1" termocoppiaAssociata="9" canale="513" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="26" termocoppiaAssociata="9" canale="522" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="27" termocoppiaAssociata="9" canale="559" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="28" termocoppiaAssociata="9" canale="596" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="29" termocoppiaAssociata="9" canale="633" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="30" termocoppiaAssociata="9" canale="670" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="31" termocoppiaAssociata="9" canale="707" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="32" termocoppiaAssociata="9" canale="744" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="33" termocoppiaAssociata="9" canale="781" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="34" termocoppiaAssociata="9" canale="818" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="35" termocoppiaAssociata="9" canale="855" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="2" idTermocoppia="0" idGruppo="36" termocoppiaAssociata="9" canale="892" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="2" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="9" canale="927" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="37" termocoppiaAssociata="9" canale="523" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="38" termocoppiaAssociata="9" canale="560" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="39" termocoppiaAssociata="9" canale="597" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="40" termocoppiaAssociata="9" canale="634" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="41" termocoppiaAssociata="9" canale="671" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="42" termocoppiaAssociata="9" canale="708" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="43" termocoppiaAssociata="9" canale="745" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="44" termocoppiaAssociata="9" canale="782" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="45" termocoppiaAssociata="9" canale="819" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="46" termocoppiaAssociata="9" canale="856" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="47" termocoppiaAssociata="9" canale="893" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="3" idTermocoppia="0" idGruppo="48" termocoppiaAssociata="9" canale="929" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="4" idTermocoppia="0" idGruppo="1" termocoppiaAssociata="9" canale="513" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="49" termocoppiaAssociata="9" canale="524" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="50" termocoppiaAssociata="9" canale="561" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="51" termocoppiaAssociata="9" canale="598" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="52" termocoppiaAssociata="9" canale="635" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="53" termocoppiaAssociata="9" canale="672" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="54" termocoppiaAssociata="9" canale="709" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="55" termocoppiaAssociata="9" canale="746" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="56" termocoppiaAssociata="9" canale="783" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="57" termocoppiaAssociata="9" canale="820" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="58" termocoppiaAssociata="9" canale="857" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="4" idTermocoppia="0" idGruppo="59" termocoppiaAssociata="9" canale="894" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="4" idTermocoppia="0" idGruppo="13" termocoppiaAssociata="9" canale="927" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="60" termocoppiaAssociata="9" canale="525" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="61" termocoppiaAssociata="9" canale="562" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="62" termocoppiaAssociata="9" canale="599" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="63" termocoppiaAssociata="9" canale="636" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="64" termocoppiaAssociata="9" canale="673" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="65" termocoppiaAssociata="9" canale="710" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="66" termocoppiaAssociata="9" canale="747" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="67" termocoppiaAssociata="9" canale="784" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="68" termocoppiaAssociata="9" canale="821" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="69" termocoppiaAssociata="9" canale="858" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="70" termocoppiaAssociata="9" canale="895" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="5" idTermocoppia="0" idGruppo="71" termocoppiaAssociata="9" canale="930" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="6" idTermocoppia="0" idGruppo="72" termocoppiaAssociata="9" canale="514" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="73" termocoppiaAssociata="9" canale="526" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="74" termocoppiaAssociata="9" canale="563" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="75" termocoppiaAssociata="9" canale="600" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="76" termocoppiaAssociata="9" canale="637" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="77" termocoppiaAssociata="9" canale="674" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="78" termocoppiaAssociata="9" canale="711" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="79" termocoppiaAssociata="9" canale="748" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="80" termocoppiaAssociata="9" canale="785" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="81" termocoppiaAssociata="9" canale="822" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="82" termocoppiaAssociata="9" canale="859" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="6" idTermocoppia="0" idGruppo="83" termocoppiaAssociata="9" canale="896" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="6" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="9" canale="931" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="85" termocoppiaAssociata="9" canale="527" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="86" termocoppiaAssociata="9" canale="564" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="87" termocoppiaAssociata="9" canale="601" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="88" termocoppiaAssociata="9" canale="638" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="89" termocoppiaAssociata="9" canale="675" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="90" termocoppiaAssociata="9" canale="712" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="91" termocoppiaAssociata="9" canale="749" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="92" termocoppiaAssociata="9" canale="786" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="93" termocoppiaAssociata="9" canale="823" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="94" termocoppiaAssociata="9" canale="860" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="95" termocoppiaAssociata="9" canale="897" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="7" idTermocoppia="0" idGruppo="96" termocoppiaAssociata="9" canale="932" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="8" idTermocoppia="0" idGruppo="72" termocoppiaAssociata="9" canale="514" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="97" termocoppiaAssociata="9" canale="528" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="98" termocoppiaAssociata="9" canale="565" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="99" termocoppiaAssociata="9" canale="602" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="100" termocoppiaAssociata="9" canale="639" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="101" termocoppiaAssociata="9" canale="676" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="102" termocoppiaAssociata="9" canale="713" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="103" termocoppiaAssociata="9" canale="750" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="104" termocoppiaAssociata="9" canale="787" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="105" termocoppiaAssociata="9" canale="824" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="106" termocoppiaAssociata="9" canale="861" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="8" idTermocoppia="0" idGruppo="107" termocoppiaAssociata="9" canale="898" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="8" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="9" canale="931" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="108" termocoppiaAssociata="9" canale="529" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="109" termocoppiaAssociata="9" canale="566" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="110" termocoppiaAssociata="9" canale="603" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="111" termocoppiaAssociata="9" canale="640" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="112" termocoppiaAssociata="9" canale="677" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="113" termocoppiaAssociata="9" canale="714" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="114" termocoppiaAssociata="9" canale="751" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="115" termocoppiaAssociata="9" canale="788" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="116" termocoppiaAssociata="9" canale="825" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="117" termocoppiaAssociata="9" canale="862" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="118" termocoppiaAssociata="9" canale="899" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="9" idTermocoppia="0" idGruppo="119" termocoppiaAssociata="9" canale="933" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="10" idTermocoppia="0" idGruppo="72" termocoppiaAssociata="9" canale="514" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="120" termocoppiaAssociata="9" canale="530" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="121" termocoppiaAssociata="9" canale="567" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="122" termocoppiaAssociata="9" canale="604" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="123" termocoppiaAssociata="9" canale="641" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="124" termocoppiaAssociata="9" canale="678" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="125" termocoppiaAssociata="9" canale="715" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="126" termocoppiaAssociata="9" canale="752" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="127" termocoppiaAssociata="9" canale="789" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="128" termocoppiaAssociata="9" canale="826" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="129" termocoppiaAssociata="9" canale="863" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="10" idTermocoppia="0" idGruppo="130" termocoppiaAssociata="9" canale="900" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="10" idTermocoppia="0" idGruppo="84" termocoppiaAssociata="9" canale="931" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="131" termocoppiaAssociata="9" canale="531" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="132" termocoppiaAssociata="9" canale="568" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="133" termocoppiaAssociata="9" canale="605" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="134" termocoppiaAssociata="9" canale="642" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="135" termocoppiaAssociata="9" canale="679" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="136" termocoppiaAssociata="9" canale="716" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="137" termocoppiaAssociata="9" canale="753" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="138" termocoppiaAssociata="9" canale="790" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="139" termocoppiaAssociata="9" canale="827" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="140" termocoppiaAssociata="9" canale="864" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="141" termocoppiaAssociata="9" canale="901" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="11" idTermocoppia="0" idGruppo="142" termocoppiaAssociata="9" canale="934" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="12" idTermocoppia="0" idGruppo="143" termocoppiaAssociata="9" canale="515" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="144" termocoppiaAssociata="9" canale="532" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="145" termocoppiaAssociata="9" canale="569" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="146" termocoppiaAssociata="9" canale="606" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="147" termocoppiaAssociata="9" canale="643" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="148" termocoppiaAssociata="9" canale="680" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="149" termocoppiaAssociata="9" canale="717" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="150" termocoppiaAssociata="9" canale="754" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="151" termocoppiaAssociata="9" canale="791" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="152" termocoppiaAssociata="9" canale="828" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="153" termocoppiaAssociata="9" canale="865" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="12" idTermocoppia="0" idGruppo="154" termocoppiaAssociata="9" canale="902" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="12" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="9" canale="935" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="156" termocoppiaAssociata="9" canale="533" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="157" termocoppiaAssociata="9" canale="570" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="158" termocoppiaAssociata="9" canale="607" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="159" termocoppiaAssociata="9" canale="644" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="160" termocoppiaAssociata="9" canale="681" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="161" termocoppiaAssociata="9" canale="718" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="162" termocoppiaAssociata="9" canale="755" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="163" termocoppiaAssociata="9" canale="792" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="164" termocoppiaAssociata="9" canale="829" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="165" termocoppiaAssociata="9" canale="866" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="166" termocoppiaAssociata="9" canale="903" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="13" idTermocoppia="0" idGruppo="167" termocoppiaAssociata="9" canale="936" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="14" idTermocoppia="0" idGruppo="143" termocoppiaAssociata="9" canale="515" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="168" termocoppiaAssociata="9" canale="534" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="169" termocoppiaAssociata="9" canale="571" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="170" termocoppiaAssociata="9" canale="608" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="171" termocoppiaAssociata="9" canale="645" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="172" termocoppiaAssociata="9" canale="682" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="173" termocoppiaAssociata="9" canale="719" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="174" termocoppiaAssociata="9" canale="756" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="175" termocoppiaAssociata="9" canale="793" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="176" termocoppiaAssociata="9" canale="830" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="177" termocoppiaAssociata="9" canale="867" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="14" idTermocoppia="0" idGruppo="178" termocoppiaAssociata="9" canale="904" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="14" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="9" canale="935" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="179" termocoppiaAssociata="9" canale="535" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="180" termocoppiaAssociata="9" canale="572" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="181" termocoppiaAssociata="9" canale="609" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="182" termocoppiaAssociata="9" canale="646" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="183" termocoppiaAssociata="9" canale="683" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="184" termocoppiaAssociata="9" canale="720" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="185" termocoppiaAssociata="9" canale="757" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="186" termocoppiaAssociata="9" canale="794" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="187" termocoppiaAssociata="9" canale="831" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="188" termocoppiaAssociata="9" canale="868" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="189" termocoppiaAssociata="9" canale="905" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="15" idTermocoppia="0" idGruppo="190" termocoppiaAssociata="9" canale="937" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="16" idTermocoppia="0" idGruppo="143" termocoppiaAssociata="9" canale="515" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="191" termocoppiaAssociata="9" canale="536" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="192" termocoppiaAssociata="9" canale="573" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="193" termocoppiaAssociata="9" canale="610" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="194" termocoppiaAssociata="9" canale="647" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="195" termocoppiaAssociata="9" canale="684" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="196" termocoppiaAssociata="9" canale="721" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="197" termocoppiaAssociata="9" canale="758" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="198" termocoppiaAssociata="9" canale="795" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="199" termocoppiaAssociata="9" canale="832" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="200" termocoppiaAssociata="9" canale="869" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="16" idTermocoppia="0" idGruppo="201" termocoppiaAssociata="9" canale="906" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="16" idTermocoppia="0" idGruppo="155" termocoppiaAssociata="9" canale="935" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="202" termocoppiaAssociata="9" canale="537" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="203" termocoppiaAssociata="9" canale="574" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="204" termocoppiaAssociata="9" canale="611" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="205" termocoppiaAssociata="9" canale="648" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="206" termocoppiaAssociata="9" canale="685" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="207" termocoppiaAssociata="9" canale="722" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="208" termocoppiaAssociata="9" canale="759" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="209" termocoppiaAssociata="9" canale="796" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="210" termocoppiaAssociata="9" canale="833" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="211" termocoppiaAssociata="9" canale="870" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="212" termocoppiaAssociata="9" canale="907" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="17" idTermocoppia="0" idGruppo="213" termocoppiaAssociata="9" canale="938" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="20" riga="18" idTermocoppia="0" idGruppo="214" termocoppiaAssociata="9" canale="516" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="215" termocoppiaAssociata="9" canale="538" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="216" termocoppiaAssociata="9" canale="575" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="217" termocoppiaAssociata="9" canale="612" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="218" termocoppiaAssociata="9" canale="649" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="219" termocoppiaAssociata="9" canale="686" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="220" termocoppiaAssociata="9" canale="723" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="221" termocoppiaAssociata="9" canale="760" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="222" termocoppiaAssociata="9" canale="797" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="223" termocoppiaAssociata="9" canale="834" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="224" termocoppiaAssociata="9" canale="871" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="18" idTermocoppia="0" idGruppo="225" termocoppiaAssociata="9" canale="908" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="20" riga="18" idTermocoppia="0" idGruppo="226" termocoppiaAssociata="9" canale="939" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="227" termocoppiaAssociata="9" canale="539" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="228" termocoppiaAssociata="9" canale="576" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="229" termocoppiaAssociata="9" canale="613" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="230" termocoppiaAssociata="9" canale="650" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="231" termocoppiaAssociata="9" canale="687" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="232" termocoppiaAssociata="9" canale="724" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="233" termocoppiaAssociata="9" canale="761" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="234" termocoppiaAssociata="9" canale="798" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="235" termocoppiaAssociata="9" canale="835" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="236" termocoppiaAssociata="9" canale="872" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="237" termocoppiaAssociata="9" canale="909" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="19" idTermocoppia="0" idGruppo="238" termocoppiaAssociata="9" canale="940" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="20" idTermocoppia="0" idGruppo="239" termocoppiaAssociata="9" canale="517" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="240" termocoppiaAssociata="9" canale="540" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="241" termocoppiaAssociata="9" canale="577" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="242" termocoppiaAssociata="9" canale="614" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="243" termocoppiaAssociata="9" canale="651" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="244" termocoppiaAssociata="9" canale="688" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="245" termocoppiaAssociata="9" canale="725" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="246" termocoppiaAssociata="9" canale="762" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="247" termocoppiaAssociata="9" canale="799" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="248" termocoppiaAssociata="9" canale="836" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="249" termocoppiaAssociata="9" canale="873" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="20" idTermocoppia="0" idGruppo="250" termocoppiaAssociata="9" canale="910" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="20" idTermocoppia="0" idGruppo="251" termocoppiaAssociata="9" canale="941" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="252" termocoppiaAssociata="9" canale="541" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="253" termocoppiaAssociata="9" canale="578" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="254" termocoppiaAssociata="9" canale="615" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="255" termocoppiaAssociata="9" canale="652" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="256" termocoppiaAssociata="9" canale="689" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="257" termocoppiaAssociata="9" canale="726" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="258" termocoppiaAssociata="9" canale="763" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="259" termocoppiaAssociata="9" canale="800" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="260" termocoppiaAssociata="9" canale="837" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="261" termocoppiaAssociata="9" canale="874" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="262" termocoppiaAssociata="9" canale="911" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="21" idTermocoppia="0" idGruppo="263" termocoppiaAssociata="9" canale="942" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="22" idTermocoppia="0" idGruppo="239" termocoppiaAssociata="9" canale="517" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="264" termocoppiaAssociata="9" canale="542" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="265" termocoppiaAssociata="9" canale="579" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="266" termocoppiaAssociata="9" canale="616" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="267" termocoppiaAssociata="9" canale="653" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="268" termocoppiaAssociata="9" canale="690" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="269" termocoppiaAssociata="9" canale="727" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="270" termocoppiaAssociata="9" canale="764" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="271" termocoppiaAssociata="9" canale="801" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="272" termocoppiaAssociata="9" canale="838" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="273" termocoppiaAssociata="9" canale="875" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="22" idTermocoppia="0" idGruppo="274" termocoppiaAssociata="9" canale="912" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="22" idTermocoppia="0" idGruppo="251" termocoppiaAssociata="9" canale="941" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="275" termocoppiaAssociata="9" canale="543" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="276" termocoppiaAssociata="9" canale="580" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="277" termocoppiaAssociata="9" canale="617" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="278" termocoppiaAssociata="9" canale="654" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="279" termocoppiaAssociata="9" canale="691" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="280" termocoppiaAssociata="9" canale="728" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="281" termocoppiaAssociata="9" canale="765" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="282" termocoppiaAssociata="9" canale="802" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="283" termocoppiaAssociata="9" canale="839" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="284" termocoppiaAssociata="9" canale="876" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="285" termocoppiaAssociata="9" canale="913" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="23" idTermocoppia="0" idGruppo="286" termocoppiaAssociata="9" canale="943" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="24" idTermocoppia="0" idGruppo="239" termocoppiaAssociata="9" canale="517" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="287" termocoppiaAssociata="9" canale="544" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="288" termocoppiaAssociata="9" canale="581" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="289" termocoppiaAssociata="9" canale="618" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="290" termocoppiaAssociata="9" canale="655" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="291" termocoppiaAssociata="9" canale="692" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="292" termocoppiaAssociata="9" canale="729" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="293" termocoppiaAssociata="9" canale="766" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="294" termocoppiaAssociata="9" canale="803" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="295" termocoppiaAssociata="9" canale="840" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="296" termocoppiaAssociata="9" canale="877" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="24" idTermocoppia="0" idGruppo="297" termocoppiaAssociata="9" canale="914" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="24" idTermocoppia="0" idGruppo="251" termocoppiaAssociata="9" canale="941" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="298" termocoppiaAssociata="9" canale="545" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="299" termocoppiaAssociata="9" canale="582" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="300" termocoppiaAssociata="9" canale="619" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="301" termocoppiaAssociata="9" canale="656" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="302" termocoppiaAssociata="9" canale="693" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="303" termocoppiaAssociata="9" canale="730" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="304" termocoppiaAssociata="9" canale="767" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="305" termocoppiaAssociata="9" canale="804" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="306" termocoppiaAssociata="9" canale="841" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="307" termocoppiaAssociata="9" canale="878" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="308" termocoppiaAssociata="9" canale="915" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="25" idTermocoppia="0" idGruppo="309" termocoppiaAssociata="9" canale="944" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="26" idTermocoppia="0" idGruppo="310" termocoppiaAssociata="9" canale="518" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="311" termocoppiaAssociata="9" canale="546" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="312" termocoppiaAssociata="9" canale="583" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="313" termocoppiaAssociata="9" canale="620" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="314" termocoppiaAssociata="9" canale="657" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="315" termocoppiaAssociata="9" canale="694" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="316" termocoppiaAssociata="9" canale="731" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="317" termocoppiaAssociata="9" canale="768" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="318" termocoppiaAssociata="9" canale="805" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="319" termocoppiaAssociata="9" canale="842" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="320" termocoppiaAssociata="9" canale="879" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="26" idTermocoppia="0" idGruppo="321" termocoppiaAssociata="9" canale="916" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="26" idTermocoppia="0" idGruppo="322" termocoppiaAssociata="9" canale="945" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="323" termocoppiaAssociata="9" canale="547" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="324" termocoppiaAssociata="9" canale="584" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="325" termocoppiaAssociata="9" canale="621" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="326" termocoppiaAssociata="9" canale="658" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="327" termocoppiaAssociata="9" canale="695" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="328" termocoppiaAssociata="9" canale="732" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="329" termocoppiaAssociata="9" canale="769" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="330" termocoppiaAssociata="9" canale="806" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="331" termocoppiaAssociata="9" canale="843" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="332" termocoppiaAssociata="9" canale="880" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="333" termocoppiaAssociata="9" canale="917" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="27" idTermocoppia="0" idGruppo="334" termocoppiaAssociata="9" canale="946" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="28" idTermocoppia="0" idGruppo="310" termocoppiaAssociata="9" canale="518" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="335" termocoppiaAssociata="9" canale="548" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="336" termocoppiaAssociata="9" canale="585" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="337" termocoppiaAssociata="9" canale="622" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="338" termocoppiaAssociata="9" canale="659" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="339" termocoppiaAssociata="9" canale="696" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="340" termocoppiaAssociata="9" canale="733" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="341" termocoppiaAssociata="9" canale="770" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="342" termocoppiaAssociata="9" canale="807" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="343" termocoppiaAssociata="9" canale="844" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="344" termocoppiaAssociata="9" canale="881" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="28" idTermocoppia="0" idGruppo="345" termocoppiaAssociata="9" canale="918" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="28" idTermocoppia="0" idGruppo="322" termocoppiaAssociata="9" canale="945" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="346" termocoppiaAssociata="9" canale="549" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="347" termocoppiaAssociata="9" canale="586" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="348" termocoppiaAssociata="9" canale="623" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="349" termocoppiaAssociata="9" canale="660" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="350" termocoppiaAssociata="9" canale="697" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="351" termocoppiaAssociata="9" canale="734" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="352" termocoppiaAssociata="9" canale="771" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="353" termocoppiaAssociata="9" canale="808" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="354" termocoppiaAssociata="9" canale="845" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="355" termocoppiaAssociata="9" canale="882" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="356" termocoppiaAssociata="9" canale="919" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="29" idTermocoppia="0" idGruppo="357" termocoppiaAssociata="9" canale="947" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="30" idTermocoppia="0" idGruppo="310" termocoppiaAssociata="9" canale="518" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="358" termocoppiaAssociata="9" canale="550" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="359" termocoppiaAssociata="9" canale="587" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="360" termocoppiaAssociata="9" canale="624" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="361" termocoppiaAssociata="9" canale="661" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="362" termocoppiaAssociata="9" canale="698" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="363" termocoppiaAssociata="9" canale="735" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="364" termocoppiaAssociata="9" canale="772" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="365" termocoppiaAssociata="9" canale="809" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="366" termocoppiaAssociata="9" canale="846" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="367" termocoppiaAssociata="9" canale="883" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="30" idTermocoppia="0" idGruppo="368" termocoppiaAssociata="9" canale="920" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="30" idTermocoppia="0" idGruppo="322" termocoppiaAssociata="9" canale="945" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="369" termocoppiaAssociata="9" canale="551" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="370" termocoppiaAssociata="9" canale="588" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="371" termocoppiaAssociata="9" canale="625" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="372" termocoppiaAssociata="9" canale="662" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="373" termocoppiaAssociata="9" canale="699" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="374" termocoppiaAssociata="9" canale="736" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="375" termocoppiaAssociata="9" canale="773" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="376" termocoppiaAssociata="9" canale="810" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="377" termocoppiaAssociata="9" canale="847" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="378" termocoppiaAssociata="9" canale="884" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="379" termocoppiaAssociata="9" canale="921" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="31" idTermocoppia="0" idGruppo="380" termocoppiaAssociata="9" canale="948" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="32" idTermocoppia="0" idGruppo="381" termocoppiaAssociata="9" canale="519" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="382" termocoppiaAssociata="9" canale="552" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="383" termocoppiaAssociata="9" canale="589" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="384" termocoppiaAssociata="9" canale="626" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="385" termocoppiaAssociata="9" canale="663" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="386" termocoppiaAssociata="9" canale="700" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="387" termocoppiaAssociata="9" canale="737" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="388" termocoppiaAssociata="9" canale="774" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="389" termocoppiaAssociata="9" canale="811" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="390" termocoppiaAssociata="9" canale="848" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="391" termocoppiaAssociata="9" canale="885" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="32" idTermocoppia="0" idGruppo="392" termocoppiaAssociata="9" canale="922" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="32" idTermocoppia="0" idGruppo="393" termocoppiaAssociata="9" canale="949" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="394" termocoppiaAssociata="9" canale="553" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="395" termocoppiaAssociata="9" canale="590" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="396" termocoppiaAssociata="9" canale="627" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="397" termocoppiaAssociata="9" canale="664" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="398" termocoppiaAssociata="9" canale="701" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="399" termocoppiaAssociata="9" canale="738" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="400" termocoppiaAssociata="9" canale="775" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="401" termocoppiaAssociata="9" canale="812" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="402" termocoppiaAssociata="9" canale="849" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="403" termocoppiaAssociata="9" canale="886" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="404" termocoppiaAssociata="9" canale="923" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="33" idTermocoppia="0" idGruppo="405" termocoppiaAssociata="9" canale="950" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="34" idTermocoppia="0" idGruppo="381" termocoppiaAssociata="9" canale="519" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="406" termocoppiaAssociata="9" canale="554" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="407" termocoppiaAssociata="9" canale="591" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="408" termocoppiaAssociata="9" canale="628" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="409" termocoppiaAssociata="9" canale="665" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="410" termocoppiaAssociata="9" canale="702" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="411" termocoppiaAssociata="9" canale="739" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="412" termocoppiaAssociata="9" canale="776" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="413" termocoppiaAssociata="9" canale="813" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="414" termocoppiaAssociata="9" canale="850" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="415" termocoppiaAssociata="9" canale="887" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="34" idTermocoppia="0" idGruppo="416" termocoppiaAssociata="9" canale="924" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="34" idTermocoppia="0" idGruppo="393" termocoppiaAssociata="9" canale="949" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="417" termocoppiaAssociata="9" canale="555" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="418" termocoppiaAssociata="9" canale="592" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="419" termocoppiaAssociata="9" canale="629" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="420" termocoppiaAssociata="9" canale="666" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="421" termocoppiaAssociata="9" canale="703" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="422" termocoppiaAssociata="9" canale="740" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="423" termocoppiaAssociata="9" canale="777" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="424" termocoppiaAssociata="9" canale="814" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="425" termocoppiaAssociata="9" canale="851" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="426" termocoppiaAssociata="9" canale="888" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="427" termocoppiaAssociata="9" canale="925" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="35" idTermocoppia="0" idGruppo="428" termocoppiaAssociata="9" canale="951" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="28" riga="36" idTermocoppia="0" idGruppo="381" termocoppiaAssociata="9" canale="519" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="429" termocoppiaAssociata="9" canale="556" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="430" termocoppiaAssociata="9" canale="593" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="431" termocoppiaAssociata="9" canale="630" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="432" termocoppiaAssociata="9" canale="667" fast="false" softDelay="40" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="433" termocoppiaAssociata="9" canale="704" fast="false" softDelay="140" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="434" termocoppiaAssociata="9" canale="741" fast="false" softDelay="80" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="435" termocoppiaAssociata="9" canale="778" fast="false" softDelay="20" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="436" termocoppiaAssociata="9" canale="815" fast="false" softDelay="120" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="437" termocoppiaAssociata="9" canale="852" fast="false" softDelay="60" sfasamImp="false" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="438" termocoppiaAssociata="9" canale="889" fast="false" softDelay="0" sfasamImp="true" />
|
||||
<resistenza tipo="18" riga="36" idTermocoppia="0" idGruppo="439" termocoppiaAssociata="9" canale="926" fast="false" softDelay="100" sfasamImp="false" />
|
||||
<resistenza tipo="28" riga="36" idTermocoppia="0" idGruppo="393" termocoppiaAssociata="9" canale="949" fast="false" softDelay="80" sfasamImp="true" />
|
||||
</riflettore>
|
||||
<riferimenti corrente="110" potenza="500" modello="Quarzo 500" dimensione="2">1</riferimenti>
|
||||
<riferimenti corrente="0" potenza="250" modello="Quarzo 250" dimensione="1">2</riferimenti>
|
||||
<riferimenti corrente="138" potenza="600" modello="HTS 600" dimensione="2">3</riferimenti>
|
||||
<riferimenti corrente="105" potenza="400" modello="HTS 400" dimensione="2">4</riferimenti>
|
||||
<riferimenti corrente="76" potenza="300" modello="HTS 300" dimensione="1">5</riferimenti>
|
||||
<riferimenti corrente="139" potenza="650" modello="FSR 650" dimensione="2">6</riferimenti>
|
||||
<riferimenti corrente="105" potenza="400" modello="FSR 400" dimensione="2">7</riferimenti>
|
||||
<riferimenti corrente="49" potenza="325" modello="FSR 325" dimensione="1">8</riferimenti>
|
||||
<riferimenti corrente="168" potenza="400" modello="HTS 400 coppia" dimensione="2">9</riferimenti>
|
||||
<riferimenti corrente="168" potenza="400" modello="FSR 400 coppia" dimensione="2">10</riferimenti>
|
||||
<riferimenti corrente="135" potenza="250" modello="Quarzo 250 coppia" dimensione="2">11</riferimenti>
|
||||
<riferimenti corrente="42" potenza="200" modello="HTS 200" dimensione="1">12</riferimenti>
|
||||
<riferimenti corrente="105" potenza="200" modello="HTS 200 coppia" dimensione="1">13</riferimenti>
|
||||
<riferimenti corrente="42" potenza="200" modello="FSR 200" dimensione="1">14</riferimenti>
|
||||
<riferimenti corrente="104" potenza="200" modello="FSR 200 coppia" dimensione="1">15</riferimenti>
|
||||
<riferimenti corrente="167" potenza="400" modello="Quarzo 400 coppia" dimensione="2">16</riferimenti>
|
||||
<riferimenti corrente="104" potenza="400" modello="Quarzo 400" dimensione="1">17</riferimenti>
|
||||
<riferimenti corrente="169" potenza="800" modello="Alogena 800" dimensione="2" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="15" softStart="2" filtCycle="2" PctMin="153">18</riferimenti>
|
||||
<riferimenti corrente="232" potenza="800" modello="Alogena 800 coppia" dimensione="2" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">19</riferimenti>
|
||||
<riferimenti corrente="78" potenza="300" modello="Alogena 300" dimensione="1" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">20</riferimenti>
|
||||
<riferimenti corrente="141" potenza="300" modello="Alogena 300 coppia" dimensione="1" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">21</riferimenti>
|
||||
<riferimenti corrente="141" potenza="700" modello="Quarzo 700" dimensione="2">22</riferimenti>
|
||||
<riferimenti corrente="173" potenza="500" modello="Quarzo 500 coppia" dimensione="2">23</riferimenti>
|
||||
<riferimenti corrente="205" potenza="300" modello="Alogena 300 gruppo da 5" dimensione="1" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">24</riferimenti>
|
||||
<riferimenti corrente="177" potenza="400" modello="Quarzo 400 gruppo da 3" dimensione="2">25</riferimenti>
|
||||
<riferimenti corrente="206" potenza="400" modello="Quarzo 400 gruppo da 4" dimensione="2">26</riferimenti>
|
||||
<riferimenti corrente="201" potenza="400" modello="HTS 400 gruppo da 3" dimensione="2">27</riferimenti>
|
||||
<riferimenti corrente="171" potenza="300" modello="Alogena 300 gruppo da 3" dimensione="1" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">28</riferimenti>
|
||||
<riferimenti corrente="177" potenza="300" modello="Alogena 300 gruppo da 4" dimensione="1">29</riferimenti>
|
||||
<riferimenti corrente="78" potenza="350" modello="Quarzo 350" dimensione="1">30</riferimenti>
|
||||
<riferimenti corrente="100" potenza="700" modello="Quarzo 700 coppia" dimensione="2">31</riferimenti>
|
||||
<riferimenti corrente="100" potenza="350" modello="Quarzo 350 coppia" dimensione="1">32</riferimenti>
|
||||
<riferimenti corrente="100" potenza="250" modello="Quarzo 250 coppia" dimensione="1">33</riferimenti>
|
||||
<riferimenti corrente="100" potenza="400" modello="HTS 400" dimensione="1">34</riferimenti>
|
||||
<riferimenti corrente="213" potenza="500" modello="Quarzo 500 gruppo da 4" dimensione="2">35</riferimenti>
|
||||
<riferimenti corrente="100" potenza="700" modello="Alogena 700" dimensione="2" correnteMinima="4" tolleranzaCorrente="10" tolleranzaLettureON="10" softStart="2" filtCycle="2" PctMin="153">36</riferimenti>
|
||||
<riferimenti corrente="104" potenza="400" modello="Quarzo 400" dimensione="2">37</riferimenti>
|
||||
<corrente valore="64" sens1="144" sens2="190" sens3="265" sens4="380" sens5="533" sens6="800" sens7="1187" sens8="1700">1</corrente>
|
||||
<corrente valore="72" sens1="150" sens2="200" sens3="280" sens4="400" sens5="566" sens6="845" sens7="1250" sens8="1800">2</corrente>
|
||||
<corrente valore="80" sens1="156" sens2="210" sens3="295" sens4="420" sens5="600" sens6="890" sens7="1312" sens8="1900">3</corrente>
|
||||
<corrente valore="88" sens1="162" sens2="220" sens3="310" sens4="440" sens5="633" sens6="935" sens7="1375" sens8="2000">4</corrente>
|
||||
<corrente valore="96" sens1="168" sens2="230" sens3="325" sens4="460" sens5="666" sens6="980" sens7="1437" sens8="2100">5</corrente>
|
||||
<corrente valore="104" sens1="175" sens2="240" sens3="340" sens4="480" sens5="700" sens6="1025" sens7="1500" sens8="2200">6</corrente>
|
||||
<corrente valore="112" sens1="181" sens2="250" sens3="355" sens4="500" sens5="733" sens6="1070" sens7="1562" sens8="2300">7</corrente>
|
||||
<corrente valore="120" sens1="187" sens2="260" sens3="370" sens4="520" sens5="766" sens6="1115" sens7="1625" sens8="2400">8</corrente>
|
||||
<corrente valore="128" sens1="193" sens2="270" sens3="385" sens4="540" sens5="800" sens6="1160" sens7="1687" sens8="2500">9</corrente>
|
||||
<corrente valore="136" sens1="200" sens2="280" sens3="400" sens4="560" sens5="833" sens6="1205" sens7="1750" sens8="2600">10</corrente>
|
||||
<corrente valore="144" sens1="206" sens2="290" sens3="415" sens4="580" sens5="866" sens6="1250" sens7="1812" sens8="2700">11</corrente>
|
||||
<corrente valore="152" sens1="212" sens2="325" sens3="430" sens4="600" sens5="899" sens6="1295" sens7="1874" sens8="2800">12</corrente>
|
||||
</riscaldo>
|
||||
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- edited with XMLSpy v2006 U (http://www.altova.com) by fg (nn) -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
<xs:complexType name="resistenzaType">
|
||||
<xs:attribute name="tipo" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Id tipo resistenza. Corrisponde al'id riferimento</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="riga" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numero riga di appartenenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="idTermocoppia" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Id della termocoppia installata. 0 = no termocoppia, altrimenti 1...</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="termocoppiaAssociata" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Id della termocoppia di riferimento</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="idGruppo" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Id del gruppo di appartenenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="canale" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numero del canale assoluto</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="fast" type="xs:boolean" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TRUE = duty cycle nuovo, altrimenti FALSE</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="leftConstraint" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Spazio da aggiungere prima della resistenza [pix]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="rightConstraint" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Spazio da aggiungere dopo la resistenza [pix]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sfasamImp" type="xs:boolean" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sfasamento per pilotaggio a impulsi:
|
||||
possibilità di far lavorare alcuni canali sfasati rispetto agli altri, in modo da avere un assorbimento istantaneo il più basso possibile.
|
||||
Default=FALSE
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="softDelay" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Ritardo per la partenza del soft-start ad impulsi per ogni singolo canale senza che questo abbia necessariamente finito la rampa
|
||||
Default=0
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="riflettoreType">
|
||||
<xs:sequence>
|
||||
<xs:element name="resistenza" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="resistenzaType"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="riferimentoType" mixed="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Id tipo resistenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="corrente" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Corrente riferimento specifico per il tipo resistenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="potenza" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Potenza nominale della resistenza espressa in Watt</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="modello" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Marca e modello resistenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="dimensione" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>1=250mm 2=125mm</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="correnteMinima" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Soglia bassa sotto cui considerare l'assorbimento un allarme</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="tolleranzaCorrente" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Usata in collaudo. Esprime la semiampiezza dell'intorno di corrente di lettura entro cui l'assorbimento è considerato coretto</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="tolleranzaLettureON" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Usata in lavoro. Esprime il numero di letture non buone oltre cui considerare allarme</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="softStart" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Impostazioni softstart.
|
||||
Bit0-4: definiscono la velocità del softstart. Il valore indica il numero di ripetizioni del singolo step della rampa. Più il valore è piccolo maggiore sarà la velocità del softstart. [default 3].
|
||||
Bit5: se = 0 il softstart lavora con tabella fissa (solo 50hZ), se = 1 il softstart lavora con i valori WaveMax e IntervalWidth, anche con frequenze diverse da 50hZ.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="filtCycle" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numero di letture dell'allarme oltre cui considerare vero l'allarme</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SoftLim" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Limite di percentuale per soft start
|
||||
Default=100
|
||||
Esempio: se pct target = 50% e SoftLim=35%, viene effettuato il soft start fino al 35% poi si salta alla pct target di 50%
|
||||
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PctMin" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Percentuale minima per duty a impulsi
|
||||
Default=0
|
||||
Esempio: se PctMin=40% per pct target da 0-39% viene usato il pilataggio a parzializzazione di fase (alogeno) da 40% a 100% viene usato il pilotaggio a impulsi (quarzo)
|
||||
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="correnteType" mixed="true">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Record di configurazione correnti per tipo resistenza</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="valore" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Boh!!!</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens1" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens2" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens3" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens4" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens5" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens6" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens7" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="sens8" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Sensibilità [W]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="riscaldo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Configurazione sistema di riscaldo NEW_Risk2007</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="riflettore" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="riflettoreType">
|
||||
<xs:attribute name="tipo" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>0 = riscaldo superiore, 1 = riscaldo inferiore, 2 = preriscaldo sup., 3 = preriscaldo inf.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="dimensionScale" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Fattore di scala per disegnare il riscaldo [TwinPix]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="slimScale" type="xs:double" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Fattore di proporzione fra larghezza e altezza [larghezza/altezza]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="offsetTc" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Offset di compensazione lettura termocoppia</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="rowOffset" type="xs:integer">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Interasse fra le righe di resistenza [mm]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="riferimenti" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="riferimentoType"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="corrente" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="correnteType"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="addrTc" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Indirizzo di memorizzazione termocoppie lato CPU: 4D5=R8TC8IO, D5=NEW_RISK2007</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="baudRate" type="xs:long" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Velocità di trasmissione [baud] (9600,19200)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="comPort" type="xs:integer" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Porta seriale per comunicazione con CPU riscaldo</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="gainTc" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Fattore di moltiplicazione della lettura della termocoppia: 0.5=R8TC8IO, 0.6=NEW_RISK2007</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="softStartParam" type="xs:boolean" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TRUE = utilizzo la parametrizzazione per il softStart, FALSE = utilizzo il softstart cablato nel firmware delle res8CH</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="waveMax" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Numero di semionde massime in un secondo (50hZ = 120, 60hZ = 140)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="intervalWidth" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Durata in tempo di 1/100 di semionda [microsec] (50hZ = 95, 60hZ = 82)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="comTimeout" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Durata timeout per spegnimento riscaldo in caso di mancanza di comunicazione con la CPU. Trascorso il timout serve rimandare un comando di ON alla CPU per la riaccensione del riscaldo. Indicando 0 la CPU ignora lo spegnimento automatico su assenza di comunicazione. [sec]</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="intervalWidthQuarzo" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Durata in tempo di 1/100 di semionda [microsec] per lampade al quarzo</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="regFramePeriodQuarzo" type="xs:integer" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Frequenza di invio dei frame di regolazione dalla cpu per lampade al quarzo</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<serverConfig>
|
||||
<ncConfig>
|
||||
<ncVendor>DEMO</ncVendor> <!-- NO_NC/DEMO/FANUC/SIEMENS/OSAI -->
|
||||
<showNcHMI>true</showNcHMI>
|
||||
<ncIpAddress>localhost</ncIpAddress>
|
||||
<ncPort>8080</ncPort>
|
||||
<ncVendor>S7NET</ncVendor> <!-- NO_NC/DEMO/FANUC/SIEMENS/OSAI/S7NET -->
|
||||
<showNcHMI>false</showNcHMI>
|
||||
<ncIpAddress>192.168.0.102</ncIpAddress>
|
||||
<ncPort>102</ncPort>
|
||||
<machineModel>Ares 37 OF</machineModel>
|
||||
<sharedPath>C:\PartPrg\</sharedPath>
|
||||
<sharedName>//PARTPRG:/</sharedName>
|
||||
|
||||
@@ -1,78 +1,79 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="serverConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="ncConfig">
|
||||
<xs:complexType>
|
||||
<xs:element name="serverConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="ncVendor" type="ncType" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="showNcHMI" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="ncIpAddress" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="ncPort" type="xs:int" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="machineModel" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="sharedPath" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="sharedName" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="installationDate" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="mgiOption" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="siemensKeyboardOption" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="machineNumberHasLetters" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="ncConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="ncVendor" type="ncType" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="showNcHMI" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="ncIpAddress" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="ncPort" type="xs:int" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="machineModel" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="sharedPath" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="sharedName" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="installationDate" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="mgiOption" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="siemensKeyboardOption" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="machineNumberHasLetters" type="xs:boolean" minOccurs='1' maxOccurs='1'/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="softwareProdConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="enabled" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="path" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="serverConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="serverAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="serverPort" type="xs:int" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="language" type="xs:language" minOccurs='1' maxOccurs='1' default="en"/>
|
||||
<xs:element name="enableDirectoryBrowsing" type="xs:boolean" default="false"/>
|
||||
<xs:element name="databaseAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="autoOpenCmsClient" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="textEditorPath" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="MTCFolderPath" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="MTCApplicationName" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="maxAlarmsRows" type="xs:int" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="alarmToDelete" type="xs:int" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="CMSConnectReady" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="extSoftwares">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="software" minOccurs='0' maxOccurs='15'>
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="path" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="longName" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="shortName" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="arguments" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="inMainMenuBar" minOccurs='1' maxOccurs='1'/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="softwareProdConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="enabled" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="path" type="xs:string" minOccurs='1' maxOccurs='1'/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="serverConfig">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="serverAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="serverPort" type="xs:int" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="language" type="xs:language" minOccurs='1' maxOccurs='1' default="en"/>
|
||||
<xs:element name="enableDirectoryBrowsing" type="xs:boolean" default="false"/>
|
||||
<xs:element name="databaseAddress" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="autoOpenCmsClient" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="textEditorPath" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="MTCFolderPath" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="MTCApplicationName" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="maxAlarmsRows" type="xs:int" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="alarmToDelete" type="xs:int" minOccurs="1" maxOccurs="1"/>
|
||||
<xs:element name="CMSConnectReady" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="extSoftwares">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="software" minOccurs='0' maxOccurs='15'>
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="path" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="longName" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="shortName" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="arguments" minOccurs='1' maxOccurs='1'/>
|
||||
<xs:element name="inMainMenuBar" minOccurs='1' maxOccurs='1'/>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="ncType" final="restriction" >
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEMO" />
|
||||
<xs:enumeration value="OSAI" />
|
||||
<xs:enumeration value="FANUC" />
|
||||
<xs:enumeration value="SIEMENS" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ncType" final="restriction" >
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEMO" />
|
||||
<xs:enumeration value="OSAI" />
|
||||
<xs:enumeration value="FANUC" />
|
||||
<xs:enumeration value="SIEMENS" />
|
||||
<xs:enumeration value="S7NET" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Config
|
||||
{
|
||||
/// <summary>
|
||||
/// Live data for Thermo Active
|
||||
/// </summary>
|
||||
public class LiveData
|
||||
{
|
||||
/// <summary>
|
||||
/// Current loaded recipe
|
||||
/// </summary>
|
||||
public string RecipeName = "current.json";
|
||||
/// <summary>
|
||||
/// Dictionary of all parameters and values
|
||||
/// </summary>
|
||||
public Dictionary<string, double> RecipeParameters;
|
||||
/// <summary>
|
||||
/// Dictionary of all channels and relative setpoints
|
||||
/// </summary>
|
||||
public Dictionary<int, double> ChannelSetpoints;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -32,6 +32,8 @@ namespace Thermo.Active.Config
|
||||
public static List<NcSoftKeysModel> NcSoftKeysConfig;
|
||||
public static List<AlarmsConfigModel> InitialAlarmsConfig;
|
||||
public static List<HeadsConfigModel> HeadsConfig;
|
||||
|
||||
|
||||
public static CmsConnectConfigModel CmsConnectConfig;
|
||||
|
||||
public static AreasConfigModel ProductionConfig;
|
||||
@@ -51,5 +53,15 @@ namespace Thermo.Active.Config
|
||||
public static List<string> MacrosConfig;
|
||||
|
||||
public static string CMSMainProgramContent;
|
||||
|
||||
|
||||
// Thermo
|
||||
public static List<RecipeConfigModel> RecipeConfig;
|
||||
public static List<ModBlockConfigModel> ModBlockConfig;
|
||||
public static List<RiskResistModel> RiskResistConfig;
|
||||
public static List<RiskChannelModel> RiskChannelConfig;
|
||||
|
||||
public static LiveData RecipeLiveData;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,14 +13,15 @@ using System.Xml.Linq;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml.Serialization;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.SupportFunctions;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Thermo.Active.Config
|
||||
{
|
||||
public static class ServerConfigController
|
||||
{
|
||||
private static string actualFileName;
|
||||
private static string actualFileName;
|
||||
|
||||
public static void ReadStartupConfig()
|
||||
{
|
||||
@@ -33,15 +34,18 @@ namespace Thermo.Active.Config
|
||||
ReadUserSoftKeysConfig();
|
||||
ReadAlarmsConfig();
|
||||
ReadHeadsConfig();
|
||||
ReadRecipeConfig();
|
||||
ReadModBlockConfig();
|
||||
ReadRiskConfig();
|
||||
// ReadCMSConnectConfig();
|
||||
ReadMacros();
|
||||
ReadScadaFile();
|
||||
//ReadMainProgram();
|
||||
ReadLiveData();
|
||||
}
|
||||
catch (XmlException ex)
|
||||
{
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.FATAL,
|
||||
"Error while reading file: " + ex.SourceUri +
|
||||
"Error while reading file: " + ex.SourceUri +
|
||||
"\n Error: " + ex.Message,
|
||||
true
|
||||
);
|
||||
@@ -50,7 +54,7 @@ namespace Thermo.Active.Config
|
||||
{
|
||||
var message = ex.Message;
|
||||
if (ex.InnerException != null)
|
||||
message += "\n"+ex.InnerException.Message;
|
||||
message += "\n" + ex.InnerException.Message;
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.FATAL, message, true);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +63,7 @@ namespace Thermo.Active.Config
|
||||
{
|
||||
// Create new instance
|
||||
XmlSchemaSet readerSettings = new XmlSchemaSet();
|
||||
|
||||
|
||||
// Add Schema from Assembly
|
||||
Assembly myAssembly = Assembly.GetExecutingAssembly();
|
||||
using (Stream schemaStream = myAssembly.GetManifestResourceStream(configSchemaFilePath))
|
||||
@@ -69,11 +73,11 @@ namespace Thermo.Active.Config
|
||||
readerSettings.Add(null, schemaReader);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
actualFileName = configFilePath;
|
||||
|
||||
// Open file reader
|
||||
XDocument xmlConfigFile = XDocument.Load((!isFullPath ? BASE_PATH + "\\": "") + configFilePath);
|
||||
XDocument xmlConfigFile = XDocument.Load((!isFullPath ? BASE_PATH + "\\" : "") + configFilePath);
|
||||
// Validate file
|
||||
xmlConfigFile.Validate(readerSettings, ValidationHandler);
|
||||
|
||||
@@ -129,13 +133,13 @@ namespace Thermo.Active.Config
|
||||
break;
|
||||
|
||||
case AREAS.SCADA_KEY:
|
||||
SetAreaValue(ref ScadaConfig, element);
|
||||
SetAreaValue(ref ScadaConfig, element);
|
||||
break;
|
||||
|
||||
case AREAS.JOBEDITOR_KEY:
|
||||
SetAreaValue(ref JobEditorConfig, element);
|
||||
break;
|
||||
|
||||
|
||||
case AREAS.USERS_KEY:
|
||||
SetAreaValue(ref UsersConfig, element);
|
||||
break;
|
||||
@@ -157,20 +161,20 @@ namespace Thermo.Active.Config
|
||||
private static void ValidationHandler(object sender, ValidationEventArgs e)
|
||||
{
|
||||
if (e.Severity == XmlSeverityType.Warning)
|
||||
{
|
||||
{
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.WARNING, e.Message, true);
|
||||
}
|
||||
}
|
||||
else if (e.Severity == XmlSeverityType.Error)
|
||||
{
|
||||
{
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.FATAL,
|
||||
// "Error while reading file: " + e.Exception.SourceUri +
|
||||
"Error while reading XML file \"" + actualFileName + "\" \n\n" + e.Message,
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool CheckAreaStatus(string areaName)
|
||||
public static bool CheckAreaStatus(string areaName)
|
||||
{ // Get Area status ( enabled field) by name
|
||||
switch (areaName)
|
||||
{
|
||||
@@ -205,7 +209,7 @@ namespace Thermo.Active.Config
|
||||
}
|
||||
|
||||
private static void ReadScadaFile()
|
||||
{
|
||||
{
|
||||
DirectoryInfo d = new DirectoryInfo(SCADA_DIRECTORY);
|
||||
FileInfo[] files = d.GetFiles("*.xml");
|
||||
|
||||
@@ -217,7 +221,7 @@ namespace Thermo.Active.Config
|
||||
|
||||
StreamReader sr = new StreamReader(SCADA_DIRECTORY + file.Name);
|
||||
XmlSerializer xmlSerializer = new XmlSerializer(typeof(ScadaSchemaModel));
|
||||
ScadaSchemaModel schema = xmlSerializer.Deserialize(sr) as ScadaSchemaModel;
|
||||
ScadaSchemaModel schema = xmlSerializer.Deserialize(sr) as ScadaSchemaModel;
|
||||
|
||||
|
||||
// Setup incremental ids
|
||||
@@ -230,7 +234,8 @@ namespace Thermo.Active.Config
|
||||
{
|
||||
Id = i++,
|
||||
Buttons = x.Buttons.Select(y => { y.Id = i++; return y; }).ToArray(),
|
||||
Images = x.Images.Select(y => {
|
||||
Images = x.Images.Select(y =>
|
||||
{
|
||||
y.Id = i++;
|
||||
y.Name = GetImageBase64String(SCADA_DIRECTORY + name, y.Name);
|
||||
return y;
|
||||
@@ -276,7 +281,7 @@ namespace Thermo.Active.Config
|
||||
InstallationDate = x.Element("installationDate").Value,
|
||||
MgiOption = Convert.ToBoolean(x.Element("mgiOption").Value),
|
||||
SiemensKeyboardOption = Convert.ToBoolean(x.Element("siemensKeyboardOption").Value),
|
||||
MachineNumberHasLetters = Convert.ToBoolean(x.Element("machineNumberHasLetters").Value)
|
||||
MachineNumberHasLetters = Convert.ToBoolean(x.Element("machineNumberHasLetters").Value)
|
||||
}).FirstOrDefault();
|
||||
|
||||
// Read Prod Software Config with LINQ
|
||||
@@ -285,9 +290,9 @@ namespace Thermo.Active.Config
|
||||
.Descendants(PROD_SFT_CONFIG_KEY)
|
||||
.Select(x => new SoftwareProdConfigModel()
|
||||
{
|
||||
Enabled = Convert.ToBoolean(x.Element("enabled").Value),
|
||||
Enabled = Convert.ToBoolean(x.Element("enabled").Value),
|
||||
Path = x.Element("path").Value
|
||||
}).FirstOrDefault();
|
||||
}).FirstOrDefault();
|
||||
|
||||
// Read server config with LINQ and save into static config
|
||||
ServerStartupConfig = xmlConfigFile
|
||||
@@ -301,7 +306,7 @@ namespace Thermo.Active.Config
|
||||
EnableDirectoryBrowsing = Convert.ToBoolean(x.Element("enableDirectoryBrowsing").Value),
|
||||
DatabaseAddress = x.Element("databaseAddress").Value,
|
||||
AutoOpenCmsClient = Convert.ToBoolean(x.Element("autoOpenCmsClient").Value),
|
||||
TextEditorPath = x.Element("textEditorPath").Value,
|
||||
TextEditorPath = x.Element("textEditorPath").Value,
|
||||
MTCFolderPath = x.Element("MTCFolderPath").Value,
|
||||
MTCApplicationName = x.Element("MTCApplicationName").Value,
|
||||
MaxAlarmsRows = Convert.ToInt32(x.Element("maxAlarmsRows").Value),
|
||||
@@ -344,7 +349,7 @@ namespace Thermo.Active.Config
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(MAINTENANCES_CONFIG_SCHEMA_PATH, MAINTENANCES_CONFIG_PATH);
|
||||
|
||||
ReadAssistanceConfig();
|
||||
|
||||
|
||||
MaintenancesConfig = xmlConfigFile
|
||||
.Descendants("maintenances")
|
||||
.Elements("maintenance")
|
||||
@@ -373,11 +378,11 @@ namespace Thermo.Active.Config
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(MAINTENANCES_CONFIG_SCHEMA_PATH, MAINTENANCES_CONFIG_PATH);
|
||||
ReadAssistanceConfigFromXml(
|
||||
xmlConfigFile.Root.Descendants("cmsContacts").FirstOrDefault(),
|
||||
out CmsContactConfig,
|
||||
out CmsAuxContact1,
|
||||
out CmsContactConfig,
|
||||
out CmsAuxContact1,
|
||||
out CmsAuxContact2
|
||||
);
|
||||
|
||||
|
||||
xmlConfigFile = GetXmlHandlerWithValidator(MAINTENANCES_CONFIG_SCHEMA_PATH, MAINTENANCES_CONFIG_PATH);
|
||||
ReadAssistanceConfigFromXml(
|
||||
xmlConfigFile.Root.Descendants("scmContacts").FirstOrDefault(),
|
||||
@@ -544,7 +549,7 @@ namespace Thermo.Active.Config
|
||||
{
|
||||
AlarmId = Convert.ToInt32(x.Element("alarmId").Value),
|
||||
PlcId = Convert.ToInt32(x.Element("plcId").Value),
|
||||
RestoreIsActive = Convert.ToBoolean(x.Element("restoreIsActive").Value)
|
||||
RestoreIsActive = Convert.ToBoolean(x.Element("restoreIsActive").Value)
|
||||
})
|
||||
.ToList();
|
||||
}
|
||||
@@ -571,7 +576,166 @@ namespace Thermo.Active.Config
|
||||
})
|
||||
.ToList();
|
||||
}
|
||||
/// <summary>
|
||||
/// Recipe Config setup from file
|
||||
/// </summary>
|
||||
private static void ReadRecipeConfig()
|
||||
{
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(RECIPE_CONFIG_SCHEMA_PATH, RECIPE_CONFIG_PATH);
|
||||
|
||||
// Read Recipe config from XML file
|
||||
RecipeConfig = xmlConfigFile
|
||||
.Root
|
||||
.Elements()
|
||||
.Select(x => new RecipeConfigModel()
|
||||
{
|
||||
Id = Convert.ToInt16(x.Element("id").Value),
|
||||
Category = GetTActParamType(x.Element("category").Value),
|
||||
SubCategory_1 = x.Element("subCategory_1").Value,
|
||||
SubCategory_2 = x.Element("subCategory_2").Value,
|
||||
Name = x.Element("name").Value,
|
||||
Description = x.Element("description").Value,
|
||||
Format = x.Element("format").Value
|
||||
})
|
||||
.ToList();
|
||||
}
|
||||
/// <summary>
|
||||
/// Module config setup from file
|
||||
/// </summary>
|
||||
private static void ReadModBlockConfig()
|
||||
{
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(MODBLOCK_CONFIG_SCHEMA_PATH, MODBLOCK_CONFIG_PATH);
|
||||
|
||||
// Read head config from XML file
|
||||
ModBlockConfig = xmlConfigFile
|
||||
.Root
|
||||
.Elements()
|
||||
.Select(x => new ModBlockConfigModel()
|
||||
{
|
||||
Id = Convert.ToInt16(x.Element("id").Value),
|
||||
LocalizedLabels = x.Element("localizedLabels").Elements().ToDictionary(
|
||||
y => y.Attribute("langKey").Value, y => y.Value
|
||||
),
|
||||
Type = GetTActMB_Type(x.Element("type").Value),
|
||||
Section = GetTActMB_Section(x.Element("section").Value),
|
||||
IdParam = Convert.ToInt16(x.Element("idParam").Value),
|
||||
ShowDelay = Convert.ToBoolean(x.Element("showDelay").Value),
|
||||
Priority = Convert.ToInt16(x.Element("priority").Value)
|
||||
})
|
||||
.ToList();
|
||||
}
|
||||
/// <summary>
|
||||
/// Warmers config setup from file
|
||||
/// </summary>
|
||||
private static void ReadRiskConfig()
|
||||
{
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(RISK_CONFIG_SCHEMA_PATH, RISK_CONFIG_PATH);
|
||||
|
||||
int i = 0;
|
||||
|
||||
List<RiskRiflettore> Riflettori = new List<RiskRiflettore>();
|
||||
List<RiskResistenza> Resistenze = new List<RiskResistenza>();
|
||||
List<RiskRiferimenti> Riferimenti = new List<RiskRiferimenti>();
|
||||
|
||||
// carico gli oggetti "nativi"
|
||||
Riferimenti = xmlConfigFile
|
||||
.Root
|
||||
.Elements("riferimenti")
|
||||
.Select(x => new RiskRiferimenti()
|
||||
{
|
||||
Id = Convert.ToInt16(x.Value),
|
||||
Dimensione = Convert.ToInt16(x.Attribute("dimensione").Value),
|
||||
Potenza = Convert.ToInt16(x.Attribute("potenza").Value)
|
||||
})
|
||||
.ToList();
|
||||
|
||||
|
||||
Riflettori = xmlConfigFile
|
||||
.Root
|
||||
.Elements("riflettore")
|
||||
.Select(x => new RiskRiflettore()
|
||||
{
|
||||
Tipo = Convert.ToInt16(x.Attribute("tipo").Value),
|
||||
Resistenze = x.Elements("resistenza")
|
||||
.Select(y => new RiskResistenza()
|
||||
{
|
||||
Canale = Convert.ToInt16(y.Attribute("canale").Value),
|
||||
Riga = Convert.ToInt16(y.Attribute("riga").Value),
|
||||
Tipo = Convert.ToInt16(y.Attribute("tipo").Value)
|
||||
}
|
||||
)
|
||||
.ToList()
|
||||
})
|
||||
.ToList();
|
||||
|
||||
// conversione da modelli RISK a modello Thermo...
|
||||
int numCol = -1;
|
||||
int ResistId = 0;
|
||||
int oldRow = 0;
|
||||
int currRow = 0;
|
||||
RiskChannelConfig = new List<RiskChannelModel>();
|
||||
RiskResistConfig = new List<RiskResistModel>();
|
||||
|
||||
// ciclo x calcolare i canali
|
||||
foreach (var riflettore in Riflettori)
|
||||
{
|
||||
// ciclo sulle resistente
|
||||
foreach (var resistenza in riflettore.Resistenze)
|
||||
{
|
||||
// cerco se ho già il canale
|
||||
var found = RiskChannelConfig.Find(item => item.IdChannel == resistenza.Canale);
|
||||
if (found == null)
|
||||
{
|
||||
// cerco il TIPO...
|
||||
var riferimento = Riferimenti.Find(x => x.Id == resistenza.Tipo);
|
||||
if (riferimento != null)
|
||||
{
|
||||
RiskChannelConfig.Add(new RiskChannelModel()
|
||||
{
|
||||
IdChannel = resistenza.Canale,
|
||||
IdReflector = riflettore.Tipo,
|
||||
SetpointRecipe = 0,
|
||||
SetpointThermo = 0,
|
||||
MaxPower = riferimento.Potenza
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ciclo sui riflettori x recuperare le resistenze...
|
||||
foreach (var riflettore in Riflettori)
|
||||
{
|
||||
// ciclo sulle resistente
|
||||
foreach (var resistenza in riflettore.Resistenze)
|
||||
{
|
||||
if (oldRow != resistenza.Riga)
|
||||
{
|
||||
numCol = 0;
|
||||
oldRow = resistenza.Riga;
|
||||
}
|
||||
else
|
||||
{
|
||||
numCol++;
|
||||
}
|
||||
|
||||
// cerco il TIPO...
|
||||
var riferimento = Riferimenti.Find(x => x.Id == resistenza.Tipo);
|
||||
|
||||
RiskResistConfig.Add(new RiskResistModel()
|
||||
{
|
||||
Id = ResistId++,
|
||||
Row = resistenza.Riga,
|
||||
Column = numCol,
|
||||
IdChannel = resistenza.Canale,
|
||||
Dimension = riferimento.Dimensione
|
||||
}); ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ReadCMSConnectConfig()
|
||||
{
|
||||
@@ -603,14 +767,14 @@ namespace Thermo.Active.Config
|
||||
Token = x.Element("token").Value
|
||||
})
|
||||
.FirstOrDefault();
|
||||
|
||||
|
||||
if (DecodeCMSConnectGatewayLogin(tempGatewayConfigModel.Token, out _tempUSR, out _tempPSW))
|
||||
{
|
||||
tempGatewayConfigModel.Username = _tempUSR;
|
||||
tempGatewayConfigModel.Password = _tempPSW;
|
||||
}
|
||||
else
|
||||
throw new Exception("Error while reading \""+ CMS_CONNECT_CONFIG_PATH + "\": Gateway Token not valid");
|
||||
throw new Exception("Error while reading \"" + CMS_CONNECT_CONFIG_PATH + "\": Gateway Token not valid");
|
||||
|
||||
CmsConnectConfig.Gateway = tempGatewayConfigModel;
|
||||
}
|
||||
@@ -627,15 +791,187 @@ namespace Thermo.Active.Config
|
||||
.Select(x => x.Value)
|
||||
.ToList();
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to load live data from json persistence file
|
||||
/// </summary>
|
||||
public static bool ReadLiveData()
|
||||
{
|
||||
bool answ = false;
|
||||
if (File.Exists(LIVE_RECIPE_PATH))
|
||||
{
|
||||
// load all text data
|
||||
var rawData = File.ReadAllText(LIVE_RECIPE_PATH);
|
||||
try
|
||||
{
|
||||
// deserialize to object
|
||||
RecipeLiveData = JsonConvert.DeserializeObject<LiveData>(rawData);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
answ = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// reload from template...
|
||||
var rawData = File.ReadAllText(RECIPE_TEMPLATE_PATH);
|
||||
try
|
||||
{
|
||||
// deserialize to object
|
||||
RecipeLiveData = JsonConvert.DeserializeObject<LiveData>(rawData);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
answ = true;
|
||||
}
|
||||
// rendo se fatto
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to load selected recipe to live data (memory and json persistence file)
|
||||
/// </summary>
|
||||
public static bool LoadRecipe(string filePath)
|
||||
{
|
||||
bool answ = false;
|
||||
|
||||
// check file extension
|
||||
string fileName = Path.GetFileName(filePath);
|
||||
if (!fileName.EndsWith(".json"))
|
||||
{
|
||||
fileName += ".json";
|
||||
filePath += ".json";
|
||||
}
|
||||
|
||||
// check filePath...
|
||||
if (!filePath.Contains(RECIPE_DIRECTORY) && filePath != RECIPE_TEMPLATE_PATH)
|
||||
{
|
||||
// aggiungo base path!
|
||||
filePath = RECIPE_DIRECTORY + filePath;
|
||||
}
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
answ = true;
|
||||
|
||||
// load all text data
|
||||
var rawData = File.ReadAllText(filePath);
|
||||
try
|
||||
{
|
||||
// deserialize to object
|
||||
RecipeLiveData = JsonConvert.DeserializeObject<LiveData>(rawData);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// update current live data!
|
||||
SaveRecipeCurrent();
|
||||
}
|
||||
// rendo se fatto
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to load template recipe
|
||||
/// </summary>
|
||||
public static bool LoadTemplate()
|
||||
{
|
||||
bool answ = false;
|
||||
// check filePath...
|
||||
if (File.Exists(RECIPE_TEMPLATE_PATH))
|
||||
{
|
||||
answ = true;
|
||||
|
||||
// load all text data
|
||||
var rawData = File.ReadAllText(RECIPE_TEMPLATE_PATH);
|
||||
try
|
||||
{
|
||||
// deserialize to object
|
||||
RecipeLiveData = JsonConvert.DeserializeObject<LiveData>(rawData);
|
||||
// update NAME
|
||||
RecipeLiveData.RecipeName = $"{DateTime.Now:yyyyMMss_HHmmss}.json";
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// update current live data!
|
||||
SaveRecipeCurrent();
|
||||
}
|
||||
// rendo se fatto
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to write live data to json persistence file
|
||||
/// </summary>
|
||||
public static bool SaveRecipeCurrent()
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = true;
|
||||
// serialize
|
||||
string rawData = JsonConvert.SerializeObject(RecipeLiveData);
|
||||
// save live!
|
||||
var dir = Path.GetDirectoryName(LIVE_RECIPE_PATH);
|
||||
if(!Directory.Exists(dir))
|
||||
{
|
||||
Directory.CreateDirectory(dir);
|
||||
}
|
||||
File.WriteAllText(LIVE_RECIPE_PATH, rawData);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// rendo se fatto
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to save live recipe as NEW template
|
||||
/// </summary>
|
||||
public static bool SaveRecipeTemplate()
|
||||
{
|
||||
|
||||
RecipeLiveData.RecipeName = "template.json";
|
||||
return SaveRecipe(RECIPE_TEMPLATE_PATH);
|
||||
}
|
||||
/// <summary>
|
||||
/// Try to save live recipe to selected filePath
|
||||
/// </summary>
|
||||
public static bool SaveRecipe(string filePath)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = true;
|
||||
string fileName = Path.GetFileName(filePath);
|
||||
if(!fileName.EndsWith(".json"))
|
||||
{
|
||||
fileName += ".json";
|
||||
filePath += ".json";
|
||||
}
|
||||
// fix name!
|
||||
RecipeLiveData.RecipeName=fileName;
|
||||
// serialize
|
||||
string rawData = JsonConvert.SerializeObject(RecipeLiveData);
|
||||
// save live!
|
||||
File.WriteAllText(LIVE_RECIPE_PATH, rawData);
|
||||
// check filePath...
|
||||
if (!filePath.Contains(RECIPE_DIRECTORY) && filePath != RECIPE_TEMPLATE_PATH)
|
||||
{
|
||||
// aggiungo base path!
|
||||
filePath = RECIPE_DIRECTORY + filePath;
|
||||
}
|
||||
// save!
|
||||
File.WriteAllText(filePath, rawData);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// rendo se fatto
|
||||
return answ;
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadMainProgram()
|
||||
{
|
||||
if (File.Exists(MAIN_PROGRAM_CONFIG_PATH))
|
||||
{
|
||||
CMSMainProgramContent = File.ReadAllText(MAIN_PROGRAM_CONFIG_PATH);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static string CalculateHash(string filename)
|
||||
{
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@@ -52,9 +55,13 @@
|
||||
<SubType>Designer</SubType>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Compile Include="LiveData.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ServerConfig.cs" />
|
||||
<Compile Include="ServerConfigController.cs" />
|
||||
<Content Include="Recipes\.placeholder.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<EmbeddedResource Include="Report\Programs.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
@@ -69,6 +76,15 @@
|
||||
<Content Include="Config\customMainProgram.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Config\moduleBlockConfig.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Config\recipeConfig.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Config\risk2007.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Config\userSoftKeyConfig.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -83,7 +99,7 @@
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<EmbeddedResource Include="Config\headsConfigValidator.xsd">
|
||||
<EmbeddedResource Include="Config\recipeConfigValidator.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Config\maintenancesConfigValidator.xsd">
|
||||
@@ -151,5 +167,27 @@
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Config\headsConfigValidator.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Config\moduleBlockConfigValidator.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Config\risk2007Validator.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Content Include="Config\Recipes\template.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
|
||||
</packages>
|
||||
@@ -32,9 +32,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library">
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
@@ -63,6 +60,10 @@
|
||||
<Compile Include="ThreadsSiemensHmi.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Thermo.Active.Config\Thermo.Active.Config.csproj">
|
||||
<Project>{3f5c2483-fc87-43ef-92a8-66ff7d0e440f}</Project>
|
||||
<Name>Thermo.Active.Config</Name>
|
||||
|
||||
@@ -21,20 +21,22 @@ using TeamDev.SDK.MVVM;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.ExceptionManager;
|
||||
using static Thermo.Active.Utils.ExceptionManager;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
public static class ThreadsFunctions
|
||||
public static class ThreadsFunctions
|
||||
{
|
||||
public static int recipeRtCounter = 0;
|
||||
public static bool reconnectionIsRunning = false;
|
||||
|
||||
private static ConcurrentDictionary<string, long> Timers = new ConcurrentDictionary<string, long>();
|
||||
private static ConcurrentDictionary<string, long> Counter = new ConcurrentDictionary<string, long>();
|
||||
|
||||
private static Thread ConnThread;
|
||||
|
||||
|
||||
#region Functions
|
||||
|
||||
public static void ManageWatchdog()
|
||||
public static void ManageWatchdog()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
@@ -47,7 +49,7 @@ public static class ThreadsFunctions
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
sw.Restart();
|
||||
|
||||
//if(errorCounter == MAX_NUM_OF_WATCHDOG_ERROR)
|
||||
//{
|
||||
@@ -55,7 +57,7 @@ public static class ThreadsFunctions
|
||||
//}
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Manage watchdog
|
||||
libraryError = ncAdapter.ManageWatchdog();
|
||||
@@ -65,7 +67,7 @@ public static class ThreadsFunctions
|
||||
errorCounter++;
|
||||
}
|
||||
else if (libraryError == NO_ERROR)
|
||||
errorCounter = 0;
|
||||
errorCounter = 0;
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
@@ -375,6 +377,7 @@ public static class ThreadsFunctions
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadHeadsData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
@@ -417,7 +420,8 @@ public static class ThreadsFunctions
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void ReadAxesNamesData()
|
||||
{
|
||||
@@ -507,6 +511,7 @@ public static class ThreadsFunctions
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadActiveProgramData()
|
||||
{
|
||||
NcFileAdapter ncAdapter = new NcFileAdapter();
|
||||
@@ -550,8 +555,10 @@ public static class ThreadsFunctions
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if false
|
||||
public static void ReadPartProgramQueueData()
|
||||
{
|
||||
NcFileAdapter ncAdapter = new NcFileAdapter();
|
||||
@@ -597,9 +604,10 @@ public static class ThreadsFunctions
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void ReadScadaData()
|
||||
public static void ReadScadaData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
@@ -643,7 +651,276 @@ public static class ThreadsFunctions
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadGaugeData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadGaugeData(out ThermoModels.GaugeModel gaugeData);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_THERMO_GAUGE_DATA, null, gaugeData);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadProdInfoData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadProdInfoData(out ThermoModels.ProdInfoModel prodInfoData);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_THERMO_PROD_INFO_DATA, null, prodInfoData);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadProdCycleData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadProdCycleData(out ThermoModels.ProdCycleModel prodCycleData);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_THERMO_PROD_CYCLE_DATA, null, prodCycleData);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadRecipeData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
// ogni n counter leggo anche dati NON RT
|
||||
recipeRtCounter--;
|
||||
bool onlyRt = recipeRtCounter > 0;
|
||||
//check reset...
|
||||
recipeRtCounter = recipeRtCounter < 0 ? 5 : recipeRtCounter;
|
||||
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadRecipeData(onlyRt, false, out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_THERMO_RECIPE_FULL, null, currRecipe);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
// Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(250, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadWarmersData()
|
||||
{
|
||||
// TODO FIXME
|
||||
#if false
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
List<ScadaSchemaModel> scadaToRead = ProductionScadaSchema.Concat(SubscribedScada).ToList();
|
||||
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadScadasData(scadaToRead, out List<DTOScadaModel> scadas);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_SCADA_DATA, null, scadas);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
public static void ReadModulesData()
|
||||
{
|
||||
// TODO FIXME
|
||||
#if false
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
|
||||
try
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
List<ScadaSchemaModel> scadaToRead = ProductionScadaSchema.Concat(SubscribedScada).ToList();
|
||||
|
||||
// Get new data from PLC
|
||||
libraryError = ncAdapter.ReadScadasData(scadaToRead, out List<DTOScadaModel> scadas);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_SCADA_DATA, null, scadas);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
public static void ReadM154Data()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
@@ -698,7 +975,7 @@ public static class ThreadsFunctions
|
||||
foreach (M154DataModel m154 in data)
|
||||
{
|
||||
//if (CmsConnectConfig.Enabled)
|
||||
if(ServerStartupConfig.CmsConnectReady)
|
||||
if (ServerStartupConfig.CmsConnectReady)
|
||||
{
|
||||
|
||||
if (m154.Parameters.Count() >= 2 && m154.Parameters[0] == "SOUR")
|
||||
@@ -827,7 +1104,7 @@ public static class ThreadsFunctions
|
||||
{
|
||||
List<DTOLanguageModel> availableLanguages = LanguageController.GetLanguageListFromDirectory();
|
||||
if (availableLanguages == null)
|
||||
return ;
|
||||
return;
|
||||
|
||||
ICollection<CultureInfo> cultureInfos = new List<CultureInfo>();
|
||||
|
||||
@@ -838,7 +1115,7 @@ public static class ThreadsFunctions
|
||||
|
||||
// Filter available language with
|
||||
availableLanguages = availableLanguages.Where(x => cultureInfos.Any(y => y.TwoLetterISOLanguageName == x.IsoId)).ToList();
|
||||
|
||||
|
||||
// Fill redis DB
|
||||
int count = 1;
|
||||
Dictionary<string, string> defAlarmsNamesEn = null;
|
||||
@@ -847,10 +1124,10 @@ public static class ThreadsFunctions
|
||||
{
|
||||
Dictionary<string, string> alarmsNames = GetPlcAlarmsTranslations(lang.IsoId);
|
||||
|
||||
if(lang.IsoId.ToLower() == "en")
|
||||
if (lang.IsoId.ToLower() == "en")
|
||||
{
|
||||
defAlarmsNamesEn = alarmsNames;
|
||||
if(!RedisController.WriteAlarmsConfigEn(alarmsNames))
|
||||
if (!RedisController.WriteAlarmsConfigEn(alarmsNames))
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
}
|
||||
else if (lang.IsoId.ToLower() == "it")
|
||||
@@ -861,7 +1138,7 @@ public static class ThreadsFunctions
|
||||
}
|
||||
else
|
||||
if (!RedisController.WriteAlarmsConfigCurr(alarmsNames))
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
|
||||
if (count == 3)
|
||||
break;
|
||||
@@ -871,10 +1148,10 @@ public static class ThreadsFunctions
|
||||
|
||||
if (availableLanguages.Count < 3 && defAlarmsNamesEn != null)
|
||||
if (!RedisController.WriteAlarmsConfigCurr(defAlarmsNamesEn))
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
else if (availableLanguages.Count < 3 && defAlarmsNamesIt != null)
|
||||
if (!RedisController.WriteAlarmsConfigCurr(defAlarmsNamesIt))
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
else if (availableLanguages.Count < 3 && defAlarmsNamesIt != null)
|
||||
if (!RedisController.WriteAlarmsConfigCurr(defAlarmsNamesIt))
|
||||
ManageError(ERROR_LEVEL.FATAL, CMS_CONNECT_SETUP_ALARM_MESSAGE);
|
||||
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
@@ -890,16 +1167,16 @@ public static class ThreadsFunctions
|
||||
private static void TryNcConnection()
|
||||
{
|
||||
// Stop all the NC threads
|
||||
ThreadsHandler.Stop();
|
||||
StatReset();
|
||||
ThreadsHandler.Stop();
|
||||
StatReset();
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
CmsError cmsError = NO_ERROR;
|
||||
// Run loop until NC is connected
|
||||
while (!ncAdapter.numericalControl.NC_IsConnected())
|
||||
while (!ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Try reconnection
|
||||
cmsError = ncAdapter.Connect();
|
||||
if (cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND || cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_HMI_NOT_RUNNING || cmsError.errorCode == CMS_ERROR_CODES.OSAI_TT_FOLDER_NOT_FOUND)
|
||||
if (cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND || cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_HMI_NOT_RUNNING || cmsError.errorCode == CMS_ERROR_CODES.OSAI_TT_FOLDER_NOT_FOUND)
|
||||
ManageLibraryError(cmsError);
|
||||
else if (cmsError.errorCode != CMS_ERROR_CODES.OK)
|
||||
{
|
||||
@@ -975,7 +1252,7 @@ public static class ThreadsFunctions
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal static void UpdateStat(string functionName, long timer)
|
||||
{
|
||||
if (!Timers.ContainsKey(functionName))
|
||||
@@ -994,16 +1271,16 @@ public static class ThreadsFunctions
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
foreach(var value in Counter)
|
||||
foreach (var value in Counter)
|
||||
{
|
||||
if(ThreadsHandler.RunningThreadStatus.ContainsKey(value.Key) && Counter[value.Key] != 0)
|
||||
if (ThreadsHandler.RunningThreadStatus.ContainsKey(value.Key) && Counter[value.Key] != 0)
|
||||
{
|
||||
ThreadsHandler.RunningThreadStatus[value.Key] = (Timers[value.Key] / Counter[value.Key]) + " mS";
|
||||
Timers[value.Key] = 0;
|
||||
Counter[value.Key] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MessageServices.Current.Publish(SEND_THREADS_STATUS, null, ThreadsHandler.RunningThreadStatus);
|
||||
|
||||
Thread.Sleep(2000);
|
||||
@@ -1107,7 +1384,7 @@ public static class ThreadsFunctions
|
||||
message = string.Format(NOT_FOUND_ALARM_MESSAGE, i);
|
||||
}
|
||||
// Add to dictionary
|
||||
returnValue.Add(i.ToString("D6") + "|900",message);
|
||||
returnValue.Add(i.ToString("D6") + "|900", message);
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@@ -14,18 +14,24 @@ namespace Thermo.Active.Core
|
||||
ThreadsFunctions.ReadAlarms,
|
||||
ThreadsFunctions.ReadPowerOnData,
|
||||
ThreadsFunctions.StatThread,
|
||||
ThreadsFunctions.ReadProcessesPPStatus,
|
||||
//ThreadsFunctions.ReadProcessesPPStatus,
|
||||
ThreadsFunctions.ReadEnabledFunctionality,
|
||||
ThreadsFunctions.ReadExpiredMaintenances,
|
||||
ThreadsFunctions.ReadAxesPositionsData,
|
||||
//ThreadsFunctions.ReadAxesPositionsData,
|
||||
ThreadsFunctions.ReadUserSoftKeysData,
|
||||
ThreadsFunctions.ReadHeadsData,
|
||||
ThreadsFunctions.ReadAxesNamesData,
|
||||
ThreadsFunctions.ReadActiveProgramData,
|
||||
//ThreadsFunctions.ReadHeadsData,
|
||||
//ThreadsFunctions.ReadAxesNamesData,
|
||||
//ThreadsFunctions.ReadActiveProgramData,
|
||||
//ThreadsFunctions.ReadPartProgramQueueData,
|
||||
ThreadsFunctions.ReadScadaData,
|
||||
ThreadsFunctions.ReadM154Data
|
||||
ThreadsFunctions.ReadM154Data, // levare?
|
||||
// ThreadsFunctions.ReadNcSoftKeysData,
|
||||
ThreadsFunctions.ReadGaugeData,
|
||||
ThreadsFunctions.ReadProdInfoData,
|
||||
ThreadsFunctions.ReadProdCycleData,
|
||||
ThreadsFunctions.ReadRecipeData,
|
||||
ThreadsFunctions.ReadWarmersData,
|
||||
ThreadsFunctions.ReadModulesData
|
||||
};
|
||||
private static Action ThreadSetupCmsConnect = ThreadsFunctions.SetupCmsConnect;
|
||||
|
||||
@@ -44,6 +50,7 @@ namespace Thermo.Active.Core
|
||||
{
|
||||
Thread t = new Thread(() => ThreadSetupCmsConnect());
|
||||
t.Start();
|
||||
Thread.Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +67,8 @@ namespace Thermo.Active.Core
|
||||
threadFunction()
|
||||
);
|
||||
t.Start();
|
||||
// aggiungo pausa x evitare sovrapposizioni chiamate
|
||||
Thread.Sleep(50);
|
||||
// Add thread to running threads list
|
||||
lock (RunningThreadsList)
|
||||
RunningThreadsList.Add(t);
|
||||
|
||||
@@ -34,7 +34,8 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library">
|
||||
<Reference Include="CMS_CORE_Library, Version=1.1.1.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class ModBlockConfigModel
|
||||
{
|
||||
public int Id;
|
||||
public Dictionary<string,string> LocalizedLabels { get; set; }
|
||||
public TACT_MBLOCK_TYPE Type { get; set; }
|
||||
public TACT_MBLOCK_SECTION Section { get; set; }
|
||||
public int IdParam{ get; set; }
|
||||
public bool ShowDelay { get; set; }
|
||||
public int Priority { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class RecipeConfigModel
|
||||
{
|
||||
public int Id;
|
||||
public TACT_PARAM_TYPE Category { get; set; }
|
||||
public string SubCategory_1 { get; set; }
|
||||
public string SubCategory_2 { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string Format { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using System.Collections.Generic;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.ConfigModels
|
||||
{
|
||||
public class RiskRiflettore
|
||||
{
|
||||
public int Tipo;
|
||||
public List<RiskResistenza> Resistenze;
|
||||
}
|
||||
public class RiskResistenza
|
||||
{
|
||||
public int Tipo;
|
||||
public int Riga;
|
||||
public int Canale;
|
||||
}
|
||||
public class RiskRiferimenti
|
||||
{
|
||||
public int Id;
|
||||
public int Potenza;
|
||||
public int Dimensione;
|
||||
}
|
||||
public class RiskResistModel
|
||||
{
|
||||
public int Id;
|
||||
public int IdChannel;
|
||||
public int Column;
|
||||
public int Row;
|
||||
public int Dimension;
|
||||
}
|
||||
public class RiskChannelModel
|
||||
{
|
||||
public int IdChannel;
|
||||
public int IdReflector;
|
||||
public int SetpointRecipe;
|
||||
public int SetpointThermo;
|
||||
public int MaxPower;
|
||||
//public int MinCurrent;
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ namespace Thermo.Active.Model
|
||||
{
|
||||
public static class Constants
|
||||
{
|
||||
public static bool IS_BETA = false;
|
||||
public static bool IS_BETA = false;
|
||||
public static string NOT_FOUND_ALARM_MESSAGE = "Alarm_id_{0} : Message not found";
|
||||
public static string NOT_CONFIGURATED_ALARM_MESSAGE = "Alarm_id_{0} : Message not configurated";
|
||||
public static string CMS_CONNECT_SETUP_ALARM_MESSAGE = "Error during CMS-Connect setup: Redis Db Not Found";
|
||||
@@ -20,7 +20,7 @@ namespace Thermo.Active.Model
|
||||
public enum SCADA_ELEMENT_TYPE
|
||||
{
|
||||
BUTTON = 0,
|
||||
IMAGE = 1,
|
||||
IMAGE = 1,
|
||||
INPUT = 2,
|
||||
PROGRESS_BAR = 3,
|
||||
LABEL = 4,
|
||||
@@ -32,12 +32,12 @@ namespace Thermo.Active.Model
|
||||
public static string READ = "read";
|
||||
public static string WRITE = "write";
|
||||
}
|
||||
|
||||
|
||||
public const int MIN_CMS_ROLE = 100;
|
||||
public const int MIN_ADMIN_ROLE = 30;
|
||||
|
||||
public enum ROLE_IDS
|
||||
{
|
||||
{
|
||||
CMS_SERVICE = 1,
|
||||
CMS_UT = 2,
|
||||
CUSTOMER_ADMIN = 3,
|
||||
@@ -74,6 +74,41 @@ namespace Thermo.Active.Model
|
||||
LASER = 3
|
||||
}
|
||||
|
||||
public enum TACT_PARAM_TYPE
|
||||
{
|
||||
ND = 0,
|
||||
General,
|
||||
Positions,
|
||||
Cycle,
|
||||
Heats,
|
||||
Pyrometer,
|
||||
Drawing,
|
||||
UpperPlate,
|
||||
Cooling,
|
||||
Vacuum,
|
||||
Extraction,
|
||||
Options
|
||||
}
|
||||
|
||||
public enum TACT_MBLOCK_TYPE
|
||||
{
|
||||
ND = 0,
|
||||
HEATING,
|
||||
DRAWING,
|
||||
MOVEMENT,
|
||||
VACUUM,
|
||||
COOLING,
|
||||
EXTRACTION
|
||||
}
|
||||
|
||||
public enum TACT_MBLOCK_SECTION
|
||||
{
|
||||
ND = 0,
|
||||
HEATING,
|
||||
FORMING,
|
||||
EXTRACTION
|
||||
}
|
||||
|
||||
public enum MAINTENANCE_UNIT_OF_MEASURE
|
||||
{
|
||||
mm = 0,
|
||||
@@ -118,7 +153,7 @@ namespace Thermo.Active.Model
|
||||
public const string FANUC = "FANUC";
|
||||
public const string SIEMENS = "SIEMENS";
|
||||
public const string OSAI = "OSAI";
|
||||
public const string SIEMENS_S7 = "SIEMENS_S7";
|
||||
public const string S7NET = "S7NET";
|
||||
}
|
||||
|
||||
// Database config
|
||||
@@ -166,7 +201,7 @@ namespace Thermo.Active.Model
|
||||
public static readonly string BASE_PATH = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
|
||||
#if DEBUG
|
||||
public static readonly string CLIENT_PATH_64 = BASE_PATH + @"\Client_Debug\x64\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_64 = BASE_PATH + @"\Client_Debug\x64\" + CLIENT_EXE_NAME;
|
||||
public static readonly string CLIENT_PATH_86 = BASE_PATH + @"\Client_Debug\x84\" + CLIENT_EXE_NAME;
|
||||
public static string WEBSITE_DIRECTORY = Path.Combine(BASE_PATH, "..", "wwwroot");
|
||||
#else
|
||||
@@ -175,6 +210,9 @@ namespace Thermo.Active.Model
|
||||
public static string WEBSITE_DIRECTORY = BASE_PATH + "\\view";
|
||||
#endif
|
||||
public const string CONFIG_DIRECTORY = "Config\\";
|
||||
public const string RECIPE_DIRECTORY = "Recipes\\";
|
||||
public const string RECIPE_TEMPLATE_PATH = CONFIG_DIRECTORY + RECIPE_DIRECTORY + "template.json";
|
||||
public const string LIVE_RECIPE_PATH = TEMP_FOLDER + RECIPE_DIRECTORY + "current.json";
|
||||
public const string RESOURCE_DIRECTORY = @"Thermo.Active.Config.Config.";
|
||||
public const string SERVER_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + @"serverConfigValidator.xsd";
|
||||
public const string SERVER_CONFIG_PATH = CONFIG_DIRECTORY + "serverConfig.xml";
|
||||
@@ -182,7 +220,7 @@ namespace Thermo.Active.Model
|
||||
public const string AREAS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "areasConfigValidator.xsd";
|
||||
public const string AREAS_CONFIG_PATH = CONFIG_DIRECTORY + "areasConfig.xml";
|
||||
|
||||
public const string MAINTENANCES_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "maintenancesConfigValidator.xsd";
|
||||
public const string MAINTENANCES_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "maintenancesConfigValidator.xsd";
|
||||
public const string CUSTOMER_CONTACTS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "customerContactConfigValidator.xsd";
|
||||
public const string MAINTENANCES_CONFIG_PATH = CONFIG_DIRECTORY + "maintenancesConfig.xml";
|
||||
public const string CUSTOMER_CONTACTS = CMS_FOLDER_PATH + "ContactInfo.xml";
|
||||
@@ -190,13 +228,22 @@ namespace Thermo.Active.Model
|
||||
|
||||
public const string USER_SOFTKEYS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "userSoftKeyConfigValidator.xsd";
|
||||
public const string USER_SOFTKEYS_CONFIG_PATH = CONFIG_DIRECTORY + "userSoftKeyConfig.xml";
|
||||
|
||||
|
||||
public const string ALARMS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "alarmsConfigValidator.xsd";
|
||||
public const string ALARMS_CONFIG_PATH = CONFIG_DIRECTORY + "alarmsConfig.xml";
|
||||
|
||||
public const string HEADS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "headsConfigValidator.xsd";
|
||||
public const string HEADS_CONFIG_PATH = CONFIG_DIRECTORY + "headsConfig.xml";
|
||||
|
||||
public const string RECIPE_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "recipeConfigValidator.xsd";
|
||||
public const string RECIPE_CONFIG_PATH = CONFIG_DIRECTORY + "recipeConfig.xml";
|
||||
|
||||
public const string MODBLOCK_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "moduleBlockConfigValidator.xsd";
|
||||
public const string MODBLOCK_CONFIG_PATH = CONFIG_DIRECTORY + "moduleBlockConfig.xml";
|
||||
|
||||
public const string RISK_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "risk2007Validator.xsd";
|
||||
public const string RISK_CONFIG_PATH = CONFIG_DIRECTORY + "risk2007.xml";
|
||||
|
||||
public const string NC_SOFTKEYS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "ncSoftKeyConfigValidator.xsd";
|
||||
public const string NC_SOFTKEYS_CONFIG_PATH = CONFIG_DIRECTORY + "ncSoftKeyConfig.xml";
|
||||
|
||||
@@ -208,6 +255,7 @@ namespace Thermo.Active.Model
|
||||
|
||||
public const string MAIN_PROGRAM_CONFIG_PATH = CONFIG_DIRECTORY + "customMainProgram.txt";
|
||||
|
||||
|
||||
public static string LANGUAGE_PACK_DIRECTORY = BASE_PATH + "\\languages\\";
|
||||
public static string LANGUAGE_SCHEMA_PATH = BASE_PATH + "\\LanguageValidator.xsd";
|
||||
|
||||
@@ -244,7 +292,15 @@ namespace Thermo.Active.Model
|
||||
public const string SEND_QUEUE_DATA = "SEND_QUEUE_DATA";
|
||||
public const string SEND_M155_DATA = "SEND_M155_DATA";
|
||||
public const string SEND_SCADA_DATA = "SEND_SCADA_DATA";
|
||||
public const string SEND_RECIPE_STATUS = "SEND_RECIPE_STATUS";
|
||||
|
||||
// MVVM Messages for Thermo active specs
|
||||
public const string SEND_THERMO_RECIPE_FULL = "SEND_THERMO_RECIPE_FULL";
|
||||
public const string SEND_THERMO_RECIPE_OVERWIEW = "SEND_THERMO_RECIPE_OVERWIEW";
|
||||
public const string SEND_THERMO_MODULE_DATA = "SEND_THERMO_MODULE_DATA";
|
||||
public const string SEND_THERMO_WARMERS_DATA = "SEND_THERMO_WARMERS_DATA";
|
||||
public const string SEND_THERMO_GAUGE_DATA = "SEND_THERMO_GAUGE_DATA";
|
||||
public const string SEND_THERMO_PROD_INFO_DATA = "SEND_THERMO_PROD_INFO_DATA";
|
||||
public const string SEND_THERMO_PROD_CYCLE_DATA = "SEND_THERMO_PROD_CYCLE_DATA";
|
||||
|
||||
public const string BROADCAST_DATA = "BROADCAST_DATA";
|
||||
|
||||
@@ -281,22 +337,22 @@ namespace Thermo.Active.Model
|
||||
public const string PASSWORD_IS_INVALID = "error_password_is_invalid";
|
||||
public const string IMPORT_FILE_NOT_VALID = "error_import_file_not_valid";
|
||||
public const string DUPLICATED_USERNAME = "error_duplicated_username";
|
||||
public const string CUSTOMER_FILE_INVALID = "contactinfo_error_customer_configfile";
|
||||
public const string CUSTOMER_FILE_INVALID = "contactinfo_error_customer_configfile";
|
||||
}
|
||||
|
||||
// File paths
|
||||
public const string CLIENT_EXE_NAME = @"Active_Client.exe";
|
||||
public const string CLIENT_EXE_NAME_NOEXT = @"Active_Client";
|
||||
public const string CLIENT_EXE_NAME_NOEXT = @"Active_Client";
|
||||
public const string MAINTENANCE_ATTACHMENT_PATH = @"C:\CMS\Active\attachment\maintenance\";
|
||||
public const string CMS_FOLDER_PATH = @"C:\CMS\";
|
||||
|
||||
public const string ALARM_ATTACHMENT_PATH = @"C:\CMS\Active\attachment\alarm\";
|
||||
public const string TEMP_FOLDER = @"C:\CMS\Active\TMP\";
|
||||
public const string TEMP_PP_FOLDER = TEMP_FOLDER + @"pp\";
|
||||
public const string JOB_TMP_DIRECTORY = TEMP_PP_FOLDER + @"job\";
|
||||
public const string JOB_TMP_DIRECTORY = TEMP_PP_FOLDER + @"job\";
|
||||
public const string QUEUE_TMP_FOLDER = TEMP_PP_FOLDER + @"queue\";
|
||||
public const string PART_PRG_IMAGES = TEMP_FOLDER + @"pp_img\";
|
||||
|
||||
public const string PART_PRG_IMAGES = TEMP_FOLDER + @"pp_img\";
|
||||
|
||||
public const string SCADA_DIRECTORY = @"C:\CMS\Active\scada\";
|
||||
|
||||
public static readonly string[] VALID_FILE_EXTENSIONS = { "", ".txt", ".cnc", ".ini", ".mpf", ".spf" };
|
||||
@@ -324,7 +380,7 @@ namespace Thermo.Active.Model
|
||||
"dd/MM/yyyy",
|
||||
"MM/dd/yyyy",
|
||||
"dd.MM.yyyy",
|
||||
"MM.dd.yyyy"
|
||||
"MM.dd.yyyy"
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using System.Linq;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static CMS_CORE_Library.Models.ThermoModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels
|
||||
{
|
||||
public class DTOGaugeDataModel : GaugeModel
|
||||
{
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOGaugeDataModel item))
|
||||
return false;
|
||||
|
||||
if (TimeAdv != item.TimeAdv)
|
||||
return false;
|
||||
if (Power != item.Power)
|
||||
return false;
|
||||
if (Vacuum != item.Vacuum)
|
||||
return false;
|
||||
if (Air != item.Air)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTOModule
|
||||
{
|
||||
public int Id { get; set; } = 0;
|
||||
public int ActualDuration { get; set; } = 0;
|
||||
public int ActualDelay { get; set; } = 0;
|
||||
public int EstimDuration { get; set; } = 0;
|
||||
public int EstimDelay { get; set; } = 0;
|
||||
public List<int> PrevModId { get; set; } = new List<int>();
|
||||
public RBStatus Status { get; set; }
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOModule item))
|
||||
return false;
|
||||
|
||||
if (Id!= item.Id)
|
||||
return false;
|
||||
if (ActualDuration != item.ActualDuration)
|
||||
return false;
|
||||
if (ActualDelay != item.ActualDelay)
|
||||
return false;
|
||||
if (PrevModId != item.PrevModId)
|
||||
return false;
|
||||
if (EstimDelay != item.EstimDelay)
|
||||
return false;
|
||||
if (!Status.Equals(item.Status))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
public struct RBStatus
|
||||
{
|
||||
public bool Visible { get; set; }
|
||||
public bool Executing { get; set; }
|
||||
public bool HasError { get; set; }
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is RBStatus item))
|
||||
return false;
|
||||
|
||||
if (Visible != item.Visible)
|
||||
return false;
|
||||
if (Executing != item.Executing)
|
||||
return false;
|
||||
if (HasError != item.HasError)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTOModuleConfigModel
|
||||
{
|
||||
public int Id;
|
||||
public string Label;
|
||||
public BlockType Type;
|
||||
public BlockSection Section;
|
||||
public int IdMainParam = -1; // -1 = non visibile
|
||||
public bool DelayVisible;
|
||||
public int VisualPriority;
|
||||
}
|
||||
|
||||
public enum BlockType
|
||||
{
|
||||
HEATING,
|
||||
DRAWING,
|
||||
MOVEMENT,
|
||||
VACUUM,
|
||||
COOLING,
|
||||
EXTRACTION
|
||||
}
|
||||
public enum BlockSection
|
||||
{
|
||||
HEATING,
|
||||
FORMING,
|
||||
EXTRACTION
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTOModulesBlock
|
||||
{
|
||||
public int Id { get; set; } = 0;
|
||||
public double SetpointHMI { get; set; } = 0;
|
||||
public double SetpointPLC { get; set; } = 0;
|
||||
//public RPRange Range { get; set; }
|
||||
//public RPStatus Status { get; set; }
|
||||
public string UnitMeasure { get; set; }
|
||||
public double ValueAct { get; set; }
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOModulesBlock item))
|
||||
return false;
|
||||
|
||||
if (Id!= item.Id)
|
||||
return false;
|
||||
if (SetpointHMI != item.SetpointHMI)
|
||||
return false;
|
||||
if (SetpointPLC != item.SetpointPLC)
|
||||
return false;
|
||||
//if (!Range.Equals(item.Range))
|
||||
// return false;
|
||||
//if (!Status.Equals(item.Status))
|
||||
// return false;
|
||||
if (UnitMeasure != item.UnitMeasure)
|
||||
return false;
|
||||
if (ValueAct != item.ValueAct)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
public struct RPRange
|
||||
{
|
||||
public double Min { get; set; }
|
||||
public double Max { get; set; }
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is RPRange item))
|
||||
return false;
|
||||
|
||||
if (Min != item.Min)
|
||||
return false;
|
||||
if (Max != item.Max)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
public struct RPStatus
|
||||
{
|
||||
public bool Visible { get; set; }
|
||||
public bool Enabled { get; set; }
|
||||
public bool HasError { get; set; }
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is RPStatus item))
|
||||
return false;
|
||||
|
||||
if (Visible != item.Visible)
|
||||
return false;
|
||||
if (Enabled != item.Enabled)
|
||||
return false;
|
||||
if (HasError != item.HasError)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System.Collections.Generic;
|
||||
using Thermo.Active.Model.ConfigModels;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTORecipeConfigModel
|
||||
{
|
||||
public int Id;
|
||||
public string Category;
|
||||
public string SubCategory_1;
|
||||
public string SubCategory_2;
|
||||
public string Name;
|
||||
public string Description;
|
||||
public string Format;
|
||||
public string Label;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public enum RecipeCatStatus
|
||||
{
|
||||
Unchanged = 0,
|
||||
ChangedOk,
|
||||
HasError
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTORecipeParam
|
||||
{
|
||||
public int Id { get; set; } = 0;
|
||||
public double SetpointHMI { get; set; } = 0;
|
||||
public double SetpointPLC { get; set; } = 0;
|
||||
public RPRange Range { get; set; }
|
||||
public RPStatus Status { get; set; }
|
||||
public string UnitMeasure { get; set; }
|
||||
public double ValueAct { get; set; }
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTORecipeParam item))
|
||||
return false;
|
||||
|
||||
if (Id!= item.Id)
|
||||
return false;
|
||||
if (SetpointHMI != item.SetpointHMI)
|
||||
return false;
|
||||
if (SetpointPLC != item.SetpointPLC)
|
||||
return false;
|
||||
if (!Range.Equals(item.Range))
|
||||
return false;
|
||||
if (!Status.Equals(item.Status))
|
||||
return false;
|
||||
if (UnitMeasure != item.UnitMeasure)
|
||||
return false;
|
||||
if (ValueAct != item.ValueAct)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
public struct RPRange
|
||||
{
|
||||
public double Min { get; set; }
|
||||
public double Max { get; set; }
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is RPRange item))
|
||||
return false;
|
||||
|
||||
if (Min != item.Min)
|
||||
return false;
|
||||
if (Max != item.Max)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
public struct RPStatus
|
||||
{
|
||||
public bool Visible { get; set; }
|
||||
public bool Enabled { get; set; }
|
||||
public bool HasError { get; set; }
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is RPStatus item))
|
||||
return false;
|
||||
|
||||
if (Visible != item.Visible)
|
||||
return false;
|
||||
if (Enabled != item.Enabled)
|
||||
return false;
|
||||
if (HasError != item.HasError)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTOWarmers
|
||||
{
|
||||
public int IdChannel { get; set; } = 0;
|
||||
public int IdReflector { get; set; } = 0;
|
||||
public int SetpointRecipe { get; set; } = 0;
|
||||
public int SetpointTermocam { get; set; } = 0;
|
||||
public int SetpointPLC { get; set; } = 0;
|
||||
public int ChannelStatus { get; set; } = 0;
|
||||
public double ActualCurrent { get; set; } = 0;
|
||||
public int ActualPerc { get; set; } = 0;
|
||||
public int MaxPower { get; set; } = 0;
|
||||
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOWarmers item))
|
||||
return false;
|
||||
|
||||
if (IdChannel != item.IdChannel)
|
||||
return false;
|
||||
if (IdReflector != item.IdReflector)
|
||||
return false;
|
||||
if (SetpointRecipe != item.SetpointRecipe)
|
||||
return false;
|
||||
if (SetpointTermocam != item.SetpointTermocam)
|
||||
return false;
|
||||
if (SetpointPLC != item.SetpointPLC)
|
||||
return false;
|
||||
if (ChannelStatus != item.ChannelStatus)
|
||||
return false;
|
||||
if (ActualCurrent != item.ActualCurrent)
|
||||
return false;
|
||||
if (ActualPerc != item.ActualPerc)
|
||||
return false;
|
||||
if (MaxPower != item.MaxPower)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,9 +33,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library">
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -66,6 +63,9 @@
|
||||
<Compile Include="ConfigModels\AlarmsConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\CmsConnectConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\ExtSoftwareModel.cs" />
|
||||
<Compile Include="ConfigModels\ModBlockConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\RiskConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\RecipeConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\HeadsConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\MaintenanceConfigModel.cs" />
|
||||
<Compile Include="ConfigModels\NcSoftKeysModel.cs" />
|
||||
@@ -97,12 +97,19 @@
|
||||
<Compile Include="DatabaseModels\MachineUserModel.cs" />
|
||||
<Compile Include="DatabaseModels\SessionModel.cs" />
|
||||
<Compile Include="DTOModels\AlarmModels\DTONewAlarmNoteModel.cs" />
|
||||
<Compile Include="DTOModels\DTOGaugeDataModel.cs" />
|
||||
<Compile Include="DTOModels\DTOActiveProgramInfoModel.cs" />
|
||||
<Compile Include="DTOModels\AlarmModels\DTOAlarmHistoricModel.cs" />
|
||||
<Compile Include="DTOModels\AlarmModels\DTOAlarmsModel.cs" />
|
||||
<Compile Include="DTOModels\DTOAxesModel.cs" />
|
||||
<Compile Include="DTOModels\DTOAxisNameModel.cs" />
|
||||
<Compile Include="DTOModels\DTOClientConfigurationModel.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTOModule.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTOModuleConfigModel.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTOModulesBlock.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTOWarmers.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTORecipeParam.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTORecipeConfigModel .cs" />
|
||||
<Compile Include="DTOModels\DTONetworkMonitor.cs" />
|
||||
<Compile Include="DTOModels\DTOCmsConnectGateway.cs" />
|
||||
<Compile Include="DTOModels\JobModels\DTOGenericParamModel.cs" />
|
||||
@@ -112,6 +119,7 @@
|
||||
<Compile Include="DTOModels\DTOQueueModel.cs" />
|
||||
<Compile Include="DTOModels\JobModels\DTOMetadataFieldsModel.cs" />
|
||||
<Compile Include="DTOModels\JobModels\DTOMetadataModel.cs" />
|
||||
<Compile Include="DTOModels\Recipe\DTORecipeOverview.cs" />
|
||||
<Compile Include="DTOModels\Scada\DTOScadaModel.cs" />
|
||||
<Compile Include="DTOModels\Scada\ScadaSchemaModel.cs" />
|
||||
<Compile Include="DTOModels\MaintenanceModels\DTOExpiredMaintenanceModel.cs" />
|
||||
@@ -152,6 +160,12 @@
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
|
||||
@@ -4,8 +4,9 @@ using CMS_CORE_Library.Fanuc;
|
||||
using CMS_CORE_Library.Models;
|
||||
using CMS_CORE_Library.Osai;
|
||||
using CMS_CORE_Library.Siemens;
|
||||
using CMS_CORE_Library.S7Net;
|
||||
using Thermo.Active.Database.Controllers;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DatabaseModels;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using Thermo.Active.Model.DTOModels.MaintenanceModels;
|
||||
@@ -21,12 +22,13 @@ using System.Text.RegularExpressions;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
namespace Thermo.Active.NC
|
||||
{
|
||||
public class NcAdapter : IDisposable
|
||||
{
|
||||
public Nc numericalControl;
|
||||
public NcThermo numericalControl;
|
||||
|
||||
public NcAdapter() =>
|
||||
// Choose NC
|
||||
@@ -52,22 +54,13 @@ namespace Thermo.Active.NC
|
||||
return null;
|
||||
}
|
||||
|
||||
public Nc SetNumericalControl()
|
||||
public NcThermo SetNumericalControl()
|
||||
{
|
||||
// Return new Numerical control instance choosed from the configuration
|
||||
switch (NcConfig.NcVendor)
|
||||
{
|
||||
case NC_VENDOR.DEMO:
|
||||
return new Nc_Demo(NcConfig.NcIpAddress, NcConfig.NcPort);
|
||||
|
||||
case NC_VENDOR.FANUC:
|
||||
return new Nc_Fanuc(NcConfig.NcIpAddress, NcConfig.NcPort, 2000);
|
||||
|
||||
case NC_VENDOR.SIEMENS:
|
||||
return new Nc_Siemens(2000);
|
||||
|
||||
case NC_VENDOR.OSAI:
|
||||
return new Nc_Osai(NcConfig.NcIpAddress, NcConfig.NcPort, 2000);
|
||||
case NC_VENDOR.S7NET:
|
||||
return new Nc_S7Net(NcConfig.NcIpAddress, NcConfig.NcPort, 2000);
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -116,7 +109,7 @@ namespace Thermo.Active.NC
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
public CmsError GetAxesPositionsByProcess(ushort processNum, out DTOAxesModel axes)
|
||||
public CmsError GetAxesPositionsByProcess(ushort processNum, out DTOAxesModel axes)
|
||||
{
|
||||
axes = new DTOAxesModel();
|
||||
|
||||
@@ -232,7 +225,7 @@ namespace Thermo.Active.NC
|
||||
// Max process number
|
||||
genericData.ProcessNumber = procNum;
|
||||
// Get Installation Date
|
||||
genericData.InstallationDate = DateTime.ParseExact(NcConfig.InstallationDate, DATE_FORMATS, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
|
||||
genericData.InstallationDate = DateTime.ParseExact(NcConfig.InstallationDate, DATE_FORMATS, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
|
||||
// Get PLC version
|
||||
genericData.PlcVersion = "1.0.0";
|
||||
// Get PLC version
|
||||
@@ -241,8 +234,8 @@ namespace Thermo.Active.NC
|
||||
return cmsError;
|
||||
genericData.UnitOfMeasurement = tmpInfo;
|
||||
|
||||
// Get Server version
|
||||
genericData.ServerVersion = SupportFunctions.GetSoftwareVersionAndBuildDate();
|
||||
// Get Server version
|
||||
genericData.ServerVersion = SupportFunctions.GetSoftwareVersionAndBuildDate();
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
@@ -539,7 +532,7 @@ namespace Thermo.Active.NC
|
||||
if (performed != null)
|
||||
perfVal = performed.CounterValue;
|
||||
|
||||
counterValue = (uint) Math.Ceiling(SupportFunctions.ConvertInUmeas(counterVal, currMaintenance.UnitOfMeasure.Value));
|
||||
counterValue = (uint)Math.Ceiling(SupportFunctions.ConvertInUmeas(counterVal, currMaintenance.UnitOfMeasure.Value));
|
||||
|
||||
// Calc percentage = PLC - PERFORMED VALUE * 100 / interval
|
||||
percentage = ((counterVal - perfVal) * 100) / SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value);
|
||||
@@ -601,7 +594,7 @@ namespace Thermo.Active.NC
|
||||
}
|
||||
}
|
||||
|
||||
if(performed != null && performed.ControlWord == -2)
|
||||
if (performed != null && performed.ControlWord == -2)
|
||||
{
|
||||
performed = null;
|
||||
}
|
||||
@@ -864,12 +857,84 @@ namespace Thermo.Active.NC
|
||||
Id = head.Id,
|
||||
Process = head.Process,
|
||||
Type = configuredHead.Type.ToString(),
|
||||
FixedHead = configuredHead.FixedHead,
|
||||
FixedHead = configuredHead.FixedHead,
|
||||
inWarning = head.Load_Abrasive >= configuredHead.WarningLimit,
|
||||
inAlarm = head.Load_Abrasive >= configuredHead.AlarmLimit,
|
||||
inAlarm = head.Load_Abrasive >= configuredHead.AlarmLimit,
|
||||
OverrideEditable = head.OverrideEditable,
|
||||
ActualSpeed = head.ActualSpeed_Pressure,
|
||||
Load = head.Load_Abrasive,
|
||||
Load = head.Load_Abrasive,
|
||||
Override = head.Override,
|
||||
IsActive = head.IsActive,
|
||||
IsSelected = head.IsSelected,
|
||||
AbrasiveIsActive = head.AbrasiveIsActive,
|
||||
Configured = head.Configured,
|
||||
Rotation = head.Rotation,
|
||||
WorkedTime = head.WorkedTime
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case HEAD_TYPE.WJ:
|
||||
{
|
||||
heads.Add(new DTOWaterJet()
|
||||
{
|
||||
Id = head.Id,
|
||||
Process = head.Process,
|
||||
Type = configuredHead.Type.ToString(),
|
||||
FixedHead = configuredHead.FixedHead,
|
||||
inAlarm = false,
|
||||
inWarning = false,
|
||||
ActualPressure = head.ActualSpeed_Pressure,
|
||||
OverrideEditable = head.OverrideEditable,
|
||||
Override = head.Override,
|
||||
IsActive = head.IsActive,
|
||||
IsSelected = head.IsSelected,
|
||||
AbrasiveIsActive = head.AbrasiveIsActive,
|
||||
WorkedTime = head.WorkedTime
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
// !!!FARE!!! è copia delle heads
|
||||
public CmsError GetRecipeData(out List<DTOHeadModel> heads)
|
||||
{
|
||||
// Returned value
|
||||
heads = new List<DTOHeadModel>();
|
||||
// Number of configured heads
|
||||
int headsNumber = HeadsConfig.Count;
|
||||
|
||||
List<HeadDataModel> plcHeads = new List<HeadDataModel>();
|
||||
// Read value from PLC
|
||||
CmsError cmsError = numericalControl.PLC_RHeadsData(plcHeads, headsNumber);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
foreach (var head in plcHeads)
|
||||
{
|
||||
// Get current head config
|
||||
var configuredHead = HeadsConfig.Find(x => x.Id == head.Id);
|
||||
// Create different model according on type
|
||||
switch (configuredHead.Type)
|
||||
{
|
||||
case HEAD_TYPE.SPINDLE:
|
||||
{
|
||||
heads.Add(new DTOSpindleModel()
|
||||
{
|
||||
Id = head.Id,
|
||||
Process = head.Process,
|
||||
Type = configuredHead.Type.ToString(),
|
||||
FixedHead = configuredHead.FixedHead,
|
||||
inWarning = head.Load_Abrasive >= configuredHead.WarningLimit,
|
||||
inAlarm = head.Load_Abrasive >= configuredHead.AlarmLimit,
|
||||
OverrideEditable = head.OverrideEditable,
|
||||
ActualSpeed = head.ActualSpeed_Pressure,
|
||||
Load = head.Load_Abrasive,
|
||||
Override = head.Override,
|
||||
IsActive = head.IsActive,
|
||||
IsSelected = head.IsSelected,
|
||||
@@ -924,7 +989,7 @@ namespace Thermo.Active.NC
|
||||
Process = x.Process,
|
||||
Type = x.Type.ToString(),
|
||||
Value = x.Value
|
||||
}).ToList();
|
||||
}).ToList();
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
@@ -964,9 +1029,9 @@ namespace Thermo.Active.NC
|
||||
scadas.Add(scadaValue);
|
||||
// Add id to read scada
|
||||
alreadyReadScada.Add(schema.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
@@ -990,6 +1055,273 @@ namespace Thermo.Active.NC
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
public CmsError ReadGaugeData(out ThermoModels.GaugeModel gaugeData)
|
||||
{
|
||||
gaugeData = new ThermoModels.GaugeModel();
|
||||
CmsError cmsError = numericalControl.PLC_RGaugeData(ref gaugeData);
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
public CmsError ReadProdInfoData(out ThermoModels.ProdInfoModel prodInfoData)
|
||||
{
|
||||
prodInfoData = new ThermoModels.ProdInfoModel();
|
||||
CmsError cmsError = numericalControl.PLC_RProdInfo(ref prodInfoData);
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
public CmsError ReadProdCycleData(out ThermoModels.ProdCycleModel prodCycleData)
|
||||
{
|
||||
prodCycleData = new ThermoModels.ProdCycleModel();
|
||||
CmsError cmsError = numericalControl.PLC_RProdCycle(ref prodCycleData);
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
/// <summary>
|
||||
/// Vero metodo lettura ricetta da 2 aree memoria PLC
|
||||
/// </summary>
|
||||
/// <param name="refreshOnlyRT">Indica se aggiornare SOLO i dati RT</param>
|
||||
/// <param name="useLastRead">Indica se usare ultimi dati letti dal PLC senza effettiva lettura (via cache)</param>
|
||||
/// <param name="currentRecipe"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadRecipeData(bool refreshOnlyRT, bool useLastRead, out Dictionary<string, DTORecipeParam> currentRecipe)
|
||||
{
|
||||
// init obj
|
||||
currentRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
RPRange currRange = new RPRange();
|
||||
RPStatus currStatus = new RPStatus();
|
||||
// solo x S7...
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
Dictionary<int, ThermoModels.RecipeParam> currPlcRecipe = new Dictionary<int, ThermoModels.RecipeParam>();
|
||||
CmsError cmsError = NO_ERROR;
|
||||
if (useLastRead)
|
||||
{
|
||||
cmsError = numericalControl.PLC_RRecipeParamList(false, ref currPlcRecipe);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmsError = numericalControl.PLC_RRecipeParamList(refreshOnlyRT, ref currPlcRecipe);
|
||||
}
|
||||
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
DTORecipeParam currParam = new DTORecipeParam();
|
||||
// leggo l'intero array delle DB... QUI FAKE sulle DB configurate...
|
||||
List<DTORecipeConfigModel> recipeConfig = RecipeConfig.Select(x => new DTORecipeConfigModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
Category = x.Category.ToString(),
|
||||
SubCategory_1 = x.SubCategory_1,
|
||||
SubCategory_2 = x.SubCategory_2,
|
||||
Name = x.Name,
|
||||
Description = x.Description,
|
||||
Format = x.Format,
|
||||
Label = $"{x.Category}_{x.SubCategory_1}_{x.SubCategory_2}_{x.Name}".Replace("__", "_").Replace("__", "_").ToLower()
|
||||
}).ToList();
|
||||
|
||||
foreach (var item in recipeConfig)
|
||||
{
|
||||
if (currPlcRecipe.ContainsKey(item.Id))
|
||||
{
|
||||
// recupero da mem PLC
|
||||
ThermoModels.RecipeParam paramPLC = currPlcRecipe[item.Id];
|
||||
currRange = new RPRange()
|
||||
{
|
||||
Min = paramPLC.ValMin,
|
||||
Max = paramPLC.ValMax
|
||||
};
|
||||
currStatus = new RPStatus()
|
||||
{
|
||||
Visible = paramPLC.Visible,
|
||||
Enabled = paramPLC.Enabled,
|
||||
HasError = paramPLC.HasError
|
||||
};
|
||||
// calcolo intero oggetto
|
||||
currParam = new DTORecipeParam()
|
||||
{
|
||||
Id = item.Id,
|
||||
Range = currRange,
|
||||
Status = currStatus,
|
||||
UnitMeasure = "",
|
||||
ValueAct = paramPLC.ValueAct,
|
||||
SetpointHMI = paramPLC.SetpointHMI,
|
||||
SetpointPLC = paramPLC.SetpointPLC
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
currRange = new RPRange()
|
||||
{
|
||||
Min = 0,
|
||||
Max = 999999
|
||||
};
|
||||
currStatus = new RPStatus()
|
||||
{
|
||||
Visible = false,
|
||||
Enabled = false,
|
||||
HasError = false
|
||||
};
|
||||
// calcolo intero oggetto
|
||||
currParam = new DTORecipeParam()
|
||||
{
|
||||
Id = item.Id,
|
||||
Range = currRange,
|
||||
Status = currStatus,
|
||||
UnitMeasure = "",
|
||||
ValueAct = 0
|
||||
};
|
||||
}
|
||||
currentRecipe.Add(item.Label, currParam);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
currentRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recipe Parameters write to PLC (only SetpointHMI)
|
||||
/// </summary>
|
||||
/// <param name="updtRecipe"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError WriteRecipeParametersToPLC(Dictionary<string, DTORecipeParam> updtRecipe)
|
||||
{
|
||||
// solo x S7...
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
// ciclo x ogni valore della ricetta aggiornata ricevuto
|
||||
ThermoModels.RecipeParam currParam;
|
||||
foreach (var item in updtRecipe)
|
||||
{
|
||||
// salvo SOLO il setpoint HMI...
|
||||
currParam = new ThermoModels.RecipeParam()
|
||||
{
|
||||
Id = (short)item.Value.Id,
|
||||
SetpointHMI = item.Value.SetpointHMI
|
||||
};
|
||||
// scrivo!
|
||||
CmsError cmsError = numericalControl.PLC_WRecipeParam(currParam);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return FUNCTION_NOT_ALLOWED_ERROR;
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
/// <summary>
|
||||
/// Comando conferma dati ricetta
|
||||
/// </summary>
|
||||
/// <param name="confirmUpdate">true: HMI --> PLC, false: PLC --> HMI</param>
|
||||
/// <returns></returns>
|
||||
public CmsError ConfirmRecipeData(bool confirmUpdate)
|
||||
{
|
||||
// solo x S7...
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
// call NC for update
|
||||
CmsError cmsError = numericalControl.PLC_WRecipeEdit(confirmUpdate);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FUNCTION_NOT_ALLOWED_ERROR;
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
/// <summary>
|
||||
/// Vero metodo lettura Warmers data da memoria PLC
|
||||
/// </summary>
|
||||
/// <param name="currentWarmers"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadWarmersData(out Dictionary<int, DTOWarmers> currentWarmers)
|
||||
{
|
||||
// init obj
|
||||
currentWarmers = new Dictionary<int, DTOWarmers>();
|
||||
// solo x S7...
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
|
||||
// leggo stato ricetta da PLC
|
||||
Dictionary<int, ThermoModels.WarmerChannel> currPlcWarmers = new Dictionary<int, ThermoModels.WarmerChannel>();
|
||||
cmsError = numericalControl.PLC_RWarmerChannelList(ref currPlcWarmers);
|
||||
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
// compongo con il resto delle info da config... do x scontato di avere TUTIT i 1024 channels
|
||||
List<DTOWarmers> warmersConfig = RiskChannelConfig.Select(x => new DTOWarmers()
|
||||
{
|
||||
IdChannel = x.IdChannel,
|
||||
IdReflector= x.IdReflector,
|
||||
SetpointRecipe = x.SetpointRecipe,
|
||||
SetpointTermocam = 0, // FIXME TODO x.SetpointTer,
|
||||
SetpointPLC = currPlcWarmers[x.IdChannel].SetpointPLC,
|
||||
ChannelStatus = currPlcWarmers[x.IdChannel].ChStatus,
|
||||
ActualCurrent = currPlcWarmers[x.IdChannel].CurrAct,
|
||||
ActualPerc = currPlcWarmers[x.IdChannel].PercAct,
|
||||
MaxPower = x.MaxPower
|
||||
}).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
currentWarmers = new Dictionary<int, DTOWarmers>();
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recipe Parameters write to PLC (only SetpointHMI)
|
||||
/// </summary>
|
||||
/// <param name="updtRecipe"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError WriteRecipeWarmersToPLC(Dictionary<string, DTORecipeParam> updtRecipe)
|
||||
{
|
||||
// solo x S7...
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
// FIXME TODO WRITE CH LOAD DATA
|
||||
#if false
|
||||
// ciclo x ogni valore della ricetta aggiornata ricevuto
|
||||
ThermoModels.RecipeParam currParam;
|
||||
foreach (var item in updtRecipe)
|
||||
{
|
||||
// salvo SOLO il setpoint HMI...
|
||||
currParam = new ThermoModels.RecipeParam()
|
||||
{
|
||||
Id = (short)item.Value.Id,
|
||||
SetpointHMI = item.Value.SetpointHMI
|
||||
};
|
||||
// scrivo!
|
||||
CmsError cmsError = numericalControl.PLC_WRecipeParam(currParam);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return FUNCTION_NOT_ALLOWED_ERROR;
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public CmsError ReadNcScada(ScadaSchemaModel scadaSchema, out DTOScadaModel scadaValue)
|
||||
{
|
||||
//ReadScadaDataSiemens(scadaSchema, out scadaValue);
|
||||
@@ -1014,7 +1346,7 @@ namespace Thermo.Active.NC
|
||||
{
|
||||
if (layer.Labels.ElementAtOrDefault(i) != null)
|
||||
{
|
||||
if(layer.Labels[i].MemEnabledIndex != null)
|
||||
if (layer.Labels[i].MemEnabledIndex != null)
|
||||
{
|
||||
// Read enabled from PLC
|
||||
cmsError = numericalControl.PLC_RScadaValue(layer.Labels[i].MemEnabledIndex, SCADA_MEM_TYPE.BOOL, ref val);
|
||||
@@ -1044,7 +1376,7 @@ namespace Thermo.Active.NC
|
||||
return cmsError;
|
||||
|
||||
// Populate & add new object into scada model
|
||||
scadaValue.Buttons.Add(new DTOScadaButtonModel()
|
||||
scadaValue.Buttons.Add(new DTOScadaButtonModel()
|
||||
{
|
||||
Id = layer.Buttons[i].Id,
|
||||
IsEnabled = Convert.ToBoolean(val)
|
||||
@@ -1065,7 +1397,7 @@ namespace Thermo.Active.NC
|
||||
Id = layer.Images[i].Id,
|
||||
IsVisible = negate ? !Convert.ToBoolean(val) : Convert.ToBoolean(val)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (layer.ProgressBars.ElementAtOrDefault(i) != null)
|
||||
{
|
||||
@@ -1106,7 +1438,7 @@ namespace Thermo.Active.NC
|
||||
{
|
||||
IsEnabled = false, //Convert.ToBoolean(val),
|
||||
Value = val2
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
@@ -1134,7 +1466,7 @@ namespace Thermo.Active.NC
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1290,7 +1622,8 @@ namespace Thermo.Active.NC
|
||||
Id = enabled.Id,
|
||||
IsEnabled = Convert.ToBoolean(enabled.Value)
|
||||
});
|
||||
} break;
|
||||
}
|
||||
break;
|
||||
case (int)SCADA_ELEMENT_TYPE.IMAGE:
|
||||
case (int)SCADA_ELEMENT_TYPE.NEGATE_IMAGE:
|
||||
{
|
||||
@@ -1298,9 +1631,10 @@ namespace Thermo.Active.NC
|
||||
scadaValue.Images.Add(new DTOScadaImageModel()
|
||||
{
|
||||
Id = enabled.Id,
|
||||
IsVisible = enabled.ObjectType == (int)SCADA_ELEMENT_TYPE.NEGATE_IMAGE? !Convert.ToBoolean(enabled.Value) : Convert.ToBoolean(enabled.Value)
|
||||
IsVisible = enabled.ObjectType == (int)SCADA_ELEMENT_TYPE.NEGATE_IMAGE ? !Convert.ToBoolean(enabled.Value) : Convert.ToBoolean(enabled.Value)
|
||||
});
|
||||
} break;
|
||||
}
|
||||
break;
|
||||
case (int)SCADA_ELEMENT_TYPE.LABEL:
|
||||
{
|
||||
// Populate & add new object into scada model
|
||||
@@ -1309,23 +1643,24 @@ namespace Thermo.Active.NC
|
||||
Id = enabled.Id,
|
||||
IsVisible = Convert.ToBoolean(enabled.Value)
|
||||
});
|
||||
} break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < inputData.Count() - 1; i += 2)
|
||||
{
|
||||
var obj = inputData[i];
|
||||
var enabled = inputData[i + 1];
|
||||
|
||||
|
||||
// Populate & add new object into scada model
|
||||
scadaValue.Inputs.Add(new DTOScadaInputModel()
|
||||
{
|
||||
Id = obj.Id,
|
||||
Value = new DTOScadaValueModel()
|
||||
{
|
||||
IsEnabled = obj.Action.ToLower() == SCADA_ACTION.READ ? false : Convert.ToBoolean(enabled.Value),
|
||||
Value = obj.Value
|
||||
IsEnabled = obj.Action.ToLower() == SCADA_ACTION.READ ? false : Convert.ToBoolean(enabled.Value),
|
||||
Value = obj.Value
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1336,6 +1671,223 @@ namespace Thermo.Active.NC
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Legge tutti i parametri della ricetta
|
||||
/// </summary>
|
||||
/// <param name="currRecipe">Oggetto ricetta corrente HMI</param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
currRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
|
||||
DTORecipeParam currParam = new DTORecipeParam();
|
||||
RPRange currRange = new RPRange();
|
||||
RPStatus currStatus = new RPStatus();
|
||||
|
||||
// gestione errore
|
||||
cmsError = ReadRecipeData(false, true, out currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Scrive tutti i parametri della ricetta indicati
|
||||
/// </summary>
|
||||
/// <param name="updtRecipe">Oggetto parametri da aggiornare (from HMI)</param>
|
||||
/// <returns></returns>
|
||||
public CmsError WriteRecipeParams(Dictionary<string, DTORecipeParam> updtRecipe)
|
||||
{
|
||||
CmsError cmsError = WriteRecipeParametersToPLC(updtRecipe);
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Legge tutti i parametri della ricetta e calcolo la overview dei vari steps
|
||||
/// </summary>
|
||||
/// <param name="currOverview">Oggetto overview ricetta corrente HMI</param>
|
||||
/// <returns></returns>
|
||||
public CmsError GetRecipeOverview(out Dictionary<string, RecipeCatStatus> currOverview)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
currOverview = new Dictionary<string, RecipeCatStatus>();
|
||||
|
||||
// leggo la ricetta!
|
||||
var currRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
cmsError = ReadFullRecipe(out currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
// leggo l'intero array delle DB... QUI FAKE sulle DB configurate...
|
||||
List<DTORecipeConfigModel> recipeConfig = RecipeConfig.Select(x => new DTORecipeConfigModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
Category = x.Category.ToString(),
|
||||
SubCategory_1 = x.SubCategory_1,
|
||||
SubCategory_2 = x.SubCategory_2,
|
||||
Name = x.Name,
|
||||
Description = x.Description,
|
||||
Format = x.Format,
|
||||
Label = $"{x.Category}_{x.SubCategory_1}_{x.SubCategory_2}_{x.Name}".Replace("__", "_").Replace("__", "_").ToLower()
|
||||
}).ToList();
|
||||
|
||||
RecipeCatStatus currStatus = RecipeCatStatus.Unchanged;
|
||||
|
||||
// percorro conf ricetta...
|
||||
foreach (var item in recipeConfig)
|
||||
{
|
||||
currStatus = RecipeCatStatus.Unchanged;
|
||||
// cerco SE ci sia già uno status...
|
||||
if (currOverview.ContainsKey(item.Category))
|
||||
{
|
||||
currStatus = currOverview[item.Category];
|
||||
}
|
||||
|
||||
// se lo stato è errore --> esco...
|
||||
if (currStatus == RecipeCatStatus.HasError)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// altrimenti controllo
|
||||
else
|
||||
{
|
||||
// se in errore --> registro...
|
||||
if (currRecipe[item.Label].Status.HasError)
|
||||
{
|
||||
currStatus = RecipeCatStatus.HasError;
|
||||
}
|
||||
// FARE verificare il significato di questo changed (se è da file o da HMI/PLC)
|
||||
else if (currRecipe[item.Label].SetpointHMI != currRecipe[item.Label].SetpointPLC)
|
||||
{
|
||||
currStatus = RecipeCatStatus.ChangedOk;
|
||||
}
|
||||
else
|
||||
{
|
||||
currStatus = RecipeCatStatus.Unchanged;
|
||||
}
|
||||
}
|
||||
|
||||
// ora verifico overview finale: se non c'è aggiungo
|
||||
if (!currOverview.ContainsKey(item.Category))
|
||||
{
|
||||
currOverview.Add(item.Category, currStatus);
|
||||
}
|
||||
else
|
||||
{
|
||||
// se il valore è maggiore --> aggiorno
|
||||
currOverview[item.Category] = (int)currStatus > (int)currOverview[item.Category] ? currStatus : currOverview[item.Category];
|
||||
}
|
||||
}
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Legge tutti i parametri della ricetta
|
||||
/// </summary>
|
||||
/// <param name="currModules">Oggetto elenco modules block</param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadModulesBlock(out Dictionary<int, DTOModulesBlock> currModules)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
currModules = new Dictionary<int, DTOModulesBlock>();
|
||||
|
||||
// FIXME TODO
|
||||
#if false
|
||||
DTORecipeParam currParam = new DTORecipeParam();
|
||||
RPRange currRange = new RPRange();
|
||||
RPStatus currStatus = new RPStatus();
|
||||
|
||||
// gestione errore
|
||||
cmsError = ReadRecipeData(false, true, out currModules);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
#endif
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GEt all warmers data by channel
|
||||
/// </summary>
|
||||
/// <param name="currWarmers">List of <= 1024 warmers channels</param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
currWarmers = new Dictionary<int, DTOWarmers>();
|
||||
DTOWarmers currVal = new DTOWarmers();
|
||||
|
||||
// read and return config
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
foreach (var item in RiskChannelConfig)
|
||||
{
|
||||
currVal = new DTOWarmers()
|
||||
{
|
||||
IdChannel = item.IdChannel,
|
||||
IdReflector = item.IdReflector,
|
||||
SetpointRecipe = 80, // leggere da NUOVA area PLC?
|
||||
SetpointTermocam = 0, // per ora a zero
|
||||
SetpointPLC = 0, // leggere da PLC!
|
||||
ChannelStatus = 0, // leggere da PLC
|
||||
ActualCurrent = 0, // leggere da PLC
|
||||
ActualPerc = 0, // leggere da PLC
|
||||
MaxPower = item.MaxPower
|
||||
};
|
||||
currWarmers.Add(item.IdChannel, currVal);
|
||||
}
|
||||
}
|
||||
|
||||
// gestione errore
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns resistances configuration
|
||||
/// </summary>
|
||||
/// <param name="currWarmersResistances">List of configured resistances</param>
|
||||
/// <returns></returns>
|
||||
public CmsError GetWarmersResistances(out Dictionary<int, Model.ConfigModels.RiskResistModel> currWarmersResistances)
|
||||
{
|
||||
CmsError cmsError = NO_ERROR;
|
||||
currWarmersResistances = new Dictionary<int, Model.ConfigModels.RiskResistModel>();
|
||||
|
||||
// read and return config
|
||||
if (NcConfig.NcVendor == NC_VENDOR.S7NET)
|
||||
{
|
||||
foreach (var item in RiskResistConfig)
|
||||
{
|
||||
currWarmersResistances.Add(item.Id, item);
|
||||
}
|
||||
}
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write all warmers load for recipe
|
||||
/// </summary>
|
||||
/// <param name="updtRecipe">Oggetto parametri da aggiornare (from HMI)</param>
|
||||
/// <returns></returns>
|
||||
public CmsError WriteRecipeWarmers(Dictionary<string, DTORecipeParam> updtRecipe)
|
||||
{
|
||||
CmsError cmsError = WriteRecipeWarmersToPLC(updtRecipe);
|
||||
|
||||
return cmsError;
|
||||
}
|
||||
|
||||
#endregion Read Data
|
||||
|
||||
#region Write data
|
||||
@@ -1408,7 +1960,7 @@ namespace Thermo.Active.NC
|
||||
public CmsError SetActiveScreen(short screen)
|
||||
{
|
||||
// Set to true power on data by id
|
||||
return numericalControl.NC_SetScreenVisible((Nc.SCREEN_PAGE)screen);
|
||||
return numericalControl.NC_SetScreenVisible((NcThermo.SCREEN_PAGE)screen);
|
||||
}
|
||||
|
||||
public CmsError WriteM155Data(int process, double responseValue)
|
||||
@@ -1427,7 +1979,7 @@ namespace Thermo.Active.NC
|
||||
{
|
||||
// Choose which list contains the maximum number of elements
|
||||
int max = layer.Buttons.Count();
|
||||
|
||||
|
||||
if (layer.Labels.Count() > max)
|
||||
max = layer.Labels.Count();
|
||||
|
||||
@@ -1458,11 +2010,11 @@ namespace Thermo.Active.NC
|
||||
SupportFunctions.ConvertStringMachineNumberIntoNumber(strMachNumber, out bool containsLetters, out int machNumber);
|
||||
|
||||
// Read Data from NC & elaborate it
|
||||
long NcCandy = 0;
|
||||
long NcCandy = 0;
|
||||
cmsError = numericalControl.PLC_RCandy(ref NcCandy);
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
|
||||
bool bNC_OK = CandiesController.GetDataFromLincense(NcCandy, containsLetters, out long NCLic, out int NCMatr, out long NCParam);
|
||||
bool bNC_VALID = machNumber == NCMatr && bNC_OK;
|
||||
|
||||
@@ -1482,7 +2034,7 @@ namespace Thermo.Active.NC
|
||||
return cmsError;
|
||||
|
||||
// Manage Expired Lincense Bit
|
||||
if(CandiesController.ElaborateExpiredBit(newDate, bNcCandy, out bool bNewCandy))
|
||||
if (CandiesController.ElaborateExpiredBit(newDate, bNcCandy, out bool bNewCandy))
|
||||
{
|
||||
//Write Expired Lincense Bit on NC
|
||||
cmsError = numericalControl.PLC_WExpiredCandy(bNewCandy);
|
||||
@@ -1493,14 +2045,14 @@ namespace Thermo.Active.NC
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
public void WriteCandy(DateTime value,int machNumber)
|
||||
public void WriteCandy(DateTime value, int machNumber)
|
||||
{
|
||||
long nDays;
|
||||
long Lic=0;
|
||||
long Lic = 0;
|
||||
nDays = (value.Ticks / TimeSpan.TicksPerDay);
|
||||
|
||||
//Imposto nel registro
|
||||
CandiesController.SetPCLincense(machNumber,nDays);
|
||||
CandiesController.SetPCLincense(machNumber, nDays);
|
||||
|
||||
//Imposto nel CN
|
||||
Lic = long.Parse(CandiesController.SetLincenseFromData(machNumber, nDays));
|
||||
|
||||
@@ -19,6 +19,61 @@ namespace Thermo.Active.NC
|
||||
{
|
||||
public class NcFileAdapter : NcAdapter
|
||||
{
|
||||
/// <summary>
|
||||
/// Read file from local devices ad give back string content
|
||||
/// </summary>
|
||||
/// <param name="path"></param>
|
||||
/// <param name="fileContent"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError ReadFileContent(string path, out string fileContent)
|
||||
{
|
||||
// init
|
||||
fileContent = "";
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
// check existing
|
||||
if (File.Exists(path))
|
||||
{
|
||||
// read all lines as string
|
||||
fileContent = File.ReadAllText(path);
|
||||
}
|
||||
else
|
||||
{
|
||||
return FILE_NOT_FOUND_ERROR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FILE_NOT_FOUND_ERROR;
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
/// <summary>
|
||||
/// Save string content to file
|
||||
/// </summary>
|
||||
/// <param name="path"></param>
|
||||
/// <param name="fileContent"></param>
|
||||
/// <returns></returns>
|
||||
public CmsError WriteFileContent(string path, string fileContent)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(fileContent))
|
||||
{
|
||||
File.WriteAllText(path, fileContent);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return FILE_NOT_FOUND_ERROR;
|
||||
}
|
||||
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public CmsError GetFileList(string path, out List<PreviewFileModel> fileList)
|
||||
{
|
||||
fileList = new List<PreviewFileModel>();
|
||||
@@ -41,8 +96,8 @@ namespace Thermo.Active.NC
|
||||
if (cmsError.IsError())
|
||||
return cmsError;
|
||||
|
||||
string [] names = fileInfo.Name.Split('/');
|
||||
if(names.Length > 0)
|
||||
string[] names = fileInfo.Name.Split('/');
|
||||
if (names.Length > 0)
|
||||
{
|
||||
string name = names.Last();
|
||||
if (!String.IsNullOrWhiteSpace(name))
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library, Version=1.1.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -70,6 +66,10 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Thermo.Active.Config\Thermo.Active.Config.csproj">
|
||||
<Project>{3f5c2483-fc87-43ef-92a8-66ff7d0e440f}</Project>
|
||||
<Name>Thermo.Active.Config</Name>
|
||||
|
||||
@@ -34,10 +34,6 @@
|
||||
<ApplicationIcon>Resources\CMS_Icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library, Version=1.1.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
@@ -139,6 +135,10 @@
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Thermo.Active.Config\Thermo.Active.Config.csproj">
|
||||
<Project>{3f5c2483-fc87-43ef-92a8-66ff7d0e440f}</Project>
|
||||
<Name>Thermo.Active.Config</Name>
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library, Version=1.1.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MySql.Data, Version=6.10.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MySql.Data.6.10.4\lib\net452\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -146,6 +142,10 @@
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Thermo.Active.Model\Thermo.Active.Model.csproj">
|
||||
<Project>{631375DD-06D3-49BB-8130-D9DDB34C429D}</Project>
|
||||
<Name>Thermo.Active.Model</Name>
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Thermo.Active.Utils
|
||||
{
|
||||
private static readonly string CMSCONNECT_TOKEN = "59f1qik5PYfiJLiXZ4xZ05pjzx5E9FscQWtj4lmfLKXaF1OAxkvu7ziBzXFBuuVQ";
|
||||
|
||||
public static SOFTKEY_TYPE GetSoftKeyType(string type)
|
||||
public static SOFTKEY_TYPE GetSoftKeyType(string type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
@@ -39,6 +39,51 @@ namespace Thermo.Active.Utils
|
||||
default: return HEAD_TYPE.WJ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Conversion string --> TACT_PARAM_TYPE
|
||||
/// </summary>
|
||||
/// <param name="strValue"></param>
|
||||
/// <returns></returns>
|
||||
public static TACT_PARAM_TYPE GetTActParamType(string strValue)
|
||||
{
|
||||
TACT_PARAM_TYPE answ = TACT_PARAM_TYPE.ND;
|
||||
try
|
||||
{
|
||||
answ = (TACT_PARAM_TYPE)Enum.Parse(typeof(TACT_PARAM_TYPE), strValue);
|
||||
}
|
||||
catch { }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Conversion string --> TACT_MBLOCK_TYPE
|
||||
/// </summary>
|
||||
/// <param name="strValue"></param>
|
||||
/// <returns></returns>
|
||||
public static TACT_MBLOCK_TYPE GetTActMB_Type(string strValue)
|
||||
{
|
||||
TACT_MBLOCK_TYPE answ = TACT_MBLOCK_TYPE.ND;
|
||||
try
|
||||
{
|
||||
answ = (TACT_MBLOCK_TYPE)Enum.Parse(typeof(TACT_MBLOCK_TYPE), strValue);
|
||||
}
|
||||
catch { }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Conversion string --> TACT_MBLOCK_SECTION
|
||||
/// </summary>
|
||||
/// <param name="strValue"></param>
|
||||
/// <returns></returns>
|
||||
public static TACT_MBLOCK_SECTION GetTActMB_Section(string strValue)
|
||||
{
|
||||
TACT_MBLOCK_SECTION answ = TACT_MBLOCK_SECTION.ND;
|
||||
try
|
||||
{
|
||||
answ = (TACT_MBLOCK_SECTION)Enum.Parse(typeof(TACT_MBLOCK_SECTION), strValue);
|
||||
}
|
||||
catch { }
|
||||
return answ;
|
||||
}
|
||||
|
||||
public static int GetPlcIdFromNcSoftKey(string softKey)
|
||||
{
|
||||
@@ -72,7 +117,7 @@ namespace Thermo.Active.Utils
|
||||
case "xTen": return 26;
|
||||
case "xHundred": return 27;
|
||||
case "xThousand": return 28;
|
||||
case "overstroke": return 30;
|
||||
case "overstroke": return 30;
|
||||
case "feedByPass": return 31;
|
||||
default: return -1;
|
||||
}
|
||||
@@ -153,7 +198,7 @@ namespace Thermo.Active.Utils
|
||||
|
||||
List<short> listOfPossibleIds = Enumerable.Range(1, objIds.Max() + 1).Select(x => (short)x).ToList();
|
||||
|
||||
IEnumerable<short> res = listOfPossibleIds.Except(objIds).ToList();
|
||||
IEnumerable<short> res = listOfPossibleIds.Except(objIds).ToList();
|
||||
|
||||
if (res.Count() > 0)
|
||||
return res.First();
|
||||
@@ -162,7 +207,7 @@ namespace Thermo.Active.Utils
|
||||
}
|
||||
|
||||
public static string GetImageBase64String(string directoryPath, string imageName)
|
||||
{
|
||||
{
|
||||
string fileName = Path.GetFileNameWithoutExtension(imageName);
|
||||
foreach (string ext in VALID_IMAGE_EXTENSIONS)
|
||||
{
|
||||
@@ -199,7 +244,7 @@ namespace Thermo.Active.Utils
|
||||
return null;
|
||||
|
||||
EmptyFolder(jobFolderPath);
|
||||
|
||||
|
||||
using (ZipArchive zipExtractor = ZipFile.OpenRead(filePath))
|
||||
{
|
||||
// Setup main job fields
|
||||
@@ -307,7 +352,7 @@ namespace Thermo.Active.Utils
|
||||
string filePath = JOB_TMP_DIRECTORY + "\\" + processId + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
return null;
|
||||
|
||||
|
||||
// Setup main Fields
|
||||
DTOJobModel jobData = new DTOJobModel()
|
||||
{
|
||||
@@ -372,7 +417,7 @@ namespace Thermo.Active.Utils
|
||||
return SCADA_MEM_TYPE.WORD;
|
||||
|
||||
case "INT":
|
||||
return SCADA_MEM_TYPE.INT;
|
||||
return SCADA_MEM_TYPE.INT;
|
||||
|
||||
case "REAL":
|
||||
return SCADA_MEM_TYPE.REAL;
|
||||
@@ -407,7 +452,7 @@ namespace Thermo.Active.Utils
|
||||
|
||||
public static string GetSoftwareVersionAndBuildDate()
|
||||
{
|
||||
Version v = Assembly.GetEntryAssembly()?.GetName().Version;
|
||||
Version v = Assembly.GetEntryAssembly()?.GetName().Version;
|
||||
if (v != null)
|
||||
{
|
||||
// Get first 2 number of the version
|
||||
@@ -424,7 +469,7 @@ namespace Thermo.Active.Utils
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Boolean DecodeCMSConnectGatewayLogin(string encryptedString, out string login, out string password)
|
||||
{
|
||||
@@ -496,7 +541,10 @@ namespace Thermo.Active.Utils
|
||||
{
|
||||
intMachineVal = 0;
|
||||
containsLetters = Regex.IsMatch(machineNumber, @".*?[a-zA-Z].*?");
|
||||
|
||||
if (string.IsNullOrEmpty(machineNumber))
|
||||
{
|
||||
machineNumber = "0000";
|
||||
}
|
||||
if (containsLetters)
|
||||
// Convert ASCII string to a single INT
|
||||
intMachineVal = SupportFunctions.ConvertAsciiStringToInt(machineNumber);
|
||||
|
||||
@@ -39,11 +39,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.Chromium", "Client.C
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Thermo.Active.CmsConnectGateway", "Thermo.Active.CmsConnectGateway\Thermo.Active.CmsConnectGateway.csproj", "{49B04D99-0ECD-4900-86D3-7098D61314D7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CMS_CORE_Library", "..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj", "{4ABF8EEF-2B23-483E-ACDC-53214FE28681}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Debug2|Any CPU = Debug2|Any CPU
|
||||
Debug2|x64 = Debug2|x64
|
||||
Debug2|x86 = Debug2|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
@@ -55,6 +60,12 @@ Global
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AFED34E1-77DB-4D81-830A-A8D0A190573D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -67,6 +78,12 @@ Global
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{631375DD-06D3-49BB-8130-D9DDB34C429D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -79,6 +96,12 @@ Global
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{20FC0937-E7CA-4693-95F9-7A948EFD173B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -91,6 +114,12 @@ Global
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{357D5EE1-FFC8-489B-9232-22CF474D9A6F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -103,6 +132,12 @@ Global
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3F5C2483-FC87-43EF-92A8-66FF7D0E440F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -115,6 +150,12 @@ Global
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug|x64.Build.0 = Debug|x64
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug|x86.Build.0 = Debug|x86
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|x64.ActiveCfg = Debug|x64
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|x64.Build.0 = Debug|x64
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|x86.ActiveCfg = Debug|x86
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Debug2|x86.Build.0 = Debug|x86
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{66FA29DB-925A-402B-A4C7-D3D780FB1BC3}.Release|x64.ActiveCfg = Release|x64
|
||||
@@ -127,6 +168,12 @@ Global
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBEB631B-ABFA-4042-9779-C0060B0DFEFE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -139,6 +186,12 @@ Global
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{205A6ADE-FB5A-45CB-9C51-9817E7BB8939}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -151,6 +204,12 @@ Global
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{34434B22-D546-4A5C-B575-49720C77643A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -163,6 +222,12 @@ Global
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DE54FF4C-8390-4489-882A-1BC7D99EF185}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -175,6 +240,12 @@ Global
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B2366B08-96BD-4F6B-B748-B45089B87A14}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -187,6 +258,12 @@ Global
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F9F17F23-660E-488C-A7FA-6A5B35D64313}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
@@ -199,12 +276,36 @@ Global
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|Any CPU.Build.0 = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|x64.ActiveCfg = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|x64.Build.0 = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|x86.ActiveCfg = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Debug2|x86.Build.0 = Debug|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{49B04D99-0ECD-4900-86D3-7098D61314D7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|x64.Build.0 = Debug|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug|x86.Build.0 = Debug|x86
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|Any CPU.ActiveCfg = Debug2|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|Any CPU.Build.0 = Debug2|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|x64.ActiveCfg = Debug2|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|x64.Build.0 = Debug2|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|x86.ActiveCfg = Debug2|x86
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Debug2|x86.Build.0 = Debug2|x86
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|x64.ActiveCfg = Release|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|x64.Build.0 = Release|x64
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|x86.ActiveCfg = Release|x86
|
||||
{4ABF8EEF-2B23-483E-ACDC-53214FE28681}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -4,81 +4,153 @@
|
||||
https://go.microsoft.com/fwlink/?LinkId=301879
|
||||
-->
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="enableDirectoryBrowsing" value="true" />
|
||||
<add key="ClientSettingsProvider.ServiceUri" value="" />
|
||||
<add key="ServerServiceName" value="MariaDB"/>
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.6.2" />
|
||||
<httpRuntime targetFramework="4.6.2" />
|
||||
<httpModules>
|
||||
</httpModules>
|
||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||
<providers>
|
||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
|
||||
</providers>
|
||||
</membership>
|
||||
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
||||
<providers>
|
||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
|
||||
</providers>
|
||||
</roleManager>
|
||||
</system.web>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.10.4.0" newVersion="6.10.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<connectionStrings>
|
||||
<add name="mySQLDatabaseConnection" providerName="MySql.Data.MySqlClient" connectionString="Server=localhost;Database=step;Uid=root;Pwd=root;" />
|
||||
</connectionStrings>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
|
||||
<providers>
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.10.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
|
||||
</provider>
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<configSections>
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="enableDirectoryBrowsing" value="true" />
|
||||
<add key="ClientSettingsProvider.ServiceUri" value="" />
|
||||
<add key="ServerServiceName" value="MariaDB" />
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.6.2" />
|
||||
<httpRuntime targetFramework="4.6.2" />
|
||||
<httpModules>
|
||||
</httpModules>
|
||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||
<providers>
|
||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
|
||||
</providers>
|
||||
</membership>
|
||||
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
||||
<providers>
|
||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
|
||||
</providers>
|
||||
</roleManager>
|
||||
</system.web>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.10.4.0" newVersion="6.10.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<connectionStrings>
|
||||
<add name="mySQLDatabaseConnection" providerName="MySql.Data.MySqlClient" connectionString="Server=localhost;Database=step;Uid=root;Pwd=root;" />
|
||||
</connectionStrings>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
|
||||
<providers>
|
||||
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.10.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
|
||||
</provider>
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<system.diagnostics>
|
||||
<sources>
|
||||
<source name="SignalR.SqlMessageBus">
|
||||
<listeners>
|
||||
<add name="SignalR-Bus" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.ServiceBusMessageBus">
|
||||
<listeners>
|
||||
<add name="SignalR-Bus" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.RedisMessageBus">
|
||||
<listeners>
|
||||
<add name="SignalR-Bus" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.ScaleoutMessageBus">
|
||||
<listeners>
|
||||
<add name="SignalR-Bus" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.Transports.WebSocketTransport">
|
||||
<listeners>
|
||||
<add name="SignalR-Transports" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.Transports.ServerSentEventsTransport">
|
||||
<listeners>
|
||||
<add name="SignalR-Transports" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.Transports.ForeverFrameTransport">
|
||||
<listeners>
|
||||
<add name="SignalR-Transports" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.Transports.LongPollingTransport">
|
||||
<listeners>
|
||||
<add name="SignalR-Transports" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.Transports.TransportHeartBeat">
|
||||
<listeners>
|
||||
<add name="SignalR-Transports" />
|
||||
</listeners>
|
||||
</source>
|
||||
<source name="SignalR.ReflectedHubDescriptorProvider">
|
||||
<listeners>
|
||||
<add name="SignalR-Init" />
|
||||
</listeners>
|
||||
</source>
|
||||
</sources>
|
||||
<!-- Sets the trace verbosity level -->
|
||||
<switches>
|
||||
<add name="SignalRSwitch" value="Verbose" />
|
||||
</switches>
|
||||
<!-- Specifies the trace writer for output -->
|
||||
<sharedListeners>
|
||||
<!-- Listener for transport events -->
|
||||
<add name="SignalR-Transports" type="System.Diagnostics.TextWriterTraceListener" initializeData="logs/transports.log" />
|
||||
<!-- Listener for scaleout provider events -->
|
||||
<add name="SignalR-Bus" type="System.Diagnostics.TextWriterTraceListener" initializeData="logs/bus.log" />
|
||||
<!-- Listener for hub discovery events -->
|
||||
<add name="SignalR-Init" type="System.Diagnostics.TextWriterTraceListener" initializeData="logs/init.log" />
|
||||
</sharedListeners>
|
||||
<trace autoflush="true" />
|
||||
</system.diagnostics>
|
||||
</configuration>
|
||||
@@ -64,7 +64,7 @@ namespace Thermo.Active.App_Start
|
||||
RequestPath = PathString.Empty,
|
||||
FileSystem = new PhysicalFileSystem(WEBSITE_DIRECTORY)
|
||||
};
|
||||
|
||||
|
||||
app.UseFileServer(options);
|
||||
if (!ServerPortIsAvailable(ServerStartupConfig.ServerPort))
|
||||
{
|
||||
@@ -106,7 +106,7 @@ namespace Thermo.Active.App_Start
|
||||
app.Map("/signalr", map =>
|
||||
{
|
||||
map.UseCors(CorsOptions.AllowAll);
|
||||
|
||||
|
||||
map.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()
|
||||
{
|
||||
Provider = new SignalROAuthBearerProvider(),
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Thermo.Active
|
||||
// hold additional metadata for an API. Version and title are required but you can also provide
|
||||
// additional fields by chaining methods off SingleApiVersion.
|
||||
//
|
||||
c.SingleApiVersion("v1", "Step");
|
||||
c.SingleApiVersion("v1", "ThermoActive");
|
||||
|
||||
// If you want the output Swagger docs to be indented properly, enable the "PrettyPrint" option.
|
||||
//
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Http;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
namespace Thermo.Active.Controllers.WebApi
|
||||
{
|
||||
@@ -102,6 +103,49 @@ namespace Thermo.Active.Controllers.WebApi
|
||||
return Ok(heads);
|
||||
}
|
||||
|
||||
[Route("recipe"), HttpGet]
|
||||
public IHttpActionResult GetRecipeConfig()
|
||||
{
|
||||
List<DTORecipeConfigModel> recipeConfig = RecipeConfig.Select(x => new DTORecipeConfigModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
Category = x.Category.ToString(),
|
||||
SubCategory_1 = x.SubCategory_1,
|
||||
SubCategory_2 = x.SubCategory_2,
|
||||
Name = x.Name,
|
||||
Description = x.Description,
|
||||
Format = x.Format,
|
||||
Label = $"{x.Category}_{x.SubCategory_1}_{x.SubCategory_2}_{x.Name}".Replace("__", "_").Replace("__", "_").ToLower()
|
||||
}).ToList();
|
||||
|
||||
return Ok(recipeConfig);
|
||||
}
|
||||
|
||||
#if false
|
||||
[Route("ThermoParams"), HttpGet]
|
||||
public IHttpActionResult GetThermoParamsConfig()
|
||||
{
|
||||
// TODO FIXME
|
||||
|
||||
// passa i parametri di configurazione es min/max dei gauge...
|
||||
|
||||
|
||||
List<DTORecipeConfigModel> recipeConfig = RecipeConfig.Select(x => new DTORecipeConfigModel()
|
||||
{
|
||||
Id = x.Id,
|
||||
Category = x.Category.ToString(),
|
||||
SubCategory_1 = x.SubCategory_1,
|
||||
SubCategory_2 = x.SubCategory_2,
|
||||
Name = x.Name,
|
||||
Description = x.Description,
|
||||
Format = x.Format,
|
||||
Label = $"{x.Category}_{x.SubCategory_1}_{x.SubCategory_2}_{x.Name}".Replace("__", "_").Replace("__", "_").ToLower()
|
||||
}).ToList();
|
||||
|
||||
return Ok(recipeConfig);
|
||||
}
|
||||
#endif
|
||||
|
||||
[Route("alarms"), HttpGet]
|
||||
public IHttpActionResult GetAlarmsConfig()
|
||||
{
|
||||
|
||||
@@ -114,6 +114,7 @@ namespace Thermo.Active.Controllers.WebApi
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
private static string GetValueFromLocalizationList(Dictionary<string, string> localizedNames, string language, string defaultString)
|
||||
{
|
||||
// Find text from names by language id
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.NC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
namespace Thermo.Active.Controllers.WebApi
|
||||
{
|
||||
[RoutePrefix("api/ModBlock")]
|
||||
public class ModulesController : ApiController
|
||||
{
|
||||
[Route("current"), HttpGet]
|
||||
public IHttpActionResult GetCurrentModules()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadModulesBlock(out Dictionary<int, DTOModulesBlock> currModules);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
return Ok(currModules);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,414 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.NC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
using Thermo.Active.Config;
|
||||
|
||||
namespace Thermo.Active.Controllers.WebApi
|
||||
{
|
||||
[RoutePrefix("api/recipe")]
|
||||
public class RecipeController : ApiController
|
||||
{
|
||||
[Route("overview"), HttpGet]
|
||||
public IHttpActionResult GetOverview()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = ncAdapter.GetRecipeOverview(out Dictionary<string, RecipeCatStatus> currOverview);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
return Ok(currOverview);
|
||||
}
|
||||
}
|
||||
[Route("current"), HttpGet]
|
||||
public IHttpActionResult GetCurrentParameters()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
return Ok(currRecipe);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("update"), HttpPut]
|
||||
public IHttpActionResult WriteParameters(Dictionary<string, double> parametersList)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// read recipe!
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
Dictionary<string, DTORecipeParam> updtRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
|
||||
foreach (var item in parametersList)
|
||||
{
|
||||
if (prevRecipe.ContainsKey(item.Key))
|
||||
{
|
||||
// aggiorno il valore HMI nel parametro
|
||||
var currParam = prevRecipe[item.Key];
|
||||
currParam.SetpointHMI = item.Value;
|
||||
// salvo (1 parametro, potrei fare N...)
|
||||
updtRecipe.Add(item.Key, currParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
|
||||
// scrivo sul PLC
|
||||
ncAdapter.WriteRecipeParams(updtRecipe);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Confirm recipe modification (parameters: HMI --> PLC)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("confirm"), HttpPut]
|
||||
public IHttpActionResult ConfirmEdit()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// scrivo sul PLC il comando conferma!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// rileggo la ricetta
|
||||
var currParams = new Dictionary<string, double>();
|
||||
foreach (var item in currRecipe)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointHMI);
|
||||
}
|
||||
|
||||
saveCurrentRecipeParams(currParams);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cancel recipe modification (parameters: PLC --> HMI)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("cancel"), HttpPut]
|
||||
public IHttpActionResult CancelEdit()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// scrivo sul PLC il comando annula!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
var currParams = new Dictionary<string, double>();
|
||||
foreach (var item in currRecipe)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointPLC);
|
||||
}
|
||||
|
||||
// ora salvo ANCHE i dati live...
|
||||
saveCurrentRecipeParams(currParams);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// load recipe from file and send to PLC
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("load"), HttpPut]
|
||||
public IHttpActionResult Load(string newName)
|
||||
{
|
||||
using (NcFileAdapter ncAdapter = new NcFileAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// chiamo metodo di lettura...
|
||||
//CmsError cmsError = ServerConfigController.LoadRecipe(newName);
|
||||
bool fatto = ServerConfigController.LoadRecipe(newName);
|
||||
if (!fatto)
|
||||
return NotFound();
|
||||
|
||||
|
||||
CmsError cmsError = writeCurrentRecipeToPlc();
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load tempalte recipe from file and save as new current...
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("new"), HttpPut]
|
||||
public IHttpActionResult NewRecipe()
|
||||
{
|
||||
using (NcFileAdapter ncAdapter = new NcFileAdapter())
|
||||
{
|
||||
// chiamo metodo di lettura...
|
||||
bool fatto = ServerConfigController.LoadTemplate();
|
||||
|
||||
if (!fatto)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = writeCurrentRecipeToPlc();
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
}
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Save current recipe from PLC to default
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("save"), HttpPut]
|
||||
public IHttpActionResult Save()
|
||||
{
|
||||
using (NcFileAdapter ncAdapter = new NcFileAdapter())
|
||||
{
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
var currParams = new Dictionary<string, double>();
|
||||
foreach (var item in currRecipe)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointPLC);
|
||||
}
|
||||
|
||||
// ora salvo ANCHE i dati live...
|
||||
saveCurrentRecipeParams(currParams);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Save current recipe from PLC with new name
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("saveAs"), HttpPut]
|
||||
public IHttpActionResult SaveAs(string newName)
|
||||
{
|
||||
using (NcFileAdapter ncAdapter = new NcFileAdapter())
|
||||
{
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
var currParams = new Dictionary<string, double>();
|
||||
foreach (var item in currRecipe)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointPLC);
|
||||
}
|
||||
|
||||
// ora salvo ANCHE i dati live...
|
||||
RecipeLiveData.RecipeParameters = currParams;
|
||||
// e salvo su disco
|
||||
ServerConfigController.SaveRecipe(newName);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Save current recipe from PLC to Template
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("saveTemplate"), HttpPut]
|
||||
public IHttpActionResult SaveTemplate()
|
||||
{
|
||||
using (NcFileAdapter ncAdapter = new NcFileAdapter())
|
||||
{
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
|
||||
// recupero i dati LIVE dei carichi load dei cahnnels di riscaldo...
|
||||
cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// uso i valopri HMI...
|
||||
var currParams = new Dictionary<string, double>();
|
||||
foreach (var item in currRecipe)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointHMI);
|
||||
}
|
||||
|
||||
// ora salvo nei dati live...
|
||||
RecipeLiveData.RecipeParameters = currParams;
|
||||
|
||||
// carico i dati dei riscaldi...
|
||||
var currChSet = new Dictionary<int, double>();
|
||||
foreach (var item in currWarmers)
|
||||
{
|
||||
currChSet.Add(item.Key, item.Value.SetpointRecipe);
|
||||
}
|
||||
RecipeLiveData.ChannelSetpoints = currChSet;
|
||||
|
||||
|
||||
// e salvo su disco
|
||||
ServerConfigController.SaveRecipeTemplate();
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Do actual recipe parameters FileSave
|
||||
/// </summary>
|
||||
/// <param name="currParams"></param>
|
||||
private static void saveCurrentRecipeParams(Dictionary<string, double> currParams)
|
||||
{
|
||||
// ora salvo ANCHE i dati live...
|
||||
RecipeLiveData.RecipeParameters = currParams;
|
||||
// e salvo su disco
|
||||
ServerConfigController.SaveRecipeCurrent();
|
||||
}
|
||||
|
||||
protected static CmsError writeCurrentRecipeToPlc()
|
||||
{
|
||||
CmsError checkError = NO_ERROR;
|
||||
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return libraryError;
|
||||
|
||||
|
||||
// copy data to PLC
|
||||
checkError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
|
||||
if (checkError.IsError())
|
||||
return checkError;
|
||||
|
||||
// save parameters to PLC!!!
|
||||
Dictionary<string, DTORecipeParam> updtRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
foreach (var item in RecipeLiveData.RecipeParameters)
|
||||
{
|
||||
if (prevRecipe.ContainsKey(item.Key))
|
||||
{
|
||||
// aggiorno il valore HMI nel parametro
|
||||
var currParam = prevRecipe[item.Key];
|
||||
currParam.SetpointHMI = item.Value;
|
||||
// salvo (1 parametro, potrei fare N...)
|
||||
updtRecipe.Add(item.Key, currParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
return NOT_FOUND_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
// write to PLC
|
||||
checkError = ncAdapter.WriteRecipeParams(updtRecipe);
|
||||
|
||||
// FIXME TODO warmers to be completed!!!
|
||||
#if false
|
||||
// reading warmers data...
|
||||
cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> prevWarmers);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
// save warmers to PLC
|
||||
foreach (var item in RecipeLiveData.ChannelSetpoints)
|
||||
{
|
||||
//if (prevRecipe.ContainsKey(item.Key))
|
||||
//{
|
||||
// // aggiorno il valore HMI nel parametro
|
||||
// var currParam = prevRecipe[item.Key];
|
||||
// currParam.SetpointHMI = item.Value;
|
||||
// // salvo (1 parametro, potrei fare N...)
|
||||
// updtRecipe.Add(item.Key, currParam);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// return NotFound();
|
||||
//}
|
||||
}
|
||||
// write to PLC
|
||||
ncAdapter.WriteRecipeWarmers(updtRecipe);
|
||||
#endif
|
||||
}
|
||||
return checkError;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
using CMS_CORE_Library.Models;
|
||||
using Thermo.Active.Model.DTOModels;
|
||||
using Thermo.Active.NC;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using static CMS_CORE_Library.Models.DataStructures;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
|
||||
namespace Thermo.Active.Controllers.WebApi
|
||||
{
|
||||
[RoutePrefix("api/warmers")]
|
||||
public class WarmersController : ApiController
|
||||
{
|
||||
[Route("channels"), HttpGet]
|
||||
public IHttpActionResult GetCurrentWarmersChannels()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
return Ok(currWarmers);
|
||||
}
|
||||
}
|
||||
[Route("resistances"), HttpGet]
|
||||
public IHttpActionResult GetCurrentWarmersResistances()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
CmsError cmsError = ncAdapter.GetWarmersResistances(out Dictionary<int, Model.ConfigModels.RiskResistModel> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
return Ok(currWarmers);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Route("update"), HttpPut]
|
||||
public IHttpActionResult WriteSetpoints(Dictionary<int, double> channelsList)
|
||||
{
|
||||
// scrive su CHp da ricetta oppure da override x parametri utente...
|
||||
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
#if false
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// read recipe!
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
|
||||
Dictionary<string, DTORecipeParam> updtRecipe = new Dictionary<string, DTORecipeParam>();
|
||||
|
||||
foreach (var item in parametersList)
|
||||
{
|
||||
if (prevRecipe.ContainsKey(item.Key))
|
||||
{
|
||||
// aggiorno il valore HMI nel parametro
|
||||
var currParam = prevRecipe[item.Key];
|
||||
currParam.SetpointHMI = item.Value;
|
||||
// salvo (1 parametro, potrei fare N...)
|
||||
updtRecipe.Add(item.Key, currParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
|
||||
// scrivo sul PLC
|
||||
ncAdapter.WriteRecipeParams(updtRecipe);
|
||||
#endif
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Confirm recipe modification (parameters: HMI --> PLC)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("confirm"), HttpPut]
|
||||
public IHttpActionResult ConfirmEdit()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
#if false
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// scrivo sul PLC il comando conferma!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
#endif
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cancel recipe modification (parameters: PLC --> HMI)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("cancel"), HttpPut]
|
||||
public IHttpActionResult CancelEdit()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
#if false
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
return NotFound();
|
||||
|
||||
// scrivo sul PLC il comando annula!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
#endif
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -90,10 +90,37 @@ namespace Thermo.Active.Listeners
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_CMSCONNECT_GW_REBOOT_STATUS, (a, b) =>
|
||||
{
|
||||
SignalRListener.SetGatewayRebootStatus(a);
|
||||
}));
|
||||
}));
|
||||
|
||||
//////////////////////////// Database
|
||||
///// erano tooling...
|
||||
// add specific modules for THERMO
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_RECIPE_FULL, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoRecipeFullData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_RECIPE_OVERWIEW, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoRecipeOverviewData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_MODULE_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoModulesData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_WARMERS_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoWarmersData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_GAUGE_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoGaugeData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_PROD_INFO_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoProdInfoData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_THERMO_PROD_CYCLE_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoProdCycleData(a);
|
||||
}));
|
||||
|
||||
// Broadcast
|
||||
infos.Add(MessageServices.Current.Subscribe(BROADCAST_DATA, (a, b) =>
|
||||
@@ -103,7 +130,7 @@ namespace Thermo.Active.Listeners
|
||||
SignalRListener.BroadcastData();
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
public static void Stop()
|
||||
{
|
||||
MessageServices.Current.UnSubscribe(infos.ToArray());
|
||||
|
||||
@@ -14,6 +14,10 @@ using System.Threading;
|
||||
using static Thermo.Active.Listeners.SignalRStaticObjects;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
using CMS_CORE_Library.Models;
|
||||
using static CMS_CORE_Library.Models.ThermoModels;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Listeners.SignalR
|
||||
{
|
||||
@@ -246,7 +250,138 @@ namespace Thermo.Active.Listeners.SignalR
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").scadaData(scadaVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendThermoRecipeFullData(object recipeFull)
|
||||
{
|
||||
Dictionary<string, DTORecipeParam> currRecipeFull = recipeFull as Dictionary<string, DTORecipeParam>;
|
||||
|
||||
Dictionary<string, DTORecipeParam> diffData = new Dictionary<string, DTORecipeParam>();
|
||||
|
||||
// calcola ed invia SOLO le differenze...
|
||||
if (false)
|
||||
{
|
||||
Parallel.ForEach(currRecipeFull, item =>
|
||||
{
|
||||
if (!LastRecipeFullData.ContainsKey(item.Key))
|
||||
{
|
||||
diffData.Add(item.Key, item.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// comparazione
|
||||
if (!item.Value.Equals(LastRecipeFullData[item.Key]))
|
||||
{
|
||||
diffData[item.Key] = item.Value;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var item in currRecipeFull)
|
||||
{
|
||||
if (!LastRecipeFullData.ContainsKey(item.Key))
|
||||
{
|
||||
diffData.Add(item.Key, item.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// comparazione
|
||||
if (!item.Value.Equals(LastRecipeFullData[item.Key]))
|
||||
{
|
||||
diffData[item.Key] = item.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (diffData.Count > 0)
|
||||
{
|
||||
// salvo update
|
||||
LastRecipeFullData = currRecipeFull;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").recipeFullData(diffData);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendThermoRecipeOverviewData(object recipeOver)
|
||||
{
|
||||
Dictionary<string, RecipeCatStatus> currRecipeOver = recipeOver as Dictionary<string, RecipeCatStatus>;
|
||||
|
||||
if (!LastRecipeOverData.SequenceEqual(currRecipeOver))
|
||||
{
|
||||
LastRecipeOverData = currRecipeOver;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").recipeOverData(currRecipeOver);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendThermoModulesData(object modules)
|
||||
{
|
||||
Dictionary<string, DTORecipeParam> currModules = modules as Dictionary<string, DTORecipeParam>;
|
||||
|
||||
// FIXME TODO: usare un foreach comparer?
|
||||
if (!LastRecipeFullData.SequenceEqual(currModules))
|
||||
{
|
||||
LastRecipeFullData = currModules;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").modulesData(currModules);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendThermoWarmersData(object warmers)
|
||||
{
|
||||
Dictionary<string, DTORecipeParam> currWarmers = warmers as Dictionary<string, DTORecipeParam>;
|
||||
|
||||
// FIXME TODO: usare un foreach comparer?
|
||||
if (!LastRecipeFullData.SequenceEqual(currWarmers))
|
||||
{
|
||||
LastRecipeFullData = currWarmers;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").warmersData(currWarmers);
|
||||
}
|
||||
}
|
||||
public static void SendThermoGaugeData(object gaugeData)
|
||||
{
|
||||
GaugeModel currGauge = gaugeData as GaugeModel;
|
||||
|
||||
if (!LastGaugeData.Equals(currGauge))
|
||||
{
|
||||
LastGaugeData = currGauge;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").gaugeData(currGauge);
|
||||
}
|
||||
}
|
||||
public static void SendThermoProdInfoData(object prodInfoData)
|
||||
{
|
||||
ProdInfoModel currProdInfo = prodInfoData as ProdInfoModel;
|
||||
|
||||
if (!LastProdInfoData.Equals(currProdInfo))
|
||||
{
|
||||
LastProdInfoData = currProdInfo;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").prodInfoData(currProdInfo);
|
||||
}
|
||||
}
|
||||
public static void SendThermoProdCycleData(object prodCycleData)
|
||||
{
|
||||
ProdCycleModel currProdCycle = prodCycleData as ProdCycleModel;
|
||||
|
||||
if (!LastProdCycleData.Equals(currProdCycle))
|
||||
{
|
||||
LastProdCycleData = currProdCycle;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").prodCycleData(currProdCycle);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetGatewayRebootStatus(object status)
|
||||
@@ -286,32 +421,46 @@ namespace Thermo.Active.Listeners.SignalR
|
||||
group.expiredMaintenances(LastExpiredMaintenances);
|
||||
|
||||
// Send nc status
|
||||
context.Clients.Group("ncData").ncNetworkStatus(
|
||||
group.ncNetworkStatus(
|
||||
new
|
||||
{
|
||||
connected = LastIsNcConnected
|
||||
});
|
||||
|
||||
// Send softkeys Nc
|
||||
context.Clients.Group("ncData").ncSoftKeys(LastNcSoftKeysData);
|
||||
group.ncSoftKeys(LastNcSoftKeysData);
|
||||
// Send user softKeys
|
||||
context.Clients.Group("ncData").userSoftKeys(LastUserSoftKeysData);
|
||||
group.userSoftKeys(LastUserSoftKeysData);
|
||||
// Send heads data
|
||||
context.Clients.Group("ncData").headsData(LastHeadsData);
|
||||
group.headsData(LastHeadsData);
|
||||
// Send axesNames data
|
||||
context.Clients.Group("ncData").axesNames(LastAxesNamesData);
|
||||
group.axesNames(LastAxesNamesData);
|
||||
// Send positions
|
||||
context.Clients.Group("ncData").axesPositions(LastAxesPositions);
|
||||
group.axesPositions(LastAxesPositions);
|
||||
// Send active program data
|
||||
context.Clients.Group("ncData").activeProgramData(LastProgramData);
|
||||
group.activeProgramData(LastProgramData);
|
||||
// Send magazine is active data
|
||||
context.Clients.Group("ncData").magazineIsActive(LastNcMagazineIsActive);
|
||||
group.magazineIsActive(LastNcMagazineIsActive);
|
||||
// Send PP Queue
|
||||
context.Clients.Group("ncData").partProgramQueue(LastPartProgramQueue);
|
||||
group.partProgramQueue(LastPartProgramQueue);
|
||||
// Send m155 data
|
||||
context.Clients.Group("ncData").m155Data(LastM155Data);
|
||||
group.m155Data(LastM155Data);
|
||||
// Send Scada
|
||||
context.Clients.Group("ncData").scadaData(LastScadaData);
|
||||
group.scadaData(LastScadaData);
|
||||
|
||||
// Send THERMO Recipe data
|
||||
group.recipeFullData(LastRecipeFullData);
|
||||
group.recipeOverData(LastRecipeOverData);
|
||||
// Send THERMO Modules data
|
||||
group.recipeModulesData(LastModulesData);
|
||||
// Send THERMO Warmers data
|
||||
group.recipeWarmersData(LastWarmersData);
|
||||
// THERMO Gauges
|
||||
group.gaugeData(LastGaugeData);
|
||||
// THERMO prod info data
|
||||
group.prodInfoData(LastProdInfoData);
|
||||
// THERMO prod cycle data
|
||||
group.prodCycleData(LastProdCycleData);
|
||||
|
||||
Debug.WriteLine(string.Format("{0} {1} Broadcast..completed", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), DateTime.Now.Millisecond));
|
||||
Monitor.Exit(_broadcastlock);
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
using Thermo.Active.Model.DTOModels.AlarmModels;
|
||||
using Thermo.Active.Model.DTOModels.Scada;
|
||||
using System.Collections.Generic;
|
||||
using Thermo.Active.Model.DTOModels.Recipe;
|
||||
using CMS_CORE_Library.Models;
|
||||
|
||||
namespace Thermo.Active.Listeners
|
||||
{
|
||||
@@ -23,11 +25,20 @@ namespace Thermo.Active.Listeners
|
||||
public static Dictionary<int, bool> LastNcMagazineIsActive = new Dictionary<int, bool>();
|
||||
public static List<DTOQueueModel> LastPartProgramQueue = new List<DTOQueueModel>();
|
||||
public static List<DTOM155InputModel> LastM155Data = new List<DTOM155InputModel>();
|
||||
public static List<DTOScadaModel> LastScadaData = new List<DTOScadaModel>();
|
||||
public static List<DTOScadaModel> LastScadaData = new List<DTOScadaModel>();
|
||||
|
||||
// FIXME TODO inserire oggetti corretti per THERMO
|
||||
public static Dictionary<string, DTORecipeParam> LastRecipeFullData = new Dictionary<string, DTORecipeParam>();
|
||||
public static Dictionary<string, RecipeCatStatus> LastRecipeOverData = new Dictionary<string, RecipeCatStatus>();
|
||||
public static List<DTOScadaModel> LastModulesData = new List<DTOScadaModel>();
|
||||
public static List<DTOScadaModel> LastWarmersData = new List<DTOScadaModel>();
|
||||
public static ThermoModels.GaugeModel LastGaugeData = new ThermoModels.GaugeModel();
|
||||
public static ThermoModels.ProdCycleModel LastProdCycleData = new ThermoModels.ProdCycleModel();
|
||||
public static ThermoModels.ProdInfoModel LastProdInfoData = new ThermoModels.ProdInfoModel();
|
||||
|
||||
|
||||
|
||||
public static bool LastIsNcConnected = false;
|
||||
|
||||
|
||||
// aggiugere oggetti nuovi e levare quelli che non servono +...
|
||||
}
|
||||
}
|
||||
@@ -31,4 +31,4 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("0.1.1")]
|
||||
[assembly: AssemblyVersion("0.5.4")]
|
||||
|
||||
@@ -58,9 +58,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CMS_CORE_Library">
|
||||
<HintPath>..\Libs\CMS_CORE_Library.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -122,6 +119,8 @@
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -166,6 +165,10 @@
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20505.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Windows.Interactivity">
|
||||
<HintPath>..\Libs\System.Windows.Interactivity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
@@ -207,6 +210,7 @@
|
||||
<Reference Include="WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.2.0.20505.0\lib\net40\WebMatrix.WebData.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_Start\SignalRContractResolver.cs" />
|
||||
@@ -218,6 +222,9 @@
|
||||
<Compile Include="Attributes\SignalRAuthorizeAttribute.cs" />
|
||||
<Compile Include="Controllers\SignalR\NcHub.cs" />
|
||||
<Compile Include="Controllers\WebApi\ApiAlarmController.cs" />
|
||||
<Compile Include="Controllers\WebApi\ModulesController.cs" />
|
||||
<Compile Include="Controllers\WebApi\WarmersController.cs" />
|
||||
<Compile Include="Controllers\WebApi\RecipeController.cs" />
|
||||
<Compile Include="Controllers\WebApi\AuthorizationController.cs" />
|
||||
<Compile Include="Controllers\WebApi\CmsConnectController.cs" />
|
||||
<Compile Include="Controllers\WebApi\ConfigurationController.cs" />
|
||||
@@ -16121,6 +16128,10 @@
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\cms_core_library\CMS_CORE_Library\CMS_CORE_Library.csproj">
|
||||
<Project>{4abf8eef-2b23-483e-acdc-53214fe28681}</Project>
|
||||
<Name>CMS_CORE_Library</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Thermo.Active.CmsConnectGateway\Thermo.Active.CmsConnectGateway.csproj">
|
||||
<Project>{49b04d99-0ecd-4900-86d3-7098d61314d7}</Project>
|
||||
<Name>Thermo.Active.CmsConnectGateway</Name>
|
||||
@@ -16425,6 +16436,7 @@
|
||||
<TypeScriptCompile Include="wwwroot\src\_base\utils.ts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="logs\" />
|
||||
<Folder Include="wwwroot\src\router\" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
|
||||
|
After Width: | Height: | Size: 724 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 37 KiB |
@@ -0,0 +1,240 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1156mm"
|
||||
height="800mm"
|
||||
viewBox="0 0 1156 800"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="disegno-controstampo-quote-velocita.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.125"
|
||||
inkscape:cx="1119.1458"
|
||||
inkscape:cy="2036.4307"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1001"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Livello 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,503)">
|
||||
<path
|
||||
style="fill:#4d85ff;fill-opacity:0.5018587;stroke:#0000a9;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 850.19123,-221.17487 c 0,0 122.26692,-1.97359 180.30647,0.24275 l -35.60462,147.001143 -111.4927,0.65955 -7.07924,-30.572513 -27.17361,-117.34132 1.04341,0.0577"
|
||||
id="path54-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<path
|
||||
style="fill:none;stroke:#0000d1;stroke-width:4.21029854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 762.66311,-224.80453 355.98669,-0.0872"
|
||||
id="path4569-2"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<path
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 80.074,-467.77078 h 558"
|
||||
id="path857"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#4d85ff;fill-opacity:0.5018587;stroke:#0000a9;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 220.17481,-466.8417 c 0,0 122.26692,-1.97359 180.30648,0.24275 l -35.60463,147.00114 -111.4927,0.65955 -7.07924,-30.57251 -27.17361,-117.34132 1.04341,0.0577"
|
||||
id="path54"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<path
|
||||
style="fill:none;stroke:#0000d1;stroke-width:4.21029854;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 132.64669,-470.47136 355.9867,-0.0872"
|
||||
id="path4569"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96" />
|
||||
<path
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:1.15390325;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 80.074,258.22905 H 638.07402"
|
||||
id="path857-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.99642622;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 586.55369,-466.91951 1.6e-4,723.40752"
|
||||
id="path892"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055839671"
|
||||
inkscape:transform-center-y="3.1811632"
|
||||
transform="matrix(0.94139126,0.3373166,0.3373166,-0.94139126,206.12985,-358.50528)" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:1.99668467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 153.82073,258.26847 1.6e-4,-723.59489"
|
||||
id="path892-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896-3"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055849117"
|
||||
inkscape:transform-center-y="-3.1811677"
|
||||
transform="rotate(-19.713471,317.39459,726.92906)" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 240.81371,257.736 1.6e-4,-49.5639"
|
||||
id="path892-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896-9"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055882036"
|
||||
inkscape:transform-center-y="-3.1811704"
|
||||
transform="rotate(-19.713471,2299.018,813.33867)" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 461.1167,181.58296 1.6e-4,75.04806"
|
||||
id="path892-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896-1"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055839671"
|
||||
inkscape:transform-center-y="3.1811632"
|
||||
transform="matrix(0.94139126,0.3373166,0.3373166,-0.94139126,80.692857,-358.36228)" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 481.95486,180.89827 -41.71686,1.6e-4"
|
||||
id="path892-7-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#b3b3b3;stroke:#b3b3b3;stroke-width:3.42526412;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 883.40308,-73.271427 -122.54456,1.6e-4"
|
||||
id="path892-7-0-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#b3b3b3;stroke-width:1.96497488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 770.52084,-221.43693 V -75.790677"
|
||||
id="path972"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896-3-9"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055849117"
|
||||
inkscape:transform-center-y="-3.1811677"
|
||||
transform="rotate(-19.713471,1327.5852,-925.80315)" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:#b3b3b3;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path896-7"
|
||||
sodipodi:sides="3"
|
||||
sodipodi:cx="561.26599"
|
||||
sodipodi:cy="-438.63263"
|
||||
sodipodi:r1="12.744021"
|
||||
sodipodi:r2="6.3720102"
|
||||
sodipodi:arg1="0.8685394"
|
||||
sodipodi:arg2="1.9157369"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0"
|
||||
inkscape:randomized="0"
|
||||
d="m 569.49789,-428.90402 -10.38654,-3.73194 -10.38653,-3.73194 8.42522,-7.12903 8.42522,-7.12904 1.96132,10.86098 z"
|
||||
inkscape:transform-center-x="0.0055839671"
|
||||
inkscape:transform-center-y="3.1811632"
|
||||
transform="matrix(0.94139126,0.3373166,0.3373166,-0.94139126,390.09685,-690.78395)" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 89 KiB |
@@ -0,0 +1,34 @@
|
||||
// out: false, sourceMap: false, main: ../style.less
|
||||
@import "grid-system.less";
|
||||
@import "colors.less";
|
||||
@import "fonts.less";
|
||||
@modal: modal;
|
||||
|
||||
.@{modal}.avvio-produzione-info {
|
||||
margin-top: 100px;
|
||||
width: 653px;
|
||||
height: 616px;
|
||||
|
||||
section.body{
|
||||
|
||||
section{
|
||||
justify-content: center;
|
||||
|
||||
.specific{
|
||||
|
||||
.disabled{
|
||||
width: 420px;
|
||||
height: 330px;
|
||||
}
|
||||
|
||||
.tast{
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -50,26 +50,27 @@
|
||||
|
||||
.circle1{
|
||||
position: relative;
|
||||
top: 130px;
|
||||
top: 200px;
|
||||
right: 25px;
|
||||
}
|
||||
|
||||
.circle2{
|
||||
position: relative;
|
||||
top: 180px;
|
||||
top: 400px;
|
||||
right: 25px;
|
||||
}
|
||||
|
||||
.circle3{
|
||||
width: 135px;
|
||||
position: relative;
|
||||
top: 175px;
|
||||
top: 545px;
|
||||
right: 410px;
|
||||
}
|
||||
|
||||
.circle4{
|
||||
position: relative;
|
||||
top: 60px;
|
||||
right: 180px;
|
||||
top: 585px;
|
||||
right: 200px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
// out: false, sourceMap: false, main: ../style.less
|
||||
@import "grid-system.less";
|
||||
@import "colors.less";
|
||||
@import "fonts.less";
|
||||
|
||||
.circle-gantt{
|
||||
height: 70px;
|
||||
|
||||
.specific{
|
||||
|
||||
div{
|
||||
|
||||
&:first-of-type{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
height: 70px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
background-color: #57636b;
|
||||
|
||||
label{
|
||||
margin-left: 37%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:last-of-type{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-top: -66px;
|
||||
height: 40px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
background-color: #c0c7cc;
|
||||
|
||||
label{
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:first-of-type{
|
||||
|
||||
div{
|
||||
|
||||
&:first-of-type{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
width: 34px;
|
||||
height: 70px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
background-color: #57636b;
|
||||
|
||||
label{
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:last-of-type{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
margin-top: -66px;
|
||||
width: 34px;
|
||||
height: 40px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
background-color: #c0c7cc;
|
||||
|
||||
img{
|
||||
margin-left: 25%;
|
||||
flex-shrink: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,16 +7,24 @@
|
||||
.@{modal}.estrazione-info {
|
||||
width: 1820px;
|
||||
height: 785px;
|
||||
.specific {
|
||||
justify-content: flex-end;
|
||||
.box{
|
||||
background-color: #e5f3ff;
|
||||
}
|
||||
|
||||
}
|
||||
section.body{
|
||||
|
||||
section{
|
||||
|
||||
.specific {
|
||||
justify-content: flex-end;
|
||||
padding-left: 10px;
|
||||
|
||||
.box{
|
||||
margin:0;
|
||||
background-color: #e5f3ff;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
// out: false, sourceMap: false, main: ../style.less
|
||||
@import "setup.less";
|
||||
@import "colors.less";
|
||||
@import "modals.less";
|
||||
@import "pirometro.less";
|
||||
@@ -6,8 +7,10 @@
|
||||
@import "formato.less";
|
||||
@import "slider.less";
|
||||
@import "tastierino.less";
|
||||
@import "circlegantt.less";
|
||||
@import "paddle.less";
|
||||
@import "arretramento-riscaldi.less";
|
||||
@import "setup.less";
|
||||
@import "avvio-prod.less";
|
||||
@import "ciclo.less";
|
||||
@import "raffreddamento.less";
|
||||
@import "processo.less";
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.section{
|
||||
display: flex;
|
||||
section.body{
|
||||
|
||||
section{
|
||||
padding: 0px;
|
||||
|
||||
.specific{
|
||||
|
||||
@@ -60,31 +62,33 @@
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
aside{
|
||||
aside{
|
||||
|
||||
button{
|
||||
display: block;
|
||||
background-color: #bbbcbc;
|
||||
color: #002680;
|
||||
padding: 22px 16px;
|
||||
margin: 2px 0;
|
||||
width: 547px;
|
||||
height: 70px;
|
||||
border: none;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
font-size: 17px;
|
||||
}
|
||||
button{
|
||||
display: block;
|
||||
background-color: #bbbcbc;
|
||||
color: #002680;
|
||||
padding: 22px 16px;
|
||||
margin: 2px 0;
|
||||
width: 547px;
|
||||
height: 70px;
|
||||
border: none;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.active{
|
||||
background-color: #fff;
|
||||
font-weight: bold;
|
||||
border-top: 2px solid #002680;
|
||||
}
|
||||
|
||||
.active{
|
||||
background-color: #fff;
|
||||
font-weight: bold;
|
||||
border-top: 2px solid #002680;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
// out: false, sourceMap: false, main: ../style.less
|
||||
@import "grid-system.less";
|
||||
@import "colors.less";
|
||||
@import "fonts.less";
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
border: 0; margin: 0; padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.container{
|
||||
|
||||
#app{
|
||||
|
||||
nav {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
|
||||
.active button{
|
||||
transform: translate(-761px, 0px);
|
||||
}
|
||||
|
||||
div{
|
||||
|
||||
button {
|
||||
position: relative;
|
||||
height: 30px;
|
||||
width: 32px;
|
||||
display: block;
|
||||
z-index: 9999;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
pointer-events: all;
|
||||
background: #dddddd;
|
||||
border-bottom-left-radius: 90px;
|
||||
border-top-left-radius: 90px;
|
||||
height: 90px;
|
||||
width: 45px;
|
||||
|
||||
div{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: 1fr 1fr;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
padding: 5px;
|
||||
|
||||
|
||||
div {
|
||||
width: 2px;
|
||||
height: 2px;
|
||||
border-radius: 10px;
|
||||
margin: 2px;
|
||||
background: #002680;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// .slide-enter-active,
|
||||
// .slide-leave-active
|
||||
// {
|
||||
// transition: left,right 0s ease-in-out;
|
||||
// }
|
||||
|
||||
// .slide-enter,
|
||||
// .slide-leave-to {
|
||||
// transition: right,left 0s ease-in-out
|
||||
// }
|
||||
|
||||
.sidebar{
|
||||
|
||||
.sidebar-backdrop{
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sidebar-panel{
|
||||
|
||||
overflow-y: auto;
|
||||
background-color: #130f40;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 141px;
|
||||
height: 100vh;
|
||||
z-index: 900;
|
||||
padding: 3rem 20px 2rem 20px;
|
||||
width: 721px;
|
||||
height: 920px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
background-color: #dddddd;
|
||||
|
||||
.text-head-sidebar{
|
||||
margin: 10px auto;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
color: #002680;
|
||||
}
|
||||
|
||||
.box-sidebar-panel{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
|
||||
.sidebar-panel-nav{
|
||||
width: 286px;
|
||||
height: 100px;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
|
||||
background-color: #808e96;
|
||||
margin: 10px 30px;
|
||||
|
||||
.text-box-paddle{
|
||||
display: flex;
|
||||
width: 268px;
|
||||
height: 78px;
|
||||
font-family: WorkSans;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
color: #ffffff;
|
||||
margin: 10px;
|
||||
|
||||
i{
|
||||
text-align: end;
|
||||
width: 50px;
|
||||
color: #bbbcbc;
|
||||
}
|
||||
|
||||
label{
|
||||
width: 117px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.text-box-paddle.text-soft{
|
||||
label{
|
||||
width: 100%;
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,83 +10,84 @@
|
||||
width: 1820px;
|
||||
height: 980px;
|
||||
|
||||
section{
|
||||
|
||||
.specific{
|
||||
width: 470px;
|
||||
@{pirometro-margin}:37%;
|
||||
}
|
||||
|
||||
.termospecific{
|
||||
@{pirometro-margin}:0%;
|
||||
|
||||
.svg-area{
|
||||
padding-left: 90px;
|
||||
width: 1270px;
|
||||
height: 800px;
|
||||
|
||||
.disegnoTermoSuperiore{
|
||||
flex-shrink: 0;
|
||||
width: 1100px;
|
||||
height: 750px;
|
||||
}
|
||||
|
||||
.border-termo-superiore{
|
||||
|
||||
.circle1{
|
||||
position: relative;
|
||||
top: 135px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle2{
|
||||
position: relative;
|
||||
top: 355px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle3{
|
||||
position: relative;
|
||||
top: 425px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle4{
|
||||
position: relative;
|
||||
top: 470px;
|
||||
right: 635px;
|
||||
}
|
||||
|
||||
.circle5{
|
||||
position: relative;
|
||||
top: 400px;
|
||||
right: 255px;
|
||||
}
|
||||
|
||||
.circle6{
|
||||
width: 64px;
|
||||
height: 20px;
|
||||
color:white;
|
||||
object-fit: contain;
|
||||
background-color: #c03d58;
|
||||
position: relative;
|
||||
top: 95px;
|
||||
right: 125px;
|
||||
}
|
||||
|
||||
}
|
||||
section.body{
|
||||
|
||||
section{
|
||||
|
||||
.specific{
|
||||
width: 470px;
|
||||
@{pirometro-margin}:37%;
|
||||
}
|
||||
|
||||
button{
|
||||
margin-left: 5px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
|
||||
border: solid 1px #001e48;
|
||||
background-image: linear-gradient(to bottom, #1756ad, #002680);
|
||||
.termospecific{
|
||||
@{pirometro-margin}:0%;
|
||||
|
||||
.svg-area{
|
||||
padding-left: 90px;
|
||||
width: 1270px;
|
||||
height: 800px;
|
||||
|
||||
.disegnoTermoSuperiore{
|
||||
flex-shrink: 0;
|
||||
width: 1100px;
|
||||
height: 750px;
|
||||
}
|
||||
|
||||
.border-termo-superiore{
|
||||
|
||||
.circle1{
|
||||
position: relative;
|
||||
top: 135px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle2{
|
||||
position: relative;
|
||||
top: 355px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle3{
|
||||
position: relative;
|
||||
top: 425px;
|
||||
right: 1150px;
|
||||
}
|
||||
|
||||
.circle4{
|
||||
position: relative;
|
||||
top: 470px;
|
||||
right: 635px;
|
||||
}
|
||||
|
||||
.circle5{
|
||||
position: relative;
|
||||
top: 400px;
|
||||
right: 255px;
|
||||
}
|
||||
|
||||
.circle6{
|
||||
width: 100px;
|
||||
background-color: #c03d58;
|
||||
position: relative;
|
||||
top: 87px;
|
||||
right: 150px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
button{
|
||||
margin-left: 5px;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
object-fit: contain;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
|
||||
border: solid 1px #001e48;
|
||||
background-image: linear-gradient(to bottom, #1756ad, #002680);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,5 +7,54 @@
|
||||
.@{modal}.processo-info {
|
||||
width: 1820px;
|
||||
height: 980px;
|
||||
margin: 150px 193px;
|
||||
margin-top: 50px;
|
||||
|
||||
header{
|
||||
font-size: 22px;
|
||||
color: #4b4b4b;
|
||||
|
||||
.tab-header{
|
||||
padding: 10px 0px;
|
||||
|
||||
button{
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
margin-right: 10px;
|
||||
width: 149px;
|
||||
height: 48px;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.5);
|
||||
background-image: linear-gradient(to bottom, #f1f1f1 0%, #bbbcbc 98%);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: 1.15;
|
||||
letter-spacing: normal;
|
||||
color: #4b4b4b;
|
||||
|
||||
img{
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
label{
|
||||
width: 106px;
|
||||
height: 32px;
|
||||
font-size: 32px;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-align: right;
|
||||
color: #545454;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -48,22 +48,15 @@
|
||||
height: 795px;
|
||||
}
|
||||
|
||||
.disegnoControstampoQuoteVelocita{
|
||||
flex-shrink: 0;
|
||||
margin-left: 600px;
|
||||
width: 1156px;
|
||||
height: 800px;
|
||||
}
|
||||
|
||||
.input-circles{
|
||||
|
||||
|
||||
span{
|
||||
object-fit: contain;
|
||||
font-size: 22px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
color: white;
|
||||
background-color: #979797;
|
||||
}
|
||||
|
||||
.circle{
|
||||
width: 147px;
|
||||
height: 60px;
|
||||
@@ -181,16 +174,57 @@
|
||||
|
||||
.circle-stampo-10{
|
||||
position: relative;
|
||||
bottom: 557px;
|
||||
bottom: 560px;
|
||||
right: 769px;
|
||||
}
|
||||
|
||||
.circle-stampo-11{
|
||||
position: relative;
|
||||
top: 38px;
|
||||
top: 35px;
|
||||
right: 781px;
|
||||
}
|
||||
|
||||
.circle-controstampo-1{
|
||||
position: relative;
|
||||
top: 300px;
|
||||
right: 1090px;
|
||||
}
|
||||
|
||||
.circle-controstampo-2{
|
||||
position: relative;
|
||||
top: 570px;
|
||||
right: 990px;
|
||||
}
|
||||
|
||||
.circle-controstampo-3{
|
||||
position: relative;
|
||||
top: 475px;
|
||||
right: 770px;
|
||||
}
|
||||
|
||||
.circle-controstampo-4{
|
||||
position: relative;
|
||||
right: 650px;
|
||||
}
|
||||
|
||||
.circle-controstampo-5{
|
||||
position: relative;
|
||||
top: 45px;
|
||||
right: 480px;
|
||||
}
|
||||
|
||||
.circle-controstampo-6{
|
||||
position: relative;
|
||||
top: -335px;
|
||||
right: 650px;
|
||||
}
|
||||
|
||||
.circle-controstampo-7{
|
||||
position: relative;
|
||||
top: 400px;
|
||||
right: 650px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
.input-area{
|
||||
width: 480px;
|
||||
margin: 3px;
|
||||
margin: 4px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
.auto{
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
aside {
|
||||
@@ -75,6 +76,19 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
span{
|
||||
object-fit: contain;
|
||||
font-size: 22px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
color: white;
|
||||
background-color: #979797;
|
||||
}
|
||||
|
||||
.circle {
|
||||
width: 141px;
|
||||
height: 60px;
|
||||
@@ -87,6 +101,21 @@
|
||||
border: solid 4px #9b9b9b;
|
||||
}
|
||||
|
||||
input{
|
||||
width: 40px;
|
||||
height: 21px;
|
||||
margin: auto;
|
||||
object-fit: contain;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
color: #6d6d6d;
|
||||
border: none;
|
||||
}
|
||||
|
||||
label {
|
||||
margin: auto;
|
||||
object-fit: contain;
|
||||
@@ -125,12 +154,10 @@
|
||||
header {
|
||||
background-color: @color-white;
|
||||
color: @color-darkish-blue;
|
||||
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
text-align: left;
|
||||
padding: 0px 23px;
|
||||
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
justify-content: space-between;
|
||||
@@ -249,9 +276,13 @@
|
||||
color: #90BF3D;
|
||||
}
|
||||
|
||||
&.fa-minus-circle{
|
||||
color: #7A7C74;
|
||||
&.fa-check-circle.undone-step{
|
||||
color: #1791FF;
|
||||
}
|
||||
|
||||
// &.fa-minus-circle{
|
||||
// color: #7A7C74;
|
||||
// }
|
||||
}
|
||||
|
||||
position: relative;
|
||||
@@ -390,10 +421,19 @@
|
||||
}
|
||||
|
||||
.rect {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding-inline-end: 20px;
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
// justify-content: flex-end;
|
||||
// padding-inline-end: 20px;
|
||||
object-fit: contain;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
color: #6d6d6d;
|
||||
text-align: center;
|
||||
width: 98px;
|
||||
height: 48px;
|
||||
border-radius: 2px;
|
||||
|
||||
@@ -4,86 +4,103 @@
|
||||
@import "fonts.less";
|
||||
|
||||
.tast{
|
||||
margin-top: 30px;
|
||||
margin-left: -350px;
|
||||
height: 261px;
|
||||
width: 293px;
|
||||
background-color:@color-silver;
|
||||
|
||||
.mask{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 52px);
|
||||
grid-template-rows: repeat(4, 52px);
|
||||
grid-gap: 5px 8px;
|
||||
margin-top: 7%;
|
||||
margin-left: 10%;
|
||||
|
||||
button{
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #f1f1f1 0%, #bbbcbc 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
color:@color-darkish-blue;
|
||||
font-size:20px;
|
||||
}
|
||||
.zero{
|
||||
grid-column: 1/span 2;
|
||||
grid-row: 4/5;
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #f1f1f1 0%, #bbbcbc 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.submit{
|
||||
grid-column-start: 4;
|
||||
grid-column-end: 5;
|
||||
grid-row-start: 3;
|
||||
grid-row-end: 5;
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #000080 0%, #191970 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
|
||||
img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
}
|
||||
.bCanc{
|
||||
grid-column: 4/5;
|
||||
grid-row: 2/3;
|
||||
|
||||
img{
|
||||
width: 30px;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
.b1{
|
||||
grid-column: 1/2;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b2{
|
||||
grid-column: 2/3;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b3{
|
||||
grid-column: 3/4;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b4{
|
||||
grid-column: 1/2;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b5{
|
||||
grid-column: 2/3;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b6{
|
||||
grid-column: 3/4;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b7{
|
||||
grid-column: 1/2;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
.b8{
|
||||
grid-column: 2/3;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
.b9{
|
||||
grid-column: 3/4;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
|
||||
.bPunto{
|
||||
grid-column: 3/4;
|
||||
grid-row: 4/5;
|
||||
}
|
||||
.bDel{
|
||||
grid-column: 4/5;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.mask{
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 52px);
|
||||
grid-template-rows: repeat(4, 52px);
|
||||
grid-gap: 5px 8px;
|
||||
margin-top: 7%;
|
||||
margin-left: 10%;
|
||||
}
|
||||
.tasto{
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #f1f1f1 0%, #bbbcbc 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.zero{
|
||||
grid-column: 1/span 2;
|
||||
grid-row: 4/5;
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #f1f1f1 0%, #bbbcbc 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.submit{
|
||||
grid-column-start: 4;
|
||||
grid-column-end: 5;
|
||||
grid-row-start: 3;
|
||||
grid-row-end: 5;
|
||||
border:none;
|
||||
background-image: linear-gradient(to bottom, #000080 0%, #191970 98%);
|
||||
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.b1{
|
||||
grid-column: 1/2;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b2{
|
||||
grid-column: 2/3;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b3{
|
||||
grid-column: 3/4;
|
||||
grid-row: 3/4;
|
||||
}
|
||||
.b4{
|
||||
grid-column: 1/2;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b5{
|
||||
grid-column: 2/3;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b6{
|
||||
grid-column: 3/4;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.b7{
|
||||
grid-column: 1/2;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
.b8{
|
||||
grid-column: 2/3;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
.b9{
|
||||
grid-column: 3/4;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
.bCanc{
|
||||
grid-column: 4/5;
|
||||
grid-row: 2/3;
|
||||
}
|
||||
.bPunto{
|
||||
grid-column: 3/4;
|
||||
grid-row: 4/5;
|
||||
}
|
||||
.bDel{
|
||||
grid-column: 4/5;
|
||||
grid-row: 1/2;
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
"env": "development",
|
||||
"api": {
|
||||
"enabled": true,
|
||||
"apiServerUrl": "http://localhost:9000"
|
||||
"apiServerUrl": "http://10.74.82.72:9000"
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
"env": "development",
|
||||
"api": {
|
||||
"enabled": false,
|
||||
"apiServerUrl": "https://localhost:9000"
|
||||
"apiServerUrl": "http://seriate.steamware.net:9000/"
|
||||
}
|
||||
}
|
||||
@@ -2,31 +2,30 @@
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<!-- <base href="/"> -->
|
||||
<title>CMS Active</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<!-- <base href="/"> -->
|
||||
<title>CMS Active</title>
|
||||
|
||||
<script src="Scripts/jquery-3.2.1.min.js"></script>
|
||||
<script src="Scripts/jquery.mousewheel.js"></script>
|
||||
<script src="Scripts/jquery.signalR-2.2.2.min.js"></script>
|
||||
<script src="Scripts/raphael-2.1.4.min.js"></script>
|
||||
<script src="http://192.168.1.89:9000/signalr/hubs"></script>
|
||||
<script src="Scripts/jquery-3.2.1.min.js"></script>
|
||||
<script src="Scripts/jquery.mousewheel.js"></script>
|
||||
<script src="Scripts/jquery.signalR-2.2.2.min.js"></script>
|
||||
<script src="Scripts/raphael-2.1.4.min.js"></script>
|
||||
<script src="http://127.0.0.1:9000/signalr/hubs"></script>
|
||||
|
||||
<link href="assets/styles/style.css" rel="stylesheet" />
|
||||
<link href="assets/styles/style.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<app>
|
||||
<div id="loading-spinner"><i class="fa fa-circle-o-notch fa-spin"></i></div>
|
||||
</app>
|
||||
<script src="/dist/vendors~main.js" type="text/javascript"></script>
|
||||
<script src="/dist/build.js" type="text/javascript"></script>
|
||||
<app>
|
||||
<div id="loading-spinner"><i class="fa fa-circle-o-notch fa-spin"></i></div>
|
||||
</app>
|
||||
<script src="/dist/vendors~main.js" type="text/javascript"></script>
|
||||
<script src="/dist/build.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,339 @@
|
||||
declare module Recipe {
|
||||
|
||||
interface IRange{
|
||||
min:number,
|
||||
max:number
|
||||
}
|
||||
|
||||
interface IStatus{
|
||||
visible:boolean,
|
||||
enabled:boolean,
|
||||
hasError:boolean
|
||||
}
|
||||
|
||||
interface IValue{
|
||||
range:IRange,
|
||||
status:IStatus,
|
||||
unitMeasure:string,
|
||||
valueAct:number
|
||||
}
|
||||
|
||||
interface IRecipe{
|
||||
general_sizes_mould_dim_x?:IValue,
|
||||
general_sizes_mould_dim_y?:IValue,
|
||||
general_sizes_mould_max_height?:IValue,
|
||||
general_sizes_mould_min_height?:IValue,
|
||||
general_sizes_mould_base_height?:IValue,
|
||||
general_sizes_sheet_material?:IValue,
|
||||
general_sizes_sheet_dim_x?:IValue,
|
||||
general_sizes_sheet_dim_y?:IValue,
|
||||
general_sizes_sheet_thickness?:IValue,
|
||||
general_sizes_plate_type?:IValue,
|
||||
general_sizes_plate_dim_x?:IValue,
|
||||
general_sizes_plate_dim_y?:IValue,
|
||||
general_sizes_frame_traverses?:IValue,
|
||||
general_sizes_frame_dim_x?:IValue,
|
||||
general_sizes_frame_dim_y?:IValue,
|
||||
general_sizes_upperplate_max_height?:IValue,
|
||||
general_area_working_dxsx?:IValue,
|
||||
positions_mould_lower_position?:IValue,
|
||||
positions_mould_lower_speed?:IValue,
|
||||
positions_mould_intermediate_position?:IValue,
|
||||
positions_mould_upper_position?:IValue,
|
||||
positions_mould_upper_speed?:IValue,
|
||||
positions_mould_upperdeceleration_position?:IValue,
|
||||
positions_mould_upperdeceleration_speed?:IValue,
|
||||
positions_mould_lowerdeceleration_speed?:IValue,
|
||||
positions_mould_lowerdeceleration_position?:IValue,
|
||||
positions_frame_lower_position?:IValue,
|
||||
positions_frame_lower_speed?:IValue,
|
||||
positions_frame_upper_speed?:IValue,
|
||||
positions_frame_upper_position?:IValue,
|
||||
positions_frame_intermediate_position?:IValue,
|
||||
positions_frame_intermediate_speed?:IValue,
|
||||
positions_frame_unload_position?:IValue,
|
||||
positions_upperplate_lower_position?:IValue,
|
||||
positions_upperplate_lower_speed?:IValue,
|
||||
positions_upperplate_upper_position?:IValue,
|
||||
positions_upperplate_upper_speed?:IValue,
|
||||
positions_upperplate_upperdeceleration_position?:IValue,
|
||||
positions_upperplate_upperdeceleration_speed?:IValue,
|
||||
positions_upperplate_lowerdeceleration_position?:IValue,
|
||||
positions_upperplate_lowerdeceleration_speed?:IValue,
|
||||
cycle_forming_type?:IValue,
|
||||
cycle_forming_pause_cycle?:IValue,
|
||||
cycle_forming_cooling_enabled?:IValue,
|
||||
cycle_forming_blowingbox_enabled?:IValue,
|
||||
cycle_acrylicframe_enabled?:IValue,
|
||||
cycle_acrylicframe_time?:IValue,
|
||||
cycle_upperoverheating_enabled?:IValue,
|
||||
cycle_upperoverheating_time?:IValue,
|
||||
cycle_crystallisation_type?:IValue,
|
||||
cycle_crystallisation_enabled?:IValue,
|
||||
cycle_crystallisation_time?:IValue,
|
||||
cycle_loader_enable?:IValue,
|
||||
cycle_loader_lifter_lowerposition_delay?:IValue,
|
||||
cycle_loader_lifter_upperposition_delay?:IValue,
|
||||
cycle_loader_split_sheet_time?:IValue,
|
||||
cycle_loader_ejector_position?:IValue,
|
||||
cycle_loader_pallet_height?:IValue
|
||||
cycle_loader_center_x?:IValue,
|
||||
cycle_loader_center_y?:IValue,
|
||||
cycle_loader_checktichness_enabled?:IValue,
|
||||
cycle_loader_suckers_vacuum?:IValue,
|
||||
cycle_loader_ionizer_enabled?:IValue,
|
||||
cycle_loader_manualunloading_enabled?:IValue,
|
||||
heats_lowerheaters_max_time?:IValue,
|
||||
heats_lowerheaters_movement_enabled?:IValue,
|
||||
heats_lowerheaters_enabled?:IValue,
|
||||
heats_lowerheaters_oscillation?:IValue,
|
||||
heats_upperheaters_max_time?:IValue,
|
||||
heats_upperheaters_movement_enabled?:IValue,
|
||||
heats_upperheaters_enabled?:IValue,
|
||||
heats_upperheaters_oscillation?:IValue,
|
||||
heats_decomsustain_type?:IValue,
|
||||
heats_decomsustain_decompression_flow?:IValue,
|
||||
heats_decomsustain_min_blowing_time?:IValue,
|
||||
heats_decomsustain_sustain_delay?:IValue,
|
||||
heats_decomsustain_decompression_delay?:IValue,
|
||||
heats_decomsustain_decompression_duration?:IValue,
|
||||
heats_decomsustain_smoke_function_enabled?:IValue,
|
||||
pyrometer_pyrometer_enabled?:IValue,
|
||||
pyrometer_pyrometer_setpoint?:IValue,
|
||||
pyrometer_pyrometer_delay?:IValue,
|
||||
pyrometer_upperthermoregulator_start_adjustment?:IValue,
|
||||
pyrometer_upperthermoregulator_end_adjustment?:IValue,
|
||||
pyrometer_upperthermoregulator_min_percentage?:IValue,
|
||||
pyrometer_upperthermoregulator_max_percentage?:IValue,
|
||||
pyrometer_upperthermoregulator_sleep_enabled?:IValue,
|
||||
pyrometer_upperthermoregulator_sleep_percentage?:IValue,
|
||||
pyrometer_lowerthermoregulator_start_adjustment?:IValue,
|
||||
pyrometer_lowerthermoregulator_end_adjustment?:IValue,
|
||||
pyrometer_lowerthermoregulator_min_percentage?:IValue,
|
||||
pyrometer_lowerthermoregulator_max_percentage?:IValue,
|
||||
pyrometer_lowerthermoregulator_sleep_enabled?:IValue,
|
||||
pyrometer_lowerthermoregulator_sleep_percentage?:IValue,
|
||||
pyrometer_upperthermoregulator_sleep_temperature?:IValue,
|
||||
pyrometer_upperthermoregulator_working_temperature?:IValue,
|
||||
pyrometer_lowerthermoregulator_sleep_temperature?:IValue,
|
||||
pyrometer_lowerthermoregulator_working_temperature?:IValue,
|
||||
drawing_type?:IValue,
|
||||
drawing_height?:IValue,
|
||||
drawing_delay?:IValue,
|
||||
drawing_1_chart_setpointx?:IValue,
|
||||
drawing_1_chart_setpointy?:IValue,
|
||||
drawing_photocell?:IValue,
|
||||
drawing_mantaining_flow?:IValue,
|
||||
drawing_manual?:IValue,
|
||||
drawing_mould_up_delay?:IValue,
|
||||
upperplate_cycle_type?:IValue,
|
||||
upperplate_cycle_delay?:IValue,
|
||||
upperplate_cycle_time?:IValue,
|
||||
upperplate_air_enable?:IValue,
|
||||
upperplate_air_delay?:IValue,
|
||||
upperplate_air_max_time?:IValue,
|
||||
upperplate_air_1_chart_setpointx?:IValue,
|
||||
upperplate_air_1_chart_setpointy?:IValue,
|
||||
upperplate_air_2_chart_setpointx?:IValue,
|
||||
upperplate_air_2_chart_setpointy?:IValue,
|
||||
upperplate_air_3_chart_setpointx?:IValue,
|
||||
upperplate_air_3_chart_setpointy?:IValue,
|
||||
upperplate_air_manual?:IValue,
|
||||
upperplate_vacuum_enable?:IValue,
|
||||
upperplate_vacuum_delay?:IValue,
|
||||
upperplate_vacuum_max_time?:IValue,
|
||||
upperplate_vacuum_1_chart_setpointx?:IValue,
|
||||
upperplate_vacuum_1_chart_setpointy?:IValue,
|
||||
upperplate_vacuum_2_chart_setpointx?:IValue,
|
||||
upperplate_vacuum_2_chart_setpointy?:IValue,
|
||||
upperplate_vacuum_3_chart_setpointx?:IValue,
|
||||
upperplate_vacuum_3_chart_setpointy?:IValue,
|
||||
upperplate_vacuum_manual?:IValue,
|
||||
upperplate_extraction_enable?:IValue,
|
||||
upperplate_extraction_delay?:IValue,
|
||||
upperplate_extraction_1_chart_setpointx?:IValue,
|
||||
upperplate_extraction_1_chart_setpointy?:IValue,
|
||||
upperplate_extraction_manual?:IValue,
|
||||
cooling_blowing_type?:IValue,
|
||||
cooling_blowing_delay?:IValue,
|
||||
cooling_blowing_time?:IValue,
|
||||
cooling_pyrometer_enabled?:IValue,
|
||||
cooling_pyrometer_setpoint?:IValue,
|
||||
cooling_pyrometer_delay?:IValue,
|
||||
cooling_nebulizer_type?:IValue,
|
||||
cooling_nebulizer_delay?:IValue,
|
||||
cooling_nebulizer_time?:IValue,
|
||||
cooling_telescopic_enable?:IValue,
|
||||
cooling_telescopic_position?:IValue,
|
||||
cooling_telescopic_swing_enable?:IValue,
|
||||
cooling_telescopic_swing_stroke?:IValue,
|
||||
cooling_shutter_1_opening_perc?:IValue,
|
||||
cooling_shutter_2_opening_perc?:IValue,
|
||||
cooling_shutter_3_opening_perc?:IValue,
|
||||
cooling_shutter_4_opening_perc?:IValue,
|
||||
cooling_shutter_5_opening_perc?:IValue,
|
||||
cooling_shutter_6_opening_perc?:IValue,
|
||||
cooling_shutter_7_opening_perc?:IValue,
|
||||
cooling_shutter_8_opening_perc?:IValue,
|
||||
cooling_shutter_9_opening_perc?:IValue,
|
||||
cooling_shutter_10_opening_perc?:IValue,
|
||||
cooling_shutter_11_opening_perc?:IValue,
|
||||
cooling_shutter_12_opening_perc?:IValue,
|
||||
cooling_shutter_13_opening_perc?:IValue,
|
||||
cooling_shutter_14_opening_perc?:IValue,
|
||||
cooling_shutter_15_opening_perc?:IValue,
|
||||
cooling_shutter_16_opening_perc?:IValue,
|
||||
|
||||
|
||||
vacuum_main_start?:IValue,
|
||||
vacuum_main_delay?:IValue,
|
||||
vacuum_main_max_time?:IValue,
|
||||
vacuum_main_1_chart_setpointx?:IValue,
|
||||
vacuum_main_1_chart_setpointy?:IValue,
|
||||
vacuum_main_2_chart_setpointx?:IValue,
|
||||
vacuum_main_2_chart_setpointy?:IValue,
|
||||
vacuum_main_3_chart_setpointx?:IValue,
|
||||
vacuum_main_3_chart_setpointy?:IValue,
|
||||
vacuum_main_manual?:IValue,
|
||||
vacuum_direct_enabled?:IValue,
|
||||
vacuum_direct_delay?:IValue,
|
||||
vacuum_direct_time?:IValue,
|
||||
vacuum_aux_enabled?:IValue,
|
||||
vacuum_aux_delay?:IValue,
|
||||
vacuum_aux_max_time?:IValue,
|
||||
vacuum_aux_1_chart_setpointx?:IValue,
|
||||
vacuum_aux_1_chart_setpointy?:IValue,
|
||||
vacuum_aux_2_chart_setpointx?:IValue,
|
||||
vacuum_aux_2_chart_setpointy?:IValue,
|
||||
vacuum_aux_3_chart_setpointx?:IValue,
|
||||
vacuum_aux_3_chart_setpointy?:IValue,
|
||||
vacuum_aux_manual?:IValue,
|
||||
vacuum_pre_enabled?:IValue,
|
||||
vacuum_pre_delay?:IValue,
|
||||
vacuum_pre_max_time?:IValue,
|
||||
vacuum_pre_1_chart_setpointx?:IValue,
|
||||
vacuum_pre_1_chart_setpointy?:IValue,
|
||||
vacuum_pre_2_chart_setpointx?:IValue,
|
||||
vacuum_pre_2_chart_setpointy?:IValue,
|
||||
vacuum_pre_3_chart_setpointx?:IValue,
|
||||
vacuum_pre_3_chart_setpointy?:IValue,
|
||||
|
||||
|
||||
extraction_main_type?:IValue,
|
||||
extraction_main_mould_dw_delay?:IValue,
|
||||
extraction_main_delay?:IValue,
|
||||
extraction_main_1_chart_setpointx?:IValue,
|
||||
extraction_main_1_chart_setpointy?:IValue,
|
||||
extraction_main_manual?:IValue,
|
||||
extraction_aux_enabled?:IValue,
|
||||
extraction_aux_delay?:IValue,
|
||||
extraction_aux_1_chart_setpointx?:IValue,
|
||||
extraction_aux_1_chart_setpointy?:IValue,
|
||||
extraction_aux_manual?:IValue,
|
||||
|
||||
options_undercutmould_1_mode?:IValue,
|
||||
options_undercutmould_1_position?:IValue,
|
||||
options_undercutmould_1_delay_acti?:IValue,
|
||||
options_undercutmould_1_delay_dis?:IValue,
|
||||
options_undercutmould_2_mode?:IValue,
|
||||
options_undercutmould_2_position?:IValue,
|
||||
options_undercutmould_2_delay_acti?:IValue,
|
||||
options_undercutmould_2_delay_dis?:IValue,
|
||||
options_undercutmould_3_mode?:IValue,
|
||||
options_undercutmould_3_position?:IValue,
|
||||
options_undercutmould_3_delay_acti?:IValue,
|
||||
options_undercutmould_3_delay_dis?:IValue,
|
||||
options_undercutmould_4_mode?:IValue,
|
||||
options_undercutmould_4_position?:IValue,
|
||||
options_undercutmould_4_delay_acti?:IValue,
|
||||
options_undercutmould_4_delay_dis?:IValue,
|
||||
options_undercutmould_5_mode?:IValue,
|
||||
options_undercutmould_5_position?:IValue,
|
||||
options_undercutmould_5_delay_acti?:IValue,
|
||||
options_undercutmould_5_delay_dis?:IValue,
|
||||
options_undercutmould_6_mode?:IValue,
|
||||
options_undercutmould_6_position?:IValue,
|
||||
options_undercutmould_6_delay_acti?:IValue,
|
||||
options_undercutmould_6_delay_dis?:IValue,
|
||||
options_undercutmould_7_mode?:IValue,
|
||||
options_undercutmould_7_position?:IValue,
|
||||
options_undercutmould_7_delay_acti?:IValue,
|
||||
options_undercutmould_7_delay_dis?:IValue,
|
||||
options_undercutmould_8_mode?:IValue,
|
||||
options_undercutmould_8_position?:IValue,
|
||||
options_undercutmould_8_delay_acti?:IValue,
|
||||
options_undercutmould_8_delay_dis?:IValue,
|
||||
options_undercutmould_9_mode?:IValue,
|
||||
options_undercutmould_9_position?:IValue,
|
||||
options_undercutmould_9_delay_acti?:IValue,
|
||||
options_undercutmould_9_delay_dis?:IValue,
|
||||
options_undercutmould_10_mode?:IValue,
|
||||
options_undercutmould_10_position?:IValue,
|
||||
options_undercutmould_10_delay_acti?:IValue,
|
||||
options_undercutmould_10_delay_dis?:IValue,
|
||||
|
||||
options_undercutupperplate_1_mode?:IValue,
|
||||
options_undercutupperplate_1_position?:IValue,
|
||||
options_undercutupperplate_1_delay_acti?:IValue,
|
||||
options_undercutupperplate_1_delay_dis?:IValue,
|
||||
options_undercutupperplate_2_mode?:IValue,
|
||||
options_undercutupperplate_2_position?:IValue,
|
||||
options_undercutupperplate_2_delay_acti?:IValue,
|
||||
options_undercutupperplate_2_delay_dis?:IValue,
|
||||
options_undercutupperplate_3_mode?:IValue,
|
||||
options_undercutupperplate_3_position?:IValue,
|
||||
options_undercutupperplate_3_delay_acti?:IValue,
|
||||
options_undercutupperplate_3_delay_dis?:IValue,
|
||||
options_undercutupperplate_4_mode?:IValue,
|
||||
options_undercutupperplate_4_position?:IValue,
|
||||
options_undercutupperplate_4_delay_acti?:IValue,
|
||||
options_undercutupperplate_4_delay_dis?:IValue,
|
||||
options_undercutupperplate_5_mode?:IValue,
|
||||
options_undercutupperplate_5_position?:IValue,
|
||||
options_undercutupperplate_5_delay_acti?:IValue,
|
||||
options_undercutupperplate_5_delay_dis?:IValue,
|
||||
options_undercutupperplate_6_mode?:IValue,
|
||||
options_undercutupperplate_6_position?:IValue,
|
||||
options_undercutupperplate_6_delay_acti?:IValue,
|
||||
options_undercutupperplate_6_delay_dis?:IValue,
|
||||
options_undercutupperplate_7_mode?:IValue,
|
||||
options_undercutupperplate_7_position?:IValue,
|
||||
options_undercutupperplate_7_delay_acti?:IValue,
|
||||
options_undercutupperplate_7_delay_dis?:IValue,
|
||||
options_undercutupperplate_8_mode?:IValue,
|
||||
options_undercutupperplate_8_position?:IValue,
|
||||
options_undercutupperplate_8_delay_acti?:IValue,
|
||||
options_undercutupperplate_8_delay_dis?:IValue,
|
||||
options_undercutupperplate_9_mode?:IValue,
|
||||
options_undercutupperplate_9_position?:IValue,
|
||||
options_undercutupperplate_9_delay_acti?:IValue,
|
||||
options_undercutupperplate_9_delay_dis?:IValue,
|
||||
options_undercutupperplate_10_mode?:IValue,
|
||||
options_undercutupperplate_10_position?:IValue,
|
||||
options_undercutupperplate_10_delay_acti?:IValue,
|
||||
options_undercutupperplate_10_delay_dis?:IValue,
|
||||
|
||||
options_thermoregulator_1_enabled?:IValue,
|
||||
options_thermoregulator_1_setpoint?:IValue,
|
||||
options_thermoregulator_2_enabled?:IValue,
|
||||
options_thermoregulator_2_setpoint?:IValue,
|
||||
options_thermoregulator_3_enabled?:IValue,
|
||||
options_thermoregulator_3_setpoint?:IValue,
|
||||
options_thermoregulator_4_enabled?:IValue,
|
||||
options_thermoregulator_4_setpoint?:IValue,
|
||||
options_thermoregulator_5_enabled?:IValue,
|
||||
options_thermoregulator_5_setpoint?:IValue,
|
||||
options_thermoregulator_6_enabled?:IValue,
|
||||
options_thermoregulator_6_setpoint?:IValue,
|
||||
options_thermoregulator_7_enabled?:IValue,
|
||||
options_thermoregulator_7_setpoint?:IValue,
|
||||
options_thermoregulator_8_enabled?:IValue,
|
||||
options_thermoregulator_8_setpoint?:IValue,
|
||||
options_thermoregulator_9_enabled?:IValue,
|
||||
options_thermoregulator_9_setpoint?:IValue,
|
||||
options_thermoregulator_10_enabled?:IValue,
|
||||
options_thermoregulator_10_setpoint?:IValue,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
declare module Overview {
|
||||
interface IOverview{
|
||||
|
||||
general:string,
|
||||
positions:string,
|
||||
cycle: string,
|
||||
heats: string,
|
||||
pyrometer: string,
|
||||
drawing: string,
|
||||
upperPlate: string,
|
||||
cooling: string,
|
||||
vacuum: string,
|
||||
extraction: string,
|
||||
options: string
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,9 @@ import { ModalContainer, ModalNcContainer } from "./modules/base-components";
|
||||
import { ModalHelper } from "@/components/modals"
|
||||
import { store, appModelActions, machineStatusActions } from "@/store";
|
||||
import { underTheHood } from "@/app_modules/under-the-hood";
|
||||
import SwitchButton from "@/app_modules_thermo/components/paddle/switch-button.vue";
|
||||
import Sidebar from "@/app_modules_thermo/components/paddle/sidebar.vue";
|
||||
import ToggleButton from "@/components/toggleButton.vue";
|
||||
|
||||
|
||||
import * as iziToast from "izitoast";
|
||||
@@ -30,6 +33,8 @@ declare var cmsClient;
|
||||
appFooter: Footer,
|
||||
modalContainer: ModalContainer,
|
||||
modalNcContainer: ModalNcContainer,
|
||||
switchButton: SwitchButton,
|
||||
sidebar: Sidebar,
|
||||
alarmList,
|
||||
underTheHood,
|
||||
}
|
||||
@@ -39,6 +44,7 @@ export default class app extends Vue {
|
||||
$route: any;
|
||||
$router:any;
|
||||
|
||||
|
||||
state = this.$store.state;
|
||||
applyBlur = false;
|
||||
showHeaderOnBlur = false;
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<under-the-hood :class="{'blur':(applyBlur || applyBlurNc)}"></under-the-hood>
|
||||
<div id="main-view" ref="main-view" :class="{liftedUp : isMainViewLiftedUp,'blur':(applyBlur || applyBlurNc)}" >
|
||||
<router-view :class="{'blur':applyBlurInternal}" />
|
||||
|
||||
<modal-container name="modal" container-name="modal-internal" :inform-hmi="false" ></modal-container>
|
||||
</div>
|
||||
<div id="main-view-handler" ref="main-view-handler" @click="toggleMainView()" :class="{liftedUp : isMainViewLiftedUp,liftedDw : !isMainViewLiftedUp,'blur':(applyBlur || applyBlurNc)}">
|
||||
@@ -18,6 +17,13 @@
|
||||
</div>
|
||||
</vue-gesture>
|
||||
</div>
|
||||
|
||||
<nav :class="{'blur':(applyBlur || applyBlurNc)}">
|
||||
<switch-button></switch-button>
|
||||
</nav>
|
||||
|
||||
<sidebar></sidebar>
|
||||
|
||||
<app-footer :class="{'blur':(applyBlur || applyBlurNc)}"></app-footer>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -16,6 +16,7 @@ import ShowEstrazioneInfo from "@/app_modules_thermo/setup/estrazione/components
|
||||
import ShowVuotoInfo from "@/app_modules_thermo/setup/vuoto/show-vuoto-info.vue";
|
||||
import ShowImbutituraInfo from "@/app_modules_thermo/setup/imbutitura/show-imbutitura-info.vue";
|
||||
import ShowOpzioniInfo from "@/app_modules_thermo/setup/opzioni/show-opzioni-info.vue";
|
||||
import AvvioProduzione from "@/app_modules_thermo/setup/avvio-pruduzione/avvio-produzione.vue";
|
||||
import ShowArretramentoRiscaldiInfo from "@/app_modules_thermo/processo/arretramento-riscaldi/show-arretramento-riscladi-info.vue";
|
||||
// import { DataService } from "./services/dataService";
|
||||
// import { ToolingService } from "./services/toolingService";
|
||||
@@ -51,6 +52,7 @@ let HMIScreenshotInterval;
|
||||
let HMIprodTimeout;
|
||||
let RerenderInterval;
|
||||
|
||||
messageService.subscribeToChannel("show-avvio-produzione-info", () => { ModalHelper.ShowModal(AvvioProduzione); });
|
||||
messageService.subscribeToChannel("show-arretramento-riscaldi-info", () => { ModalHelper.ShowModal(ShowArretramentoRiscaldiInfo); });
|
||||
messageService.subscribeToChannel("show-opzioni-info", () => { ModalHelper.ShowModal(ShowOpzioniInfo); });
|
||||
messageService.subscribeToChannel("show-vuoto-info", () => { ModalHelper.ShowModal(ShowVuotoInfo); });
|
||||
|
||||
@@ -133,7 +133,7 @@ export default class alarmsList extends Vue {
|
||||
|
||||
public get opened(): boolean {
|
||||
return this.$store.state.alarms.opened;
|
||||
}
|
||||
}
|
||||
|
||||
public get serviceOpened(): boolean {
|
||||
return this.$store.state.alarms.serviceOpened;
|
||||
|
||||
@@ -14,7 +14,7 @@ export default class Login extends Vue {
|
||||
$router: any;
|
||||
|
||||
public user: server.loginViewModel = { password: null, username: null };
|
||||
public hasError: boolean = false;
|
||||
public hasError: boolean = false;
|
||||
|
||||
public logginIn: boolean = false;
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import Vue from "vue";
|
||||
import Component from "vue-class-component";
|
||||
import {paddleActions} from '@/store/paddle.store';
|
||||
import ToggleButton from "@/components/toggleButton.vue";
|
||||
|
||||
@Component({name: 'sidebar',components: { toggleButton:ToggleButton } })
|
||||
export default class Sidebar extends Vue{
|
||||
|
||||
azione1:boolean=false;
|
||||
azione2:boolean=false;
|
||||
|
||||
isPanelOpen(){
|
||||
return this.$store.state.paddle.isNavOpen;
|
||||
}
|
||||
|
||||
closeSidebarPanel() {
|
||||
paddleActions.Toggle(this.$store);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<div class="sidebar">
|
||||
<div class="sidebar-backdrop" @click="closeSidebarPanel()" v-if="isPanelOpen()"></div>
|
||||
<!-- <transition name="slide"> -->
|
||||
<transition>
|
||||
|
||||
<div v-if="isPanelOpen()" class="sidebar-panel">
|
||||
|
||||
<div class="text-head-sidebar">
|
||||
<label>Pulsanti personalizzati</label>
|
||||
</div>
|
||||
|
||||
<div class="box-sidebar-panel">
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle">
|
||||
<img src="assets/icons/svg/paddle-riscaldo.svg" />
|
||||
<label>Estensione riscaldo 20 secondi</label>
|
||||
<i class="fa fa-cog gear-box-paddle"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle">
|
||||
<img src="assets/icons/svg/paddle-altra-funzione.svg" />
|
||||
<label>Altra funzione tasto fisico della tastiera</label>
|
||||
<i class="fa fa-cog gear-box-paddle"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-head-sidebar">
|
||||
<label>Soft keys</label>
|
||||
</div>
|
||||
|
||||
<div class="box-sidebar-panel">
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<label>Estensione riscaldo 20 secondi</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<toggle-button v-model="azione1"></toggle-button>
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<toggle-button v-model="azione2"></toggle-button>
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebar-panel-nav">
|
||||
<div class="text-box-paddle text-soft">
|
||||
<label>Nome azione soft key</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <i class="fa fa-cog gear-sidebar-paddle"></i> -->
|
||||
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./sidebar.ts" />
|
||||
@@ -0,0 +1,15 @@
|
||||
import Vue from "vue";
|
||||
import Component from "vue-class-component";
|
||||
import {paddleActions} from '@/store/paddle.store.ts';
|
||||
|
||||
@Component({name: 'switch-button'})
|
||||
export default class SwitchButton extends Vue{
|
||||
|
||||
isSwitchActive(){
|
||||
return this.$store.state.paddle.isNavOpen;
|
||||
}
|
||||
|
||||
togglePaddle() {
|
||||
paddleActions.Toggle(this.$store);
|
||||
}
|
||||
}
|
||||