10) 16비트/32비트 데이터 최대값 검색 (MAX(P), DMAX(P))

▶[MAX(P)   (S)   (D) n]

(S)로 지정된 디바이스부터 n점의 16비트 BIN데이터에서 최대값을 검색하여, (D)로 지정된 디바이스에 저장
(S)로 지정된 디바이스부터 검색하여, 처음에 검출한 최대값이 저장되어 있는 디바이스 번호가 (S)에서 몇번째 점인지를 (D)+1에 저장하고, 최대값의 개수를 (D)+2에 저장합니다.

▶[DMAX(P)   (S)   (D)   n]

(S)로 지정된 디바이스부터 n점의 32비트 BIN데이터에서 최대값을 검색하여, (D), (D)+1로 지정된 디바이스에 저장 (S)로 지정된 디바이스부터 검색하여, 처음에 검출한 최대값이 저장되어 있는 디바이스 번호가 (S)에서 몇번째 점인지를 (D)+2 에 저장하고, 최대값의 개수를 (D)+3에 저장

11) 16비트/32비트 데이터 최소값 검색(MIN(P), DMIN(P))

▶[MIN(P)   (S)   (D)   n]

(S)로 지정된 디바이스부터 n점의 16비트 BIN데이터에서 최소값을 검색하여 (D)로 지정된 디바이스에 저장
(S)로 지정된 디바이스부터 검색하여, 처음에 검출한 최소값이 저장되어 있는 디바이스 번호가 (S)에서 몇번째 점인지를 (D)+1에 저장하고, 최소값의 개수를 (D)+2에 저장

▶[DMIN(P)   (S)   (D)   n]

(S)로 지정된 디바이스부터 n점의 32비트 BIN데이터에서 최소값을 검색하여, (D), (D)+1로 지정된 디바이스에 저장
(S)로 지정된 디바이스부터 검색하여, 처음에 검출한 최소값이 저장되어 있는 디바이스 번호가 (S)에서 몇번째 점인지를, (D)+2에 저장하고, 최소값의 개수를 (D)+3에 저장

12) 16비트/32비트 데이터 소트(SORT(T), DSORT(P))

▶[SORT(P)  (S1)n  (S2)  (D1)   (D2)]

(S1)부터 n점분의 BIN 16비트 데이터를 오름차순/내림차순 으로 소트(정렬)합니다. 소트순서는 SM703의 ON/OFF로서 지정
SM703이 OFF시 : 오름차순으로 소트
SM703이 ON시 : 내림차순으로 소트
SORT 명령에 의한 소트는 몇 스캔이 필요합니다. 실행 완료까지의 스캔 횟수는 소트 실행완료까지의 최대 실행 횟수를 (S2)로 지정된 1회의 실행에서 비교하는 데이터 수로 나눈 값이 됩니다. (소수점 이하는 올림이 됩니다)
(S2)의 값을 크게하면 소트 완료까지의 스캔 횟수는 적어지지만, 스캔 타임은 연장됩니다.
소트의 실행 완료까지의 최대 실행 횟수는 다음식으로 산출 가능하다.
실행완료까지의 최대 실행 횟수 = (n)* (n-1) / 2 / (S2)[회]
예를 들면 n=10, (S2)=1의 경우에는 10* (10-1) / 2 / 1 =45(회) 걸립니다.
이 때, (S2)=2 로 하면 소트 완료까지에 45 / 2 = 22.5 > 23 [스캔] 이 걸린다.
(D1)로 지정된 디바이스 비트(완료 디바이스)는 SORT명령 실행 시작에서 OFF하고 소트가 완료하면 ON합니다.
소트 완료 후, (D1)로 지정된 디바이스 비트는 ON상태가 유지되기 때문에, 필요에 따라 사용자가 OFF하십시오
(D2)로 지정된 디바이스에 2점은 SORT명령 실행시에 시스템이 사용합니다. (D2)로 지정된 디바이스에서 2점은 사용자가 변경하지 마십시오. 소트 실행 중에 n을 변경했을 경우에는 변경 후의 소트 데이터를 수로 소트를 합니다. 소트 실행 중에 지령을 OFF 했을 때에는 소트를 중단합니다. 다시 지령을 ON했을 경우에는 소트를 처음부터 다시 합니다.

▶[DSORT(P)   (S1)n   (S2)  (D1)   (D2)]

(S1)부터 n점분의 BIN 32비트 데이터를 오름차순/내림차순으로 소트(정렬)합니다. 소트 순서는 SM703의 ON/OFF로써 지정합니다. 
SM703이 OFF시 : 오름차순으로 소트
SM703이 ON시 : 내림차순으로 소트
DSORT 명령에 의한 소트는 몇 스캔이 필요합니다. 실행 완료까지의 스캔 횟수는 소트 실행완료까지의 최대 실행 횟수를 (S2)로 지정된 1회의 실행에서 비교하는 데이터 수로 나눈 값이 됩니다. (소수점이하는 올림이 됩니다) (S2)의 값을 크게하면 소트 완료까지의 스캔 횟수는 적어지지만, 스캔 타임은 연장됩니다. 
소트의 실행 완료까지의 최대 실행 횟수는 다음식으로 산출 하십시오
실행완료까지의 최대 실행 횟수 = (n)* (n-1)/2/(S2)[회] 
예를 들면 n=10, (S2)=1의 경우에는 10* (10-1) /2 /1 =45(회) 걸립니다. 
이 때, (S2) =2로 하면 소트 완료까지에 45/2 = 22.5 > 23[스캔]이 걸립니다. 
(D1)로 지정된 디바이스 비트(완료디바이스)는 DSORT 명령 실행 시작에서 OFF하고 소트가 완료하면 ON합니다
소트 완료 후, (D1)로 지정된 디바이스 비트는 ON상태가 유지되기 때문에, 필요에 따라 사용자가 OFF하십시오 
(D2)로 지정된 디바이스에서 2점은 DSORT 명령 실행시에 시스템이 사용합니다. (D2)로 지정된 디바이스에서 2점은 사용자가 변경하지 마십시오. 소트 실행 중에 n점을 변경 했을 경우에는 변경 후의 소트 데이터를 수로 소트를 합니다. 소트 실행 중에 지령을 OFF했을 때에는 소트를 중단합니다. 다시 지령을 ON했을 경우에는 소트를 처음부터 다시 합니다.

13) 16비트 데이터 한계값 산출(WSUM(P), DWSUM(P)) 

▶[WSUM(P)   (S)   (D)  n]

(S)지정된 디바이스부터 n점의 16비트 BIN데이터를 모두 가산하여, (D)로 지정된 디바이스에 저장합니다.

▶[DWSUM(P)  (S)   (D)   n]

(S)지정된 디바이스부터 n점의 32비트 BIN데이터를 모두 가산하여, (D)로 지정된 디바이스에 저장
디바이스를 n점의 32비트 BIN데이터로 처리 하기 때문에, WSUM(P)과 DWSUM(P) 의 계산결과는 다르게 됩니다.

 

'PLC' 카테고리의 다른 글

[24] 구조화명령  (0) 2020.02.19
C언어 포인터란?  (0) 2020.02.19
[22] 데이터 처리 명령  (0) 2020.02.19
[21] 데이터 처리명령  (0) 2020.02.19
[20] 시프트 명령  (0) 2020.02.19

+ Recent posts