7.5 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-16T14:13:51.176520+00:00 | zai-org/GLM-5-FP8 | 1 | 8371f072462a5521 |
Documentation: DTS.Common.ISO
1. Purpose
The DTS.Common.ISO namespace provides a domain model and data access layer for a Data Acquisition System (DAS), with specific support for ISO 13499 (MME) standards. It defines core entities representing hardware channels, test object templates, calculated channels, and trigger logic. The module bridges raw database records (via OLE DB) and XML serialization with higher-level application logic, facilitating the configuration and execution of crash test simulations or data recording scenarios.
2. Public Interface
Classes
AbstractOLEDbWrapper
An abstract base class providing utility methods for safe data reading.
protected static long GetLong(IDataReader reader, string field): Returnslong.MinValueif the database field isDBNull, otherwise converts the value tolong.protected static DateTime GetDate(IDataReader reader, string field): ReturnsDateTime.MinValueif the database field isDBNull, otherwise casts toDateTime.
HardwareChannel
Represents a physical hardware channel, inheriting from DASChannelDBRecord.
Hardware ParentDAS: Gets or sets the parent hardware device.HardwareChannel(): Default constructor.HardwareChannel(IDASChannelDBRecord record, Hardware h): Constructs a channel from a record and parent hardware.HardwareChannel(HardwareChannel copy, Hardware h): Copy constructor.static int PhysicalCompare(HardwareChannel left, HardwareChannel right): Compares two channels byChannelIdx. Handles nulls.void Insert(): Inserts the channel into the database viaDbOperations.DASChannelsInsert.bool IsSupported(SensorConstants.BridgeType bridge): Checks if a specific bridge type is supported using bitwise comparison.
IsoCodeStatics
Static helper class for generating ISO code strings.
static string GetString(MMEPossibleChannels channel, MMETestObjects container, MMEPositions position, MMEFilterClasses fc): Constructs an ISO code string from channel metadata.static string GetString(MMEPossibleChannels channel, bool careAboutTestTimeFields): Overload that optionally masks test time fields (TestObject, FilterClass) with placeholders ("??", "?").static string GetString(string testObject, ..., string fc): Constructs the string via concatenation of parameters.
TestObjectChannel
Represents a channel within a test object, implementing IComparable<TestObjectChannel> and IGroupChannel.
bool Disabled: Determines if the channel is used in data collection.int ChannelIdx: Index of the channel, defaults toCHANNEL_IDX_UNKNOWN(-1).string SensorSerialNumber: Serial number of the associated sensor.string HardwareId: Physical hardware channel ID. The setter parses and reformats the string if it contains underscores.SquibChannelTypes SquibChannelType: Enum (None,Voltage,Current).TestObject TestObject: The parent test object.int CompareTo(TestObjectChannel right): Sorts byDisplayOrder, thenName, thenTestObject.SerialNumber.string GetGraphId(): Returns the ID, appendingConstants.CURRENT_SUFFIXifSquibChannelTypeisCurrent.string GetId(): Returns a composite ID string (SerialNumber_MMEChannelType_Id).string GetDASId(): Extracts the DAS ID from theHardwareIdstring.
CalculatedValueClass
Represents a calculated/derived channel (e.g., sum, HIC), inheriting from CalculatedChannelRecord.
bool SupportsRealtime: Returns true ifViewInRealtimeis true.bool IsValid(Dictionary<string, bool> channelIdLookup): Validates that the channel has a name and all input channel IDs exist in the lookup.Operations Operation: Setter triggers property change events forViewInRealtimeandCanChangeViewInRealtime.bool ViewInRealtime: Returns false for specific operations (IRTRACC3D,HIC, etc.) regardless of the base value.string[] InputChannelIds: Getter reconstructs the array from the_channelslist if populated.byte[] InputChannelIdsBlob: Serializes/deserializes input channel IDs to/from UTF-8 bytes.void ReplaceInputChannelIdAtIndex(int index, string newId): Replaces a specific ID in the input array.
CCAttributeBase
Abstract base class for attributes attached to calculated channels.
int AttributeId: Read-only ID.abstract string GetSerializedValue(): Must be implemented to return the string value.abstract string GetDefaultValue(): Must be implemented to return the default value.abstract CCAttributeBase Copy(): Must be implemented for deep copying.
LevelTriggerChannel
Defines trigger conditions based on signal levels.
LevelTriggerChannel(DataRow dr): Constructs the object from a database row.string LevelTriggerText: Generates a human-readable description of the trigger logic (e.g., "Less than 5.00(V)").- Properties include thresholds:
GreaterThanThresholdEU,LessThanThresholdEU,InsideUpperLevelEU, etc.
TestSetting & TestSettingDictionary
Manage configuration settings for a test.
TestSetting(int id, string value, string defaultValue): Constructor.static bool TryParse(string s, out TestSetting ts): Parses a string format "id=value".TestSettingDictionary.GetValue(int id, string defaultValue): Retrieves a value or returns the default.TestSettingDictionary.SetValue(TestSetting setting): Sets or updates a setting in the internal dictionary.string ToSerializeString(): Serializes the dictionary to a string using culture-invariant separators.
TestObjectTemplate
A lightweight wrapper for group templates (ISO metadata).
string TemplateNameOrOriginalTemplateName: Returns the original name if embedded (GUID name), otherwiseTemplateName.TestObjectTemplateChannel[] Channels: Array of channels belonging to the template.bool IsISOMode(): Checks ifTestObjectTypecontains specific non-ISO markers.
ISO Metadata Classes (MMEFilterClasses, MMEPositions, MMEFineLocations2)
Data mappers for ISO 13499 reference tables.
static [Type][] Get[Types](): Static method that queries the database (viaDbOperations.GetISOCommand()) and returns an array of objects.static [Type] ReadXML(XmlElement node): Factory method to instantiate from XML attributes.- Properties map directly to DB columns:
S_GUID,Text_L1,Version,Expired,History, etc.
Interfaces
ISerializableFile
string GetDirectory()string GetExtension()string GetFilter()string GetFileLocation()
3. Invariants
- HardwareChannel Insertion: Calling
HardwareChannel.Insert()requiresParentDASto be non-null, as it callsParentDAS.GetId(). - TestObjectChannel ID Parsing: The
HardwareIdsetter expects a specific format (tokens separated by_). If it does not match the expected