Esempio n. 1
0
        public static bool GetPLCResponse(PLCResponseType expectedResponse, int maxNoOfBufferedMessages, out string errorMessage, int timeout)
        {
            PLCResponse item;
            bool        flag;

            errorMessage = "";
            if (!PLCUtility.WaitForPLCResponse(timeout))
            {
                errorMessage = string.Concat("PLC has not responded within a timeout period of ", timeout, " seconds");
                flag         = false;
            }
            else if (PLCUtility.PLCResponseBuffer.Count <= maxNoOfBufferedMessages)
            {
                lock (PLCUtility.PLCResponseBuffer)
                {
                    item = PLCUtility.PLCResponseBuffer[0];
                    PLCUtility.PLCResponseBuffer.RemoveAt(0);
                }
                if (item.PLCResponseType == expectedResponse)
                {
                    flag = true;
                }
                else
                {
                    errorMessage = string.Concat("Response from PLC was not as expected. Actual response = \"", item.Message, "\" expected type of response = ", expectedResponse.ToString("g"));
                    flag         = false;
                }
            }
            else
            {
                object[] count = new object[] { "PLC has sent an unexpected no. of messages. Messages in buffer = ", PLCUtility.PLCResponseBuffer.Count, " expected no. of messages = ", maxNoOfBufferedMessages };
                errorMessage = string.Concat(count);
                flag         = false;
            }
            return(flag);
        }
Esempio n. 2
0
 public static bool GetPLCResponse(PLCResponseType expectedResponse, int maxNoOfBufferedMessages, out string errorMessage)
 {
     return PLCUtility.GetPLCResponse(expectedResponse, maxNoOfBufferedMessages, out errorMessage, 30);
 }
Esempio n. 3
0
 public static bool GetPLCResponse(PLCResponseType expectedResponse, int maxNoOfBufferedMessages, out string errorMessage, int timeout)
 {
     PLCResponse item;
     bool flag;
     errorMessage = "";
     if (!PLCUtility.WaitForPLCResponse(timeout))
     {
         errorMessage = string.Concat("PLC has not responded within a timeout period of ", timeout, " seconds");
         flag = false;
     }
     else if (PLCUtility.PLCResponseBuffer.Count <= maxNoOfBufferedMessages)
     {
         lock (PLCUtility.PLCResponseBuffer)
         {
             item = PLCUtility.PLCResponseBuffer[0];
             PLCUtility.PLCResponseBuffer.RemoveAt(0);
         }
         if (item.PLCResponseType == expectedResponse)
         {
             flag = true;
         }
         else
         {
             errorMessage = string.Concat("Response from PLC was not as expected. Actual response = \"", item.Message, "\" expected type of response = ", expectedResponse.ToString("g"));
             flag = false;
         }
     }
     else
     {
         object[] count = new object[] { "PLC has sent an unexpected no. of messages. Messages in buffer = ", PLCUtility.PLCResponseBuffer.Count, " expected no. of messages = ", maxNoOfBufferedMessages };
         errorMessage = string.Concat(count);
         flag = false;
     }
     return flag;
 }
Esempio n. 4
0
 public PLCResponse(string response)
 {
     this.response = response;
     this.plcResponseType = PLCResponse.MapResponse(response);
     this.timestamp = DateTime.Now;
 }
Esempio n. 5
0
 public PLCResponse(string response)
 {
     this.response        = response;
     this.plcResponseType = PLCResponse.MapResponse(response);
     this.timestamp       = DateTime.Now;
 }
Esempio n. 6
0
 public static bool GetPLCResponse(PLCResponseType expectedResponse, int maxNoOfBufferedMessages, out string errorMessage)
 {
     return(PLCUtility.GetPLCResponse(expectedResponse, maxNoOfBufferedMessages, out errorMessage, 30));
 }