파일 입출력(File I/O) LabVIEW의 장점 중 하나라고 소개드리고 싶은 사항 중 하나, 바로 파일 입▪출력입니다. LabVIEW는 데이터 관리 측면에서도 다양한 파일 포맷을 지원하고 있으며 NI에서 제공하는 2진 포맷 형태의 TDMS 파일을 통해 고속 스트리밍이 가능하다는 장점을 가지고있습니다. TDMS 포맷에 대해서는 다음 튜토리얼에서 좀 더 자세히 다루도록하고 먼저 LabVIEW의 기본 "파일 I/O" 함수들을 살펴보도록 하겠습니다. 파일 I/O 함수의 위치는 함수 팔레트에서 프로그래밍 >> 파일I/O 에 있습니다. ASCII 및 Binary 파일 포맷을 지원하는 텍스트 및 2진 파일 읽기/쓰기 관련 함수들이 있습니다. LabVIEW 관련 함수를 보고있긴 합니다만 보통 OS 위에서 실행되는 ..
You have a large LabVIEW application with over 200 subVIs written by you and your colleagues. It is functioning incorrectly, and you are fairly certain the issue is in one of the subVIs that you wrote. Which of the following strategies will most effectively troubleshoot the issue? 1. Open all of the front panels for the subVIs you wrote and observe the control and indicator values during executi..
This VI has a race condition. Why? 1. The bottom While Loop could stop before the top loop stops. 2. Numeric Control could be inserted into the array before being incremented. 3. Numeric Control is executed twice in the top While Loop. 4. LabVIEW always prioritizes execution of the top loop. 정답 보기는 아래 더보기 클릭 더보기 정답 : 2. Numeric Control could be inserted into the array before being incremented. 블..
Why does this code cause a broken Run button? 1. There is no data source for the subVI 2. The subVI is broken. 3. The indicator is wired to a control terminal 4. There is a data mismatch between the main VI and the subVI 정답 보기는 아래 더보기 클릭 더보기 정답 : 2.The subVI is broken. 문제에서 제시한 이미지를 보고 VI 실행 버튼이 깨진 원인을 찾는 문제이다. 정답 찾기는 쉬운 편이나 문제를 보면 코드와 도움말 패널을 같이 제시하고있다. 도움말 패널에서는 입출력 터미널에 대한 정보 및 입력 터미널의 연결 설정을..
Your LabVIEW program has multiple While Loops running in parallel. Each of these loops must wait until a common resource is available before starting a new iteration. Which of the following mechanisms can you use to ensure that the loop iterations always start at the same time? 1. Global variable 2. Local variable 3. Reading from a file 4. Rendezvous VIs 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. Rendezvous V..
모듈화(SubVI) 모듈화란 사용자가 원하는 기능의 함수를 직접 만드는 것을 말합니다. 랩뷰에서는 SubVI라고 많이 부르며 랩뷰 기본 함수 및 툴킷에서 제공되는 아이콘 외에 내가 직접 함수 아이콘을 만든다고 보시면 되겠습니다. "그럼 모듈화를 왜 사용해야 하는 걸까요?", "기존에 제공되는 함수를 사용하면 더 편하고 쉬운게 아닌가요?" 등의 의문을 가지고 계신 분들이 있으실텐데요. 개인적으로는 내가 잘 활용할 수 있는 나만의 모듈. 즉, SubVI를 얼마나 많이 가지고 있는지가 나의 LabVIEW 스킬이 될 수 있다고 생각합니다. 그만큼 랩뷰에서는 지원되는 함수만 있다면 입출력 터미널을 와이어링만 시켜서 일단 코드 작성을 끝낼 수 있기 때문이죠. "先 기능 구현, 後 스터디가 가능하다고나 할까요?" 크..
Why does this code cause a broken Run button? 1. Control wired to another control 2. Output and input nodes are not wired together 3. Mismatched data types 4. Required terminal is not wired 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. Required terminal is not wired VI의 실행 버튼이 깨져있는데 원인이 무엇인지 물어보는 문제이다. 코드를 살펴보면 Input X와 Product라고하는 이름의 컨트롤, 인디케이터가 있고 [곱하기] 노드를 통해 와이어링 연결되어있다. [곱하기] 노드의 경우 입력 X와 Y 값 두 개를 모두 받아야지만..
이벤트 구조 심화편(Advanced Event Structure) 이번 시간에는 지난번 다루어보았던 이벤트 구조(Event Structure)에 대해 좀 더 알아보는 시간을 가지도록 하겠습니다. 이벤트 구조의 동작만 알아도 LabVIEW에서 사용하는데 크게 문제가 없기 때문에 따로 지난 시간에 언급드리진 않았는데요. 한번 사용해보았으니 이제 자세히 리뷰를 해보도록 하겠습니다. 이벤트 구조에 대해서 잘 기억이 안나시는 분들은 이전 포스팅 내용을 한번 정독하시고 본문을 읽어주시길 권장드립니다. 랩뷰(Tutorial) 17 | 이벤트 구조(Event Structure) 이벤트(Event)란, 프로그래밍에서 이벤트라고 하면 '지정한 조건에서의 특정 기능이 실행'되도록 하는 것입니다. 프로그래밍 언어가 익숙하신 ..
Why does this VI have a race condition? 1. The lack of a Wait function will cause the While Loop to execute too quickly for data to be written correctly. 2. The local variables could be written to from another VI. 3. This VI does not have a race condition. 4. There is nothing to control the execution order of the two local variables. 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. There is nothing to control the e..
시스템 개요 자동차 배터리와 관련된 BMS Simulator 프로그램 프로그램 ▪ Modbus 및 CAN 통신 인터페이스 ▪ 배터리 전압, 전류, 온도 값 측정 UI Design 정보 UI Gradients | Key Meh Gradient Style Color Information Sample Image Reference Video ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다. moonnote.tistory.com ※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.
Running this VI causes your computer to run out of memory. What is the most likely cause? 1. The loop time delay is too large 2. The DAQmx Read VI returned an error 3. The specified current range is too high 4. The array output tunnel on the While Loop has no bounds 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. The array output tunnel on the While Loop has no bounds 위의 코드를 실행하였을 때 PC에서 메모리 부족 현상이 나타날 가능성이 있는 경우에..
If an error occurs in Startup.vi , which VI can pass the error code to the Shutdown case? (automatic error handling is disabled) 1. 2. 3. 4. 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. (문제 속 이미지 참조) 이미지 속 Startup.vi에서 에러가 발생하였을 경우 "Shutdown" 케이스로 에러 코드를 전달하는 코드를 찾는 문제이다. 따라서, 에러 발생시 열거형 상수의 아이템이 "Shutdown"으로 지정되는 코드와 에러 정보가 다음 사이클로 전달되는지 2가지를 살펴보면 된다. 첫 번째로 Startup.vi에서 출력되는 에러 라인에 따라 Shutdown으로 전달되는 코드는 1, 2,..
Why does this code cause a broken Run button? 1. A required terminal for the function is not wired. 2. None of the output terminals are wired. 3. The error in terminal is unwired. 4. This code does not cause a broken Run button. 정답 보기는 아래 더보기 클릭 더보기 정답 : 1. A required terminal for the function is not wired. 해당 코드를 보고 실행 버튼이 깨진 이유에 대해 물어보는 문제이다. 먼저 함수에 대해 알고 있어야 풀 수 있는 문제로 [원소를 큐에 추가] 함수에 대해 알아보도..
Which is a valid error description value for this Error Ring? 1. Error %d occurred at "%s". Possible reason: %d 2. No Error 3. The "%s" function generated a value of "%d", but the expected value was "%d". 4. The "abc" function generated a value of "I32", but the expected value was "I32". 정답 보기는 아래 더보기 클릭 더보기 정답 : 3. The "%s" function generated a value of "%d", but the expected value was "%d". 에러..
이벤트(Event)란, 프로그래밍에서 이벤트라고 하면 '지정한 조건에서의 특정 기능이 실행'되도록 하는 것입니다. 프로그래밍 언어가 익숙하신 분들은 어렵지 않겠으나 반대로 '굳이 써야하나..?'라고 생각하시는 분들도 계실 수 있는데요. 간단하게 설명하긴 하였지만 이벤트를 사용하지않고 CASE 구조를 가지고 입력이 a이면 b를, c이면 특정 동작을 수행하라와 같이 코드를 작성할 수도 있습니다. (강의를 다녀보면 오히려 많이 배우면 머리아프다거나,,이정도만 알아도 내가 코드를 간단히 작성해서 돌려보는데에는 문제없다고 하시는 분들도 꽤 있더군요..LabVIEW가 배우기 쉬운만큼 간단한 것까지만하려고 하는걸까요. 개인적으로는 아쉬웠습니다..😂)바로 이전 시간에 '스탑 워치' 실습을 해보았던 자료를 예시로 설명하..
Which error(s) does LabVIEW report at the end of execution? 1. Error Code 1430 2. Both Error Code 7 and Error Code 1430 3. Error Code 7 4. Ether Error Code 7 or Error Code 1430 정답 보기는 아래 더보기 클릭 더보기 정답 : 1. Error Code 1430 이미지와 같이 코드가 작성되어있고 각각의 SubVI에서 Error 1430과 Error 7이 발생하였을 때 랩뷰에서 실행 마지막에 알려주는 에러는 어떻게 되는지 물어보는 문제이다. [에러 병합(Merge Errors)] 함수를 알고 있는지가 핵심이라고 할 수 있으며 [에러 병합] 함수의 경우 입력으로 받고자하는 에..