아하
학문

기계공학

푸른페리카나20
푸른페리카나20

설비에서 Scm과 Controller통신 오류

안녕하세요.

설비에서 특정 Log가 Controller와 Scm이 통신하면서 pc에 Log로 남게되는데요.

Log가 기록이 안될때 scm에 접속해서 tmp폴더에 있는 텍스트 파일에는 5 78 5 78 반복되는 데이터와 purge : 내용은 계속 바뀜, CMD ERR가 기록됩니다.

SCM(리눅스 임베디드 기반 Busy Box)에 접속해서 CAT으로 시리얼포트를 모니터링하면 실시간으로 데이터가 잘 최신화되고있는데 어떤 문제로 LOG가 기록이 안되는것이고 해결방법과 원인은 무엇일까요? 통신설정 이상없어요.

(cat실행시 최신데이터에도 간혹 잘못된 문자열이 출력되거나 Cmd err가 포함되서 출력)

이럴때는 scm을 재부팅하면 해결되거나 간혹 cat실행시 바로 복구, 또는 cat 장시간 실행후 ctrl z로 중단시 복구되는 경우가 있었습니다.

55글자 더 채워주세요.
3개의 답변이 있어요!
전문가 답변 평가하기 이미지
전문가 답변 평가답변의 별점을 선택하여 평가를 해주세요. 전문가들에게 도움이 됩니다.
  • 안녕하세요. 서종현 전문가입니다.

    SCM로그 미 기록 원인은 시리얼 포트 데이터 수신중 오류(CMD ERR 등)으로 로깅 프로세스가 비정상 상태에 빶는 경우입니다. 실행시 복구되는 현상은 시리얼 버퍼 초기화 또는 장치 파일 접근이 리셋되어 통신이 정상화되는 것으로 보입니다. 이는 프로세스 간 포트 충돌, 버퍼 오버플로우 또는 SCM 내부 스레드 동기화 문제일수있습니다. 해결을 위해 시리얼 포트 접근 로직 점검, 버퍼 관리 개선 및 로그 프로세스의 예외 처리 강화가 필요합니다.

  • 안녕하세요. 조일현 전문가입니다.

    SCM 내부에서 컨트롤러로 부터 데이터를 처리하는 버퍼가 가득차서 데이터를 전달하지 못할 수 있으며,

    장시간 작동으로 인해 메모리 과부화로 기록 문제를 발생시킬 수 있습니다.

    간헐적으로 통신설정은 문제 없다고 하셨지만 통신 불안정 현상으로 Cmd err가 뜨는 현상이 나타나기도 합니다.

    재부팅은 시스템 전체를 초기화 하기에 일시적인 버퍼를 해소할 수 있습니다.

  • 안녕하세요. 김민규 전문가입니다.

    우선 시리얼 포트 점유 상태 점검이 필요해 보입니다. 그래도 이상이 없다면 그 외 시리얼 통신 품질이나 로그 기록 및 점검 등 순차적으로 점검해야 합니다.