TPA8/TPA8_SCADA/ignition/named-query/Statistics/lane_details_diagnostic.py
2026-02-28 17:04:25 +04:00

66 lines
1.9 KiB
Python

# DIAGNOSTIC SCRIPT FOR LANE DETAILS
# This will help identify which field is causing the problem
# Get the data
results = self.parent.getChild("Statistics").getChild("Lane Details").getChild("Lane Details").props.filter.results.data
if len(results) > 0:
# Print all available field names from the first result
first_result = results[0]
field_names = list(first_result.keys())
print("="*50)
print("AVAILABLE FIELDS IN LANE DETAILS:")
print("="*50)
for field in sorted(field_names):
print(f" {field}")
print("="*50)
# Try to access each field individually for Count mode
print("\nTEST COUNT MODE FIELDS:")
print("-"*50)
test_fields = [
'Startstamp', 'Endtstamp', 'SorterName', 'Lane',
'Total_count', 'Diverted_count', 'DestFull_count',
'DestJam_count', 'DestDis_count', 'DestFault_count',
'DivertFail_count', 'Lost_count', 'Unsafe_count',
'Dim_count', 'GapErr_count', 'Unknown_count'
]
for field in test_fields:
try:
value = first_result[field]
print(f"{field}: {value}")
except KeyError:
print(f"{field}: MISSING!")
print("\nTEST PERCENTAGE MODE FIELDS:")
print("-"*50)
perc_fields = [
'total_perc', 'Diverted_perc', 'destfull_perc',
'destjam_perc', 'destdisabled_perc', 'destfault_perc',
'DivertFail_perc', 'lost_perc', 'unsafe_perc',
'dim_perc', 'gaperr_perc', 'unknown_perc'
]
for field in perc_fields:
try:
value = first_result[field]
print(f"{field}: {value}")
except KeyError:
print(f"{field}: MISSING!")
else:
print("No filtered results found. Checking props.data instead...")
test_table = system.dataset.toPyDataSet(self.parent.getChild("Statistics").getChild("Lane Details").getChild("Lane Details").props.data)
if len(test_table) > 0:
first_row = test_table[0]
field_names = list(first_row.keys())
print("="*50)
print("AVAILABLE FIELDS IN props.data:")
print("="*50)
for field in sorted(field_names):
print(f" {field}")
print("="*50)