====== I/O 포트와 소유권 ====== {{ :cubloc2:ioport:ncb520.png?nolink |}} CUBLOC2의 I/O 포트는 기능과 방향에 따라 세 가지 종류로 구분됩니다. ==== I 포트 (입력 전용 : I0~I15) ==== 외부 신호를 읽는 입력 포트입니다. * BASIC과 LD에서 동시에 읽을 수 있습니다. 소유권 설정이 따로 필요없습니다. ==== Q 포트 (출력 전용 : Q16~Q31) ==== 외부 장치를 제어하는 출력 포트입니다. * 전원 인가 후 최초 상태에서 모든 Q 포트는 LD가 소유합니다. * ''Freepin'' 명령으로 LD 소유권을 풀어주어야 BASIC에서 쓸 수있습니다. * 전원인가시 Low 출력 상태입니다. Freepin 21 ' Q21 는 자유입니다. High 21 ' 이제 BASIC에서 제어 가능합니다. ==== P 포트 (양방향 : P32~P41) ==== BASIC 전용 입출력 포트입니다. * BASIC에서 자유롭게 사용할 수 있습니다. LD에서는 사용할 수 없습니다. * 따라서 소유권은 BASIC에 있으며, 소유권 변경을 할 수 없습니다. * 전원 인가 시 입력상태입니다. High 32 ' P32를 출력으로 설정하고 ON Low 32 ' P32를 출력으로 설정하고 OFF ---- ====== 포트 표기법 ====== ==== BASIC 에서 포트 표기법 ==== BASIC에서는 **포트 번호**를 명령어에 직접 적습니다. 즉, 앞에 붙는 알파벳 I, Q, P는 생략합니다. 아래 예제는 21번 포트를 ON 상태로 만드는 코드입니다. High 21 ' 21번 포트 출력을 ON 합니다. ==== LD (래더 다이어그램) 에서 포트 표기법 ==== 래더 로직에서는 포트 번호 앞에 **입력(I)과 출력(Q)**을 나타내는 알파벳을 붙여야 합니다. ^ 식별자 ^ 의미 ^ 예시 ^ | I | 입력 포트 (Input) | I0, I6, I15 | | Q | 출력 포트 (Output) | Q16, Q20, Q31 | 아래 예제는 I6 입력이 들어오면 Q21 출력을 내보내는 래더 로직입니다. I6 Q21 -----| |-------------( ) [[..:index|← CUBLOC2 목차로 돌아가기]]