====== 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 목차로 돌아가기]]