옥타브 엔진
소개
스크립팅 모듈 내의 옥타브 엔진(오픈 소스 MatLab 호환/도구)을 사용하면 시스템 설계 모듈에서 수행/계산하기 쉽지 않은 복잡한 계산을 요구사항 및 시스템 포털 내에서 수행할 수 있습니다. 계산에 필요한 Valis를 입력 Valis로, 결과를 Output Valis로 참조할 수 있습니다. 이러한 계산의 일반적인 예로는 비선형 방정식, 행렬 곱셈 또는 조건부 케이스 풀기 등이 있습니다.
옥타브 엔진 스크립트의 스크립팅 흐름
스크립팅 모듈을 사용하는 일반적인 워크플로는 다음과 같습니다. 각 단계는 각 하위 섹션에 설명되어 있습니다.
-20220823-133931.webp)
1. 새 옥타브 스크립트 만들기
프로젝트에서 새 옥타브 스크립트를 만들려면 시뮬레이션 모듈로 마우스를 가져가서
2. 입력 및 출력
사용자는 입력 및 출력 Valis를 추가할 수 있습니다. 예를 들어 사용자가 입력 또는 출력 내에서 Vali를 참조할 때 사용자는 짧은 이름을 입력할 수 있으며, 이 이름은 옥타브 계산 코드에 사용됩니다.
컴포넌트 모듈에서 "PowerConsumption.CRUISE"라는 Vali를 사용하는 경우, 변수의 약어를 "cruise"
사용자는 시뮬레이션 단위를 변경할 수도 있습니다. 예를 들어, 시스템 설계 모듈에서 크루즈에 대해 정의된 전력 소비는 W이지만 시뮬레이션에는 kW가 사용됩니다
시스템 설계 모듈의 모든 Vali를 입력 또는 출력으로 사용할 수 있지만 동시에 두 가지 모두로 사용할 수는 없습니다.
3. 계산/옥타브 코드
앞서 언급했듯이 요구 사항 및 시스템 포털의 시뮬레이션 모듈은 옥타브 구문을 사용할 수 있는 옥타브 엔진을 사용합니다. Matlab과 유사하고 호환성이 뛰어나므로 복잡한 계산을 생성하기 위해 새로운 프레임워크에 익숙해지지 않아도 됩니다. 더 자세한 정보가 필요하면 GNU Octave 문서 페이지를 참조하세요.
사용자는 "main.m" 파일에 옥타브 코드를 작성해야 합니다
Main.m 파일에 코드가 추가되면 사용자는 "저장"을 클릭하여 스크립트를 저장할 수 있습니다
4. 시뮬레이션/결과 실행
스크립트가 완료되면 그림과 같이 왼쪽 하단에 있는 재생 버튼을 클릭할 수 있습니다
시뮬레이션이 완료되면 요구 사항 및 시스템 포털이 자동으로 출력 값을 업데이트합니다. 그 결과 시스템 설계 모듈의 출력 Valis가 자동으로 업데이트됩니다. 출력 값이 다른 값을 계산하기 위한 수식의 상수로 사용되는 경우 요구사항 및 시스템 포털은 출력 값에 연결된 모든 값을 자동으로 다시 계산합니다.
5. 스크립팅 + 자동화 사용 사례
시스템 설계 모듈에서 입력 값이 변경되는 경우 사용자는 시뮬레이션을 다시 실행하여 출력 값을 다시 계산해야 합니다.
입력 값이 변경될 때마다 시뮬레이션을 실행하지 않으려면 자동화와 스크립팅 모듈 사이에 링크를 생성할 수 있습니다. 실제로 아래 짧은 클립에서 볼 수 있듯이 상수 트리거가 있는 새 자동화를 설정하면 Vali의 변경에 영향을 받는 모든 시뮬레이션이 자동으로 다시 실행되도록 할 수 있습니다.
이 특정 사례에서는 발리콥터의 비행 시간이 15분에서 10분으로 조정되어 필요한 총 배터리 용량이 자동으로 다시 계산됩니다. 총 전력 서브시스템 질량은 필요한 배터리 용량(필요한 배터리 수)을 기준으로 계산되므로 비행 시간이 짧아져 필요한 배터리 용량이 줄어들면 전력 서브시스템 질량도 다시 계산되어 줄어듭니다.