비순환 데이터
TeSys™ 아일랜드에서 비순환적 통신을 사용하는 기능 블록에 대해 비순환 데이터가 포함된 하드웨어 모듈에 대한 참조가 기능 블록에 필요합니다. 일반적으로 이 참조는 기능 블록 인터페이스에서 "i_hwSubmHWID"라는 "HW_IO" 유형의 입력으로 제공됩니다. Siemens TIA Portal에서 장치를 생성하면(예: AML 파일 가져오기를 통해) 하드웨어 ID 값이 있는 시스템 상수가 모든 장치, 모듈 및 하위 모듈에 대해 자동으로 생성됩니다. 이는 아바타나 장치의 비순환 데이터에 대한 액세스를 매개 변수로 지정하는 데 직접 사용할 수 있습니다. 이러한 상수의 이름은 일반적으로 다음 패턴을 사용하여 생성됩니다. <device name>~<module name>~<submodule name>(예: "mytesysisland~AvPump02~Acyclic").
TeSys™ 아일랜드 장치의 자산 관리(Asset Management) 데이터에 액세스하기 위해 이 데이터도 TeSys™ 아일랜드에서 모듈로 표시됩니다. 장치 모듈은 슬롯 번호 101에서 시작하여 PROFINET IO 및 PROFIBUS DP에 대해 슬롯에 위치합니다.
-
PROFIBUS DP의 경우 모듈 내에 하위 모듈이 없습니다. 따라서 모든 순환 및 비순환 데이터는 개별 하위 모듈 대신 모듈 자체에 속합니다. 즉, 비순환 통신뿐만 아니라 순환 통신을 포함하는 PROFIBUS DP 기능 블록의 경우 하드웨어 ID는 입력 시작 주소에서 직접 파생될 수 있으며 추가 하드웨어 ID를 매개 변수화할 필요가 없습니다. 그러나 순환 통신(주로 장치 자산 관리(Device Asset Management) 기능 블록)만 사용하는 기능 블록의 경우 모듈의 하드웨어 ID를 기능 블록 인터페이스(인터페이스 변수 "i_hwModuleHWID")에 제공해야 합니다.
-
기능 블록은 기능 블록 인터페이스 참조에 제공된 하드웨어 ID와 기능 블록이 만들어진 아바타 또는 장치의 유형 간에 일치하는 모듈이 있는지 감지할 수 없습니다. 따라서 올바른 하드웨어 ID가 적절한 기능 블록과 함께 사용되도록 하는 것은 사용자의 책임입니다. 이를 소홀히 하면 TeSys™ 아일랜드의 예기치 않은 동작이 발생할 수 있습니다.
기능 블록 입력 "i_xExecute"에서 상승 에지를 사용하여 비순환 데이터의 읽기 또는 쓰기를 트리거해야 합니다. 그러나 비순환 읽기 또는 쓰기는 기능 블록이 활성화되고("i_xEnable"), 감지된 오류가 발생하지 않았으며, 입력 변수 "i_xAcyclicBusy"가 "false"인 경우에만 시작됩니다. "i_xAcyclicBusy" 변수를 사용하면 비순환 통신(TIA Portal용 TeSys™ 아일랜드 라이브러리 또는 RDREC 또는 WRREC 기능을 사용하는 PLC 프로그램의 다른 부분)을 사용하여 기능 블록의 여러 인스턴스를 인터록하는 데 사용할 수 있으며, Siemens PLC의 비순환 통신에 대한 리소스가 제한되어 있어 감지된 오류를 방지할 수 있습니다. 또한 비순환 통신을 포함하는 각 기능 블록은 기능 블록에서 비순환 읽기 또는 쓰기 요청을 실행하는 동안 "true"로 설정된 출력 "q_xAcyclicBusy"를 제공하며 다른 기능 블록과 인터록하는 데 사용할 수 있습니다.
비순환 통신 중 감지된 오류가 발생하는 경우 기능 블록은 "q_xError" 출력의 상승 에지와 데이터 블록 ConstTeSysIsland의 "q_dwErrorID"에서 감지된 오류 코드와 함께 이 발생을 나타냅니다. 통신 결과를 기반으로 하는 모든 출력은 기본값으로 재설정됩니다(감지된 다른 모든 오류에 대해 동일한 반응—또는 순환 데이터를 참조하십시오. ConstTeSysIsland의 값에 대한 자세한 내용은 데이터 블록 ConstTeSysIsland을 참조하십시오). 감지된 오류 ID 외에 기능 블록은 어떤 경우 "q_dwAcyclicStatus" 변수에서 비순환 통신에 대한 상태 코드를 제공하는 경우도 있습니다. 아래 표는 사용 중인 비순환 상태 코드에 대한 개요를 제공합니다.
비순환 상태 코드
비순환 상태 코드 |
설명 |
---|---|
Cdw_StsNoMsg |
사용 가능한 상태 세부 정보가 없습니다(데이터 블록 ConstTeSysIsland도 참조하십시오) |
기타 모두 |
TIA Portal 관련 사용된 시스템 기능의 상태/오류 코드
TIA에 따라 감지된 오류 코드에 대한 자세한 내용은 Siemens TIA Portal 정보 시스템 및 타사 문서을 참조하십시오. |
기능 블록에서 비순환 통신을 성공적으로 완료하면 "q_xAcyclicBusy"가 false로 반환되고 "q_dwErrorID"는 적절한 상태 코드를 표시하고(데이터 블록 ConstTeSysIsland 참조)와 아일랜드에서 읽은 데이터가 출력 변수에 비순환적으로 복사됩니다. 새 비순환 요청이 완료되거나 기능 블록이 비활성화되거나 오류가 감지되고 출력 데이터가 기본값으로 덮어쓰여질 때까지 데이터는 출력에 남아 있습니다.