예제 #1
0
        public void SentToPlc(PlcMessagePack messagePack, PlcMessageType messageType = PlcMessageType.Respond)
        {
            var output = messagePack;

            output.MsgType = (int)messageType;
            try
            {
                _clientSocket.Send(output.ToBytes());
                OnMessagePackSent(messagePack);
            }
            catch
            {
                FailedAction();
            }
        }
예제 #2
0
        public static PlcFrame Create(PlcMessageType messageType, ByteString messageBody)
        {
            if (messageBody is null)
            {
                throw new System.ArgumentNullException(nameof(messageBody));
            }

            return(new PlcFrame
            {
                FrameHeader = new PlcFrameHeader
                {
                    MessageType = messageType,
                },
                FrameBody = messageBody,
            });
        }