diff --git a/scripts/sch3.gd b/scripts/sch3.gd index c0dbf7b..8cfb752 100644 --- a/scripts/sch3.gd +++ b/scripts/sch3.gd @@ -18,6 +18,7 @@ class Sch3 extends unit.Unit: var regs_holding_count: int = 0 var request_period: int = 300 var reconnect_period: int = ONLINE_TIMEOUT + var reconnect_failed: bool = false var write_stack: Array var tick_fsm: int = 0 var mbc: = ModbusClientRtu.new() @@ -33,8 +34,13 @@ class Sch3 extends unit.Unit: mbc.close() var rc = mbc.open(port, params[0], params[1], params[2], params[3], params[4]) if rc != Error.OK: - push_error('%s: не возможно открыть \"%s\" %s' % [name, port, params]) + if not reconnect_failed: + push_error('%s: не возможно открыть \"%s\" %s' % [name, port, params]) + reconnect_failed = true return false + if reconnect_failed: + push_warning('%s: открыто после сбоя \"%s\" %s' % [name, port, params]) + reconnect_failed = false mbc.set_response_timeout(params[5]) mbc.thread_run() return true