public string GetMeasurementItemText(MeasurementItemViewKind viewKind) { StringBuilder sb = new StringBuilder(""); if ((viewKind & MeasurementItemViewKind.DBId) != 0) { sb.Append($"[{Id.ToString()}]"); } if ((viewKind & MeasurementItemViewKind.LogTime) != 0) { sb.AppendSeparated(LogTime.ToString()); } if ((viewKind & MeasurementItemViewKind.EventTime) != 0) { sb.AppendSeparated(EventTime.ToString()); } if ((viewKind & MeasurementItemViewKind.Value) != 0) { sb.AppendSeparated(MeasuredValue.ToString()); } if ((viewKind & MeasurementItemViewKind.Unit) != 0) { sb.AppendSeparated(MeasuredUnit.ToString()); } return(sb.ToString()); }
private void HandingOffsetCorrectionValues(ref ModbusIpMaster master) { if (master == null) { Logger.WriteDebugLog("Getting Null for ModbusIpMaster object master. Exiting From HandingOffsetCorrectionValues()"); return; } ushort[] ReadDataFlag; ushort[] Output; int SlNo; int PartID; int OperationID; int Dimension; int IterationCount; float MeanVal; float LambdaVal; float LVal; float SigmaVal; float MeasuredValue; float EWMAVal; float LCLVal; float UCLVal; float CorrectionValue; float MaxCorrectionStep; DateTime MeasuredDateTime; try { ReadDataFlag = master.ReadHoldingRegisters(HoldingRegForReadDataFlag, (ushort)1); if (ReadDataFlag[0] == 1) { Logger.WriteDebugLog("Read Flag (606) is High"); Output = master.ReadHoldingRegisters(HoldingRegForSerialNo, (ushort)1); SlNo = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForPartID, (ushort)1); PartID = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForDimension, (ushort)1); Dimension = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForOperationID, (ushort)1); OperationID = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegisterForIterationCount, (ushort)1); IterationCount = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForMean, (ushort)2); MeanVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForLambda, (ushort)2); LambdaVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForL, (ushort)2); LVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForSigma, (ushort)2); SigmaVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForMeasuredVal, (ushort)2); MeasuredValue = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForEWMA, (ushort)2); EWMAVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForLCL, (ushort)2); LCLVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForUCL, (ushort)2); UCLVal = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForCorrectionVal, (ushort)2); CorrectionValue = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForMaxCorrectionStep, (ushort)2); MaxCorrectionStep = GetFloat(Output); Output = master.ReadHoldingRegisters(HoldingRegForNGComponent, (ushort)1); int ngComponent = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForAltCorrecting, (ushort)1); int altCorrection = Output[0]; Output = master.ReadHoldingRegisters(HoldingRegForMeasuredDate, (ushort)2); string MeasuredDate = ModbusUtility.GetUInt32(Output[1], Output[0]).ToString("00000000"); Output = master.ReadHoldingRegisters(HoldingRegForMeasuredTime, (ushort)2); string MeasuredTime = ModbusUtility.GetUInt32(Output[1], Output[0]).ToString("000000"); MeasuredDateTime = DateTime.ParseExact(string.Format("{0}{1}", MeasuredDate, MeasuredTime), "yyyyMMddHHmmss", null); Logger.WriteDebugLog(string.Format("Data Received : MC-{0} PartID-{1} Operation-{2} Operator-{3} Dimension-{4} Mean-{5} Lambda-{6} L-{7} Sigma-{8} Measured Value-{9} EWMA-{10} LCL-{11} UCL-{12} Correction Value-{13} Max Correction Step-{14} Measured DateTime-{15} Iteration Count-{16}", this._interfaceId, PartID, OperationID, "1", Dimension, MeanVal.ToString("00.0000"), LambdaVal.ToString("00.0000"), LVal.ToString("00.0000"), SigmaVal.ToString("00.0000"), MeasuredValue.ToString("00.0000"), EWMAVal.ToString("00.0000"), LCLVal.ToString("00.0000"), UCLVal.ToString("00.0000"), CorrectionValue.ToString("00.0000"), MaxCorrectionStep.ToString("00.0000"), MeasuredDateTime.ToString("dd-MMM-yyyy HH:mm:ss"), IterationCount)); DatabaseAccess.InsertDataToSPCAutoData(this._interfaceId, PartID, OperationID, "1", Dimension, MeanVal, LambdaVal, LVal, SigmaVal, MeasuredValue, EWMAVal, LCLVal, UCLVal, CorrectionValue, MaxCorrectionStep, MeasuredDateTime, IterationCount, ngComponent, altCorrection); master.WriteSingleRegister(HoldingRegForACK, (ushort)SlNo); master.WriteSingleRegister(HoldingRegForReadDataFlag, (ushort)2); Logger.WriteDebugLog("Read Flag (606) is set to Low"); } #region Communication //send communicationNo try { master.WriteSingleRegister(HoldingRegisterForCommunictaion, commNo); } catch (Exception ex) { if (master != null) { master.Dispose(); } Logger.WriteErrorLog(ex.ToString()); } if (commNo == 100) { commNo = 200; } else { commNo = 100; } #endregion } catch (Exception ex) { Logger.WriteErrorLog("Exception In HandingOffsetCorrectionValues() : " + ex.Message); } }