fix: 무게 수신 버퍼 및 안정성 임계값 기준 재측정 로직으로 수정 #10

Merged
kje97 merged 1 commits from fix/weight-timing-control into master 2025-06-26 11:20:09 +09:00
Owner

QW 시리즈 무게 측정 안정화 로직 추가

변경 사항

  • 기존: 순간 측정값이 목표 무게와 일치하면 바로 측정 완료 처리
  • 변경: 무게 버퍼를 활용한 3회 측정 및 안정성 확인 후 평균값으로 비교
  • 불필요한 재측정 방지를 위해 5g 이상의 변화가 있을 경우만 재측정 시작
  • QWSerialPort_DataReceived → 타이머 흐름은 유지, 내부 처리 방식 개선

주요 로직

1. 무게 버퍼 처리

Private weightBuffer As New List(Of Double)
Private Const BUFFER_SIZE As Integer = 3
Private Const STABILITY_THRESHOLD As Double = 5.0
  • AddToWeightBuffer(weight): 측정값 버퍼에 추가
  • IsWeightStable(): 버퍼 내 max-min ≤ 5g → 안정성 판단
  • GetStableWeight(): 평균값으로 최종 측정값 계산

2. 재측정 트리거 조건

If Math.Abs(weightResult2 - previousWeight) >= 5 Then
    ' 재측정 시작
  • 직전 측정값과 5g 이상 차이가 있을 때만 재측정 유도
  • 오차 내 변화는 무시하고 대기 유지 → 반복 측정 방지

3. 무게 일치 비교 로직

If weight_compare_improved(stableWeight) Then
    lbWeight.Text = "무게 일치"
Else
    lbWeight.Text = "무게 불일치"
  • 안정된 평균값을 기존 허용 오차 범위 내에서 비교하여 결과 표시

🔗 관련 이슈

## QW 시리즈 무게 측정 안정화 로직 추가 ### 변경 사항 * 기존: 순간 측정값이 목표 무게와 일치하면 바로 측정 완료 처리 * 변경: **무게 버퍼를 활용한 3회 측정 및 안정성 확인 후 평균값으로 비교** * 불필요한 재측정 방지를 위해 **5g 이상의 변화가 있을 경우만 재측정 시작** * **QWSerialPort\_DataReceived → 타이머 흐름은 유지**, 내부 처리 방식 개선 --- ### 주요 로직 #### 1. **무게 버퍼 처리** ```vbnet Private weightBuffer As New List(Of Double) Private Const BUFFER_SIZE As Integer = 3 Private Const STABILITY_THRESHOLD As Double = 5.0 ``` * `AddToWeightBuffer(weight)`: 측정값 버퍼에 추가 * `IsWeightStable()`: 버퍼 내 max-min ≤ 5g → 안정성 판단 * `GetStableWeight()`: 평균값으로 최종 측정값 계산 #### 2. **재측정 트리거 조건** ```vbnet If Math.Abs(weightResult2 - previousWeight) >= 5 Then ' 재측정 시작 ``` * 직전 측정값과 5g 이상 차이가 있을 때만 재측정 유도 * 오차 내 변화는 무시하고 대기 유지 → 반복 측정 방지 #### 3. **무게 일치 비교 로직** ```vbnet If weight_compare_improved(stableWeight) Then lbWeight.Text = "무게 일치" Else lbWeight.Text = "무게 불일치" ``` * 안정된 평균값을 기존 허용 오차 범위 내에서 비교하여 결과 표시 ### 🔗 관련 이슈 - [#8: 저울 변경 - CAS SWII → QW 시리즈 전환 및 코드 수정](#8) - 본 PR은 위 이슈에서 처리된 **QW 시리즈 연동** 후, 실제 운영 환경에서 발생 가능한 **측정 오차/불안정성 개선을 위한 안정화 로직 추가**를 다룹니다.
kje97 added 1 commit 2025-06-26 11:20:02 +09:00
kje97 merged commit a7379e7ebf into master 2025-06-26 11:20:09 +09:00
kje97 deleted branch fix/weight-timing-control 2025-06-26 11:20:21 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jionmt-sw/shpmt-OrderPackingProcessor#10
No description provided.