Fix THermoprophet
This commit is contained in:
@@ -390,13 +390,19 @@ public static class ThreadsFunctions
|
||||
}
|
||||
// salvo dati temp sul PLC
|
||||
ncAdapter.WriteRecipeWarmChTCamTempAct(actualTemp);
|
||||
NcAdapter.lastImageTaken = DateTime.Now;
|
||||
// give PLC strobe for uploaded Actual TEMP from image
|
||||
ncAdapter.SendTCamImageReadyStrb();
|
||||
|
||||
|
||||
MessageServices.Current.Publish(SEND_NEWTCAMIMAGE, null, NcAdapter.lastImageTaken);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// salvo status thermocam...
|
||||
NcAdapter.cameraIsConnected = TCCom.CameraIsConnected;
|
||||
|
||||
}
|
||||
else
|
||||
RestoreConnection();
|
||||
|
||||
@@ -104,6 +104,7 @@ namespace Thermo.Active.Model
|
||||
|
||||
public const string SEND_AXIS_INFO = "SEND_AXIS_INFO";
|
||||
public const string SEND_CHANNELS_IO_DATA = "SEND_CHANNELS_IO_DATA";
|
||||
public const string SEND_NEWTCAMIMAGE = "SEND_NEWTCAMIMAGE";
|
||||
public const string SEND_CMSCONNECT_GW_REBOOT_STATUS = "SEND_CMSCONNECT_GW_REBOOT_STATUS";
|
||||
public const string SEND_ERROR_TO_UI = "SEND_ERROR_TO_UI";
|
||||
public const string SEND_EXPIRED_MAINTENANCES_DATA = "SEND_EXPIRED_MAINTENANCES_DATA";
|
||||
|
||||
@@ -40,6 +40,11 @@ namespace Thermo.Active.Model.DTOModels.ThWarmers
|
||||
/// </summary>
|
||||
public bool ThermoOptionActive { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Data ultima acquisizione
|
||||
/// </summary>
|
||||
public DateTime LastTakenImage { get; set; } = new DateTime(0);
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
@@ -64,6 +69,8 @@ namespace Thermo.Active.Model.DTOModels.ThWarmers
|
||||
return false;
|
||||
if (RangeTemperature != item.RangeTemperature)
|
||||
return false;
|
||||
if (LastTakenImage != item.LastTakenImage)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -140,6 +140,11 @@ namespace Thermo.Active.NC
|
||||
/// </summary>
|
||||
public static bool cameraIsConnected = false;
|
||||
|
||||
/// <summary>
|
||||
/// Indica se la FLIR camera è connessa
|
||||
/// </summary>
|
||||
public static DateTime lastImageTaken = new DateTime(0);
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
#region Public Constructors
|
||||
@@ -3172,6 +3177,9 @@ namespace Thermo.Active.NC
|
||||
};
|
||||
// controllo se connessa
|
||||
currTCamData.ThermoCamConnected = cameraIsConnected;
|
||||
|
||||
// DataOra ultima immagine scattata
|
||||
currTCamData.LastTakenImage = lastImageTaken;
|
||||
}
|
||||
return libraryError;
|
||||
}
|
||||
|
||||
@@ -431,5 +431,5 @@
|
||||
<axis_info_error>In errore:</axis_info_error>
|
||||
<axis_info_brakealm>Allarme test freno:</axis_info_brakealm>
|
||||
<bitselect_select_none>Nessuno</bitselect_select_none>
|
||||
<bitselect_select_all>Tutti<bitselect_select_all>
|
||||
<bitselect_select_all>Tutti</bitselect_select_all>
|
||||
</root>
|
||||
@@ -431,5 +431,5 @@
|
||||
<axis_info_error>In Error:</axis_info_error>
|
||||
<axis_info_brakealm>Brake Test Alarm:</axis_info_brakealm>
|
||||
<bitselect_select_none>None</bitselect_select_none>
|
||||
<bitselect_select_all>All<bitselect_select_all>
|
||||
<bitselect_select_all>All</bitselect_select_all>
|
||||
</root>
|
||||
@@ -68,6 +68,10 @@ namespace Thermo.Active.Listeners
|
||||
{
|
||||
SignalRListener.SendThermoChannelsIoData(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_NEWTCAMIMAGE, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendTCamNewImage(a);
|
||||
}));
|
||||
infos.Add(MessageServices.Current.Subscribe(SEND_ACTIVE_PROGRAM_DATA, (a, b) =>
|
||||
{
|
||||
SignalRListener.SendActiveProgramData(a);
|
||||
|
||||
@@ -611,6 +611,13 @@ namespace Thermo.Active.Listeners.SignalR
|
||||
}
|
||||
}
|
||||
|
||||
public static void SendTCamNewImage(object newImageDate)
|
||||
{
|
||||
DateTime imageDate = (DateTime)newImageDate;
|
||||
var context = GlobalHost.ConnectionManager.GetHubContext<NcHub>();
|
||||
context.Clients.Group("ncData").newThermoCamImage(newImageDate);
|
||||
}
|
||||
|
||||
public static void SetGatewayRebootStatus(object status)
|
||||
{
|
||||
string msg = status.ToString();
|
||||
|
||||
+55
-1
@@ -8,6 +8,8 @@ import { warmersService } from "@/services/warmersService";
|
||||
import { awaiter } from '@/_base';
|
||||
import termoModal from "./thermoProphet-modal.vue";
|
||||
import { ModalHelper } from '@/components/modals';
|
||||
import moment from "moment";
|
||||
import { messageService } from "src/_base";
|
||||
|
||||
@Component({
|
||||
name: "thermocamera", components: {
|
||||
@@ -26,12 +28,18 @@ export default class Thermocamera extends Vue {
|
||||
btnModeEnabled = true;
|
||||
|
||||
thermoImageUri: string = "/thermoprophet/colored/_last.jpg";
|
||||
thermoImageOpacity: number = 0;
|
||||
thermoImageOpacity: number = 1;
|
||||
resistanceMode = 0;
|
||||
|
||||
timeoutLastTakenImage = 0;
|
||||
timeCamDiff = " ";
|
||||
|
||||
TCamData: {
|
||||
imageSize: { x: number, y: number },
|
||||
rangeTemperature: { max: number, min: number },
|
||||
thermoCamConnected: boolean,
|
||||
thermoOptionActive: boolean,
|
||||
lastTakenImage: Date,
|
||||
} = null;
|
||||
|
||||
@Watch("warmers", { deep: true })
|
||||
@@ -53,6 +61,13 @@ export default class Thermocamera extends Vue {
|
||||
async mounted() {
|
||||
this.ChangedTemps();
|
||||
this.TCamData = await warmersService.GetTCamData();
|
||||
|
||||
messageService.subscribeToChannel("new-thermocam-image", (args)=>{
|
||||
if(this.TCamData){
|
||||
console.log(args)
|
||||
this.TCamData.lastTakenImage = args[0];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
get selectedChannels(): Warmers.IChannel[] {
|
||||
@@ -75,6 +90,45 @@ export default class Thermocamera extends Vue {
|
||||
// return (store.state.warmers.tCamStatus.thermoCamMode);
|
||||
// }
|
||||
|
||||
get thermocameraImageUrl(){
|
||||
if(!this.TCamData || moment(this.TCamData.lastTakenImage).year() <= 2000)
|
||||
return "/thermoprophet/colored/_last.jpg?lastmod=NOTAVAILABLE";
|
||||
return "/thermoprophet/colored/_last.jpg?lastmod=" + this.TCamData.lastTakenImage;
|
||||
}
|
||||
|
||||
get thermocameraImageOk(): boolean {
|
||||
clearInterval(this.timeoutLastTakenImage);
|
||||
this.timeCamDiff = " "
|
||||
|
||||
if(!this.TCamData)
|
||||
return false;
|
||||
|
||||
if(moment(this.TCamData.lastTakenImage).year() > 2000)
|
||||
{
|
||||
this.lastTakenImageFuncion();
|
||||
this.timeoutLastTakenImage = setInterval(this.lastTakenImageFuncion,10000);
|
||||
return true;
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
lastTakenImageFuncion(){
|
||||
var today = moment(new Date());
|
||||
var end = moment(this.TCamData.lastTakenImage);
|
||||
var diff = (moment.duration(today.diff(end)) as any)._data;
|
||||
var seconds = diff.seconds;
|
||||
var minutes = diff.minutes;
|
||||
var hours = diff.hours;
|
||||
|
||||
if(hours >0)
|
||||
this.timeCamDiff = hours + "h " + minutes + "m ";
|
||||
else if(minutes >0)
|
||||
this.timeCamDiff = minutes + "m " + seconds + "s ";
|
||||
else
|
||||
this.timeCamDiff = seconds + "s";
|
||||
}
|
||||
|
||||
get thermocameraModeBTN(): boolean {
|
||||
return (store.state.warmers.tCamStatus.thermoCamOnOff);
|
||||
}
|
||||
|
||||
+4
-3
@@ -111,8 +111,8 @@
|
||||
@methodChanged="m => selectionMethod = m"
|
||||
:recipe="recipe"
|
||||
:resistanceMode="resistanceMode"
|
||||
thermoImage="/thermoprophet/colored/_last.jpg"
|
||||
:thermoImageVisible="thermocameraModeBTN"
|
||||
:thermoImage="thermocameraImageUrl"
|
||||
:thermoImageVisible="true"
|
||||
:thermoImageOpacity="thermoImageOpacity"
|
||||
:isThermoProphet="true"
|
||||
></warmers>
|
||||
@@ -128,8 +128,9 @@
|
||||
<button class="btn btn-info square" @click="openThermoModal()">
|
||||
<img src="/assets/icons/png/ico-bt-selez-image.png" />
|
||||
</button>
|
||||
<span>{{timeCamDiff}}</span>
|
||||
<input
|
||||
:disabled="!thermocameraModeBTN"
|
||||
:disabled="!thermocameraImageOk"
|
||||
type="range"
|
||||
orient="vertical"
|
||||
v-model="thermoImageOpacity"
|
||||
|
||||
-1
@@ -90,7 +90,6 @@ export default class Warmers extends Vue {
|
||||
|
||||
// Ottengo le resistenze per ogni riga
|
||||
resistancesPerRow(row: number) {
|
||||
console.log(row,this.resistances.filter(i => i.row == row))
|
||||
return this.resistances.filter(i => i.row == row);
|
||||
}
|
||||
|
||||
|
||||
@@ -124,8 +124,7 @@ export class Hub {
|
||||
this._hub.client.gaugeData = Hub.gaugeData;
|
||||
this._hub.client.axisInfo = Hub.axisInfoData;
|
||||
this._hub.client.channelsIoVal = Hub.channelsIOUpdate;
|
||||
|
||||
|
||||
this._hub.client.newThermoCamImage = Hub.newThermoCamImage;
|
||||
|
||||
this._hub.client.logout = this.logout;
|
||||
|
||||
@@ -219,6 +218,11 @@ export class Hub {
|
||||
recipeActions.setOverview(store, data);
|
||||
}
|
||||
|
||||
|
||||
public static newThermoCamImage(data) {
|
||||
messageService.publishToChannel("new-thermocam-image", data);
|
||||
}
|
||||
|
||||
public static prodPanelData(data) {
|
||||
prodActions.setProdPanel(store, data);
|
||||
}
|
||||
|
||||
@@ -71,10 +71,14 @@ export class WarmersService extends baseRestService {
|
||||
let result = await this.Get<{
|
||||
imageSize: { x: number, y: number },
|
||||
rangeTemperature: { max: number, min: number },
|
||||
thermoCamConnected: boolean,
|
||||
thermoOptionActive: boolean,
|
||||
lastTakenImage: Date,
|
||||
}>((await this.BASE_URL()) + "TCamData", true);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
async GetMeasurePoints(setname: string): Promise<any> {
|
||||
return await this.Get<any>((await this.BASE_URL()) + `getMeasurePoints?setName=${setname}`, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user