====== ST 모니터링과 디버깅 ====== ST 프로그램은 실행중 각 변수의 현재 상태를 변수정의 창과, 코드 변수바로옆에 표시해줍니다. {{ :codesysmanual:stdebug1.jpg?nolink |}} 코드에서 동작을 멈추고 싶은 곳에 Break Point를 설정할 수 있습니다. 그곳에 가서 F9를 누르세요. {{ :codesysmanual:stdebug2.jpg?nolink |}} {{ :codesysmanual:stdebug3.jpg?nolink |}} 그러면 코드 실행중 브레이크 포인트를 만나면 실행은 멈추고, 녹색박스로 표시한 Step Over, Step Into등의 기능도 활성화됩니다. 다음은 멈춘 상태입니다. 상단의 Step관련 아이콘도 활성화 됩니다. {{ :codesysmanual:stdebug4.jpg?nolink |}} 이 상태에서 한줄씩 실행시켜 볼 수 있습니다. * Step over : 펑션이나 펑션블록 내부로 들어가지 않고 스탭실행 * Step into : 평션이나 펑션블록 내부로 따라 들어감. * Step out : 펑션이나 평선블록 내부를 수행중이였다면 빠져나갈때까지 실행하고, 빠져나가자 마자 멈춤. * Run to cursor : 커서가 있는 곳까지 한번에 수행. 그리고 상단 변수만 표시되어 있는 곳에 Prepared value를 클릭하면 변수 상태를 바꿀 수 있습니다. 바꾸고 값을 입력하고, Enter를 누르세요. {{ :codesysmanual:stdebug5.jpg?nolink |}} Write Value (단축키 ctrl+F7)을 누르면 바뀝니다. {{ :codesysmanual:srlogic5.png?nolink |}} 바뀐상태. {{ :codesysmanual:stdebug6.jpg?nolink |}} 만약 ctrl+F7 로 바뀌지 않는다면, 그건 어딘가에 연결되어 있어서 바꿀 수 없는 값이라는 얘기입니다. 이때에는 Force Value로 바꿀 수 있습니다. {{ :codesysmanual:srlogic7.png?nolink |}} Force Value로 바뀐 값들은 "실제로 존재하는 값은 여전히 있지만, 그 위에 한겹 덧붙여진 형태로 임시로 넣어둔 값"으로 볼 수 있습니다. Force된 값은 나중에 Unforce value로 한번에 Force상태를 해제할 수 있습니다. {{ :codesysmanual:srlogic13.png?nolink |}} {{ :codesysmanual:stdebug1.gif?nolink |}} [[codesysmanual:index|CODESYS]]