PLC/지멘스

지멘스 OB40 Hardware Interrupt(하드웨어 인터럽트) 사용해보기

감튀러버 2024. 12. 25. 11:23
반응형

안녕하세요 오늘은 Hardware Interrupt 를 이용하는 방법을 알아보겠습니다.

 

하드웨어 인터럽트는 PLC 제어에서 중요한 기능으로, 특정 하드웨어 이벤트에 대해 빠른 응답이 필요할 때 사용됩니다.

예를들어 긴급정지 스위치가 눌렸을 때와 같이 즉각적인 동작정지가 필요할때 활용할 수 있을 것 같습니다.

 

기본적인 작동원리는 아래와 같습니다.

 

  1. 디지털 입력카드에서 신호를 받습니다.(상승엣지 또는 하강엣지)
  2. 정상적인 주기 프로그램인 OB1의 실행을 중단하고 인터럽트 OB를 실행합니다.
  3. 인터럽트 OB 실행이 완료되면 다시 정상 주기 프로그램인 OB1의 실행이 재개됩니다(중단된 지점부터 재개)

입력과 출력동작 사이의 지연시간을 줄일 수 있고 불필요한 스캔타임도 줄어드니 메모리와 CPU리소스를 절약할 수 있는 장점이 있지만 반대로 과도하게 사용할 시 오히려 시스템 성능에 악영향을 줄 수 있으므로 신중하게 사용해야 합니다.

 

하드웨어 인터럽트OB는 OB40 ~ OB47까지 총 8개까지 사용이 가능합니다.


이제 하드웨어 인터럽트 사용법을 알아보겠습니다.

 

먼저 DI카드(입력)를 추가해 보겠습니다.

DI 16x24VDC HF를 추가해 줍니다

하드웨어 인터럽트 기능을 사용하려면 뒤에 BA가 아닌 HF라고 적힌 카드를 사용해야 합니다.

간단히 두개의 차이점을 알아보자면 BA보다 HF가 더 고성능 입력카드라고 생각하시면 됩니다.

BA : Basic모델 / 입력지연시간 3.2ms고정 / 진단기능 없음 / 하드웨어 인터럽트 불가 / 카운터 기능 없음

HF : High Feature모델 / 입력지연시간 선택가능(0.05ms ~ 20ms)  / 채널별 진단기능 내재 / 하드웨어 인터럽트 기능제공 / 카운터 기능 내재

 

추가한 입력카드의 Properties에서 Hardware Interrupt를 활성화 합니다.

입력신호가 On될때 하드웨어 인터럽트 기능을 활성화 하려면 Enable rising edge detection을 선택하고

입력신호가 Off될때 하드웨어 인터럽트 기능을 활성화 하려면 Enable falling edge detection을 선택합니다.

 

저는 rising edge를 선택해 보겠습니다.

 

Hardware Interrupt 클릭

 

Add new

 

Hardware interrupt OB를 생성해 줍니다.


이렇게 생성된 OB40에는 위에서 설정했던 입력카드 0번 채널이 Trigger로 되어 있는것을 볼 수 있습니다.

 

다시말해 [DI 16x24VDC HF_1] 카드의 0번 채널신호가 On 되면 OB40이 동작됩니다.

(이제 OB40에 알맞은 프로그램을 만들어서 추가만 해주면 되겠죠?)

 

추가로 Hardware Interrupt OB의 우선순위를 변경하고 싶다면 

Priority 항목을 조정해 주면 됩니다.

 

OB 우선순위 변경하기는 아래 글 참고

https://yongyong22.tistory.com/entry/%EC%A7%80%EB%A9%98%EC%8A%A4-OB-%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84-%ED%99%95%EC%9D%B8-%EB%B0%8F-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0

 

지멘스 OB 우선순위 확인 및 변경하기

2024.12.11 - [PLC/지멘스] - 지멘스 OB 종류 알아보기 안녕하세요 오늘은 OB의 우선순위에 대해 알아보겠습니다. OB는 Organization Block의 약자로 프로그램을 실행하는 역할을 하는 블록인데요 이 OB에

yongyong22.tistory.com


만약 입력카드의 신호가 늦게 들어오는 것 같다면?

아래와 같이 Input Parameter를 조정해 주면 됩니다.

 

 

반응형