cheoly's language study blog

혈관 건강의 중요성

건강
반응형
SMALL

오늘은 혈관에 좋은 음식들에 대해 알아보려고 해요. 혈관 건강은 우리 몸의 전반적인 건강과 밀접한 관계가 있답니다. 혈관이 건강해야 혈액순환이 원활해지고, 이는 곧 심장 건강과도 연결되죠. 그럼 어떤 음식들이 혈관에 좋을지 하나씩 살펴볼게요.

혈관은 우리 몸의 혈액을 운반하는 중요한 역할을 해요. 혈관이 막히거나 건강하지 않으면 심장병, 뇌졸중 등 심각한 질병으로 이어질 수 있어요. 따라서 혈관 건강을 유지하는 것이 매우 중요하답니다. 이를 위해서는 규칙적인 운동과 함께 건강한 식습관이 필수적이에요.

혈관에 좋은 음식 소개

양파

양파는 혈관 건강에 매우 좋은 음식 중 하나예요. 양파에는 퀘르세틴이라는 성분이 들어있어 혈관을 확장시키고 혈액순환을 개선하는 데 도움을 줘요. 또한, 양파는 항산화 작용이 뛰어나서 혈관의 노화를 방지하는 데도 효과적이랍니다. 매일 식사에 양파를 추가해보세요!

해조류

해조류는 미역, 다시마 등 다양한 종류가 있어요. 해조류에는 요오드와 식이섬유가 풍부하게 들어있어 혈액순환을 돕고, 체내 노폐물을 배출하는 데 큰 역할을 해요. 특히, 해조류는 혈압 조절에도 도움을 주기 때문에 자주 섭취하는 것이 좋답니다.

등푸른 생선

고등어, 연어, 꽁치 등과 같은 등푸른 생선은 오메가-3 지방산이 풍부해요. 이 지방산은 혈중 콜레스테롤 수치를 낮추고, 중성지방을 줄여주는 효과가 있어요. 따라서 심혈관 질환 예방에 큰 도움이 된답니다. 주 2~3회 정도 섭취하는 것이 좋겠죠?

견과류

아몬드, 호두, 캐슈넛 등 다양한 견과류는 건강한 지방과 단백질이 풍부해요. 특히 호두는 오메가-3 지방산이 많이 들어있어 혈관 건강에 좋답니다. 간식으로 견과류를 섭취하면 건강에도 좋고, 포만감도 느낄 수 있어요.

다크 초콜릿

다크 초콜릿은 생각보다 혈관 건강에 좋은 음식이에요. 다크 초콜릿에 포함된 플라바놀 성분은 혈압을 낮추고, 혈관의 탄력을 높여주는 효과가 있어요. 하지만 당분이 적은 다크 초콜릿을 선택하는 것이 중요하답니다. 하루에 한 조각 정도 즐겨보세요!

일상에서 쉽게 섭취하는 방법

이제 혈관에 좋은 음식을 어떻게 일상에서 쉽게 섭취할 수 있을지 알아볼게요. 먼저, 샐러드에 양파와 해조류를 추가해보세요. 그리고 등푸른 생선은 구워서 반찬으로 즐기고, 간식으로는 견과류를 선택하는 것이 좋답니다. 마지막으로, 다크 초콜릿은 디저트로 즐기면 좋겠죠?

마무리 및 건강한 식습관

혈관 건강을 위해서는 위에서 소개한 음식들을 꾸준히 섭취하는 것이 중요해요. 또한, 규칙적인 운동과 충분한 수면도 잊지 말아야 해요. 건강한 식습관을 통해 혈관을 지키고, 건강한 삶을 누리세요!

반응형
LIST

역류성 식도염에 좋은 음식

건강
반응형
SMALL

오늘은 역류성 식도염에 좋은 음식들을 알아보려고 해요. 역류성 식도염은 위의 내용물이 식도로 역류하면서 발생하는 질환으로, 많은 사람들이 겪고 있는 문제 중 하나입니다. 이 질환은 불편한 증상을 유발할 수 있기 때문에, 적절한 식습관과 음식을 선택하는 것이 중요해요.

역류성 식도염이란?

역류성 식도염은 위산이 식도로 역류하여 염증을 일으키는 질환이에요. 이로 인해 가슴 쓰림, 목의 이물감, 기침 등의 증상이 나타날 수 있습니다. 특히, 식사 후에 증상이 심해지는 경우가 많아요.

역류성 식도염의 증상

주요 증상으로는 가슴 통증, 신트림, 목의 이물감, 기침, 그리고 심한 경우에는 구토까지 발생할 수 있어요. 이러한 증상들은 일상생활에 큰 불편을 초래할 수 있기 때문에, 적절한 관리가 필요해요.

역류성 식도염에 좋은 음식

이제 역류성 식도염에 도움이 되는 음식을 살펴볼게요.

양배추

양배추는 소화 기능에 좋은 대표적인 음식으로 알려져 있어요. 특히, 위산을 중화시키는 데 도움을 주기 때문에 자주 섭취하는 것이 좋답니다.

바나나

바나나는 pH 5 이상의 알칼리성 식품으로, 위산을 중화시키는 데 효과적이에요. 또한, 소화가 잘 되어 위에 부담을 주지 않아요.

브로콜리

브로콜리는 비타민 U 성분이 풍부하여 위장 기능을 활성화하는 데 도움을 줘요. 식이 섬유도 많아 소화에 좋답니다.

감자

감자는 위를 보호하는 성분이 있어 역류성 식도염 환자에게 추천되는 음식이에요. 특히, 삶아서 먹으면 더욱 좋답니다.

생강

생강은 소화에 도움을 주고, 위장관의 염증을 줄이는 데 효과적이에요. 차로 마시거나 요리에 활용해보세요.

역류성 식도염에 피해야 할 음식

역류성 식도염 환자라면 피해야 할 음식도 있어요.

산성이 강한 과일

레몬, 오렌지, 파인애플 등 산성이 강한 과일은 위산을 자극할 수 있으니 주의해야 해요.

기름진 음식

튀김이나 기름진 음식은 소화가 어렵고 위에 부담을 줄 수 있어요. 가능한 한 피하는 것이 좋아요.

매운 음식

매운 음식은 위를 자극하여 증상을 악화시킬 수 있으니, 자제하는 것이 좋답니다.

식습관 개선 방법

식습관을 개선하는 것도 중요해요. 식사 후 바로 눕지 않기, 천천히 먹기, 그리고 소량씩 자주 먹는 것이 도움이 될 수 있어요. 또한, 스트레스를 줄이는 것도 중요하답니다.

마무리 및 추천 레시피

역류성 식도염에 좋은 음식을 활용한 간단한 레시피를 소개할게요. 예를 들어, 양배추와 브로콜리를 활용한 샐러드나, 바나나와 생강을 넣은 스무디를 만들어보세요. 건강한 식습관을 통해 증상을 완화할 수 있을 거예요.

반응형
LIST

불면증을 치료하는 방법

건강
반응형
SMALL

오늘은 불면증에 대해서 알아보겠습니다. 불면증은 밤에 잘 못 자는 상태를 말하는데요. 많은 사람들이 불면증으로 고생하고 있습니다. 불면증의 원인과 증상, 그리고 이를 치료하기 위한 방법들을 한 번 살펴보도록 하겠습니다.


불면증의 정의와 원인

불면증은 수면의 질이나 양이 부족하여 일상생활에 지장을 주는 상태를 의미해요. 여러 가지 원인이 있을 수 있는데, 스트레스, 불안, 우울증, 그리고 생활습관 등이 주요 원인으로 꼽힙니다. 특히, 스마트폰이나 컴퓨터 사용으로 인한 블루라이트 노출이 수면에 큰 영향을 미친다는 연구 결과도 많아요.


불면증의 증상

불면증의 증상은 다양해요. 주로 잠들기 어려운 것, 자주 깨는 것, 아침에 일어났을 때 피곤한 느낌 등이 있습니다. 이러한 증상은 일상생활에 큰 영향을 미치기 때문에 조기에 대처하는 것이 중요해요.


불면증을 치료하는 방법

불면증을 치료하기 위한 방법은 여러 가지가 있어요. 여기서는 몇 가지 주요 방법을 소개할게요.


생활습관 개선

가장 기본적인 방법은 생활습관을 개선하는 것이에요. 규칙적인 수면 시간을 정하고, 잠자기 전에는 스마트폰이나 TV를 멀리하는 것이 좋습니다. 또한, 카페인과 알코올 섭취를 줄이고, 규칙적인 운동을 통해 몸을 피로하게 만드는 것도 도움이 돼요.

심리적 접근

심리적 접근도 중요한 방법 중 하나예요. 불면증이 스트레스나 불안으로 인해 발생하는 경우가 많기 때문에, 명상이나 요가와 같은 이완 기법을 활용하는 것이 좋습니다. 이러한 방법은 마음을 편안하게 해주고, 수면의 질을 높이는 데 도움을 줄 수 있어요.

약물 치료

약물 치료는 의사의 처방에 따라 진행해야 해요. 일반적으로 벤조디아제핀계 약물이 많이 사용되지만, 장기적으로 사용하면 의존성이 생길 수 있으니 주의해야 해요. 따라서, 약물 치료는 단기적인 해결책으로 생각하는 것이 좋습니다.

대체 요법

최근에는 대체 요법도 인기를 끌고 있어요. 예를 들어, 한방 치료나 침술이 불면증에 효과적이라는 연구 결과도 있습니다. 이러한 방법들은 개인의 체질에 따라 다르게 작용할 수 있으니, 전문가와 상담 후 진행하는 것이 좋습니다.

불면증 예방을 위한 팁

불면증을 예방하기 위해서는 몇 가지 팁을 기억해두면 좋아요. 첫째, 잠자기 전에는 카페인과 알코올을 피하고, 둘째, 규칙적인 운동을 통해 몸을 피로하게 만드는 것이 중요해요. 셋째, 잠자리 환경을 편안하게 조성하는 것도 큰 도움이 됩니다.

마무리 및 추가 정보

불면증은 많은 사람들이 겪는 문제지만, 적절한 방법으로 치료하고 예방할 수 있어요. 만약 불면증이 지속된다면 전문가의 도움을 받는 것이 중요합니다. 더 많은 정보는 관련 링크를 통해 확인해보세요.

불면증에 대한 더 많은 정보는 여기에서 확인할 수 있습니다.

 

아래는 불면증에 조금이나마 도움이 될 수 있는 백색소음이죠.

빗소리 asmr 링크 첨부합니다.

https://youtu.be/aRA_Mq5BLKk?si=r-HJiG5ye9ea3lSF

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

바다공식 1000만 에어볼 숙면 베개 + 겉커버, 1세트
반응형
LIST

랩뷰(labview) 시퀀스 구조 사용하기

프로그래밍/LABVIEW
반응형
SMALL

오늘은 랩뷰에서 시퀀스 구조 사용하는 방법에 대해서 알아보겠습니다.,

이 시퀀스 구조는 언제 사용할까요?

 

프로그램이 동작할 때, 무언가를 수행한 후 다른 동작을 수행해야 할 때가 있습니다.

이렇게 명확하게 순서가 필요할 경우 시퀀스 구조를 사용합니다.

 

이렇게 플랫 시퀀스 구조를 선택하여 만들어주면 시퀀스 구조가 만들어집니다.

이 플랫 시퀀스 구조는 무엇을 말할까요?

이렇게 영화 프레임처럼 가로로 프로그램 순서를 지정해 줄 수 있습니다.

이 플랫 시퀀스는 한눈에 보기 좋다는 장점이 있죠.

하지만 프로그램이 복잡해지고 단계가 많아지면 옆으로 쭉 늘어나서 이동이 힘들죠.

그래서 우리가 페이지를 넘기듯 사용할 수 있는 다층시퀀스를 사용할 수도 있습니다.

변경방법은 마우스 우클릭해서 다층 시퀀스로 대체를 눌러주시면 되요

그러면 이처럼 페이지가 보이는 다층 시퀀스로 변경이 됩니다.

이렇게 해서 프로그램을 차면 한 눈에는 못봐도 모니터가 작고 페이지가 많을 때는 훨씬 프로그램짜기 쉽겠죠

이 다층시퀀스에서 데이터를 다음 페이지로 넘길 때 쓰기 위한 방법도 알아보겠습니다.

 

이렇게 시퀀스 로컬추가를 해주면 다음페이지에 데이터를 넘길 수가 있습니다.

이렇게 데이터가 넘어갔단 의미로 화살표가 있죠

위 사진과 화살표 방향이 반대입니다.

이렇게 앞선 페이지의 데이터를 받아 올 수 있습니다.

 

이상 랩뷰에서 시퀀스 구조에 대해서 알아봤습니다.

반응형
LIST

'프로그래밍 > LABVIEW' 카테고리의 다른 글

랩뷰(labview) 시리얼 통신  (0) 2024.10.11
랩뷰 LABVIEW GPIB 통신(VISA 사용)  (0) 2024.08.14
LABVIEW 이벤트 구조 사용하기  (0) 2024.08.12
LABVIEW에 대해서 아시나요??  (0) 2016.08.18

C언어 포인터, 동적할당, 메모리 관리

프로그래밍/C언어
반응형
SMALL

오늘은 C언어 포인터에 대해 알아보겠습니다. 포인터란 무엇일까요? 포인터는 메모리의 주소를 저장하는 변수로, 메모리 관리를 효율적으로 할 수 있게 도와줍니다. 특히, 동적 메모리 할당을 통해 프로그램의 메모리 사용을 최적화할 수 있습니다.

 

C언어 포인터의 개념

C언어에서 포인터는 변수의 주소를 가리키는 변수입니다. 포인터를 사용하면 메모리의 특정 위치에 직접 접근할 수 있어, 데이터 구조를 효율적으로 관리할 수 있습니다. 포인터는 메모리의 주소를 저장하므로, 메모리의 내용을 직접 수정하거나 읽을 수 있는 강력한 도구입니다.


메모리 관리의 중요성

메모리 관리는 프로그램의 성능과 안정성에 큰 영향을 미칩니다. 메모리를 효율적으로 관리하지 않으면, 프로그램이 비정상적으로 종료되거나, 메모리 누수와 같은 문제가 발생할 수 있습니다. 따라서, C언어에서는 malloc과 free 함수를 사용하여 동적 메모리를 할당하고 해제하는 것이 중요합니다.


malloc 함수의 사용법

malloc 함수는 메모리를 동적으로 할당하는 데 사용됩니다. 이 함수는 요청한 크기만큼의 메모리를 할당하고, 그 시작 주소를 반환합니다. 예를 들어, 다음과 같은 코드로 메모리를 할당할 수 있습니다.


int *arr;
arr = (int *)malloc(sizeof(int) * N);

위 코드에서 N은 배열의 크기를 나타내며, malloc 함수는 N개의 정수를 저장할 수 있는 메모리를 할당합니다. 메모리 할당이 성공하면, arr 포인터는 할당된 메모리의 시작 주소를 가리키게 됩니다.

 

free 함수의 사용법

할당한 메모리는 사용이 끝난 후 반드시 해제해야 합니다. 이를 위해 free 함수를 사용합니다. free 함수는 포인터가 가리키는 메모리를 해제하고, 해당 메모리를 다시 사용할 수 있도록 합니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

c
free(arr);
arr = NULL; // 포인터를 NULL로 초기화

이렇게 하면 메모리 해제가 완료되고, 포인터를 NULL로 초기화하여 잘못된 메모리 접근을 방지할 수 있습니다.

메모리 해제를 하지 않았을 때의 문제
메모리 해제를 하지 않으면 메모리 누수가 발생할 수 있습니다. 메모리 누수란, 프로그램이 사용한 메모리를 해제하지 않아 점점 메모리가 부족해지는 현상입니다. 이로 인해 프로그램이 느려지거나, 심지어 시스템이 다운될 수도 있습니다.

 

메모리 누수 방지 방법

메모리 누수를 방지하기 위해서는 다음과 같은 방법을 사용할 수 있습니다.

동적 메모리 할당 후 즉시 해제하기
메모리 해제를 잊지 않기
메모리 사용이 끝난 후 포인터를 NULL로 초기화하기
이러한 방법을 통해 메모리 누수를 예방할 수 있습니다.

실제 코드 예제
아래는 학생의 점수를 입력받아 평균을 계산하는 간단한 프로그램입니다. 이 프로그램에서는 동적 메모리를 사용하여 점수를 저장합니다.

c
#include <stdio.h>
int main()

위 코드는 학생 수를 입력받고, 각 학생의 점수를 입력받아 총 점수와 평균 점수를 출력합니다.

 

마무리 및 추가 자료


C언어에서 포인터와 메모리 관리는 매우 중요한 개념입니다. malloc과 free를 적절히 사용하여 메모리를 관리하면, 프로그램의 성능을 높이고 안정성을 유지할 수 있습니다. 더 자세한 내용은 아래의 링크를 참고해 보세요.
https://dafher-diary.tistory.com/16

 

POCU C언어 정주행 14회차 - malloc과 free, 메모리 함수, 메모리 관리 기법

1. malloc과 free 이번 글은 강의에서 동적 할당에 대해 다룬 것들 중에서 내가 몰랐던 것들을 위주로 적어보려고 한다. 따라서 malloc, calloc, free함수의 사용법이나 어떤 역할을 하는지에 대한 내용은

dafher-diary.tistory.com

https://nunbu.tistory.com/157

 

[C언어] C언어 개발시 메모리 누수 오류의 원인과 방지 방법

[C언어] C언어 개발시 메모리 누수 오류의 원인과 방지 방법 C언어로 리눅스 코어뱅킹 은행 시스템을 개발하다 보면 메모리 누수 오류는 흔하게 발생하는 문제 중 하나입니다. 메모리 누수 오류

nunbu.tistory.com

 

https://velog.io/@mjung/%EB%8F%99%EC%A0%81-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%95%A0%EB%8B%B9malloc%EA%B3%BC-%ED%95%A0%EB%8B%B9%ED%95%B4%EC%A0%9Cfree-%EC%A0%95%EB%A6%AC

 

동적 메모리 할당(malloc)과 할당해제(free) 정리

ft_lstdelone 함수 main 부분을 짜던 중 자꾸 버그가 난다.해결을 위해 이것저것 만져보던 도중, 지금 직면한 문제와 시도하는 방법들이 정확히 모른 채 고치기에만 급급해 있다는 것을 느꼈다.현재

velog.io

 

이제 C언어의 포인터와 메모리 관리에 대해 좀 더 이해가 깊어지셨길 바랍니다. 포인터를 잘 활용하여 효율적인 프로그래밍을 해보세요!

반응형
LIST

C언어 구조체란?

프로그래밍/C언어
반응형
SMALL

이번 포스팅에서는 C언어의 구조체에 대해 자세히 알아보려고 해요. 구조체는 여러 자료형을 하나로 묶어 사용할 수 있는 강력한 도구인데요, 이를 통해 데이터의 관리와 조작이 훨씬 수월해진답니다. 그럼 하나씩 살펴볼까요?

C언어 구조체란?
구조체는 여러 개의 서로 다른 자료형을 하나의 단위로 묶어서 사용할 수 있도록 정의한 사용자 정의 자료형이에요. 예를 들어, 학생의 정보를 저장할 때 이름, 나이, 성별, 학번 등을 각각의 변수로 저장하는 대신, 구조체를 사용하면 이 모든 정보를 하나의 구조체로 묶을 수 있어요.

구조체의 정의 및 사용법
구조체를 정의할 때는 struct 키워드를 사용해요. 다음은 구조체를 정의하는 기본적인 방법이에요:

c
struct Student

이렇게 정의한 후, 구조체 변수를 인자로 넘겨주면 해당 학생의 정보를 출력할 수 있어요.

구조체 포인터
구조체 포인터를 사용하면 메모리 효율성을 높일 수 있어요. 구조체의 주소를 저장하고, 이를 통해 구조체의 멤버에 접근할 수 있답니다. 예를 들어:

c
struct Student *ptr = &student1;
printf("Name: %s\n", ptr->name);

위와 같이 -> 연산자를 사용하면 포인터를 통해 구조체의 멤버에 접근할 수 있어요.

구조체의 장점과 단점
구조체의 가장 큰 장점은 관련된 데이터를 하나의 단위로 묶어 관리할 수 있다는 점이에요. 이를 통해 코드의 가독성이 높아지고, 데이터 관리가 용이해져요. 하지만 단점으로는 구조체의 크기가 커질 수 있고, 복사할 때 성능 저하가 발생할 수 있다는 점이 있어요.

마무리 및 추가 자료
C언어의 구조체는 데이터 관리를 효율적으로 할 수 있는 강력한 도구예요. 다양한 자료형을 묶어 사용할 수 있어 프로그래밍의 유연성을 높여준답니다. 더 많은 예제와 자료는 아래 링크에서 확인해보세요!

 

https://blog.naver.com/highkrs/220184227321

 

[C언어 강의29] 구조체 사용법 (struct)

안녕하세요. 모프 입니다.   오늘은 C언어의 구조체에 대하여 설명해보도록 하겠습니다.  ...

blog.naver.com

https://studyc.tistory.com/23

 

초보자를 위한 기초 C 언어 강좌 #19 : 구조체

본 강좌는 아래 동영상 강좌와 같이 진행됩니다. 되도록이면 동영상과 같이 보시는 것을 추천합니다. 유튜브 채널 가기 강좌 19편 동영상 보기 이번시간에는 여러 자료형을 묶어 하나로 사용할

studyc.tistory.com

https://coding-factory.tistory.com/639

 

[C언어/C++] 구조체 사용법 & 예제 총정리

구조체란? 구조체란 하나 이상의 변수를 묶어 그룹화하는 사용자 정의 자료형입니다. 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입이며 기본 타입만으로는 나

coding-factory.tistory.com

 

반응형
LIST

랩뷰(labview) 시리얼 통신

프로그래밍/LABVIEW
반응형
SMALL

pc와 장비간 통신이 이루어질 때, 가장 흔하고 오래된 통신 방식인 시리얼통신을 랩뷰에서 구현해보고자 한다.

가장 먼저 ni max에서 필요한 드라이버가 설치되어져 있는지 확인한다.

 

위에 표시된 ni-488.2, ni-visa가 설치되어 있으면 드라이버는 설치되어 있다고 보면 된다.

 

시리얼 통신 관련 vi들은 인스트루먼트i/o->시리얼로 들어가면 볼 수 있다.

이와 같이 시리얼통신은 ni-visa를 사용하기에 ni-visa가 필수로 설치되어 있어야한다.

가장 간단한 시리얼통신

위 블록다이어그램과 같이 하면 간단하게 시리얼 통신이 가능하다.

이는 랩뷰 예제에서 쉽게 찾아볼 수 있는 형태이다.

이를 응용하여 자신이 원하고자 하는 프로그램에 적용하면 랩뷰를 이용한 시리얼 통신은 간단하게 가능하다.

 

위 소스내용중에 주의 할 점은 딜레이 쪽인데 장비와의 소통시간이 필요하기때문에 딜레이는 필수로 들어가야한다.

딜레이가 없을 시 데이터는 vi가 종료된 후 날라올 것이기 때문에 확인이 불가능하다.

딜레이가 싫은 사람은 옆에있는 Bytes at Port를 이용해서 while문과 함께 사용해도 된다.

이렇게 하면 500ms동안 데이터가 들어오는지 안들어오는지 확인을 하게 된다.

500ms동안 보는 것을 만들어놓은 이유는 해당 부분이 없으면 장비가 정상연결이 안되어있으면 무한루프에 빠질 수 있기 때문이다.

반응형
LIST

랩뷰 LABVIEW GPIB 통신(VISA 사용)

프로그래밍/LABVIEW
반응형
SMALL

오늘은 랩뷰 GPIB 통신에 대해서 보려고하는데요.

우선 GPIB통신이 무엇인지 부터 알아야겠습니다.

GPIB의 약자 같은거는 굳이 알 필요는 없겠죠.

단순하게 장비와 통신하기위한 방법이라고만 알고 있으면 되겠습니다.

 

GPIB 통신을 하기위해서 장비와 PC간 연결이 잘되었는지 확인을 해야합니다.

이것은 NI MAX에서 연결되어진 장비를 확인해 볼 수 있습니다.

 

연결되어진 장비가 있으면 디바이스와 인터페이스에 확인이됩니다.

GPIB로 연결되어진게 있으면 GPIB::02::INSTR 대략 이런식으로 되어 있는것을 볼 수 있습니다.

GPIB로 연결되어 있으면 대부분 VISA 방식을 이용해서 하는데요.

랩뷰에는 이것이 되게 쉽게 잘 되어 있습니다.

기존 C기반의 언어들을 보면 VISA32.DLL 같은 것들 넣고 어쩌고 복잡한 과정을 해줘야 하는데요.

랩뷰는 기본적으로 다 구성되어져 있어서 가져다 쓰기만하면됩니다.

이렇게 VISA 관련 내용들이 다 있죠.

C언어에서 쓰듯이 OPEN 하고 쓰고 읽고 하면 됩니다.

OPEN은 VISA 고급을 눌러보면 확인이 가능합니다.

그러면 이제 이 VISA 통신 예제를 확인해볼게요.

랩뷰 예제를 보면 쉽게 확인 됩니다.

이렇게 GPIB를 VISA를 사용해서 하는것에 대해 예제프로그램이 있습니다.

이것을 입맛에 맞게 변형해서 사용하면 쉽게 되겠죠

이렇게 간단하게 사용할 수 있습니다.

 

간단하게 드래그 앤 드롭으로 GPIB 통신이 되죠.

할 것은 GPIB 커맨드만 확인해주면 되겠습니다.

간혹 장비마다 터미널 문자가 틀리면 동작이 안 할 때가 있는데 그 때는 문자열에 다 추가해주면되겠죠.

 

이상 GPIB VISA 방식에 대해서 알아봤습니다.

반응형
LIST

비주얼 스튜디오 파이썬 개발 환경 구축하기

프로그래밍/파이썬
반응형
SMALL

작은 회사에서 근무하는 사람들은 각종 언어를 봐야할 경우가 종종 생기는데요.

저같은 경우도 종종 파이썬 관련해서 프로젝트를 할 수 있냐고 위에서 말이 나와서 커트하고는 있는데

간혹 이미 만들어진 프로그램 참고를 하기위해서 코드를 뜯어봐야 할 경우가 있었습니다.

그래서 걍 이참에 파이썬까지 한 번 해볼까라는 생각이 들어서 환경 구축부터 해보려고 합니다.

 

파이썬 환경구축해서 이것저것 검색해봤는데 설치해야할게 많더군요.

귀찮습니다.... ㅠㅠㅠㅋㅋㅋㅋ

 

그래서 기존에 사용하고 있던 비주얼 스튜디오에 파이썬 개발이 가능하지 않을까

구글링을 해보니 역시나 가능하네요.

강력한 비주얼 스튜디오!! 회사에서 라이센스도 구매해줬는데 굳이 다른거 쓸 필요 없겠죠

 

한 번 시도해봅니다.

 

혹시나 설치해놨나 보려고 봤는데 역시나 설치가 안되어있죠.

추가 도구 및 기능 설치를 눌러봅니다.

 

파이선 개발이 떡하니 있네요.

바로 설치합니다.

 

이제 설치가 완료될 때까지 기다려 보겠습니다.

 

위 화면은 다를 수도 있습니다. 전 다른것들도 좀 추가해서 설치를 하는 중이라

설치가 완료되면 이제 프로젝트를 만들어서 해볼까요

 

위에는 없었던 파이썬관련 프로젝트들이 이렇게 생겼습니다.

젤 위에 있는 Python 애플리케이션을 선택해서 다음을 누릅니다.

일반 C프로그램이랑 별 차이가 없네요

만들기를 해봅니다

 

확장자가 py인 파일로 생기네요.

이제 print로 hello를 찍어보겠습니다.

 

간단하게 찍히네요.

 

이제 하나하나 적용해가면서 회사에서 쓸만한 프로그램을 만들어 봐야겠네요.

랩뷰가 너무 편해서 과연 쓰게 될지는 모르겠지만요 ㅋㅋ

반응형
LIST

LABVIEW 이벤트 구조 사용하기

프로그래밍/LABVIEW
반응형
SMALL

날씨가 많이 덥네요.

카페에와서 일하다가 심심하니 랩뷰관련 글하나 작성합니다.

 

C언어로 코딩할 때, 많이 쓰는 기능 중 하나죠.

이벤트.

프로그램이 수행 중 특정 행위가 필요할 때, 이 이벤트 구조를 많이 사용합니다.

이벤트 구조 굉장히 다양한 방법으로 사용을 할 수가 있는데요.

랩뷰에서 가장 간단하게 사용하는 방법을 이번에 적어보겠습니다.

 

이벤트 호출이니 기본적으로 멀티스레드로 돌아가는게 가장 좋겠죠.

그래서 랩뷰에서 WHILE 구조 하나를 넣고 그안에 이벤트 구조를 넣으면 랩뷰에선 간단하게 이벤트 호출 준비가 완료됩니다.

블록다이어그램 이벤트 구조

이렇게 해서 이벤트 호출 준비는 완료됩니다.

기본 이벤트 구조

이렇게 하면 일정시간마다 이벤트가 발생하는 이벤트 구조가 만들어집니다.

위 사진은 무한대기입니다. 이것을 100ms 마다 이벤트가 발생하게 바꿔보겠습니다.

100ms 마다 이벤트 발생

화살표로 표시해둔 곳의 시간을 변경하면 됩니다.

저는 이 구조를 이용해서 장비의 자동모델 변경을 하는데 사용하고 있습니다.

장비에 연결되어 있는 장비가 변경되는지 설정되어있는 시간마다 확인을 하는거죠.

 

그럼 키보드 이벤트 호출도 한 번 해볼까요?

이벤트 구조에 마우스 커서를 가져가 대서 오른쪽버튼을 누른 후 이벤트 케이스 추가를 눌러줍니다.

이런 창이 뜨는데 위 사진에서 키 앞에 +(더하기) 버튼이 보일겁니다.

여기에서 +버튼을 눌러서 키다운을 선택하고 확인을 눌러줍니다.

그러면 우리가 키보드를 누를때마다 해당 이벤트가 실행이 됩니다.

여기에서 이제 원하는 동작을 하게 만들어주면 됩니다.

여기서 조합키와 플랫폼 조합키는 무엇인지 확인해 볼까요?

인디케이터를 생성해보니 이렇게 있네요.

저는 단순하게 Ctrl + x를 누르면 프로그램이 종료하게 하는 것을 만들어 보겠습니다.

 

위의 문자가 아스키코드를 받아오기 때문에 위와 같이 처리를 해줍니다.

대소문자 상관없이 실행되게 하기 위해서 xX 이 두개를 다 처리해줍니다.

 

이상 랩뷰에서 이벤트 호출하기 였습니다.

반응형
LIST