ok upload file

This commit is contained in:
zaccaria.majid
2023-07-24 12:21:04 +02:00
parent 398fe142ca
commit 8def552ab9
5 changed files with 2336 additions and 2050 deletions
@@ -0,0 +1,115 @@
#
# Macchine MULTI (bench x SIMULA) - macchina PRINCIPALE
# - contapezzi SEMPRE attivo (anche in attrezzaggio)
# - gestione cicli riscaldo
# - COMMENTATO gestione check TCiclo rallentato
#
# partenza da 5 + 60
#
# 2020.10.01 S.E.L.
#
#
$DEFINITIONS
$NAME : REFERENCE_MULTI_MAIN
$IDX : 61
$N_STATES : 9
$N_BITS : 8
#definizione bit : obbligatorio iniziare da 0
$BIT : 0 : bPowerOn
$BIT : 1 : bRun
$BIT : 2 : bPzCount
$BIT : 3 : bAlarm
$BIT : 4 : bManual
$BIT : 5 : bslowTC
$BIT : 6 : bWUpCDown
$BIT : 7 : bEmergArm
#definizione stati : obbligatorio iniziare da 0
$STATE : 0 : ST_Init
$STATE : 1 : ST_Power_off
$STATE : 2 : ST_Machine_ready
$STATE : 3 : ST_Run
$STATE : 4 : ST_Cycle_end
$STATE : 5 : ST_Alarm
$STATE : 6 : ST_Manual
$STATE : 7 : ST_Slow
$STATE : 8 : ST_WUp_CDown
#definizione eventi : obbligatorio iniziare da 0
$EVENT : 00 : EV_00
$EVENT : 01 : EV_01
$EVENT : 02 : EV_02
$EVENT : 03 : EV_03
$EVENT : 04 : EV_04
$EVENT : 05 : EV_05
$EVENT : 06 : EV_06
$EVENT : 07 : EV_07
$EVENT : 08 : EV_08
$EVENT : 09 : EV_09
$EVENT : 10 : EV_10
$EVENT : 11 : EV_11
$EVENT : 12 : EV_12
$EVENT : 13 : HW_init
$EVENT : 14 : HW_power_off
$EVENT : 15 : HW_PowerOn
$EVENT : 16 : HW_machining
$EVENT : 17 : HW_end_machining
$EVENT : 18 : HW_error
$EVENT : 19 : Barcode_cambio operatore
$EVENT : 20 : Contapezzi
$EVENT : 21 : HW_start_pallet
$EVENT : 22 : HW_end_pallet
$EVENT : 23 : HW_rottura_nastro_abrasivo
$EVENT : 24 : HW_manuale
$EVENT : 25 : HW_nastro_scarico_pieno
$EVENT : 26 : Barcode_Manca_Riforn_MPD
$EVENT : 27 : Timer_timeout_tempo_ciclo
$EVENT : 28 : Timer_timeout_TURNO_by_tempo_ciclo
$EVENT : 29 : HW_magazzino_grezzi vuoto
$EVENT : 30 : HW_emergenza
$EVENT : 31 : Barcode_Modifica_Programmi
$EVENT : 32 : Barcode_Sostituzione_Utensile
$EVENT : 33 : HW_Allarme Macchina
$EVENT : 34 : HW_end_pallet_1
$EVENT : 35 : HW_end_pallet_2
$EVENT : 36 : HW_deposito_robot
$EVENT : 37 : Barcode_Riempimento_Vasca
$EVENT : 38 : Barcode_Riscaldamento
$EVENT : 39 : Barcode_Anomalia_Macchina
$EVENT : 40 : HW_WarmUp_CoolDown
$EVENT : 41 : HW_machining_SLOW
$EVENT : 42 : HW_Warn_Livello_Vasca
$EVENT : 43 : HW_Warn_Livello_Cell
$EVENT : 44 : HW_Warn_a_Vuoto
$EVENT : 45 : HW_Warn_Riserva
$EVENT : 46 : HW_Carico
$EVENT : 47 : HW_Mismatch
$EVENT : 48 : HW_preparing
#EVENT : 120 : IncrementoPezzi
#EVENT : 121 : RettificaPezzi
#$EVENT : 999 : Commento
$RULES
# state : input : next state : event
ALL_STATES : NOT bPowerOn : ST_Power_off : HW_power_off
ALL_STATES : NOT bEmergArm : ST_Init : HW_emergenza
ALL_STATES : bPzCount : ST_Cycle_end : HW_end_pallet
ALL_STATES : bWUpCDown : ST_WUp_CDown : HW_WarmUp_CoolDown
ALL_STATES : bManual : ST_Manual : HW_manuale
ALL_STATES : bAlarm : ST_Alarm : HW_error
#ALL_STATES : bslowTC : ST_Slow : HW_machining_SLOW
ALL_STATES : bRun : ST_Run : HW_machining
ALL_STATES : bPowerOn : ST_Machine_ready : HW_PowerOn
#--------------------------------------------------------------------------
$DO
@@ -0,0 +1,114 @@
#
# Macchine STD (bench x SIMULA)
# - contapezzi SEMPRE attivo (anche in attrezzaggio)
# - gestione cicli riscaldo
# - gestione check TCiclo rallentato
#
# partenza da IdxFam 42
#
# 2020.10.01 S.E.L.
#
$DEFINITIONS
$NAME : REFERENCE_STD
$IDX : 60
$N_STATES : 9
$N_BITS : 8
#definizione bit : obbligatorio iniziare da 0
$BIT : 0 : B_PowerOn
$BIT : 1 : B_Run
$BIT : 2 : B_PzCount
$BIT : 3 : B_Alarm
$BIT : 4 : B_Manual
$BIT : 5 : B_SlowTC
$BIT : 6 : B_WUpCDown
$BIT : 7 : B_EmergArm
#definizione stati : obbligatorio iniziare da 0
$STATE : 0 : ST_Init
$STATE : 1 : ST_Power_off
$STATE : 2 : ST_Machine_ready
$STATE : 3 : ST_Run
$STATE : 4 : ST_Cycle_end
$STATE : 5 : ST_Alarm
$STATE : 6 : ST_Manual
$STATE : 7 : ST_Slow
$STATE : 8 : ST_WUp_CDown
#definizione eventi : obbligatorio iniziare da 0
$EVENT : 00 : EV_00
$EVENT : 01 : EV_01
$EVENT : 02 : EV_02
$EVENT : 03 : EV_03
$EVENT : 04 : EV_04
$EVENT : 05 : EV_05
$EVENT : 06 : EV_06
$EVENT : 07 : EV_07
$EVENT : 08 : EV_08
$EVENT : 09 : EV_09
$EVENT : 10 : EV_10
$EVENT : 11 : EV_11
$EVENT : 12 : EV_12
$EVENT : 13 : HW_init
$EVENT : 14 : HW_power_off
$EVENT : 15 : HW_PowerOn
$EVENT : 16 : HW_machining
$EVENT : 17 : HW_end_machining
$EVENT : 18 : HW_error
$EVENT : 19 : Barcode_cambio operatore
$EVENT : 20 : Contapezzi
$EVENT : 21 : HW_start_pallet
$EVENT : 22 : HW_end_pallet
$EVENT : 23 : HW_rottura_nastro_abrasivo
$EVENT : 24 : HW_manuale
$EVENT : 25 : HW_nastro_scarico_pieno
$EVENT : 26 : Barcode_Manca_Riforn_MPD
$EVENT : 27 : Timer_timeout_tempo_ciclo
$EVENT : 28 : Timer_timeout_TURNO_by_tempo_ciclo
$EVENT : 29 : HW_magazzino_grezzi vuoto
$EVENT : 30 : HW_emergenza
$EVENT : 31 : Barcode_Modifica_Programmi
$EVENT : 32 : Barcode_Sostituzione_Utensile
$EVENT : 33 : HW_Allarme Macchina
$EVENT : 34 : HW_end_pallet_1
$EVENT : 35 : HW_end_pallet_2
$EVENT : 36 : HW_deposito_robot
$EVENT : 37 : Barcode_Riempimento_Vasca
$EVENT : 38 : Barcode_Riscaldamento
$EVENT : 39 : Barcode_Anomalia_Macchina
$EVENT : 40 : HW_WarmUp_CoolDown
$EVENT : 41 : HW_machining_SLOW
$EVENT : 42 : HW_Warn_Livello_Vasca
$EVENT : 43 : HW_Warn_Livello_Cell
$EVENT : 44 : HW_Warn_a_Vuoto
$EVENT : 45 : HW_Warn_Riserva
$EVENT : 46 : HW_Carico
$EVENT : 47 : HW_Mismatch
$EVENT : 48 : HW_preparing
#EVENT : 120 : IncrementoPezzi
#EVENT : 121 : RettificaPezzi
#$EVENT : 999 : Commento
$RULES
# state : input : next state : event
ALL_STATES : NOT B_PowerOn : ST_Power_off : HW_power_off
ALL_STATES : NOT B_EmergArm : ST_Init : HW_emergenza
ALL_STATES : B_PzCount : ST_Cycle_end : HW_end_pallet
ALL_STATES : B_WUpCDown : ST_WUp_CDown : HW_WarmUp_CoolDown
ALL_STATES : B_Manual : ST_Manual : HW_manuale
ALL_STATES : B_Alarm : ST_Alarm : HW_error
ALL_STATES : B_SlowTC : ST_Slow : HW_machining_SLOW
ALL_STATES : B_Run : ST_Run : HW_machining
ALL_STATES : B_PowerOn : ST_Machine_ready : HW_PowerOn
#--------------------------------------------------------------------------
$DO
+1 -1
View File
@@ -14,7 +14,7 @@
Vista in preview si può poi inserire in prod se confermato
</p>
<input type="input" @bind="@sz_file2Read" />
<InputFile OnChange="@LoadFiles" />
<button @onclick="()=>Read_rule_file_transitions()"></button>
+58 -1
View File
@@ -15,13 +15,23 @@ using SMGen;
using SMGen.Shared;
using System.Data;
using SMGen.Data;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Hosting.Server;
using System.Security.AccessControl;
using System.Security.Permissions;
using System.Security.Principal;
using System.IO;
namespace SMGen.Pages
{
public partial class SMIn2Event
{
[Inject]
protected IWebHostEnvironment env { get; set; } = null!;
protected string sz_file2Write { get; set; } = "prova.csv";
protected string sz_file2Read { get; set; } = "D:\\Repo\\Mapo-IOB\\StateMachine\\_DEFAULT\\60_STD_MACHINE.rul";
//protected string sz_file2Read { get; set; } = "D:\\Repo\\Mapo-IOB\\StateMachine\\_DEFAULT\\60_STD_MACHINE.rul";
protected string sz_file2Read { get; set; } = "";
protected string sz_state_machine_name { get; set; } = "";
protected string n_state_machine_index { get; set; } = "";
protected int n_states { get; set; } = 0;
@@ -36,6 +46,53 @@ namespace SMGen.Pages
//// va dopo
//private StreamWriter objWriter { get; set; };
private async Task LoadFiles(InputFileChangeEventArgs e)
{
List<IBrowserFile> loadedFiles = new();
long maxFileSize = 1024 * 15;
int maxAllowedFiles = 3;
bool isLoading;
isLoading = true;
loadedFiles.Clear();
foreach (var file in e.GetMultipleFiles(maxAllowedFiles))
{
try
{
loadedFiles.Add(file);
//assegno un nome file randomico x sicurezza
var trustedFileNameForFileStorage = Path.GetRandomFileName();
//path del file da scrivere
var pathFile = Path.Combine(env.ContentRootPath,
env.EnvironmentName, "unsafe_uploads",
trustedFileNameForFileStorage);
//path cartella root (development)
var pathDir = Path.Combine(env.ContentRootPath,
env.EnvironmentName, "unsafe_uploads");
//se la cartella non esiste, creo
if (!Directory.Exists(pathDir))
{
Directory.CreateDirectory(pathDir);
}
//creo file
await using FileStream fs = new(pathFile, FileMode.Create);
//copio il contenuto del file
await file.OpenReadStream(maxFileSize).CopyToAsync(fs);
sz_file2Read = pathFile;
}
catch (Exception ex)
{
}
}
isLoading = false;
}
protected async Task Read_rule_file_transitions()
{
+2048 -2048
View File
File diff suppressed because it is too large Load Diff