2013-06-13 1 views

답변

1

또한 시스템이 이산입니다

작업 공간

에 데이터를 얻을 수 있습니다. 올바른 버퍼 크기 등을 알아 내고 데이터를 디스크에 씁니다. 새로운 데이터를 얻으려면 다른 프로그램에서 폴링하면됩니다.

8 밀리 초는 일반적으로 디스크 IO의 오버 헤드를 정당화하기에 충분한 데이터가 아니므로 To File 블록이 디스크에 쓰기 위해 이보다 더 많이 필요하며 다른 프로그램은 이보다 더 많은 읽을 필요가 있습니다. 이것은 분명히 대기 시간을 초래합니다.

지연 시간이 더 낮은 솔루션을 원할 경우 DSP System Toolbox libarary에있는 UDP 또는 TCP 분별 블록 사용을 고려하십시오.

+0

To 파일 블록은 시뮬레이션이 일시 중지되거나 종료 될 때만 씁니다. 각 시간 단계마다 쓰지 않습니다. 그리고 그렇게하더라도 비 실시간 OS (모든 Simulink가 지원)에서 8ms 샘플 속도를 얻을 수있는 방법은 없습니다. 모델을 C (Simulink Coder 사용)로 변환하고 실시간 OS에서 코드를 실행해야합니다. –

+0

@PhilGoddard 시뮬레이션 중에 파일을 쓰는 것 같습니다 ... "Audio Device"블록을 "To 파일"블록에 연결하고 시뮬레이션을 실행하면서 파일 크기가 점차 커지는 것을 지켜 볼 수 있습니다. 또한 8ms의 샘플 속도는 블록으로 읽거나 쓰는 한 아무 것도 아닙니다. – wakjah

+0

예, 내 실수 - To Workspace 블록은 일시 중지 및 종료를 기록하고 To 파일은 시뮬레이션 중에 점진적으로 기록합니다. 그러나 OP에서 요청한대로 txt 파일이 아니라 .mat 파일에 기록합니다. 아직 비 실시간 OS에서 8ms의 샘플 속도를 보장하는 것에 대해서는 동의하지 않습니다. –

0

물론 더 자세한 내용 없이는 말할 수 없습니다.

얼마나 많은 데이터가 필요합니까? 어떤 운영 체제입니까? 당신이 "그리워"면 어떻게됩니까? 파일은 어떤 종류의 디스크입니까? 그것 정말 디스크에 파일이 있어야합니까, 당신은 예를 들어 사용할 수 없습니다. 파이프를 치거나 디스크를 때리는 것을 피하기 위해 무엇인가? "다른 프로그램"이 데이터와 관련이있는 것은 무엇입니까?

8 밀리 초는 디스크가 아무런 작업을 수행하는 데 많은 시간이 걸리지 않으므로 기본적으로 모든 액세스가 작동하기 위해서는 캐시에 있다고 가정하므로 디스크를 제외하십시오. 파이프 또는 RAM 디스크를 사용하십시오.

8 밀리 초는 일반적인 데스크톱 운영 체제의 경우 많은 시간이 걸리지 않습니다.

+0

기본적으로 가상 로봇을 제어하기 위해 시뮬 링크 모델에서 속도를 얻을 필요가 있습니다. 로봇이 simlink 모델에 대한 현재 positon을 보냅니다. 즉, 제어 루프입니다. 데이터 크기는 m/s, 운영 체제는 Windows 7입니다. , 문제는 다른 프로그램이 txt 파일에서만 데이터를 읽고 쓸 수 있으며 로봇의 주파수 때문에 8ms가 발생한다는 것입니다. – user2481520

관련 문제