오늘은 지난 시간에 이어서
좀 더 다양한 계산에 대해서 알아보겠습니다.
지난 시간에는 "Interger Function"이었고,
이번 시간에는 "Floating-point fct." 시간입니다.
fct(function)는 왜 붙었는지 잘 모르겠지만
실제 이름은 "Floating-Point Math" 입니다.
"Interger Function"에 대한 내용은
아래 포스팅을 참조해 주십시오.
출처: https://mech19.tistory.com/128 [초보 엔지니어의 다락방]
먼저 "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접점을 추가하여
사용하면 됩니다.
전혀 복잡하진 않죠?
오늘은 이렇게 좀 더 복잡한 계산법들에 대해서
알아보았습니다.
그래도 사용법은 아주 쉬웠죠?
다음시간에는 이러한 계산법들을 사용하기 위해
알아야 하는 아날로그 값 처리에 대해서
알아보겠습니다.
감사합니다.
제 블로그를 방문해 주셔서 감사합니다.
도움이 되셨다면 공감(좋아요) 부탁드리고,
댓글은 다른분들께도 좋은 정보일 수 있으니
공개로 부탁드립니다.
여러분의 작은 정성이 좋은 포스팅을 생산하는
힘이 된답니다. :)
감사합니다.
'PLC > Siemens (S7)' 카테고리의 다른 글
SIEMENS PLC Simatic Manager 프로그래밍 기초 - Analog Control (아날로그 값 처리) (2) | 2022.02.21 |
---|---|
SIEMENS PLC Simatic Manager 프로그래밍 기초 - Interger Function (0) | 2022.02.16 |
SIEMENS PLC Simatic Manager 프로그래밍 기초 - Move (0) | 2022.02.15 |
SIEMENS PLC Simatic Manager 프로그래밍 기초 - Timer (타이머 개별 구성요소, Timer Coil) (0) | 2022.02.14 |
SIEMENS PLC Simatic Manager 프로그래밍 기초 - Timer (0) | 2022.02.11 |
댓글