private void ExportDeviceProperty(ISODeviceElement deviceElement, NumericRepresentationValue representationValue, int objectID) { ISODeviceProperty dpt = new ISODeviceProperty(); dpt.ObjectID = (uint)objectID; switch (representationValue.Representation.Code) { case "0043": case "0046": dpt.DDI = representationValue.Representation.Code; dpt.Designator = "Width"; dpt.Value = representationValue.AsIntViaMappedDDI(RepresentationMapper); break; case "vrOffsetInline": dpt.DDI = "0086"; dpt.Designator = "XOffset"; dpt.Value = representationValue.AsIntViaMappedDDI(RepresentationMapper); break; case "vrOffsetLateral": dpt.DDI = "0087"; dpt.Designator = "YOffset"; dpt.Value = representationValue.AsIntViaMappedDDI(RepresentationMapper); break; case "vrOffsetVertical": dpt.DDI = "0088"; dpt.Designator = "ZOffset"; dpt.Value = representationValue.AsIntViaMappedDDI(RepresentationMapper); break; } if (!string.IsNullOrEmpty(dpt.DDI)) { deviceElement.Device.DeviceProperties.Add(dpt); deviceElement.DeviceObjectReferences.Add(new ISODeviceObjectReference() { DeviceObjectId = (uint)objectID }); } }
private ISOProcessDataVariable ExportProcessDataVariable(NumericRepresentationValue value, string isoProductIdRef, ISOUnit unit) { if (value != null && value.Value != null) { UnitOfMeasure adaptUnit = unit.ToAdaptUnit(); var dataVariable = new ISOProcessDataVariable { ProductIdRef = isoProductIdRef, ProcessDataValue = value.AsIntViaMappedDDI(RepresentationMapper), ProcessDataDDI = DetermineVariableDDI(value.Representation, adaptUnit).AsHexDDI() }; return(dataVariable); } return(null); }