public override byte[] GetBytes() { var t1 = DateTime.UtcNow; Debug.WriteLine($"MessageOperation: ${t1}"); return(PlcClass <MessageOperation> .GetBytes(this)); }
public virtual byte[] GetBytes() { return(PlcClass <Message> .GetBytes(this)); }
public override byte[] GetBytes() { return(PlcClass <MessageResponse> .GetBytes(this)); }
public async Task Reader(NetworkStream stream, CancellationToken token) { Debug.WriteLine("Запуск PLC Reader"); while (!token.IsCancellationRequested) { byte[] messageBytes; Message header; try { var headerBytes = await ReadFromStreamAsync(PlcClass <Message> ._Size, stream, token); header = PlcClass <Message> .GetMessage(headerBytes); switch (header.Type) { case Messages.CURRENT_DATA: { var bodyBytes = await ReadFromStreamAsync(PlcClass <MessageCyclic> ._Size - PlcClass <Message> ._Size, stream, token); messageBytes = Combine(headerBytes, bodyBytes); } break; case Messages.ERRORS_WARNINGS: { var bodyBytes = await ReadFromStreamAsync(PlcClass <MessageErrors> ._Size - PlcClass <Message> ._Size, stream, token); messageBytes = Combine(headerBytes, bodyBytes); } break; case Messages.SERVICE: { var bodyBytes = await ReadFromStreamAsync(154 - PlcClass <Message> ._Size, stream, token); } continue; case Messages.AXIS_SERVICE: { var bodyBytes = await ReadFromStreamAsync(271 - PlcClass <Message> ._Size, stream, token); } continue; default: continue; } } catch (OperationCanceledException) { return; } catch (Exception e) { Debug.WriteLine( $"Reader() Exception{Environment.NewLine}{e.Message}{Environment.NewLine}{e.StackTrace}"); Task.Run(Connect); return; } try { switch (header.Type) { case Messages.CURRENT_DATA: { var message = PlcClass <MessageCyclic> .GetMessage(messageBytes); Zones[message.Zone].Update(message); } break; case Messages.ERRORS_WARNINGS: { var message = PlcClass <MessageErrors> .GetMessage(messageBytes); Zones[message.Zone].Update(message); } break; } } catch (Exception e) { Debug.WriteLine( $"Reader() Exception{Environment.NewLine}{e.Message}{Environment.NewLine}{e.StackTrace}"); } } }
public override byte[] GetBytes() { return(PlcClass <MessageCyclic> .GetBytes(this)); }
public override byte[] GetBytes() { return(PlcClass <MessageChangeMode> .GetBytes(this)); }