How to make a rounding operation with an ION Arithmetic Module?
The arithmetic module only includes CEIL or FLOOR operations, no ROUND operation.
We can create one using an IF statement.
Let's say we want to round S1 to the closest integer. The function is:
IF(S1<(CEIL(S1)+FLOOR(S1))/2,FLOOR(S1),CEIL(S1))
How does it work?
Example: S1 = 12.7. The expected result for rounding is 13.
CEIL(S1)=13
FLOOR(S1)=12
(CEIL(S1)+FLOOR(S1))/2 = 12.5
A test is done: if S1 is lower than (CEIL(S1)+FLOOR(S1))/2, it will return FLOOR(S1). If not, it returns CEIL(S1).
In the example, the test "12.7 < 12.5" is false, so the function returns CEIL(12.7)=13.
What happens in the 12.5 case?
The function is still correct. "<" means "strictly lower than".
So the test "12.5 < 12.5" is technically False, the function returns CEIL(12.5)=13, which is the expected result.
More information:
IF(S1<(CEIL(S1)+FLOOR(S1))/2,FLOOR(S1),CEIL(S1)) contains exactly 48 characters, which is the limit for the arithmetic module in the meters (limit is 249 in the VIP).
So rounding the S1-S8 inputs is OK, but rounding (S1+S2) or S1/1000 requires an additional arithmetic module.
Check the ION Reference for more details.
게시 대상: 슈나이더 일렉트릭 Korea
도움이 필요하신가요?
제품 선택기
애플리케이션에 적합한 제품과 액세서리를 빠르고 쉽게 찾을 수 있습니다.
견적 받기
영업 관련하여 온라인으로 문의하시면 전문가가 연락드립니다.
구매처
해당 지역의 가장 가까운 슈나이더 일렉트릭 대리점을 쉽게 찾을 수 있습니다.
지원 센터
한 곳에서 모든 요구 사항에 대한 지원 리소스를 찾아보십시오.