From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewSystem/CHMotorControls/MotorControl.cpp | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/ReviewSystem/CHMotorControls/MotorControl.cpp b/ReviewSystem/CHMotorControls/MotorControl.cpp index ca168d3..ee07ab9 100644 --- a/ReviewSystem/CHMotorControls/MotorControl.cpp +++ b/ReviewSystem/CHMotorControls/MotorControl.cpp @@ -24,6 +24,12 @@ m_nAutoEnable = 0; m_nAutoEnablePrev = 0; + /*< LYW 20220704 - #4220 ADD Start >*/ + m_nMotorAlive = 0; + m_nMotorAlivePrev = 0; + dwLastAliveTick = GetTickCount(); + /*< LYW 20220704 - #4220 ADD End >*/ + // wsi signal m_nWsiMotionEndPrev = 0; @@ -96,6 +102,29 @@ if (m_nAxisCount<1) return; + //Alive +// if (ReadAddressValue(50, m_nMotorAlive)) +// { +// if (m_nMotorAlivePrev != m_nMotorAlive) +// { +// dwLastAliveTick = GetTickCount(); +// } +// m_nAutoEnablePrev = m_nAutoEnable; +// +// if (GetTickCount() - dwLastAliveTick >15000 && dwLastAliveTick != 0) +// { +// m_pMC2P->IMC2P_SendMotorAliveErrorAlram(); +// m_pMC2P->IMC2P_DisplayMessage(m_nIndex, _T("Motor Alive Error!")); +// dwLastAliveTick = GetTickCount(); +// } +// } +// else +// { +// m_pMC2P->IMC2P_SendMotorAliveErrorAlram(); +// m_pMC2P->IMC2P_DisplayMessage(m_nIndex, _T("Motor Alive Read Fail!")); +// dwLastAliveTick = GetTickCount(); +// } + // auto enable const CMotorCommonAddr *pAddr = m_ControlInfo.GetMotorCommonAddr(); if (pAddr && pAddr->m_nAllAutoEnableAddr!=MOTOR_ADDRESS_NONE) -- Gitblit v1.9.3