Main Content

TCP/IP Receive

원격 호스트로부터 TCP/IP 네트워크를 통해 데이터 수신

  • TCP/IP Receive block

라이브러리:
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Support Package for Android Devices / Communication
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Support Package for Raspberry Pi Hardware / Network
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Coder Support Package for BeagleBone Blue Hardware / Communication
Simulink Support Package for Android Devices / Communication
Simulink Support Package for LEGO MINDSTORMS EV3 Hardware
Simulink Support Package for Raspberry Pi Hardware / Network

설명

네트워크를 통해 원격 호스트/다른 타깃 하드웨어로부터 데이터를 수신합니다. 연결 모드를 서버로 설정하는 경우 로컬 포트를 제공해야 합니다. 로컬 포트는 TCP/IP 서버의 수신 대기 포트 역할을 합니다. 블록을 클라이언트로 설정하는 경우 데이터를 수신할 TCP/IP 서버의 원격 주소와 원격 포트를 제공해야 합니다. 블록은 차단 모드 또는 비차단 모드에서 데이터를 받습니다. Data 포트 출력에는 각 시간 스텝에서 요청된 데이터가 포함됩니다. Status 포트에는 지정된 시간 스텝에서 새 데이터가 수신되었는지 여부를 나타내는 0 또는 1이 포함됩니다. Status 포트 값 1은 Data 포트의 데이터가 유효함을 나타냅니다.

차단 모드에서는 모델이 요청된 데이터를 사용할 수 있을 때까지 기다리는 동안 실행을 차단합니다.

blocking mode

시간 스텝 1에서 블록은 4개의 데이터 값을 요청하고 TCP/IP 수신 버퍼는 4개의 데이터 값을 얻습니다. 실행이 진행됩니다.

시간 스텝 2에서 블록은 데이터를 다시 요청하는데 TCP/IP 수신 버퍼는 3개의 데이터 값만 얻습니다. 버퍼가 네 번째 데이터 값을 수신하거나 제한 시간 값이 경과할 때까지 실행이 일시 중지됩니다. 그런 다음 실행이 다시 시작됩니다.

시간 스텝 3에서 블록은 데이터를 요청하고 버퍼는 5개의 데이터 값을 수신합니다. 블록은 처음 4개의 데이터 값을 반환하고 나머지 데이터 값은 다음 수신 사이클에 사용됩니다.

비차단 모드에서는 모델이 계속 실행됩니다.

non blocking mode

시간 스텝 1에서 블록은 데이터를 요청하고 버퍼는 4개의 데이터 값을 얻습니다. 블록은 Status 포트 값을 0으로 변경하여 새로 요청한 데이터를 사용할 수 있음을 나타냅니다. 이 시점에서 Data 포트에는 새로 수신한 데이터 값이 포함됩니다. 블록은 Data 포트 값을 0으로 재설정합니다.

시간 스텝 2에서 블록은 데이터를 다시 요청하는데 버퍼는 3개의 값만 얻습니다. 데이터 크기가 4로 지정되어 있으므로 블록은 값 3을 반환할 수 없습니다. 따라서 블록은 Status 포트 값을 1로 설정하여 새 데이터가 없음을 나타냅니다. Data 포트의 모든 값은 0이 됩니다. 이 시점에서 버퍼는 3개의 데이터 값을 갖습니다. 그러나 이 단계 중에는 차단 모드와 달리 실행이 중지되지 않습니다.

시간 스텝 3에서 버퍼는 5개의 데이터 값을 갖고, 블록은 수신된 순서대로 처음 4개의 데이터 값을 반환하고 Status 포트 값을 0으로 변경합니다. 나머지 데이터 값은 다음 수신 사이클에 사용됩니다.

포트

출력

모두 확장

블록은 데이터를 [Nx1] 배열로 출력합니다.

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

이 포트는 데이터 수신 상태를 표시합니다. 상태 값 1은 데이터 수신 성공을 의미합니다.

데이터형: int8

파라미터

모두 확장

기본 탭

블록을 TCP/IP 서버 또는 TCP/IP 클라이언트로 연결하는 옵션을 선택합니다.

TCP/IP 서버의 수신 대기 포트 역할을 하는 로컬 포트 번호를 입력합니다. 이 파라미터는 Connection modeServer로 설정한 경우에만 나타납니다

데이터를 수신할 원격 서버의 주소를 입력합니다. 이 파라미터는 Connection modeClient로 설정한 경우에만 나타납니다.

원격 서버 포트를 입력합니다. 이 파라미터는 Connection modeClient로 설정한 경우에만 나타납니다.

원격 호스트로부터 수신할 데이터형을 선택합니다.

원격 호스트로부터 수신할 데이터 크기를 입력합니다.

데이터를 수신할 시간 주파수를 입력합니다.

고급 탭

데이터를 수신할 로컬 IP 포트를 수동으로 지정할 수 있습니다. 이 파라미터는 Connection modeClient로 설정한 경우에만 나타납니다.

데이터를 수신할 클라이언트의 로컬 포트를 입력합니다. 이 파라미터는 Connection modeClient로 설정하고 Manually specify local IP port 체크박스를 선택한 경우에만 나타납니다.

블록이 데이터가 수신될 때까지 대기할지 여부를 지정하려면 이 옵션을 선택합니다. 이 체크박스를 선택하면 차단 모드가 활성화됩니다.

각 시뮬레이션 시간 스텝 동안 데이터가 수신될 때까지 블록이 대기하는 시간을 지정합니다. 이 필드는 Wait until data received 파라미터를 선택하지 않은 경우 사용할 수 없습니다. 블록이 데이터를 수신할 때까지 무한정 대기하도록 하려면 이 파라미터에 ‘inf’ 값을 입력합니다.