본문 바로가기
PLC/Siemens (S7)

SIEMENS PLC Simatic Manager 프로그래밍 기초 - Floating-point fct.

by 쪼렙엔지니어 2022. 2. 17.
반응형

 

오늘은 지난 시간에 이어서

좀 더 다양한 계산에 대해서 알아보겠습니다.

지난 시간에는 "Interger Function"이었고,

이번 시간에는 "Floating-point fct." 시간입니다.

fct(function)는 왜 붙었는지 잘 모르겠지만

실제 이름은 "Floating-Point Math" 입니다.

"Interger Function"에 대한 내용은

아래 포스팅을 참조해 주십시오.



출처: https://mech19.tistory.com/128 [초보 엔지니어의 다락방]

 

SIEMENS PLC Simatic Manager 프로그래밍 기초 - Interger Function

오늘은 Interger Function에 대해서 알아보겠습니다. ​ Interger는 정수라는 개념이죠? Siemens PLC에서 Interger는 word(16bit) 사이즈의 메모리를 차지합니다. ​ Unsign Interger는 부호가 없기 때문에 양의..

mech19.tistory.com

 

 

 

먼저 "Program elements"에서 "Floating-point fct."를

선택한 뒤에 카테고리를 쭉 열어보면

아래와 같이 종류가 엄청 다양 하게 나옵니다.

하지만 어렵지 않습니다.

하나씩 알아가 보겠습니다.

먼저 ADD, SUB, MUL, DIV는

이전시간 "Interger Function"때 배우셨죠?

 

interger나 Double interger가 아닌

Real을 사용하는 사칙연산일 뿐입니다.

Real은 IEE 754을 이용한 부동소숫점 표현방식을

따르기 때문에 소숫점이 없는 Interger나 Double interger와는

약간 다른 계산메커니즘이 필요해서

사칙연산을 Real용으로 따로 만들어 두었습니다.

 

그래도 뭐 사용자 입장에서는

매한가지니까 크게 어렵게 생각하실 것 없습니다.

사칙연산이니까 아실거라 생각하고 넘어가겠습니다.

 

1. ABS

ABS는 절대값 입니다.

MD100에 들어 있는 수의

부호를 제거한 절대값을

MD200에 저장합니다.

IN단자와 OUT단자의 데이터 타입은 REAL입니다.

그렇기 때문에 Address는 Double word 타입으로

사용해야 합니다.

2. SQRT

스퀘어 루트 입니다.

우리가 흔히 알고 있는 루트라고 생각하시면 됩니다.

MD100에 들어 있는 수의

제곱근 값을 MD200에 저장합니다.

예를들어 MD100에 9가 들어가면

MD200에는 3이 저장됩니다.

IN단자와 OUT단자의 데이터 타입은 REAL입니다.

그렇기 때문에 Address는 Double word 타입으로

사용해야 합니다.

3. SQR

스퀘어 입니다.

제곱값을 구하는 함수입니다.

MD100에 들어 있는 수의

제곱 값을

MD200에 저장합니다.

예를들어 MD100에 4가 들어가면

MD200에는 16이 저장됩니다.

4. LN

자연로그를 구하는 함수입니다.

여기서부터는 수학을 어느정도 미리 공부를 하셔야 합니다.

(만약에 사용을 하신다면 말씀을 드리는 겁니다. ㅎㅎ)

MD100에 저장된 값의

자연로그값이 MD200에 저장됩니다.

5. EXP

Exponential로 지수라는 의미입니다.

자연로그의 역 입니다.

MD100에 저장된 값의

지수값이 MD200에 저장됩니다.

6. SIN, COS, TAN

삼각함수에 대한 내용이 나오네요.

sin(싸인), cos(코싸인), tan(탄젠트)는

다들 잘 아시지요?

간단하게 얘기하자면 IN단자에 입력된 값의

sin, cos, tan 값이 각각의 OUT단자의 Address에 저장됩니다.

7. ASIN, ACOS, ATAN

이것도 삼각함수죠.

ASIN : Arc sin(아크 사인)

ACOS : Arc cos(아크 코사인)

ATAN : Arc tan(아크 탄젠트)

간단하게 얘기하자면 IN단자에 입력된 값의

Arc sin, Arc cos, Arc tan 값이

각각의 OUT단자의 Address에 저장됩니다.

삼각함수의 입출력 변수의 데이터 타입도 Real입니다.

그렇기 때문에 Double word (32bit) 사이즈의

메모리를 사용합니다.

그리고 모든 함수들 공통으로

위와 같이 프로그램을 짜놓으면

EN단자에 항상 On 시그널이 살아있는 상태이기 때문에

우리가 IN 단자의 값을 바꿀때마다

자동으로 계산이 됩니다.

만약에 필요할때만 계산을 하고싶다면

EN단자 전단에 A접점이라던가 Pulse접점을 추가하여

사용하면 됩니다.

전혀 복잡하진 않죠?

오늘은 이렇게 좀 더 복잡한 계산법들에 대해서

알아보았습니다.

그래도 사용법은 아주 쉬웠죠?

​다음시간에는 이러한 계산법들을 사용하기 위해

알아야 하는 아날로그 값 처리에 대해서

알아보겠습니다.

감사합니다.

 

제 블로그를 방문해 주셔서 감사합니다.

도움이 되셨다면 공감(좋아요) 부탁드리고,

댓글은 다른분들께도 좋은 정보일 수 있으니

공개로 부탁드립니다.

여러분의 작은 정성이 좋은 포스팅을 생산하는

힘이 된답니다. :)

감사합니다.

반응형

댓글