Esempio n. 1
0
        private MCFunction GetResponseFunction(MCQHeader qHeader, MCErrorCode errorCode, MCFunction request, MCFunction response)
        {
            if (errorCode == MCErrorCode.None)
            {
                return(response);
            }
            else
            {
                var f = new MCFunctionErrorResponse();
                f.IONumber      = qHeader.IONumber;
                f.NetworkNumber = qHeader.NetworkNumber;
                f.PLCNumber     = qHeader.PLCNumber;
                f.StationNumber = qHeader.PLCNumber;

                if (request != null)
                {
                    f.CommandCode    = MCFunctionRegistry.Find(request.GetType()).Id;
                    f.SubCommandCode = request.GetSubCommandCode();
                }
                else
                {
                    f.CommandCode    = 0;
                    f.SubCommandCode = 0;
                }

                return(f);
            }
        }
Esempio n. 2
0
 protected void SetupQHeader(MCQHeader qHeader)
 {
     qHeader.PLCNumber     = 0xFF;
     qHeader.IONumber      = 0x03FF;
     qHeader.StationNumber = 0;
     qHeader.NetworkNumber = 0;
 }
Esempio n. 3
0
        private MCQHeaderResponse CreateResponseQHeader(MCQHeader request, MCErrorCode errorCode)
        {
            var value = new MCQHeaderResponse();

            value.IONumber      = request.IONumber;
            value.NetworkNumber = request.NetworkNumber;
            value.PLCNumber     = request.PLCNumber;
            value.StationNumber = request.PLCNumber;
            value.ResultCode    = (ushort)errorCode;

            return(value);
        }