주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

TCP/IP Receive

지정된 원격 컴퓨터에서 TCP/IP 네트워크를 통해 데이터를 수신합니다.

  • TCP/IP Receive block

라이브러리:
Instrument Control Toolbox

설명

TCP/IP Receive 블록은 TCP/IP 프로토콜을 사용하여 지정된 원격 주소에 대한 인터페이스를 구성하고 엽니다. 구성 및 초기화는 모델 실행이 시작될 때 한 번 발생합니다. 블록은 모델의 실행 시간 동안 차단 모드 또는 비차단 모드로 데이터를 수집합니다. TCP/IP Receive 블록을 사용하여 TCP/IP 네트워크를 통해 스트리밍 데이터를 읽습니다. 이 블록은 TCP/IP 클라이언트로만 작동하며 TCP/IP 서버로 사용할 수 없습니다.

이 블록에는 입력 포트가 없습니다. 차단 또는 비차단 모드를 선택하는지에 따라 1개 또는 2개의 출력 포트가 있습니다. 차단 모드를 선택하면 블록은 수신하는 데이터에 해당하는 하나의 출력 포트 Data를 갖습니다. 차단 모드를 선택하지 않으면 블록에는 두 개의 출력 포트 DataStatus가 있습니다.

이 블록은 FIFO(선입선출) 버퍼를 사용하여 데이터를 수신합니다. 각 시간 스텝에서 Data 포트는 버퍼에서 요청된 값을 반환합니다. 비차단 모드에서 Status 포트는 블록이 새로운 데이터를 수신했는지 여부를 나타냅니다. Status 포트에 1가 표시되면 새 데이터를 사용할 수 있고, 상태 포트에 0이 표시되면 새 데이터를 사용할 수 없습니다.

기타 지원 기능

  • TCP/IP Receive 블록은 Simulink® Accelerator 모드와 Rapid Accelerator 사용을 지원합니다. 이 기능은 Simulink 모델의 실행 속도를 높여줍니다.

  • TCP/IP Receive 블록은 모델 참조 사용을 지원합니다. 이 기능을 사용하면 사용자의 모델에 다른 Simulink 모델을 모듈식 구성요소로 포함할 수 있습니다.

  • TCP/IP Receive 블록은 C/C++ 코드 생성을 지원합니다. 이 기능을 사용하면 Simulink Coder™를 사용하여 C 및 C++ 코드를 생성할 수 있습니다.

이러한 기능에 대한 자세한 내용은 Simulink 설명서를 참조하십시오.

예제

포트

출력

모두 확장

원격 주소에서 블록이 수신한 데이터로, 벡터, 행렬 또는 배열로 반환됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

새로운 데이터가 사용 가능한 상태인지 여부로, 논리적 1 (true) 또는 0 (false)로 반환됩니다. 이 포트가 1를 반환하면 새로운 데이터를 읽을 수 있습니다.

종속 관계

이 포트를 활성화하려면 Enable blocking mode 파라미터의 선택을 취소하십시오.

데이터형: Boolean

파라미터

모두 확장

데이터를 수신하려는 TCP/IP 서버의 IP 주소 또는 이름입니다.

프로그래밍 방식 사용

블록 파라미터: Host
유형: 문자형 벡터, string형

연결하려는 TCP/IP 서버의 원격 포트입니다. 1~65535 사이의 숫자로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: Port
유형: 문자형 벡터, string형
값: 1~65,535
기본값: '80'

이 버튼을 클릭하면 지정된 원격 주소와 포트에 대한 연결이 유효한지 확인할 수 있습니다.

출력 데이터 크기 또는 각 시뮬레이션 시간 스텝에서 읽을 값의 개수입니다. 이 파라미터는 스칼라 또는 벡터로 지정됩니다. 데이터에는 종결자 값이 포함되지 않습니다.

프로그래밍 방식 사용

블록 파라미터: DataSize
유형: 문자형 벡터, string형
값: 벡터
기본값: '[ 1, 1 ]'

블록이 원격 주소로부터 수신하는 데이터형으로, MATLAB 데이터형으로 지정됩니다.

이 데이터형은 원격 주소의 데이터의 데이터형과 일치해야 합니다. 이 파라미터를 사용하여 원격 주소의 데이터의 데이터형을 변경할 수 없습니다.

프로그래밍 방식 사용

블록 파라미터: DataType
유형: 문자형 벡터, string형
값: 'single' | 'double' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'ASCII'
기본값: 'uint8'

이 파라미터는 수신된 문자열 데이터의 형식을 정의합니다. 다음 변환 지정자를 사용하거나 이를 조합하여 사용할 수 있습니다.

참고

Simulink Coder를 사용하여 C/C++ 코드를 생성하는 경우 하나의 변환 지정자만 사용할 수 있습니다.

숫자 필드 유형변환 지정자세부

정수, 부호 있음

%d

10진법

%i

데이터의 값은 기준을 결정합니다:

  • 기본값은 10진법입니다.

  • 첫 번째 숫자가 0x 또는 0X인 경우 값은 16진수입니다.

  • 초기 숫자가 0이면 값은 8진수(기수 8)입니다.

%ld 또는 %li

64비트 값, 10, 8 또는 16진수

정수, 부호 없음

%u

10진법

%o

8진법(8진법)

%x

16진법(16진법)

%lu, %lo, %lx

64비트 값, 10, 8 또는 16진수

부동 소수점 숫자

%f

부동 소수점 필드에는 다음 중 하나가 포함될 수 있습니다(대소문자 구분 없음): Inf, -Inf, NaN 또는 -NaN.

%e

%g

프로그래밍 방식 사용

블록 파라미터: ASCIIFormatting
유형: 문자형 벡터, string형
값: '%d' | '%i' | '%ld' | '%li' | '%u' | %o' | '%x' | '%lu' | '%lo' | '%lx' | '%f' | '%e' | '%g'
기본값: '%f'

종속 관계

이 파라미터를 활성화하려면 Source Data typeASCII로 설정하십시오.

이 파라미터를 선택하면 데이터 블록의 끝을 나타내는 종결자를 지정할 수 있습니다. 시뮬레이션은 종결자 이전에 발생하는 모든 데이터를 새로운 데이터 블록으로 간주합니다. 종결자 데이터는 출력 포트로 전송되지 않습니다. 이 종결자는 원격 컴퓨터에서 읽고 있는 데이터의 종결자와 일치해야 합니다.

Custom Terminator를 선택하면 종결자 값을 직접 지정할 수 있습니다.

프로그래밍 방식 사용

블록 파라미터: Terminator
유형: 문자형 벡터, string형
값: 'CR' | 'LF' | 'CR/LF' | 'LF/CR' | 'Custom terminator'
기본값: 'LF'

종속 관계

이 파라미터를 활성화하려면 Source Data typeASCII로 설정하십시오.

데이터 블록의 끝을 나타내는 사용자 정의 종결자입니다. 시뮬레이션은 종결자 이전에 발생하는 모든 데이터를 새로운 데이터 블록으로 간주합니다. 종결자 데이터는 출력 포트로 전송되지 않습니다.

이 파라미터에 지정된 숫자형 배열은 해당 ASCII 문자의 uint8 정수 표현입니다. 이 파라미터의 정확한 형식은 ASCII 문자의 유형에 따라 달라집니다.

ASCII 문자의 종류ASCII 문자 예MATLAB 명령파라미터 값
제어 문자(이스케이프 시퀀스)"LF" ("\n")uint8(sprintf('\n'))[10]
특수 문자"#"uint8('#')[35]
숫자형"81"uint8('81')[56 49]
알파벳"End"uint8('End')[69 110 100]

ASCII 문자의 16진수 표현을 사용하여 이 파라미터를 지정할 수도 있습니다.

프로그래밍 방식 사용

블록 파라미터: CustomTerminator
유형: 문자형 벡터, string형
값: 정수형 배열
기본값: '10'

종속 관계

이 파라미터를 활성화하려면 TerminatorCustom terminator로 설정하십시오.

바이트가 더 큰 숫자 값으로 배열되는 순차적 순서입니다. 바이트 순서가 little-endian인 경우, 수신된 TCP/IP 패킷의 첫 번째 메모리 주소에 첫 번째 바이트가 구성됩니다. 바이트 순서가 big-endian인 경우, 수신된 TCP/IP 패킷의 첫 번째 메모리 주소에 마지막 바이트가 구성됩니다.

데이터를 수신하기 전에 원격 컴퓨터에 적합한 값과 일치하도록 바이트 순서를 구성하십시오. 바이트를 저장하는 순서에 대한 자세한 내용은 계측기 설명서를 참조하십시오.

프로그래밍 방식 사용

블록 파라미터: ByteOrder
유형: 문자형 벡터, string형
값: 'little-endian' | 'big-endian'
기본값: 'big-endian'

이 파라미터는 블록이 데이터를 수신하는 동안 시뮬레이션을 기다리게 합니다. 새로운 데이터가 생기면 다음 시간 스텝부터 시뮬레이션이 계속됩니다. 읽기 작업으로 인해 시뮬레이션이 대기하지 않게 하려면 확인란의 선택을 취소하십시오.

차단 모드를 활성화하면, 시뮬레이션은 요청된 데이터가 사용 가능할 때까지 기다립니다. 각 시간 스텝에서 모델은 Timeout 파라미터로 지정된 시간까지 기다립니다. 이 시간 내에 데이터가 수신되지 않으면 블록은 0 값을 출력합니다.

차단 모드를 활성화하지 않으면 시뮬레이션이 지속적으로 실행되며 블록은 두 개의 출력 포트(StatusData)를 갖습니다. Data 포트에는 각 시간 스텝에서 요청된 데이터 세트가 포함되어 있습니다. Status 포트에는 주어진 시간 스텝에서 새 데이터를 수신했는지 여부에 따라 0 또는 1이 포함됩니다.

자세한 내용은 Enable Blocking Mode in Receive and Send Blocks 항목을 참조하십시오.

프로그래밍 방식 사용

블록 파라미터: EnableBlockingMode
유형: 문자형 벡터, string형
값: 'on' | 'off'
기본값: 'on'

각 시뮬레이션 시간 스텝 동안 모델이 데이터를 기다리는 시간(초)입니다. 이 값은 실세계 시간 또는 "wall clock" 시간을 기준으로 합니다.

프로그래밍 방식 사용

블록 파라미터: Timeout
유형: 문자형 벡터, string형
값: 양의 스칼라
기본값: '10'

종속 관계

이 파라미터를 활성화하려면 Enable blocking modeon으로 설정하십시오.

시뮬레이션 중 블록의 샘플링 시간. 이는 시뮬레이션 중에 블록이 실행되는 속도입니다. 자세한 내용은 하드웨어 인터페이스 모델의 타이밍 항목을 참조하십시오.

프로그래밍 방식 사용

블록 파라미터: SampleTime
유형: 문자형 벡터, string형
값: 양수 숫자
기본값: '0.01'

확장 기능

모두 확장

버전 내역

R2007b에 개발됨

참고 항목