이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
TCP/IP 네트워크를 통한 데이터 송수신
이 예제에서는 Simulink® 라이브러리의 다른 블록과 함께 블록 라이브러리의 Instrument Control Toolbox™ 블록을 사용하여 간단한 모델을 만드는 방법을 보여줍니다. 이 예제에서는 TCP/IP를 사용하여 에코 서버로 데이터를 보내고 해당 데이터를 모델로 다시 읽어들이는 방법도 보여줍니다.
이 예제에서는 컴퓨터에서 에코 서버를 생성하여 TCP/IP Send 블록으로 신호를 보내는 것을 시뮬레이션하고 결과를 Send 블록으로 다시 에코하여 데이터를 보냅니다. 그런 다음 TCP/IP Receive 블록을 사용하여 동일한 데이터를 모델로 다시 읽어옵니다.
참고
블록 이름은 기본적으로 모델에 표시되지 않습니다. 모델 작업 중에 숨겨진 블록 이름을 표시하려면 Display를 선택하고 자동 이름 숨기기 확인란의 선택을 취소합니다.
1단계: 에코 서버 생성
TCP/IP를 사용하여 신호를 보내고 받는 데 사용할 수 있는 에코 서버 역할을 하는 컴퓨터의 포트를 엽니다. 에코 서버를 생성하려면 MATLAB®에서 다음 명령을 실행하십시오.
echotcpip('on',50000)에코 서버로 작동하고 켜기 위해 컴퓨터에서 포트 50000이 열립니다.
2단계: 새 모델 만들기
Simulink를 시작하고 새 모델을 만들려면 MATLAB 명령 프롬프트에 다음을 입력하십시오.
simulink
Simulink 시작 페이지에서 빈 모델를 클릭한 다음 모델 만들기를 클릭하십시오. 빈 편집기 창이 열립니다.
툴스트립에서 저장를 클릭하여 새 모델에 이름을 지정하십시오.
3단계: 블록 라이브러리 열기
툴스트립에서 시뮬레이션 탭에서 라이브러리 브라우저를 클릭하십시오.
Simulink 라이브러리 브라우저가 열립니다. 왼쪽 창에는 사용 가능한 블록 라이브러리 트리가 알파벳순으로 나열되어 있습니다. Instrument Control Toolbox를 클릭하십시오.
블록을 사용하려면 기존 모델에 블록을 추가하거나 새 모델을 만들어야 합니다.

4단계: Instrument Control Toolbox 블록을 모델로 끌어다 놓기
모델에서 블록을 사용하려면 블록을 Simulink 편집기로 끌어다 놓으세요. 이 모델의 경우 모델에 TCP/IP Send와 TCP/IP Receive 블록의 인스턴스가 하나씩 필요합니다.

5단계: Sine Wave 블록과 Scope 블록을 끌어서 놓아서 모델 완성
이 예제에는 두 개의 블록이 더 필요합니다. 한 블록은 TCP/IP Receive 블록에서 수신한 데이터를 표시하고, 다른 블록은 TCP/IP Send 블록으로 전송할 데이터입니다.
TCP/IP Send 블록에는 데이터를 전송하기 위한 데이터 소스가 필요합니다. 모델에 Sine Wave (Simulink) 블록을 추가하여 TCP/IP Send 블록으로 신호를 보냅니다. Sine Wave 블록에 액세스하려면 브라우저 트리에서 Simulink 노드를 확장하고, 소스 라이브러리 항목을 클릭하십시오. 오른쪽 창의 블록에서 Sine Wave 블록을 모델로 끌어와 TCP/IP Send 블록의 왼쪽에 놓습니다.

TCP/IP Receive 블록에서 수신된 데이터를 표시하려면 Scope (Simulink) 블록을 사용합니다. 이 블록에 액세스하려면 브라우저 트리에서 확장된 Simulink 노드에서 Sinks 라이브러리 항목을 클릭하십시오. 오른쪽 창의 블록에서 Display 블록을 모델로 끌어와 TCP/IP Receive 블록의 오른쪽에 배치합니다.

6단계: 블록 연결
Sine Wave 블록과 TCP/IP Send 블록을 연결해 보세요. 연결을 빠르게 만드는 방법은 Sine Wave 블록을 선택하고, Ctrl 키를 길게 누른 다음, TCP/IP Send 블록을 클릭하는 것입니다. 같은 방법으로 TCP/IP Receive 블록의 출력 포트와 Scope 블록의 입력 포트를 연결합니다.

7단계: 블록 파라미터 값 지정
모델의 블록을 두 번 클릭하여 해당 블록의 파라미터를 설정합니다.
Send 블록 구성
TCP/IP Send 블록을 두 번 클릭하여 파라미터 대화 상자를 엽니다. 원격 주소 필드를 localhost로, 포트 필드를 50000로 설정합니다. 이는 에코 서버를 시작할 때 설정한 주소입니다.

적용를 클릭한 다음 확인를 클릭하십시오.
Receive 블록 구성
Receive 블록을 두 번 클릭하여 파라미터 대화 상자를 엽니다. 원격 주소 필드를 localhost로 설정하고 포트 필드를 50000로 설정합니다. 데이터형를 double로 바꾸세요. 블록 샘플 시간 필드는 기본적으로 0.01로 설정됩니다. 여기의 블록 샘플 시간은 Sine Wave 블록의 블록 샘플 시간과 일치해야 하므로 둘 다 0.01로 설정되어 있는지 확인하십시오.

확인를 클릭하십시오.
Sine Wave 블록 구성
Sine Wave 블록을 두 번 클릭하여 파라미터 대화 상자를 엽니다. 샘플 시간 필드를 0.01로 설정합니다.
확인를 클릭하십시오.
8단계: 블록 우선순위 지정
시뮬레이션을 올바르게 실행하려면 Simulink가 블록을 처리하는 순서를 지정하십시오. 블록을 마우스 오른쪽 버튼으로 클릭하고 속성를 선택하십시오. 우선 순위 필드에 우선순위 번호를 입력하십시오. 이 예에서는 TCP/IP Send의 우선순위를 1로, TCP/IP Receive의 우선순위를 2로 설정합니다.
주의
모델의 블록에 대해 올바른 우선순위를 설정해야 합니다. 그렇지 않으면 예상치 못한 결과가 나타날 수도 있습니다.
또한 모델에 두 개의 파라미터를 설정해야 합니다. Simulink 툴스트립에서 시뮬레이션 탭의 준비 섹션에서 모델 설정를 클릭합니다. 구성 파라미터 대화 상자에서 유형 필드를 Fixed-step로 설정하고 솔버 필드를 discrete (no continuous states)로 설정합니다.

확인를 클릭하십시오.
9단계: 시뮬레이션 실행
시뮬레이션을 실행하려면 Simulink 편집기 툴스트립에서 녹색 Run 버튼을 클릭하십시오. 툴스트립 옵션을 사용하여 시뮬레이션을 실행할 시간을 지정하고 실행 중인 시뮬레이션을 중지할 수 있습니다.

시뮬레이션이 실행되는 동안 Simulink 편집기 하단의 상태 표시줄에 시뮬레이션 진행 상황이 업데이트됩니다.
10단계: 결과 보기
Scope 블록을 두 번 클릭하면 TCP/IP Receive 블록에서 수신되는 신호를 그래프로 볼 수 있습니다.

Instrument Control Toolbox 블록에 대한 자세한 내용은 블록 참조 문서를 확인하십시오.