CONFIG_SAFETY_FUNCTION

안전 기능을 설정하는 구조체이며, 다음 필드로 구성됩니다. 같은 메모리 영역을 두 가지 방식으로 볼 수 있도록 공용체로 구현되어 있습니다.

  • 비트 필드 보기(기능마다 4비트 작업 구역 값 2개: 단독/협동)

  • 원시 바이트 배열 보기(기능마다 1바이트)

BYTE#

필드 이름

자료형

값

비고

0

_tStopCode[SAFETY_FUNC_LAST]

unsigned char _iStdWorkSpace:4; }

unsigned char _iColWorkSpace:4; }

아래 구조체 정의를 참고하세요.

0

_iStopCode[SAFETY_FUNC_LAST]

unsigned char

항목별 원시 1바이트 정지 기능 값
공용체 매핑으로 _tStopCode와 같은 메모리를 공유합니다.

  • SF05: 비상 정지(Emergency Stop)

  • SF06: 보호 정지(Protective Stop)

  • SF07: 정지 모니터링

  • SF08: 조인트 각도 모니터링

  • SF09: 조인트 속도 모니터링

  • SF10: 조인트 토크 모니터링

  • SF11: 충돌 감지(Collision Detection)

  • SF12: TCP 위치 모니터링

  • SF13: TCP 자세 모니터링

  • SF14: TCP 속도 모니터링

  • SF15: TCP 힘 모니터링

  • SF16: 운동량 모니터링

  • SF17: 파워 모니터링

전체 크기: 17바이트

정의 위치: DRFS.h

typedef union _CONFIG_SAFETY_FUNCTION
{
    struct {
        unsigned char _iStdWorkSpace : 4;  /* 단독 작업 구역 */
        unsigned char _iColWorkSpace : 4;  /* 협동 작업 구역 */
    } _tStopCode[SAFETY_FUNC_LAST];

    unsigned char _iStopCode[SAFETY_FUNC_LAST];
} CONFIG_SAFETY_FUNCTION, *LPCONFIG_SAFETY_FUNCTION;

참고

  • 이 공용체를 사용하면 비트 필드 방식과 바이트 방식 중 하나로 읽거나 쓸 수 있습니다.

  • _tStopCode는 항목 17개(SF05–SF17)를 사용하며, 항목마다 4비트 작업 구역 코드 2개(단독/협동)를 담습니다.

  • _iStopCode는 안전 기능 17개 전체에 1바이트 단위로 직접 접근할 수 있게 합니다.