사용자 도구

사이트 도구

English

codesysmanual:debugld

레더 모니터링과 디버깅

동작중인 상태에서 LD언어 창을 보면 모니터링 상태로 보입니다.

이때 접점상태를 바꿔가면서 LD언어의 동작을 살펴볼 수 있는 기능이 있습니다. 테스트를 위해 다음과 같은 LD프로그램을 사용하겠습니다.

SR펑션블록은 우리가 잘 알고 있는 SR플립플롭과 동일한 동작을 하는 펑션블록입니다. 1비트 기억소자인데, Set과 Reset으로 기억상태를 바꿀 수 있습니다.

위 LD프로그램을 실행시키면 다음과 같은 상태가 되는데, 여기에서 Prepared value부분을 클릭하면 새로운 값을 준비시킬 수 있습니다

이건 준비된 상태입니다.

준비만 된겁니다. 아직 기입 되진 않았습니다. 이때 Debug메뉴를 보면 Write Value (단축키 Ctrl+F7)을 선택하면 준비된 값이 비로소 기입(Write)됩니다.

Sw1은 내부 메모리에 위치한 변수이기 때문에 별 문제없이 바뀌었습니다.

그런데 하드웨어적으로 포트를 통해 외부 센서와 연결된 상황이라면 이렇게 바뀌지 않습니다. 강제로 바꾸고 싶은데, 실제로 들어오는 값이 있으니까요. 그때를 위해 준비해둔 기능이 바로 Force Value (단축키 F7)입니다. 번역하면 "강제로 바꿔"입니다.

아래 예에서는 Sw2가 포트를 통해 외부 스위치와 연결되어 있어서, Force Value를 통해 이렇게 바꾸었습니다. (앞에 F라는 표식이 생김)

반영된 Foced값들을 한번에 취소하는 Unforced Value도 있습니다.

정리하면..

  1. 값을 준비해 놓고 (Prepared Value)
  2. 내부 변수값 이라면 ctrl+F7 키를 눌려서 Write하고
  3. 외부와 연결된 값이라면 F7을 눌러서 Force Write하고
  4. 나중에 Force된거를 한번에 걷어내려면 Alt+F7을 누르면 됩니다.

CODESYS

codesysmanual/debugld.txt · 마지막으로 수정됨: 2020/12/13 04:41 저자 Comfile Technology