안녕하세요
HILS 구축을 위해 현재 Veristand와 AVL Cruise 연동을 하려고 합니다.
자료가 없어 직접 수행하려하는데 이 둘을 연동하려면 Veristand에 AVL Cruise를 Custom Device로
등록해서 사용해야할까요? 만약 맞다면 Custom Device 등록에 LabView를 사용하면 되는지도 궁금하네요.
아니면 바로 연동시킬 다른 방법이 있을까요?
이와 관련된 메뉴얼 혹은 자료가 있으면 부탁드리겠습니다.
해결되었습니다! 솔루션으로 이동.
10-13-2021 03:46 AM - 편집 10-13-2021 03:48 AM
AVL Cruise 는 모델을 만드는 툴입니다. 그래서 custom device로 사용하는게 아니라 모델 파일을 만들어서
Veristand 프로젝트에서 import 하면 됩니다.
모델 파일을 Veristand 용 모델로 만드는 방법은 대체적으로 2가지로 나뉘는데,
(1) MATLAB 툴킷의 형태라면 'MATLAB Coder' 를 이용해 빌드하는 방법을 사용하면 되고,
(2) 자체적으로 Veristand 용 모델로 build 하는 메뉴가 있는 형태라면, 해당 툴에서 빌드하면 됩니다.
제 생각에 (2) 의 케이스 같으며, (그러니까 AVL 툴에서 모델을 빌드하는 부분이 있을 것 같습니다.)
아래 유튜브랑 비슷하게 진행되는데 모델 생성 부분이 생략된 것 같습니다.
https://www.youtube.com/watch?v=KjrFq2JrpDE
혹시 AVL 이 매틀랩 모델을 만들어 주는 툴이라면, 매틀랩에서 모델로 빌드해서 사용해야 합니다.
Veristand 자체에 대한 사용법은 유튜브에서 본 것 같습니다.
아래는 제가 잘 모르는 분야지만, 비슷해 보이는 사례들을 찾아본 결과 입니다.
https://digitalcommons.mtu.edu/cgi/viewcontent.cgi?article=1072&context=etdr
답변 정말 도움 많이 되었습니다.
그래서 직접 AVL Cruise를 Veristand 모델 .dll 파일로 빌드 해봤습니다.
최종적으로 Cruise M에서 아래와 같이 성공한것으로 나왔습니다.
---------------------------------------------------------------------------------------------------------------------------------------------------
C:\Program Files (x86)\AVL\R2020.1\CRUISE_M\bin\bin.ia32-NIVeristand-v2013SP1\cruise_m_niv_wrapper.dll
... is copied to: ...
C:\Users\user\Desktop\simulation\Battery_Elec~_Vehicle__2_\SRT_ECM_Modules.Cycle_Run.NEDC\results\cmc\ni_veristand\cruise_m_niv_wrapper.dll
'niv_cruise_m_model.zip' created successfully.
You can find the archive and 'cruise_m_niv_wrapper.dll' in:
'C:\Users\user\Desktop\simulation\Battery_Elec~_Vehicle__2_\SRT_ECM_Modules.Cycle_Run.NEDC\results\cmc\ni_veristand'.
Extract the provided 'niv_cruise_m_model.zip' archive to 'C:/ni-rt/NIVeristand/Models/niv_cruise_m_model' on the NI Veristand target PC.
27.10.2021. 22:25:53 .....................................................................CMC BUILD PROCESS FINISHED SUCCESSFULLY........................................................................
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
일단 마지막의 C:/ni--rt/~ 폴더에 꼭 빌드된 파일을 집어넣어야 하는지는 의문이고 그 폴더가 없어서 .dll 파일만 Veristand에 넣어보았는데
밑처럼 오류가 나옵니다.
일단 Cruise M 메뉴얼 일부를 첨부 했습니다.
여기서 1페이지 작업이 이해가 되지 않습니다. 혹시 잘못된 부분이나 해결방법을 알 수 있을가요?
정말 감사합니다.
그 폴더는 PXI 라고 veristand를 돌리기 위한 산업용 pc 안에 있는 폴더입니다
PXI가 윈도우가 아닌 리얼타임 운영체제로 부팅되기 때문에 RT target 이라고 부릅니다
지금은 출장중이라 길게 쓰지 못하는데
veristand rt target 설정을 좀 찾아보세요
RT 는 리얼타임 OS로 부팅된 타겟을 말합니다.
Veristand 의 경우는 PXI 라는 하드웨어이고, dSpace 는 마이크로 오토박스(일반적으로), Speedgoat(매틀랩) 이라는 하드웨어 등이 여기에 해당됩니다.
주로 리눅스/유닉스 계열의 OS 입니다.
PXI의 경우, c:\ni-rt 라는 폴더는 RT에 있는 폴더이고, Windows 처럼 바탕화면이 있고 그렇지는 않구요
FTP 로 접근해서 파일을 주로 넣습니다.
첨부하신 파일의 1페이지에 FTP 설정은 그것을 위한 것입니다.
--------
그러면 왜 파일을 넣어야 하는가....
실제로 만드신 모델은 RT 에 가서 실행이 되고, 실행되면서 읽어야 되는 여러 값들은
Veristand 가 깔려 있는 Windows PC 에서 읽게 됩니다.
그래서 warpper dll 은 Veristand 에서 불러서 모니터링하고(아마도 Veristand+RT모델+Cruise 툴 사이의 통신을 담당하는 것 같습니다.)
.zip 파일안에는 실제로 모델이 동작할 파일들이 모여 있어서 이것은 RT로 보내주어야 합니다.
----------
에러는 .. 간단하게는 지원하지 않는 개발툴이다.... 뭐 이런 뜻인데.
Veristand 아이콘 모양을 보니 2018 버전 이상이신거 같은데 왜 안되는지는 모르겠네요.
Cruise 에 문의 하시는 것이 더 좋을 듯합니다.
warpper dll 을 사용하신 것은 맞습니다.
답변 정말 감사합니다.
선생님 말씀대로 다시 전부 확인하였고 현재 컨트롤러가 윈도우로 작동하고 있었는데 메뉴얼 확인결과
RT 엔진으로 작동하게 바꿀수 있었습니다. 일단 바꾸어 보았는데 소프트웨어가 설치되어있지 않아 호스트 PC(외부PC)에서
NI MAX 원격으로 컨트롤러를 선택하고 소프트웨어를 설치하려 했으나 아래 그림과 같이 나옵니다.
아래 사진과 같이 왜 디스크 용량이 사용불가 원인을 모르겠습니다.
나름대로 해결책을 찾아다녔는데 대부분 포맷을 하라고 합니다.
이 방법보다 쉬운 방법이 있다면 조언 부탁드립니다.
포맷이 쉬운 방법이라면, 제가 궁금한것은 NI MAX에서 컨트롤러를 포맷을 할 경우 컨트롤러 내 윈도우도 함께 포맷이 될까요?
아니면 혹시 컨트롤러 윈도우를 RT엔진처럼 작동하게 할수 있을까요?
정말 감사합니다.
11-01-2021 06:41 PM - 편집 11-01-2021 06:47 PM
지금 구매하신 PXI 는 RT로 부팅이 되도록 포맷된 것이 아닙니다.
RT로 부팅되도록 포맷된 경우, 처음부터 하드디스크가 2 파티션으로 나뉘어서 나옵니다.
지금은 파티션이 1개뿐이라서 저장공간을 사용할 수 없다고 나오는 것입니다.
RT OS 의 부팅 파일은 메인보드의 ROM 안에 들어있기 때문에, 부팅할 때 RAM 에 바로 로드되어서 하드 디스크 가 없어도 부팅은 됩니다만
소프트웨어는 하드디스크에 설치해야 하기 때문에
포맷은 필수 입니다.
PXI를 구매하실 때, Controller 복구용 CD 를 받으셨을텐데 외장 CD-ROM 을 구하셔서 연결하시고 부팅하셔서
나오는 3가지 포맷 옵션중에, RT 사용 옵션을 선택하시고 포맷하시면 32GB 정도(고를 수 있음) 파티션이 나뉘어지고,
C 드라이브에 윈도우가 깔리고, D 드라이브가 생성됩니다.(윈도우에서는 보이지 않을 수 있음)
즉, 윈도우도 같이 포맷됩니다.
------------
윈도우 상태를 유지하면서 RT 부팅을 하실려면, 2가지 케이스가 있는데
구매하신 시기에 따라, 탑재된 RT OS가 NILinuxRT OS가 적용되었는냐 ETS OS가 적용되었느냐로 나뉠 수 있습니다.
(1) NILinuxRT OS 인 경우, 포맷하셔야 하구요
(2) ETS의 경우, 제어판-관리도구-디스크 관리 에서 직접 파티션을 나누고 FAT32로 포맷하시면 D 드라이브가 생성되는데
RT로 부팅할 때 자동으로 잡아줍니다. 그러면 첨부하신 그림의 MAX 하단에, 주요 디스크 용량이 '사용할 수 없음' 이 아니라
숫자로 나옵니다.(이러면 부팅 완료).
만약, 파티션을 나누고 FAT32로 포맷하였는데도, 잡히지 않으면 (1) 경우 처럼 포맷하셔야 합니다.
--------------------------
PXIe-8880 을 사용하시기 때문에, LinuxRT 이지 않을까.....생각합니다.
그리고, 윈도우 옵션으로 구매하셨으면(더 쌉니다.) 복구 솔루션이 제공되지 않았을 수도 있습니다.
RT로 부팅하시려면, RT 부팅 런타임을 추가로 구매하셔야 할 수 있습니다.
답변 정말 감사합니다.
거의 모든 의문이 해결되었습니다.
마지막으로 한가지 궁금한게 있는데
그렇다면 PXI에 내장된 윈도우의 역할은 무엇일까요?
PXI를 RT OS로 작동하면 외부 PC로 Veristand 등 작업을 진행하고
내장된 윈도우는 그 동안 사용 못할거라 생각합니다.
PXI윈도우는 단순히 RT OS를 사용하지 않을때
일반 컴퓨터 용도로 사용하는 걸까요? 아니면 윈도우를 RT 타겟 용도로 사용하는 법도 있을까요?
항상 감사합니다.
윈도우에서 RT를 사용하는 방법은 2가지가 있습니다.
RTX 라고 하는 방법은, RT 에뮬레이터를 설치해서 사용하는 방법인데 약 20년 정도 전에 사용하던 방식이고,
RTX 에뮬레이터를 따로 구매해야하고, 구매 비용도 상당합니다.
(NI에서는 안팝니다. 예전에 MATLAB에서 Quanser motor 제어할 때 잠깐 사용했었습니다.)
요즘도 사용하기는 합니다만 EtherCAT 환경(거의 모터 제어용)에서 사용합니다.
두번째 방법은 하이퍼바이저로 사용하는 것입니다.
하이퍼바이저는 부팅할 때 윈도우와 RT를 동시에 부팅하고, 각각 따로 동작합니다.(CPU, RAM, HDD 등을 나눠서 사용합니다.)
안정성에 문제가 좀 있어서 많이 사용하지는 않습니다만, PXI 로 개발 PC와 RT 타겟을 모두 해결하고 싶을 때 사용합니다.
이것도 PXI는 그대로 사용하고, 포맷을 다르게 해야합니다.(구매 옵션이 따로 있습니다.)
위의 2 경우를 제외하면,
RT 안 쓸 때, Windows 사용하라고........사용하는게 맞습니다.
쓸데없다라고 느끼기 보다는
NI의 장점이 하드웨어를 다양하게 변경 가능한 것이기 때문에,
하나의 프로젝트에서 RT로 사용하고 그대로 묵혀두는 것이 아니라, 다음 프로젝트에서는 윈도우를 사용할 수도 있기 때문에
'유연성/재사용' 면에서 장점으로 보는게 맞습니다(NI에서 그렇게 강조합니다.)
답변 정말 감사합니다.
문제점 및 궁금했던 점이 모두 해결되었네요.
향후 알려주신 방법대로 포맷 후 RT OS에 소프트웨어 설치하고 Cruise 모델을
Veristand에 넣으면 제대로 작동할 것으로 기대합니다.
감사합니다.