Simulink 모델에서 데이터를 가져 와서 txt 파일에 쓰고, 다른 프로그램에서 읽도록하고,이 때마다 0.008 초가 필요합니다.MATLAB Simulink에서 0.008s 단위로 .txt 파일로 데이터 가져 오기
어떤 방법이 있습니까? 내가 얻을 수있는 모든 당신은 디스크에 데이터를 저장하기 위해 To File block를 사용한다
Simulink 모델에서 데이터를 가져 와서 txt 파일에 쓰고, 다른 프로그램에서 읽도록하고,이 때마다 0.008 초가 필요합니다.MATLAB Simulink에서 0.008s 단위로 .txt 파일로 데이터 가져 오기
어떤 방법이 있습니까? 내가 얻을 수있는 모든 당신은 디스크에 데이터를 저장하기 위해 To File block를 사용한다
또한 시스템이 이산입니다
작업 공간
에 데이터를 얻을 수 있습니다. 올바른 버퍼 크기 등을 알아 내고 데이터를 디스크에 씁니다. 새로운 데이터를 얻으려면 다른 프로그램에서 폴링하면됩니다.8 밀리 초는 일반적으로 디스크 IO의 오버 헤드를 정당화하기에 충분한 데이터가 아니므로 To File 블록이 디스크에 쓰기 위해 이보다 더 많이 필요하며 다른 프로그램은 이보다 더 많은 읽을 필요가 있습니다. 이것은 분명히 대기 시간을 초래합니다.
지연 시간이 더 낮은 솔루션을 원할 경우 DSP System Toolbox libarary에있는 UDP 또는 TCP 분별 블록 사용을 고려하십시오.
물론 더 자세한 내용 없이는 말할 수 없습니다.
얼마나 많은 데이터가 필요합니까? 어떤 운영 체제입니까? 당신이 "그리워"면 어떻게됩니까? 파일은 어떤 종류의 디스크입니까? 그것 정말 디스크에 파일이 있어야합니까, 당신은 예를 들어 사용할 수 없습니다. 파이프를 치거나 디스크를 때리는 것을 피하기 위해 무엇인가? "다른 프로그램"이 데이터와 관련이있는 것은 무엇입니까?
8 밀리 초는 디스크가 아무런 작업을 수행하는 데 많은 시간이 걸리지 않으므로 기본적으로 모든 액세스가 작동하기 위해서는 캐시에 있다고 가정하므로 디스크를 제외하십시오. 파이프 또는 RAM 디스크를 사용하십시오.
8 밀리 초는 일반적인 데스크톱 운영 체제의 경우 많은 시간이 걸리지 않습니다.
기본적으로 가상 로봇을 제어하기 위해 시뮬 링크 모델에서 속도를 얻을 필요가 있습니다. 로봇이 simlink 모델에 대한 현재 positon을 보냅니다. 즉, 제어 루프입니다. 데이터 크기는 m/s, 운영 체제는 Windows 7입니다. , 문제는 다른 프로그램이 txt 파일에서만 데이터를 읽고 쓸 수 있으며 로봇의 주파수 때문에 8ms가 발생한다는 것입니다. – user2481520
To 파일 블록은 시뮬레이션이 일시 중지되거나 종료 될 때만 씁니다. 각 시간 단계마다 쓰지 않습니다. 그리고 그렇게하더라도 비 실시간 OS (모든 Simulink가 지원)에서 8ms 샘플 속도를 얻을 수있는 방법은 없습니다. 모델을 C (Simulink Coder 사용)로 변환하고 실시간 OS에서 코드를 실행해야합니다. –
@PhilGoddard 시뮬레이션 중에 파일을 쓰는 것 같습니다 ... "Audio Device"블록을 "To 파일"블록에 연결하고 시뮬레이션을 실행하면서 파일 크기가 점차 커지는 것을 지켜 볼 수 있습니다. 또한 8ms의 샘플 속도는 블록으로 읽거나 쓰는 한 아무 것도 아닙니다. – wakjah
예, 내 실수 - To Workspace 블록은 일시 중지 및 종료를 기록하고 To 파일은 시뮬레이션 중에 점진적으로 기록합니다. 그러나 OP에서 요청한대로 txt 파일이 아니라 .mat 파일에 기록합니다. 아직 비 실시간 OS에서 8ms의 샘플 속도를 보장하는 것에 대해서는 동의하지 않습니다. –