DOCA0272KO-00

순환 데이터

순환 데이터에 액세스하는 모든 기능 블록은 두 개의 인터페이스 변수를 사용하여 순환 데이터에 대한 액세스를 매개변수로 지정합니다.

  • i_hwStartAddress - 순환 입력 데이터용

  • iq_hwQWAddress - 순환 출력 데이터용

인터페이스 변수 "i_hwStartAddress"(데이터 형식 "Variant")는 기능 블록에서 아바타와 연관된 순환 입력 데이터의 전체 양을 검색하는 데 사용됩니다. 기능 블록이 그렇게 하려면 아바타의 입력 범위(PROFINET IO의 경우 아바타의 입력 하위 모듈, PROFIBUS DP의 아바타 모듈)의 시작 주소로 매개변수를 지정해야 합니다. 일반적인 방법은 범위의 시작 부분에 주소에 대한 PLC 태그를 생성하는 것입니다. PLC 태그의 데이터 크기는 범위 시작(예: 아래 예제의 펌프 아바타에 대한 주소 "%I4.0"을 가리키는 BOOL "AvPump02_StartAddress")에 있는 한 중요하지 않습니다.

출력 데이터 방향의 경우 기능 블록에서 in/out 변수 "iq_hwQWAddress"(경우에 따라 아바타에 대한 출력 데이터의 단일 바이트만 있기 때문에 "iq_hwQBAddress"도 사용됨)를 사용합니다. 입력 데이터와 달리 이 변수는 아일랜드의 전체 출력 데이터(대부분의 경우 한 Word)를 참조하며 기능 블록에 in/out 변수로 연결되어 있습니다. 경우에 따라 여러 기능 블록이 서로 다른 영역(예: 아바타 진단 기능 블록과 함께 Avatar 제어 기능 블록)에서 동일한 아바타의 출력 데이터에 액세스하므로 현재 상태를 읽어야 출력이 변경됩니다. 일반적으로 아바타의 출력 영역에 대한 액세스는 전체 출력 영역에 대한 PLC 태그를 사용하여 구성해야 합니다(위 예에서, Word 참조 주소 "%QW5" 유형의 "AvConveyorOneDir03_OutAddress").

주의: TIA Portal용 TeSys™ 아일랜드 라이브러리의 기능 블록은 아바타의 입/출력 영역에 대한 잘못된 구성을 감지할 수 없습니다. 따라서 사용자는 올바른 입력 및 출력 영역이 적절한 기능 블록 유형과 함께 구성 및 사용되도록 할 책임이 있습니다. 이를 소홀히 하면 TeSys™ 아일랜드의 예기치 않은 동작이 발생할 수 있습니다.

프로그램에서 입력 변수 "i_xEnable"이 "true"로 설정되는 즉시 순환 통신을 포함하는 기능 블록이 실행되어 순환 데이터를 업데이트합니다. 즉, 기능 블록 인터페이스에서 순환 통신을 통해 아바타를 제어하는 모든 입력 변수(예: 위의 예에서 "i_xRunFwd")가 아바타의 출력 데이터 영역에 기록됩니다. 동시에 아바타의 입력 데이터 영역에 있는 모든 관련 상태 정보는 기능 블록에서 읽고 출력 인터페이스(예: "q_xRunFwd")에 복사됩니다.

기능 블록의 상태 출력 "q_xActive"의 상대는 "i_xEnable"입니다. 기능 블록의 실행이 활성화되고 감지된 오류가 발생하지 않은 경우 "q_xActive"는 "true"입니다. 기능 블록을 실행하는 동안 감지된 오류가 발생하면 "q_xError"에서 상승 에지로 신호를 보냅니다. 순환 입력 데이터의 검색과 기능 블록의 실행이 중단되었습니다. 또한 "q_dwErrorID"는 데이터 블록 ConstTeSysIsland의 오류 코드 값 중 하나를 사용하여 발생한 감지 오류의 종류에 대한 세부 정보를 제공합니다(데이터 블록 ConstTeSysIsland 참조). 동시에 TeSys 아일랜드와의 순환 또는 비순환 통신 결과인 기능 블록의 모든 출력은 개별 기본값으로 재설정됩니다. 이는 다음을 의미합니다.

  • 비트 필드(WORD, DWORD, ...) 형식의 숫자(INT, UINT, ...)의 모든 결과는 0으로 설정됩니다.

    .
  • 문자열 유형의 모든 결과는 빈 문자열로 설정됩니다.

  • 문자열 유형의 모든 결과는 FALSE로 설정됩니다.

  • 날짜 및 시간 유형(이 라이브러리의 DTL)의 모든 결과는 해당 유형의 최소 값(DTL#1970-01-01-00:00:00.0)으로 재설정됩니다.

  • 사용자 정의 형식(UDT) 또는 구조체로 그룹화된 모든 결과는 형식 정의에 지정된 기본값으로 재설정됩니다. 일반적으로 위의 규칙을 따릅니다.

주의: 라이브러리에 포함된 UDT의 정의를 변경하면 오류가 발생할 때 기능 블록에서 사용하는 기본값이 변경됩니다. 따라서 반드시 방지해야 합니다.
경고
의도하지 않은 장비 작동
  • 오류가 발생할 때 아바타가 나타내는 부하의 작동이 중단되지 않도록 하기 위해 아일랜드로 전송된 순환 출력 데이터(예: Run 명령)는 그대로 유지됩니다. 오류가 발생할 때 부하를 종료해야 하는 경우 상황에 따라 기능 블록의 활성 입력 비트를 제거해야 합니다.
이러한 지침을 따르지 않을 경우 심각한 부상 또는 사망으로 이어지거나 장비가 손상될 수 있습니다.

"i_xEnable"에서 새 상승 에지가 감지된 후 그리고 기능 블록에서 감지된 오류 상태를 입력하는 조건이 지워진 경우에만 기능 블록이 감지된 오류 상태를 유지합니다.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

이게 도움이 되었습니까?