From a158df111559de805b348b01a65004e7166bb717 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Thu, 7 May 2026 15:19:27 +0200 Subject: [PATCH] - modifica a comunicazione Siemens per uscire da ciclo di attesa risposta macchina in caso di reset --- EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb | 15 ++++++++++----- .../MachManagingThread/MachManaging.vb | 4 ++-- EgtBEAMWALL.sln | 1 + 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb b/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb index e0768da7..5b488988 100644 --- a/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb +++ b/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb @@ -378,16 +378,20 @@ Public Class SIEMENSSharp7Comm Return Result = 0 End Function - Friend Sub ResetStep(bReset As Boolean) + Friend Function ResetStep(bReset As Boolean) As Boolean WaitingRefresh() - Dim ResetStep As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList(19) ' Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = RESET_STEP) + Dim varResetStep As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList(19) ' Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = RESET_STEP) If bReset Then Map.refMachManaging.DebugMessage(1, "Imposto variabile ResetStep a 1") - ResetStep.sValue = 1 + varResetStep.sValue = 1 Threading.Thread.Sleep(100) Dim nResetStepOk As Integer = 0 Dim ResetStepOk As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = RESET_STEP_OK) + Dim ResetMachine As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = RESET_STATE) While nResetStepOk <> 1 + If ResetMachine.sValue = "1" Then + Return False + End If Map.refMachManaging.DebugMessage(1, "Rileggo variabili") RefreshAllVars() Map.refMachManaging.DebugMessage(1, "Leggo valore ResetStepOk") @@ -395,9 +399,10 @@ Public Class SIEMENSSharp7Comm Threading.Thread.Sleep(1000) End While End If - ResetStep.sValue = 0 + varResetStep.sValue = 0 Map.refMachManaging.DebugMessage(1, "Imposto variabile ResetStep a 0") - End Sub + Return True + End Function Friend Sub ReadPLCMessages() WaitingRefresh() diff --git a/EgtBEAMWALL.Supervisor/MachManagingThread/MachManaging.vb b/EgtBEAMWALL.Supervisor/MachManagingThread/MachManaging.vb index 7c3d0bbe..38991452 100644 --- a/EgtBEAMWALL.Supervisor/MachManagingThread/MachManaging.vb +++ b/EgtBEAMWALL.Supervisor/MachManagingThread/MachManaging.vb @@ -510,7 +510,7 @@ Public Class MachManaging Map.refMachManaging.DebugMessage(1, "Confermo lettura reset") ResetReadedVariable.sValue = "1" Else - ResetVariable.sValue = "0" + ResetVariable.sValue = "0" End If ' resetto prossima barra e variabili V If CurrentMachine.NCType = NCTypes.TPA AndAlso CurrentMachine.Flow = FlowTypes.CONTINUOUS Then @@ -1221,7 +1221,7 @@ Public Class MachManaging m_bFirstRaw = False DebugMessage(1, "Primo grezzo") ' annullo step di ripartenza - Map.refMachManaging.Siemens_Sharp7.ResetStep(Not (MyMachGroup.dtStartTime <> DateTime.MinValue OrElse MyMachGroup.nProduction_State = ItemState.WIP)) + If Not Map.refMachManaging.Siemens_Sharp7.ResetStep(Not (MyMachGroup.dtStartTime <> DateTime.MinValue OrElse MyMachGroup.nProduction_State = ItemState.WIP)) Then Return False End If ' imposto larghezza barra Dim WCarico As Variable = Map.refMachCommandMessagePanelVM.MainVariablesList.FirstOrDefault(Function(x) x.sName = W_CARICO) diff --git a/EgtBEAMWALL.sln b/EgtBEAMWALL.sln index be4252ac..4907820b 100644 --- a/EgtBEAMWALL.sln +++ b/EgtBEAMWALL.sln @@ -45,6 +45,7 @@ Global {4BD87FB8-9D12-46E3-ABCB-6576415BCE9A}.Release|x86.ActiveCfg = Release|x86 {4BD87FB8-9D12-46E3-ABCB-6576415BCE9A}.Release|x86.Build.0 = Release|x86 {4BD87FB8-9D12-46E3-ABCB-6576415BCE9A}.RemoteDebug|x86.ActiveCfg = Debug|x86 + {4BD87FB8-9D12-46E3-ABCB-6576415BCE9A}.RemoteDebug|x86.Build.0 = Debug|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE