Compare commits
373 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 125532639a | |||
| fac2b5fa8d | |||
| 928c0d20f9 | |||
| 685c77e721 | |||
| 808e3f1223 | |||
| 3c2bc0a48e | |||
| ef98320bdc | |||
| 9094d3eb50 | |||
| a4c704fad6 | |||
| 7915adfc3c | |||
| be7f268d2f | |||
| 5064d30221 | |||
| f0ceb42b92 | |||
| a135ad689a | |||
| 29020bb948 | |||
| e0bd76d0b7 | |||
| 3a18b0e5d3 | |||
| 87703058ac | |||
| 6776a4894d | |||
| cd478f16e4 | |||
| 695d6841f0 | |||
| 6f81be6ebe | |||
| 41563cc332 | |||
| 2493f0117e | |||
| 8370141583 | |||
| 7fe7539fe8 | |||
| 8f7c780edd | |||
| 040eed1fcd | |||
| f5f41e4c65 | |||
| 2043417668 | |||
| 579fa79bb6 | |||
| d482a7551b | |||
| d3a9de2a3b | |||
| 9347ed95b7 | |||
| 90e03e2160 | |||
| ec6ba38e8b | |||
| 6de2453bb4 | |||
| 935d7879e7 | |||
| c0306d9644 | |||
| 80e67bb793 | |||
| ebd0921753 | |||
| fa54e5d1e9 | |||
| 55e1961cf2 | |||
| 1f110b009b | |||
| 6fafed419f | |||
| 4c5a61d69f | |||
| cd18c6a9d3 | |||
| 23df0dbc24 | |||
| fbe3f68397 | |||
| 0a1400389f | |||
| ae6767a89d | |||
| d3f48fdcdd | |||
| 903f1a9638 | |||
| 1155cf1680 | |||
| 6f51ff274a | |||
| 4030919f9e | |||
| e56a5daefc | |||
| 6d2ffff97b | |||
| 134aaf31d4 | |||
| 7b76ea602e | |||
| 108cd688cd | |||
| 06eb1a4bc8 | |||
| 08dd11701e | |||
| 2f5eaed707 | |||
| 7d072f9bd6 | |||
| cb72e13724 | |||
| 6e5bf0888f | |||
| 4fa253fd3b | |||
| 169c07fc1a | |||
| fbe619e498 | |||
| e3f9a09063 | |||
| 097de061bf | |||
| 1c623cf512 | |||
| cbaa4bb359 | |||
| 1e5fd252d4 | |||
| d8580afd77 | |||
| ce5869f90a | |||
| dd8793a31d | |||
| 5c17d598bb | |||
| 82a25ae070 | |||
| 614105c35a | |||
| fd6648432f | |||
| 4a17830c07 | |||
| 0b5a49122d | |||
| 407d95e8e3 | |||
| 6032712414 | |||
| 1fb1bba657 | |||
| 75b4337c75 | |||
| 40664d6136 | |||
| 73d5b93c59 | |||
| bb80dc5a38 | |||
| e070a6be6e | |||
| 34779f5a31 | |||
| c80cdb8644 | |||
| 50d0c4a948 | |||
| a5436bb717 | |||
| 2f9dbd8111 | |||
| 8abc6f00c0 | |||
| a282429e3c | |||
| 49c85f347a | |||
| f58068b4f7 | |||
| 11fb2c2355 | |||
| ba3a340815 | |||
| 8a1b28020e | |||
| 00dcc638fc | |||
| cd2f21fe01 | |||
| ebbaa76054 | |||
| 8324bcf297 | |||
| f9de12a971 | |||
| 2f8c6d643a | |||
| b14d506eb2 | |||
| ccf8cd265e | |||
| 82e400b08d | |||
| dd6f280c96 | |||
| ade296ce56 | |||
| 8dd26f73d1 | |||
| a03571793e | |||
| 1d77adc01c | |||
| 73be1bb58b | |||
| a5a76d35c4 | |||
| 782caef28a | |||
| 61a5c50476 | |||
| 9fac539cfd | |||
| d0276438a4 | |||
| 4f947f0b65 | |||
| c7b96e4d78 | |||
| 3a17e13224 | |||
| f28cbfe2ec | |||
| 3efcfef9d8 | |||
| e5961d7685 | |||
| 01ac4b071e | |||
| 06f85a3e3e | |||
| 2a51a1535d | |||
| d987cef604 | |||
| 5400408355 | |||
| 78c046f117 | |||
| 339c9e1220 | |||
| c3b211fa01 | |||
| eca0787248 | |||
| 0bda8aa748 | |||
| 2f8277924a | |||
| 1862fe641b | |||
| fd0c51a72d | |||
| 4a3dba9399 | |||
| eaff5729dc | |||
| aa2bd2d1a1 | |||
| 6586840f27 | |||
| 8b447ade4a | |||
| 20a864bfb5 | |||
| 819051002e | |||
| d2e0a4eb15 | |||
| c6a108d29a | |||
| 133bec82e4 | |||
| 9aff944b49 | |||
| d51c900173 | |||
| a87b2623e0 | |||
| 6d98d185f7 | |||
| 8743f1f924 | |||
| 0d042b8698 | |||
| e29358c4ef | |||
| 44bb957508 | |||
| 5f7941f479 | |||
| d21efcb78f | |||
| 6d52ccdc9c | |||
| c857cffbe5 | |||
| d71bfe36ba | |||
| b52c2d740f | |||
| 2fd2012dd3 | |||
| d7859a61fa | |||
| 835ba31638 | |||
| 1ea2f3182a | |||
| bdc0ce1aa5 | |||
| 31519c303b | |||
| 0cfbbe069a | |||
| 04f9a8155e | |||
| de8daee8f9 | |||
| 8ccd5fc06b | |||
| d653391253 | |||
| 7ba5090dd3 | |||
| 698fd47177 | |||
| 08c6ca521a | |||
| 8d661f0bda | |||
| a44813c8a4 | |||
| 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 | |||
| f3b3028167 | |||
| d367532d11 | |||
| 302456b21b | |||
| 6dc2678ecb | |||
| 99ea0958cd | |||
| 2c578a7944 | |||
| 2237e78dd0 | |||
| 71e16325b9 | |||
| 5f2540210f | |||
| 42d162c029 | |||
| 3b1528fd07 | |||
| ef2f3d7874 | |||
| 16782271a4 | |||
| 955d52b977 | |||
| 439c70f70d | |||
| d86e6b053a | |||
| 36099630a9 | |||
| e42266ffc2 | |||
| d0fabaac69 | |||
| 22310fa8a7 | |||
| 0365bfd7b2 | |||
| 786a0b234d | |||
| 7a52c9ffa5 | |||
| eeded21849 | |||
| 414d8ab889 | |||
| a353a0f628 | |||
| 5ed8386e2b | |||
| bc0a33cf7f | |||
| dcb65ad4f3 | |||
| 74c85acd2b | |||
| 117a6288bb | |||
| 95484c7ee7 | |||
| a39cefbfba | |||
| 328d5f618e | |||
| ada12efca2 | |||
| 4db37d663f | |||
| 20a271290d | |||
| bbfe28edc7 | |||
| 180334822b | |||
| 63b09c1dfb | |||
| ea32e6b506 | |||
| 74a998696f | |||
| e65ba32e09 | |||
| 2e8f0f6066 | |||
| 2199c86229 | |||
| e93711fc96 | |||
| f4223d6de0 | |||
| 61ad9a934f | |||
| fcab3a8e3d | |||
| 769699a130 | |||
| 02a8dc4ef7 | |||
| 8efdf51863 | |||
| bbec4b5306 | |||
| 06d4dc316d | |||
| 1bf5534380 | |||
| 1fb1445677 | |||
| 39bd0a2eb8 | |||
| b41417da56 | |||
| 7d496ee811 | |||
| 426eaeea95 | |||
| 1a3f7972a1 | |||
| 535082d311 | |||
| ead2383084 | |||
| 627fd320ae | |||
| c14e24caa2 | |||
| 492836c2eb | |||
| fe3374c16a | |||
| 69767cf627 | |||
| f46e818d18 | |||
| 4b3b0b6228 | |||
| 2a030da24a | |||
| 98ecbe05de | |||
| 0c48eec85c | |||
| eb631908bf | |||
| a2fa132ee2 | |||
| 92380255a6 | |||
| 3532ef89f5 | |||
| 9a21aae816 | |||
| 4830160763 | |||
| 821f0276c7 | |||
| 4b2553056c | |||
| 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,41 @@
|
||||
<?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:element name="scaleFactor" type="xs:int" default="1"/>
|
||||
</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, int> 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,16 @@ 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 List<RiskBoardModel> RiskBoardConfig;
|
||||
|
||||
public static LiveData RecipeLiveData = new LiveData();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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,17 @@ namespace Thermo.Active.Config
|
||||
ReadUserSoftKeysConfig();
|
||||
ReadAlarmsConfig();
|
||||
ReadHeadsConfig();
|
||||
ReadRecipeConfig();
|
||||
ReadModBlockConfig();
|
||||
ReadRiskConfig();
|
||||
// ReadCMSConnectConfig();
|
||||
ReadMacros();
|
||||
ReadScadaFile();
|
||||
//ReadMainProgram();
|
||||
}
|
||||
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 +53,29 @@ 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);
|
||||
}
|
||||
}
|
||||
public static void ReadLastRecipe()
|
||||
{
|
||||
try
|
||||
{
|
||||
ReadLiveData();
|
||||
}
|
||||
catch (XmlException ex)
|
||||
{
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.FATAL,
|
||||
"Error while reading file: " + ex.SourceUri +
|
||||
"\n Error: " + ex.Message,
|
||||
true
|
||||
);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var message = ex.Message;
|
||||
if (ex.InnerException != null)
|
||||
message += "\n" + ex.InnerException.Message;
|
||||
ExceptionManager.ManageError(ERROR_LEVEL.FATAL, message, true);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +84,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 +94,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 +154,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 +182,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 +230,7 @@ namespace Thermo.Active.Config
|
||||
}
|
||||
|
||||
private static void ReadScadaFile()
|
||||
{
|
||||
{
|
||||
DirectoryInfo d = new DirectoryInfo(SCADA_DIRECTORY);
|
||||
FileInfo[] files = d.GetFiles("*.xml");
|
||||
|
||||
@@ -217,7 +242,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 +255,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 +302,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 +311,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 +327,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 +370,7 @@ namespace Thermo.Active.Config
|
||||
XDocument xmlConfigFile = GetXmlHandlerWithValidator(MAINTENANCES_CONFIG_SCHEMA_PATH, MAINTENANCES_CONFIG_PATH);
|
||||
|
||||
ReadAssistanceConfig();
|
||||
|
||||
|
||||
MaintenancesConfig = xmlConfigFile
|
||||
.Descendants("maintenances")
|
||||
.Elements("maintenance")
|
||||
@@ -373,11 +399,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 +570,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 +597,202 @@ 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,
|
||||
ScaleFactor = Convert.ToInt16(x.Element("scaleFactor").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),
|
||||
Modello = x.Attribute("modello").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 currIdBoard = 0;
|
||||
RiskBoardConfig = new List<RiskBoardModel>();
|
||||
RiskResistConfig = new List<RiskResistModel>();
|
||||
RiskChannelConfig = new List<RiskChannelModel>();
|
||||
|
||||
// inizializzo le 64 schede a 0 canali...
|
||||
for (int idxBoard = 0; idxBoard < 64; idxBoard++)
|
||||
{
|
||||
RiskBoardConfig.Add(new RiskBoardModel()
|
||||
{
|
||||
IdBoard = idxBoard,
|
||||
NumChannels = 0
|
||||
});
|
||||
}
|
||||
|
||||
// ciclo x calcolare i canali
|
||||
foreach (var riflettore in Riflettori)
|
||||
{
|
||||
// ciclo sulle resistenze
|
||||
foreach (var resistenza in riflettore.Resistenze)
|
||||
{
|
||||
// cerco la scheda dato il canale... 16 ch x ogni scheda
|
||||
currIdBoard = (resistenza.Canale - 1) / 16;
|
||||
// cerco se ho già la scheda
|
||||
var boardFound = RiskBoardConfig.Find(item => item.IdBoard == currIdBoard);
|
||||
if (boardFound == null)
|
||||
{
|
||||
RiskBoardConfig.Add(new RiskBoardModel()
|
||||
{
|
||||
IdBoard = currIdBoard,
|
||||
NumChannels = 1
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
boardFound.NumChannels += 1;
|
||||
}
|
||||
|
||||
|
||||
// cerco se ho già il canale
|
||||
var chanFound = RiskChannelConfig.Find(item => item.IdChannel == resistenza.Canale);
|
||||
if (chanFound == 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,
|
||||
NumResist = 1,
|
||||
CalcIchMin = riferimento.Modello.Contains("Quarzo")
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
chanFound.NumResist += 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 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 +824,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 +848,189 @@ 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
|
||||
{ }
|
||||
// write template to current data...
|
||||
File.WriteAllText(LIVE_RECIPE_PATH, rawData);
|
||||
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,23 @@ 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 int modulesRtCounter = 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,15 +50,10 @@ public static class ThreadsFunctions
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
//if(errorCounter == MAX_NUM_OF_WATCHDOG_ERROR)
|
||||
//{
|
||||
|
||||
//}
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Manage watchdog
|
||||
libraryError = ncAdapter.ManageWatchdog();
|
||||
@@ -65,7 +63,7 @@ public static class ThreadsFunctions
|
||||
errorCounter++;
|
||||
}
|
||||
else if (libraryError == NO_ERROR)
|
||||
errorCounter = 0;
|
||||
errorCounter = 0;
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
@@ -85,6 +83,132 @@ public static class ThreadsFunctions
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manage status/command words for actions
|
||||
/// </summary>
|
||||
public static void ManageStatusCommand()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
try
|
||||
{
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Manage status command
|
||||
libraryError = ncAdapter.ManageStatusCommand();
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(250, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException ex)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manage action for conf request
|
||||
/// </summary>
|
||||
public static void ManageConfRequest()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
try
|
||||
{
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Manage status command
|
||||
libraryError = ncAdapter.ManageConfRequest();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(2000, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException ex)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Manage action for conf request
|
||||
/// </summary>
|
||||
public static void ManageProdUpdate()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
try
|
||||
{
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
while (true)
|
||||
{
|
||||
sw.Restart();
|
||||
|
||||
// Check if client is connected
|
||||
if (ncAdapter.numericalControl.NC_IsConnected())
|
||||
{
|
||||
// Manage status command
|
||||
libraryError = ncAdapter.ManageProdUpdate();
|
||||
if (libraryError.errorCode != 0)
|
||||
ManageLibraryError(libraryError);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
//Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(1000, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException ex)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public static void ReadAlarms()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
@@ -375,6 +499,7 @@ public static class ThreadsFunctions
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadHeadsData()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
@@ -417,7 +542,8 @@ public static class ThreadsFunctions
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void ReadAxesNamesData()
|
||||
{
|
||||
@@ -507,6 +633,7 @@ public static class ThreadsFunctions
|
||||
}
|
||||
}
|
||||
|
||||
#if false
|
||||
public static void ReadActiveProgramData()
|
||||
{
|
||||
NcFileAdapter ncAdapter = new NcFileAdapter();
|
||||
@@ -550,8 +677,10 @@ public static class ThreadsFunctions
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if false
|
||||
public static void ReadPartProgramQueueData()
|
||||
{
|
||||
NcFileAdapter ncAdapter = new NcFileAdapter();
|
||||
@@ -597,9 +726,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 +773,303 @@ 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 ? 4 : 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(500, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadWarmersData()
|
||||
{
|
||||
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.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
// pubblico
|
||||
MessageServices.Current.Publish(SEND_THERMO_WARMERS_DATA, null, currWarmers);
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
sw.Stop();
|
||||
|
||||
// Update thread timer
|
||||
UpdateStat(MethodBase.GetCurrentMethod().Name, sw.ElapsedMilliseconds);
|
||||
// Wait
|
||||
Thread.Sleep(CalcSleepTime(1000, (int)sw.ElapsedMilliseconds));
|
||||
}
|
||||
}
|
||||
catch (ThreadAbortException)
|
||||
{
|
||||
ncAdapter.Dispose();
|
||||
}
|
||||
}
|
||||
public static void ReadAreaData()
|
||||
{
|
||||
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... info x area lastra... la % di X / Y
|
||||
libraryError = ncAdapter.GetWarmMaterialArea(out Dictionary<string, double> currAreaPerc);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
// pubblico
|
||||
MessageServices.Current.Publish(SEND_THERMO_AREA_DATA, null, currAreaPerc);
|
||||
}
|
||||
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 ReadModulesData()
|
||||
{
|
||||
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.ReadModulesBlock(out Dictionary<int, DTOModulesBlock> currModules);
|
||||
if (libraryError.IsError())
|
||||
ManageLibraryError(libraryError);
|
||||
|
||||
MessageServices.Current.Publish(SEND_THERMO_MODULE_DATA, null, currModules);
|
||||
}
|
||||
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 ReadM154Data()
|
||||
{
|
||||
NcAdapter ncAdapter = new NcAdapter();
|
||||
@@ -698,7 +1124,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 +1253,7 @@ public static class ThreadsFunctions
|
||||
{
|
||||
List<DTOLanguageModel> availableLanguages = LanguageController.GetLanguageListFromDirectory();
|
||||
if (availableLanguages == null)
|
||||
return ;
|
||||
return;
|
||||
|
||||
ICollection<CultureInfo> cultureInfos = new List<CultureInfo>();
|
||||
|
||||
@@ -838,7 +1264,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 +1273,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 +1287,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 +1297,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 +1316,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 +1401,7 @@ public static class ThreadsFunctions
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal static void UpdateStat(string functionName, long timer)
|
||||
{
|
||||
if (!Timers.ContainsKey(functionName))
|
||||
@@ -994,16 +1420,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";
|
||||
ThreadsHandler.RunningThreadStatus[value.Key] = $"{(Timers[value.Key] / Counter[value.Key])} ms x {Counter[value.Key]}";
|
||||
Timers[value.Key] = 0;
|
||||
Counter[value.Key] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MessageServices.Current.Publish(SEND_THREADS_STATUS, null, ThreadsHandler.RunningThreadStatus);
|
||||
|
||||
Thread.Sleep(2000);
|
||||
@@ -1107,7 +1533,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;
|
||||
}
|
||||
|
||||
@@ -11,21 +11,31 @@ namespace Thermo.Active.Core
|
||||
private static List<Action> ThreadsFunctionsList = new List<Action>
|
||||
{
|
||||
ThreadsFunctions.ManageWatchdog,
|
||||
ThreadsFunctions.ManageStatusCommand,
|
||||
ThreadsFunctions.ManageConfRequest,
|
||||
ThreadsFunctions.ManageProdUpdate,
|
||||
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.ReadNcSoftKeysData,
|
||||
ThreadsFunctions.ReadGaugeData,
|
||||
ThreadsFunctions.ReadProdInfoData,
|
||||
ThreadsFunctions.ReadProdCycleData,
|
||||
ThreadsFunctions.ReadRecipeData,
|
||||
ThreadsFunctions.ReadWarmersData,
|
||||
ThreadsFunctions.ReadAreaData,
|
||||
ThreadsFunctions.ReadModulesData,
|
||||
ThreadsFunctions.ReadScadaData,
|
||||
ThreadsFunctions.ReadM154Data // levare?
|
||||
};
|
||||
private static Action ThreadSetupCmsConnect = ThreadsFunctions.SetupCmsConnect;
|
||||
|
||||
@@ -44,6 +54,7 @@ namespace Thermo.Active.Core
|
||||
{
|
||||
Thread t = new Thread(() => ThreadSetupCmsConnect());
|
||||
t.Start();
|
||||
Thread.Sleep(50);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +71,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,17 @@
|
||||
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; }
|
||||
public int ScaleFactor { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
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 string Modello;
|
||||
}
|
||||
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 NumResist;
|
||||
public bool CalcIchMin;
|
||||
}
|
||||
public class RiskBoardModel
|
||||
{
|
||||
public int IdBoard;
|
||||
public int NumChannels;
|
||||
}
|
||||
}
|
||||
@@ -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,16 @@ 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_AREA_DATA = "SEND_THERMO_AREA_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 +338,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 +381,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,123 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.Recipe
|
||||
{
|
||||
public class DTOModulesBlock
|
||||
{
|
||||
public int Id { get; set; } = 0;
|
||||
public string LocalizedLabel { get; set; } = "";
|
||||
public TACT_MBLOCK_TYPE Type { get; set; } = TACT_MBLOCK_TYPE.ND;
|
||||
public TACT_MBLOCK_SECTION Section { get; set; } = TACT_MBLOCK_SECTION.ND;
|
||||
public int IdParam { get; set; } = 0;
|
||||
public bool ShowDelay { get; set; } = false;
|
||||
public int Priority { get; set; } = 0;
|
||||
public int ActualDelay { get; set; } = 0;
|
||||
public int ActualDuration { get; set; } = 0;
|
||||
public int EstimatedDelay { get; set; } = 0;
|
||||
public int EstimatedDuration { get; set; } = 0;
|
||||
public List<short> PrecedingId { get; set; } = new List<short>();
|
||||
public bool Visible { get; set; } = false;
|
||||
public bool Running { get; set; } = false;
|
||||
public bool HasError { get; set; } = false;
|
||||
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is DTOModulesBlock item))
|
||||
return false;
|
||||
|
||||
if (Id!= item.Id)
|
||||
return false;
|
||||
if (LocalizedLabel != item.LocalizedLabel)
|
||||
return false;
|
||||
if (Type != item.Type)
|
||||
return false;
|
||||
if (Section != item.Section)
|
||||
return false;
|
||||
if (IdParam != item.IdParam)
|
||||
return false;
|
||||
if (ShowDelay != item.ShowDelay)
|
||||
return false;
|
||||
if (Priority != item.Priority)
|
||||
return false;
|
||||
if (ActualDelay != item.ActualDelay)
|
||||
return false;
|
||||
if (ActualDuration != item.ActualDuration)
|
||||
return false;
|
||||
if (EstimatedDelay != item.EstimatedDelay)
|
||||
return false;
|
||||
if (EstimatedDuration != item.EstimatedDuration)
|
||||
return false;
|
||||
if (!Enumerable.SequenceEqual(PrecedingId,item.PrecedingId))
|
||||
return false;
|
||||
if (Visible != item.Visible)
|
||||
return false;
|
||||
if (Running != item.Running)
|
||||
return false;
|
||||
if (HasError != item.HasError)
|
||||
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,18 @@
|
||||
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;
|
||||
public int ScaleFactor;
|
||||
}
|
||||
}
|
||||
@@ -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,98 @@
|
||||
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 int ScaleFactor { 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;
|
||||
if (ScaleFactor != item.ScaleFactor)
|
||||
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 SetpointHMI { 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 (SetpointHMI != item.SetpointHMI)
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Thermo.Active.Model.DTOModels.ThermoProd
|
||||
{
|
||||
|
||||
public enum Status
|
||||
{
|
||||
ND = 0,
|
||||
IDLE,
|
||||
RUNNING,
|
||||
HOLD,
|
||||
ALARM
|
||||
}
|
||||
public enum Mode
|
||||
{
|
||||
ND = -1,
|
||||
NOT_READY,
|
||||
MANUAL,
|
||||
AUTO,
|
||||
SETUP
|
||||
}
|
||||
public enum SubMode
|
||||
{
|
||||
ND = 0,
|
||||
SHEET,
|
||||
CYCLE_EMPTY,
|
||||
PRE_WARM
|
||||
}
|
||||
|
||||
|
||||
public class DTOProdCycle
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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" />
|
||||
@@ -134,6 +142,7 @@
|
||||
<Compile Include="DTOModels\MaintenanceModels\DTOMaintenanceNoteModel.cs" />
|
||||
<Compile Include="DTOModels\MaintenanceModels\DTONewMaintenanceModel.cs" />
|
||||
<Compile Include="DatabaseModels\MaintenanceNoteModel.cs" />
|
||||
<Compile Include="DTOModels\ThermoProd\DTOProdCycle.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DatabaseModels\UserModel.cs">
|
||||
<Generator>DtsGenerator</Generator>
|
||||
@@ -152,6 +161,17 @@
|
||||
<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>
|
||||
<ItemGroup>
|
||||
<Folder Include="DTOModels\ThermoModules\" />
|
||||
<Folder Include="DTOModels\ThermoRecipe\" />
|
||||
<Folder Include="DTOModels\ThermoWarmers\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -40,6 +40,7 @@ namespace Thermo.Active.UI
|
||||
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.resetSpindleHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetCountersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetMachineWorkingHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.StopServerItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.TXTstatus = new System.Windows.Forms.TextBox();
|
||||
@@ -67,7 +68,6 @@ namespace Thermo.Active.UI
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.resetSpindleHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetCountersToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetMachineWorkingHoursToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetMachineWorkingHoursToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.NotifyIconMenu.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
@@ -146,6 +146,14 @@ namespace Thermo.Active.UI
|
||||
this.resetCountersToolStripMenuItem.Visible = false;
|
||||
this.resetCountersToolStripMenuItem.Click += new System.EventHandler(this.resetCountersToolStripMenuItem_Click);
|
||||
//
|
||||
// resetMachineWorkingHoursToolStripMenuItem
|
||||
//
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Name = "resetMachineWorkingHoursToolStripMenuItem";
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Text = "Reset Machine Working Hours";
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Visible = false;
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator3
|
||||
//
|
||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||
@@ -315,6 +323,7 @@ namespace Thermo.Active.UI
|
||||
this.columnHeader2});
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.LISTThreadStatus, 2);
|
||||
this.LISTThreadStatus.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.LISTThreadStatus.HideSelection = false;
|
||||
this.LISTThreadStatus.Location = new System.Drawing.Point(3, 3);
|
||||
this.LISTThreadStatus.Name = "LISTThreadStatus";
|
||||
this.LISTThreadStatus.Size = new System.Drawing.Size(438, 283);
|
||||
@@ -355,14 +364,14 @@ namespace Thermo.Active.UI
|
||||
// closeCMSServerToolStripMenuItem
|
||||
//
|
||||
this.closeCMSServerToolStripMenuItem.Name = "closeCMSServerToolStripMenuItem";
|
||||
this.closeCMSServerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.closeCMSServerToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.closeCMSServerToolStripMenuItem.Text = "Close Active Server";
|
||||
this.closeCMSServerToolStripMenuItem.Click += new System.EventHandler(this.closeCMSServerToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(171, 6);
|
||||
//
|
||||
// serviceToolStripMenuItem
|
||||
//
|
||||
@@ -374,7 +383,7 @@ namespace Thermo.Active.UI
|
||||
this.resetCountersToolStripMenuItem1,
|
||||
this.resetMachineWorkingHoursToolStripMenuItem1});
|
||||
this.serviceToolStripMenuItem.Name = "serviceToolStripMenuItem";
|
||||
this.serviceToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.serviceToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.serviceToolStripMenuItem.Text = "Service";
|
||||
//
|
||||
// passwordToolStripMenuItem1
|
||||
@@ -416,14 +425,6 @@ namespace Thermo.Active.UI
|
||||
this.resetCountersToolStripMenuItem1.Visible = false;
|
||||
this.resetCountersToolStripMenuItem1.Click += new System.EventHandler(this.resetCountersToolStripMenuItem1_Click);
|
||||
//
|
||||
// resetMachineWorkingHoursToolStripMenuItem
|
||||
//
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Name = "resetMachineWorkingHoursToolStripMenuItem";
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Text = "Reset Machine Working Hours";
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Visible = false;
|
||||
this.resetMachineWorkingHoursToolStripMenuItem.Click += new System.EventHandler(this.resetMachineWorkingHoursToolStripMenuItem_Click);
|
||||
//
|
||||
// resetMachineWorkingHoursToolStripMenuItem1
|
||||
//
|
||||
this.resetMachineWorkingHoursToolStripMenuItem1.Name = "resetMachineWorkingHoursToolStripMenuItem1";
|
||||
@@ -440,7 +441,6 @@ namespace Thermo.Active.UI
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Margin = new System.Windows.Forms.Padding(2);
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Windows.Forms;
|
||||
using Thermo.Active.Model;
|
||||
using TeamDev.SDK.MVVM;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.StepLogger;
|
||||
using static Thermo.Active.Utils.ThermoActiveLogger;
|
||||
|
||||
namespace Thermo.Active.Utils
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
@@ -73,7 +69,7 @@
|
||||
<Compile Include="ExceptionManager.cs" />
|
||||
<Compile Include="LanguageController.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="StepLogger.cs" />
|
||||
<Compile Include="ThermoActiveLogger.cs" />
|
||||
<Compile Include="SupportFunctions.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -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>
|
||||
|
||||
@@ -4,7 +4,7 @@ using static Thermo.Active.Model.Constants;
|
||||
|
||||
namespace Thermo.Active.Utils
|
||||
{
|
||||
public static class StepLogger
|
||||
public static class ThermoActiveLogger
|
||||
{
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
@@ -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,50 @@ 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,
|
||||
ScaleFactor = x.ScaleFactor,
|
||||
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,48 @@
|
||||
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.Utils;
|
||||
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetCurrentModules | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadModulesBlock(out Dictionary<int, DTOModulesBlock> currModules);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetRecipeOverview error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok(currModules);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
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;
|
||||
using Thermo.Active.Utils;
|
||||
|
||||
namespace Thermo.Active.Controllers.WebApi
|
||||
{
|
||||
[RoutePrefix("api/prod")]
|
||||
public class ProdController : ApiController
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Request mode SETUP
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("mode/manual"), HttpPut]
|
||||
public IHttpActionResult RequestManual()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | RequestManual | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando strobe richiesta AUTO!
|
||||
CmsError cmsError = ncAdapter.StrobeMode(Model.DTOModels.ThermoProd.Mode.MANUAL);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"RequestManual error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Request mode AUTO
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("mode/auto"), HttpPut]
|
||||
public IHttpActionResult RequestAuto()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | RequestAuto | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando strobe richiesta AUTO!
|
||||
CmsError cmsError = ncAdapter.StrobeMode(Model.DTOModels.ThermoProd.Mode.AUTO);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"RequestAuto error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Request mode SETUP
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("mode/setup"), HttpPut]
|
||||
public IHttpActionResult RequestSetup()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | RequestSetup | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando strobe richiesta AUTO!
|
||||
CmsError cmsError = ncAdapter.StrobeMode(Model.DTOModels.ThermoProd.Mode.SETUP);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"RequestSetup error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Request start production
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("prod/start"), HttpPut]
|
||||
public IHttpActionResult StartProd(int requestQty, bool newWorkOrder)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | StartProd | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
//// scrivo sul PLC il comando strobe richiesta AUTO!
|
||||
//CmsError cmsError = ncAdapter.StrobeMode(Model.DTOModels.ThermoProd.Mode.SETUP);
|
||||
//if (cmsError.IsError())
|
||||
//{
|
||||
// ThermoActiveLogger.LogError($"RequestSetup error | {cmsError.exception}");
|
||||
// return BadRequest(cmsError.localizationKey);
|
||||
//}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Request production data from indexStart record for numRecord items (DESCENDING)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("prod/get"), HttpPut]
|
||||
public IHttpActionResult GetProd(int indexStart, int numRecord)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | StartProd | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
//// scrivo sul PLC il comando strobe richiesta AUTO!
|
||||
//CmsError cmsError = ncAdapter.StrobeMode(Model.DTOModels.ThermoProd.Mode.SETUP);
|
||||
//if (cmsError.IsError())
|
||||
//{
|
||||
// ThermoActiveLogger.LogError($"RequestSetup error | {cmsError.exception}");
|
||||
// return BadRequest(cmsError.localizationKey);
|
||||
//}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,525 @@
|
||||
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;
|
||||
using Thermo.Active.Utils;
|
||||
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetOverview | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
CmsError cmsError = ncAdapter.GetRecipeOverview(out Dictionary<string, RecipeCatStatus> currOverview);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetRecipeOverview error | {cmsError.exception}");
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetCurrentParameters | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetRecipeOverview error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok(currRecipe);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("update"), HttpPut]
|
||||
public IHttpActionResult WriteParameters(Dictionary<string, double> parametersList)
|
||||
{
|
||||
if (parametersList != null)
|
||||
{
|
||||
if (RecipeLiveData != null)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | WriteParameters | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// read recipe!
|
||||
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetRecipeOverview error | {cmsError.exception}");
|
||||
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
|
||||
{
|
||||
ThermoActiveLogger.LogError($"WriteParameters error | key not found: {item.Key}");
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
|
||||
// scrivo sul PLC
|
||||
ncAdapter.WriteRecipeParams(updtRecipe);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// non pronto!
|
||||
ThermoActiveLogger.LogError($"RecipeLiveData null | WriteParameters");
|
||||
return InternalServerError();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ThermoActiveLogger.LogError($"RecipeLiveData null | Empty Parameters");
|
||||
return BadRequest();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Confirm recipe modification (parameters: HMI --> PLC)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("confirm"), HttpPut]
|
||||
public IHttpActionResult ConfirmEdit()
|
||||
{
|
||||
if (RecipeLiveData != null)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Recipe ConfirmEdit | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando conferma!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
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();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// non pronto!
|
||||
ThermoActiveLogger.LogError($"RecipeLiveData null | Empty");
|
||||
return InternalServerError();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cancel recipe modification (parameters: PLC --> HMI)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("cancel"), HttpPut]
|
||||
public IHttpActionResult CancelEdit()
|
||||
{
|
||||
if (RecipeLiveData != null)
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Recipe CancelEdit | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando annula!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI della ricetta...
|
||||
cmsError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> currRecipe);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
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();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// non pronto!
|
||||
ThermoActiveLogger.LogError($"RecipeLiveData null | Empty");
|
||||
return InternalServerError();
|
||||
}
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Load | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// chiamo metodo di lettura...
|
||||
//CmsError cmsError = ServerConfigController.LoadRecipe(newName);
|
||||
bool fatto = ServerConfigController.LoadRecipe(newName);
|
||||
if (!fatto)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"LoadRecipe error");
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
CmsError cmsError = WriteCurrentRecipeToPlc();
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"LoadRecipe error");
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
CmsError cmsError = WriteCurrentRecipeToPlc();
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ConfirmEdit error | {cmsError.exception}");
|
||||
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())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"SaveAs error | {cmsError.exception}");
|
||||
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())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"SaveTemplate error | {cmsError.exception}");
|
||||
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())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ReadWarmers error | {cmsError.exception}");
|
||||
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, int>();
|
||||
foreach (var item in currWarmers)
|
||||
{
|
||||
currChSet.Add(item.Key, item.Value.SetpointHMI);
|
||||
}
|
||||
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)
|
||||
{
|
||||
try
|
||||
{
|
||||
// ora salvo ANCHE i dati live...
|
||||
RecipeLiveData.RecipeParameters = currParams;
|
||||
// e salvo su disco
|
||||
ServerConfigController.SaveRecipeCurrent();
|
||||
}
|
||||
catch(Exception exc)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Recipe | SaveCurrentRecipeParams exception | {exc}");
|
||||
}
|
||||
}
|
||||
|
||||
public static CmsError WriteCurrentRecipeToPlc()
|
||||
{
|
||||
CmsError checkError = NO_ERROR;
|
||||
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Load | {libraryError.exception}");
|
||||
return libraryError;
|
||||
}
|
||||
|
||||
|
||||
// copy data to PLC
|
||||
checkError = ncAdapter.ReadFullRecipe(out Dictionary<string, DTORecipeParam> prevRecipe);
|
||||
if (checkError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"WriteCurrentRecipeToPlc | ReadFullRecipe error | {checkError.exception}");
|
||||
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
|
||||
{
|
||||
ThermoActiveLogger.LogError($"prevRecipe not found | key: {item.Key}");
|
||||
return NOT_FOUND_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
// write to PLC
|
||||
checkError = ncAdapter.WriteRecipeParams(updtRecipe);
|
||||
if (checkError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"WriteCurrentRecipeToPlc | WriteRecipeParams error | {checkError.exception}");
|
||||
return checkError;
|
||||
}
|
||||
|
||||
|
||||
// process ch load setup...
|
||||
Dictionary<int, int> newRisk = new Dictionary<int, int>();
|
||||
foreach (var item in RecipeLiveData.ChannelSetpoints)
|
||||
{
|
||||
newRisk.Add(item.Key, item.Value);
|
||||
}
|
||||
|
||||
// write to PLC
|
||||
checkError = ncAdapter.WriteRecipeWarmChSetpHMI(newRisk);
|
||||
if (checkError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"WriteCurrentRecipeToPlc | WriteRecipeWarmChSetpHMI error | {checkError.exception}");
|
||||
return checkError;
|
||||
}
|
||||
|
||||
// enable recipe! scrivo sul PLC il comando conferma!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"ReadWarmers error | {cmsError.exception}");
|
||||
return checkError;
|
||||
}
|
||||
}
|
||||
return checkError;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,7 +42,7 @@ namespace Thermo.Active.Controllers.WebApi
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.All.logout(new { id = userId.Value });
|
||||
|
||||
StepLogger.LogMessage("Logout: " + userId.Value + "Date:" + DateTime.Now, ERROR_LEVEL.INFO);
|
||||
ThermoActiveLogger.LogMessage("Logout: " + userId.Value + "Date:" + DateTime.Now, ERROR_LEVEL.INFO);
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,272 @@
|
||||
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;
|
||||
using Thermo.Active.Utils;
|
||||
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetCurrentWarmersChannels | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
CmsError cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetRecipeOverview error | {cmsError.exception}");
|
||||
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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetCurrentWarmersResistances | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
CmsError cmsError = ncAdapter.GetWarmersResistances(out Dictionary<int, Model.ConfigModels.RiskResistModel> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetCurrentWarmersResistances error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok(currWarmers);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("area"), HttpGet]
|
||||
public IHttpActionResult GetCurrentAreaPerc()
|
||||
{
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | GetCurrentAreaPerc | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// recupera aree % X / Y
|
||||
CmsError cmsError = ncAdapter.GetWarmMaterialArea(out Dictionary<string, double> currAreaPerc);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"GetCurrentAreaPerc error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok(currAreaPerc);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("update"), HttpPut]
|
||||
public IHttpActionResult WriteSetpoints(Dictionary<int, int> channelsLoad)
|
||||
{
|
||||
// scrive su CHp da ricetta oppure da override x parametri utente...
|
||||
if (channelsLoad != null)
|
||||
{
|
||||
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | WriteSetpoints | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
// scrivo sul PLC
|
||||
CmsError cmsError = ncAdapter.WriteRecipeWarmChSetpHMI(channelsLoad);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"WriteSetpoints error | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Warmers ConfirmEdit | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando conferma!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers ConfirmEdit error | ConfirmRecipeData | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI dei riscaldi...
|
||||
cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers ConfirmEdit error | ReadWarmers | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// rileggo la ricetta
|
||||
var currParams = new Dictionary<int, int>();
|
||||
foreach (var item in currWarmers)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointHMI);
|
||||
}
|
||||
|
||||
saveCurrentRecipeWarmers(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)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | Recipe CancelEdit | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC il comando annula!
|
||||
CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers CancelEdit error | ConfirmRecipeData | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// recupero i dati LIVE dei parametri HMI dei riscaldi...
|
||||
cmsError = ncAdapter.ReadWarmers(out Dictionary<int, DTOWarmers> currWarmers);
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers ConfirmEdit error | ReadWarmers | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// rileggo la ricetta
|
||||
var currParams = new Dictionary<int, int>();
|
||||
foreach (var item in currWarmers)
|
||||
{
|
||||
currParams.Add(item.Key, item.Value.SetpointHMI);
|
||||
}
|
||||
|
||||
saveCurrentRecipeWarmers(currParams);
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
[Route("setConfig"), HttpPut]
|
||||
public IHttpActionResult SetConfig()
|
||||
{
|
||||
// scrive configurazioni RISK
|
||||
|
||||
using (NcAdapter ncAdapter = new NcAdapter())
|
||||
{
|
||||
// Try connection
|
||||
CmsError libraryError = ncAdapter.Connect();
|
||||
if (libraryError.errorCode != 0)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"NC Not connected! | SetConfig | {libraryError.exception}");
|
||||
return InternalServerError();
|
||||
}
|
||||
|
||||
// scrivo sul PLC
|
||||
CmsError cmsError = ncAdapter.WriteRecipeWarmConfig();
|
||||
if (cmsError.IsError())
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers SetConfig error | WriteRecipeWarmConfig | {cmsError.exception}");
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
// ritorno solo fatto!
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Do actual recipe warmers setpoints FileSave
|
||||
/// </summary>
|
||||
/// <param name="chSetpoints"></param>
|
||||
private static void saveCurrentRecipeWarmers(Dictionary<int, int> chSetpoints)
|
||||
{
|
||||
try
|
||||
{
|
||||
// ora salvo ANCHE i dati live...
|
||||
RecipeLiveData.ChannelSetpoints = chSetpoints;
|
||||
// e salvo su disco
|
||||
ServerConfigController.SaveRecipeCurrent();
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
ThermoActiveLogger.LogError($"Warmers | SaveCurrentRecipeParams exception | {exc}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,10 +90,41 @@ 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_AREA_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendThermoAreaData(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 +134,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,179 @@ 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>();
|
||||
|
||||
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;
|
||||
diffData.Add(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<int, DTOModulesBlock> currModules = modules as Dictionary<int, DTOModulesBlock>;
|
||||
Dictionary<int, DTOModulesBlock> diffData = new Dictionary<int, DTOModulesBlock>();
|
||||
|
||||
foreach (var item in currModules)
|
||||
{
|
||||
if (!LastModulesData.ContainsKey(item.Key))
|
||||
{
|
||||
diffData.Add(item.Key, item.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// comparazione
|
||||
if (!item.Value.Equals(LastModulesData[item.Key]))
|
||||
{
|
||||
diffData[item.Key] = item.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (diffData.Count > 0)
|
||||
{
|
||||
LastModulesData = currModules;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").modulesData(currModules);
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendThermoWarmersData(object warmers)
|
||||
{
|
||||
Dictionary<int, DTOWarmers> currWarmers = warmers as Dictionary<int, DTOWarmers>;
|
||||
Dictionary<int, DTOWarmers> diffData = new Dictionary<int, DTOWarmers>();
|
||||
|
||||
foreach (var item in currWarmers)
|
||||
{
|
||||
if (!LastWarmersData.ContainsKey(item.Key))
|
||||
{
|
||||
diffData.Add(item.Key, item.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// comparazione
|
||||
if (!item.Value.Equals(LastWarmersData[item.Key]))
|
||||
{
|
||||
diffData[item.Key] = item.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (diffData.Count > 0)
|
||||
{
|
||||
LastWarmersData = currWarmers;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").warmersData(currWarmers);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void SendThermoAreaData(object area)
|
||||
{
|
||||
Dictionary<string, double> currArea = area as Dictionary<string, double>;
|
||||
Dictionary<string, double> diffData = new Dictionary<string, double>();
|
||||
|
||||
foreach (var item in currArea)
|
||||
{
|
||||
if (!LastAreaData.ContainsKey(item.Key))
|
||||
{
|
||||
diffData.Add(item.Key, item.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
// comparazione
|
||||
if (!item.Value.Equals(LastAreaData[item.Key]))
|
||||
{
|
||||
diffData[item.Key] = item.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (diffData.Count > 0)
|
||||
{
|
||||
LastAreaData = currArea;
|
||||
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").areaData(currArea);
|
||||
}
|
||||
}
|
||||
|
||||
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 +462,47 @@ 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.modulesData(LastModulesData);
|
||||
// Send THERMO Warmers data
|
||||
group.warmersData(LastWarmersData);
|
||||
group.areaData(LastAreaData);
|
||||
// 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,21 @@ 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 Dictionary<int, DTOModulesBlock> LastModulesData = new Dictionary<int, DTOModulesBlock>();
|
||||
public static Dictionary<int, DTOWarmers> LastWarmersData = new Dictionary<int, DTOWarmers>();
|
||||
public static Dictionary<string, double> LastAreaData = new Dictionary<string, double>();
|
||||
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.8.1")]
|
||||
|
||||
@@ -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,10 @@
|
||||
<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\ProdController.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 +16129,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 +16437,7 @@
|
||||
<TypeScriptCompile Include="wwwroot\src\_base\utils.ts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="logs\" />
|
||||
<Folder Include="wwwroot\src\router\" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -16,8 +16,9 @@ using System.Windows.Forms;
|
||||
using TeamDev.SDK.MVVM;
|
||||
using static Thermo.Active.Config.ServerConfig;
|
||||
using static Thermo.Active.Model.Constants;
|
||||
using static Thermo.Active.Utils.StepLogger;
|
||||
using static Thermo.Active.Utils.ThermoActiveLogger;
|
||||
using static Thermo.Active.Utils.ExceptionManager;
|
||||
using Thermo.Active.Controllers.WebApi;
|
||||
|
||||
namespace Thermo.Active
|
||||
{
|
||||
@@ -84,6 +85,11 @@ namespace Thermo.Active
|
||||
if (!string.IsNullOrWhiteSpace(ServerStartupConfig.ServerAddress.ToString()))
|
||||
opt.Urls.Add("http://" + ServerStartupConfig.ServerAddress.ToString() + ":" + ServerStartupConfig.ServerPort.ToString());
|
||||
|
||||
// read and save last CURRENT RECIPE data...
|
||||
ServerConfigController.ReadLastRecipe();
|
||||
RecipeController.WriteCurrentRecipeToPlc();
|
||||
|
||||
//starts threads
|
||||
using (WebApp.Start<App_Start.Startup>(opt))
|
||||
{
|
||||
if (databaseStatus)
|
||||
|
||||
|
After Width: | Height: | Size: 321 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 891 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 724 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 89 KiB |
@@ -0,0 +1,63 @@
|
||||
<?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="1210mm"
|
||||
height="395mm"
|
||||
viewBox="0 0 1210 395"
|
||||
version="1.1"
|
||||
id="svg837"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="svg-dashboard.svg">
|
||||
<defs
|
||||
id="defs831" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.175"
|
||||
inkscape:cx="2014.3602"
|
||||
inkscape:cy="807.48659"
|
||||
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="metadata834">
|
||||
<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,98)">
|
||||
<path
|
||||
style="fill:#99cfff;fill-opacity:1;stroke:#0000ff;stroke-width:17.45055199;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 141.52222,272.36505 C 94.580005,264.01354 52.798415,227.68959 30.964914,176.24941 16.635779,142.48946 11.117361,90.23297 17.884451,52.385032 c 6.837198,-38.240097 20.372985,-69.021254 40.570884,-92.260626 14.9277,-17.175622 28.66517,-26.878813 50.573525,-35.722393 l 16.78008,-6.77341 103.18759,-1.00415 c 56.75329,-0.55393 279.02426,-0.60988 493.9358,-0.1278 214.91118,0.48292 361.44767,-2.04651 423.23837,-0.38138 l 20.3048,0.17827 v 0 0 0 C 991.70053,16.313901 958.98623,139.33213 936.88307,266.17661 v 0 c -5.14363,9.27342 32.42106,7.85482 -459.6572,8.23526 -279.43676,0.21596 -320.03499,0.74215 -335.70457,-2.0336 z"
|
||||
id="path1456"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsccccccccccccscc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,124 @@
|
||||
<?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="1206mm"
|
||||
height="395mm"
|
||||
viewBox="0 0 1206 395"
|
||||
version="1.1"
|
||||
id="svg860"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
sodipodi:docname="svg-dashboard2.svg">
|
||||
<defs
|
||||
id="defs854">
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1493-1"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1435-1"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1493-1-2"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1435-1-6"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1493-1-3"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1435-1-4"
|
||||
is_visible="true"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.12374369"
|
||||
inkscape:cx="-141.5134"
|
||||
inkscape:cy="518.4563"
|
||||
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="metadata857">
|
||||
<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,98)">
|
||||
<path
|
||||
style="fill:#99cfff;fill-opacity:1;stroke:#0000ff;stroke-width:17.42772102;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 143.24538,-73.855172 C 96.293637,-65.52689 54.503637,-29.303801 32.665745,21.993484 18.333725,55.659659 12.81419,107.77106 19.582647,145.51389 c 6.838563,38.13392 20.377099,68.82957 40.579052,92.0044 14.930725,17.12793 28.670954,26.80415 50.583741,35.62318 l 16.78352,6.7546 103.20833,1.00137 c 56.76476,0.5524 279.08053,0.60816 494.03542,0.12727 214.9545,-0.48157 361.52059,2.04088 423.32369,0.38037 l 20.3092,-0.1778 v 0 0 0 C 993.59512,181.48484 960.87422,58.808234 938.76657,-67.68394 v 0 c 0,0 16.26609,-4.018334 -459.74984,-8.21239 -279.48083,-2.462432 -320.09952,-0.7401 -335.77228,2.027933 z"
|
||||
id="path1456"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsccccccccccccscc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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"
|
||||
sodipodi:docname="svg-dashboard3.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||
id="svg2161"
|
||||
version="1.1"
|
||||
viewBox="0 0 920 94"
|
||||
height="94mm"
|
||||
width="920mm">
|
||||
<defs
|
||||
id="defs2155">
|
||||
<inkscape:path-effect
|
||||
only_selected="false"
|
||||
apply_with_weight="true"
|
||||
apply_no_weight="true"
|
||||
helper_size="0"
|
||||
steps="2"
|
||||
weight="33.333333"
|
||||
is_visible="true"
|
||||
id="path-effect1493-1"
|
||||
effect="bspline" />
|
||||
<inkscape:path-effect
|
||||
only_selected="false"
|
||||
apply_with_weight="true"
|
||||
apply_no_weight="true"
|
||||
helper_size="0"
|
||||
steps="2"
|
||||
weight="33.333333"
|
||||
is_visible="true"
|
||||
id="path-effect1435-1"
|
||||
effect="bspline" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-x="-9"
|
||||
inkscape:window-height="1001"
|
||||
inkscape:window-width="1920"
|
||||
showgrid="false"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:cy="-169.24053"
|
||||
inkscape:cx="1863.1839"
|
||||
inkscape:zoom="0.30578698"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base" />
|
||||
<metadata
|
||||
id="metadata2158">
|
||||
<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
|
||||
transform="translate(0,-203)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Livello 1">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path844"
|
||||
d="m 6.125405,210.10492 c 54.690648,31.20908 66.397365,63.57562 72.109211,81.27882 v 0"
|
||||
style="fill:none;stroke:#0000ff;stroke-width:8.69768238;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path846"
|
||||
d="m 74.797676,291.49749 c 274.379674,-1.68455 569.282634,0.0693 853.718824,0.0851"
|
||||
style="fill:none;stroke:#0000ff;stroke-width:8.69768238;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path848"
|
||||
d="M 4.4387748,209.64992 924.86717,210.86705"
|
||||
style="fill:none;stroke:#0000ff;stroke-width:8.69768238;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path852"
|
||||
d="m 64.831554,253.9737 c -17.389756,-21.62927 -7.539172,-11.26644 -50.667108,-42.06328 3.521079,-0.0839 907.899034,1.79363 909.257894,2.88249 0.60108,0.48165 4.06725,56.6157 4.27366,69.82023 l 0.07,4.50521 -423.39903,-0.26844 c -141.05057,-0.11751 -280.12534,-0.6218 -422.634623,0.54985 -0.01626,-0.0709 0.592478,-0.79198 0.592478,-0.79198 -2.535322,-9.70363 -11.44174,-25.39396 -11.44174,-25.39396 z"
|
||||
style="fill:#b6d6f3;fill-rule:evenodd;stroke:none;stroke-width:0.43488413;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
|
||||
sodipodi:nodetypes="cccccccscc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -1,305 +1,72 @@
|
||||
// out: false, sourceMap: false, main: ../style.less
|
||||
@import "colors.less";
|
||||
|
||||
.kW {
|
||||
width: 16px;
|
||||
height: 11px;
|
||||
font-family: WorkSans;
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
margin-left:20px ;
|
||||
color: @color-darkish-blue;
|
||||
|
||||
}
|
||||
.Potenza {
|
||||
width: 65px;
|
||||
height: 65px;
|
||||
font-family: WorkSans;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
margin-left: -8px;
|
||||
color: @color-darkish-blue;
|
||||
}
|
||||
// }
|
||||
// #SecondArchInfo
|
||||
// .Combined-Shape {
|
||||
// width: 68px;
|
||||
// height: 50px;
|
||||
// box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.5);
|
||||
// background-color: var(--light-grey-blue);
|
||||
// }
|
||||
// .Combined-Shape-Copy-3 {
|
||||
// width: 55px;
|
||||
// height: 21px;
|
||||
// background-color: var(--darkish-blue);
|
||||
// }
|
||||
|
||||
// .Valor2{
|
||||
// width: 27px;
|
||||
// height: 23px;
|
||||
// font-family: WorkSans;
|
||||
// font-size: 18.9px;
|
||||
// font-weight: 500;
|
||||
// font-stretch: normal;
|
||||
// font-style: normal;
|
||||
// line-height: normal;
|
||||
// letter-spacing: normal;
|
||||
// text-align: center;
|
||||
// color: var(--darkish-blue);
|
||||
// }
|
||||
.Bar {
|
||||
width: 16px;
|
||||
height: 11px;
|
||||
font-family: WorkSans;
|
||||
font-size: 9.7px;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
color: @color-darkish-blue;
|
||||
}
|
||||
.Aria {
|
||||
width: 23px;
|
||||
height: 14px;
|
||||
font-family: WorkSans;
|
||||
font-size: 10px;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: end;
|
||||
color: @color-darkish-blue;
|
||||
}
|
||||
// #ThirdArchInfo
|
||||
// .Combined-Shape-Copy-3 {
|
||||
// width: 64px;
|
||||
// height: 49px;
|
||||
// background-color: var(--darkish-blue);
|
||||
// }
|
||||
// .Valor3{
|
||||
// width: 50px;
|
||||
// height: 23px;
|
||||
// font-family: WorkSans;
|
||||
// font-size: 18.9px;
|
||||
// font-weight: 500;
|
||||
// font-stretch: normal;
|
||||
// font-style: normal;
|
||||
// line-height: normal;
|
||||
// letter-spacing: normal;
|
||||
// text-align: center;
|
||||
// color: @color-darkish-blue;
|
||||
// }
|
||||
// .bar {
|
||||
// width: 16px;
|
||||
// height: 11px;
|
||||
// font-family: WorkSans;
|
||||
// font-size: 9.7px;
|
||||
// font-weight: 500;
|
||||
// font-stretch: normal;
|
||||
// font-style: normal;
|
||||
// line-height: normal;
|
||||
// letter-spacing: normal;
|
||||
// text-align: center;
|
||||
// color: @color-darkish-blue;
|
||||
// }
|
||||
// .Vuoto {
|
||||
// width: 35px;
|
||||
// height: 14px;
|
||||
// font-family: WorkSans;
|
||||
// font-size: 12px;
|
||||
// font-weight: normal;
|
||||
// font-stretch: normal;
|
||||
// font-style: normal;
|
||||
// line-height: normal;
|
||||
// letter-spacing: normal;
|
||||
// text-align: center;
|
||||
// color: @color-darkish-blue;
|
||||
// }
|
||||
// .divider-columnt {
|
||||
// width: 2px;
|
||||
// height: 48px;
|
||||
// // background-color: @color-light-grey-blue;
|
||||
// }
|
||||
|
||||
// .wrapper {
|
||||
// position: relative;
|
||||
// margin: auto;
|
||||
// }
|
||||
//da scommentare
|
||||
// .wrapper{
|
||||
// width: 90px;
|
||||
// height: 90px;
|
||||
// display:flex;
|
||||
// }
|
||||
// .meter {
|
||||
// width: 50%; height: 50%;
|
||||
// transform: rotateX(180deg);
|
||||
// }
|
||||
// //da scommentare
|
||||
// .meter{
|
||||
// width: 50%; height: 50%;
|
||||
// margin-top:200px;
|
||||
// // width: 300%;
|
||||
// // height: 100%;
|
||||
// transform: rotateX(180deg);
|
||||
@import "colors.less";
|
||||
|
||||
// }
|
||||
.arch {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
flex: 1;
|
||||
|
||||
// .outline, #mask {
|
||||
// stroke: white;
|
||||
// stroke-width: 65;
|
||||
// }
|
||||
// .range {
|
||||
// stroke-width: 60;
|
||||
// }
|
||||
// .lbl {
|
||||
// background-color: #4B4C51;
|
||||
// border-radius: 2px;
|
||||
// color: white;
|
||||
// font-family: 'courier new';
|
||||
// font-size: 15pt;
|
||||
// font-weight: bold;
|
||||
// padding: 4px 4px 2px 4px;
|
||||
// right: -48px;
|
||||
// top: 57%;
|
||||
// }
|
||||
// .meter_needle {
|
||||
// height: 40%;
|
||||
// left: 0;
|
||||
// margin: auto;
|
||||
// position: absolute;
|
||||
// right: 0;
|
||||
// top: 10%;
|
||||
// transform-origin: bottom center;
|
||||
// /*orientation fix*/
|
||||
// transform: rotate(270deg);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// .backgound-circle{
|
||||
// stroke-width: 10;
|
||||
// fill: none;
|
||||
// stroke-dasharray: 145,80;
|
||||
// stroke:gray ;
|
||||
// }
|
||||
// .value-circle{
|
||||
// stroke-width: 10;
|
||||
// stroke-dasharray: 145,80;
|
||||
// fill: none;
|
||||
// stroke:blue ;
|
||||
// }
|
||||
// //da scommentare
|
||||
// path {
|
||||
// stroke-width: 7;
|
||||
// stroke-dasharray: none;
|
||||
// fill: none;
|
||||
// }
|
||||
|
||||
// #background-circle {
|
||||
// stroke: grey;
|
||||
.box-gauge {
|
||||
width: 68px;
|
||||
|
||||
// }
|
||||
div {
|
||||
|
||||
// #value-circle {
|
||||
// stroke: blue;
|
||||
// }
|
||||
&:last-of-type {
|
||||
margin-top: -25px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
|
||||
body {
|
||||
// background-color: rgba(0,0,0,0.8);
|
||||
color:@color-darkish-blue;
|
||||
font-family: Hevletica, sans-serif;
|
||||
}
|
||||
label {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: normal;
|
||||
letter-spacing: normal;
|
||||
text-align: center;
|
||||
color: @color-darkish-blue;
|
||||
}
|
||||
}
|
||||
|
||||
.info {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
}
|
||||
|
||||
/* ------ Default Style ---------- */
|
||||
.gauge-container {
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
display: block;
|
||||
float: left;
|
||||
padding: -130px;
|
||||
// background-color: rgb(167, 154, 154); background container
|
||||
margin: 56px;
|
||||
border-radius: 3px;
|
||||
position: relative;
|
||||
margin-top:60px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
.label {
|
||||
// display: inline-block;
|
||||
color:@color-darkish-blue;
|
||||
font-family: monospace;
|
||||
font-size: 1.5em;
|
||||
// padding: 5px 10px;
|
||||
margin-left:10px;
|
||||
}
|
||||
.gauge-container > .gauge > .dial {
|
||||
stroke:@color-darkish-blue;
|
||||
stroke-width: 2;
|
||||
// fill: rgba(0,0,0,0);
|
||||
}
|
||||
.gauge-container > .gauge > .value {
|
||||
stroke:@color-darkish-blue;
|
||||
stroke-width: 2;
|
||||
// fill: rgba(0,0,0,0);
|
||||
}
|
||||
.gauge-container > .gauge > .value-text { //valore sotto l'arco
|
||||
color:@color-darkish-blue;
|
||||
font-family: sans-serif;
|
||||
font-weight: bold;
|
||||
font-size: 3.9px;
|
||||
margin-top:10px;
|
||||
.gauge-container {
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
display: block;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
}
|
||||
.gauge-container>.gauge>.dial {
|
||||
stroke: @color-darkish-blue;
|
||||
stroke-width: 2;
|
||||
}
|
||||
|
||||
/* ------- Alternate Style ------- */
|
||||
.wrapper {
|
||||
height: 20px;
|
||||
float: left;
|
||||
margin: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.wrapper > .gauge-container {
|
||||
margin: 0;
|
||||
}
|
||||
.gauge-container>.gauge>.value {
|
||||
stroke: @color-darkish-blue;
|
||||
stroke-width: 2;
|
||||
}
|
||||
|
||||
.gauge-container.three > .gauge > .dial {
|
||||
stroke:@color-silver;
|
||||
stroke-width: 4;
|
||||
}
|
||||
.gauge-container.three > .gauge > .value {
|
||||
stroke: @color-darkish-blue;
|
||||
stroke-width: 5;
|
||||
}
|
||||
.gauge-container.three > .gauge > .value-text {
|
||||
fill: color-darkish-blue;
|
||||
}
|
||||
.labels{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
margin-left: 19px;
|
||||
margin-top:-94px;
|
||||
}
|
||||
.arch{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
}
|
||||
.gauge-container>.gauge>.value-text {
|
||||
color: @color-darkish-blue;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.gauge-container.three>.gauge>.dial {
|
||||
stroke: @color-silver;
|
||||
stroke-width: 4;
|
||||
}
|
||||
|
||||
.gauge-container.three>.gauge>.value {
|
||||
stroke: @color-darkish-blue;
|
||||
stroke-width: 5;
|
||||
}
|
||||
|
||||
.gauge-container.three>.gauge>.value-text {
|
||||
fill: @color-darkish-blue;
|
||||
}
|
||||
}
|
||||
}
|
||||