Q. [R 제품] 로그 데이터를 SD카드에 백업하는 방법
A.
TOP에 저장된 로그데이터를 SD카드에 백업하는 방법을 안내드리겠습니다. 
#로그 기능의 설정 방법은 첨부된 샘플 프로젝트 파일을 참고하세요. 
 
TOP 본체의 백업 메모리는 로그/경보/레시피 등의 데이터를 저장하는 메모리입니다. 
이 메모리는 512KB로 고정되어 있으며, 변경이 불가능합니다. 
이 중 로그로 사용 가능한 메모리 용량은 [프로젝트]-[속성] 메뉴 실행 시 나타나는 [프로젝트 옵션] 화면의 [TOP 설정]-[프로젝트 옵션]-[파티션 설정]에서 설정합니다. 프로젝트에서 사용하는 로그/경보/레시피의 용량에 따라 적절하게 조절할 수 있습니다. 
 
 
본체에서 제공하는 메모리 용량보다 더 많은 데이터를 저장하기 위해서는 SD 카드 혹은 옵션 모듈 TOPR_OPT_CAM32(TOPR 전용)를 장착하여 데이터를 백업할 수 있습니다.
#옵션 모듈 TOPR_OPT_CAM32 제품은 홈페이지 [제품 소개]-[케이블&부품]에서 확인할 수 있습니다. 
 
[백업 설정]--------------------------------------------------------
백업 기능은 TOP Design Studio에서 [프로젝트]-[로그]-[백업] 페이지에서 설정합니다.  
 
 
1. [저장 매체]와 [오래된 로그 파일 삭제 단위] 설정
위와 같이 [저장 매체]를 [SD Card/Ext Cam32]로 설정하고, [오래된 로그 파일 삭제 단위]를 30%로 설정합니다. 
 
로그데이터가 [로그개수]만큼 가득찰 때, 오래된 로그데이터로 30%를 복사하여 SD 카드에 CSV 파일로 백업해 줍니다. CSV 파일은 엑셀 프로그램에서 열어서 확인할 수 있습니다. 백업 후, 백업한 로그데이터는 TOP 본체에서 삭제됩니다. #로그개수는 아래 그림과 같이 [로그주소] 페이지에서 설정합니다. 
 
 
위와 같이 로그개수가 1000개이고 TOP 본체의 로그데이터가 1000개만큼 가득차면, 오래된 로그데이터 30%(300개)를 복사하여 SD 카드에 CSV 파일로 백업해 줍니다. 이 때 저장된 로그데이터의 날짜와 로그ID에 따라 별도의 파일이 생성됩니다. 백업 후, 백업한 로그데이터는 TOP 본체에서 삭제됩니다. 
 
SD 카드에 생성되는 로그 파일은 [HMILoggingLOG_1(로그ID)] 경로에 저장됩니다.
 
# 참고사항--------------------------------------------------------
[저장 매체]를 [없음]으로 설정 시, 백업이 되지 않습니다. [없음]으로 설정 시, 저장 매체 이하의 설정은 의미가 없습니다. 
 
로그데이터가 [로그개수]만큼 가득차면, 로그 발생 시 가장 오래된 로그데이터 1개를 삭제하고 새로운 로그데이터 1개를 저장하는 방식으로 동작합니다. 예를 들어 위 그림과 같이 로그개수가 1000개이고 백업을 하지 않으면, 로그데이터가 가득찰 때 TOP 본체의 로그데이터는 오래된 1개를 삭제하고 새로운 1개를 저장하면서 최근 1000개를 유지합니다.  
----------------------------------------------------------------
 
 
# 주의사항--------------------------------------------------------
1) SD 카드가 장착되어 있지 않는 상황에서 로그데이터가 [로그개수]만큼 가득차서 백업이 발생할 경우, SD 카드가 없어서 백업이 되지 않지만 [오래된 로그 파일 삭제 단위] %만큼 본체의 로그데이터가 삭제되므로 주의가 필요합니다.
2) [오래된 로그 파일 삭제 단위]는 SD 카드의 용량에도 해당됩니다. 즉, 장착된 SD 카드의 용량이 가득차면, [오래된 로그 파일 삭제 단위] %만큼 SD 카드의 오래된 파일을 삭제합니다.
----------------------------------------------------------------
 
2. [백업 조건] 설정(백업과 동시에 SD 카드의 CSV 파일 생성과 관련)
 
[백업 조건]은 로그데이터가 로그개수만큼 가득찰 때 실행하는 백업과 별개로 추가적으로 백업을 실행하는 조건입니다. [백업 조건]은 [백업 조건 사용]과 [로그 파일명 변경시 백업] 두가지 중 최소 한가지 이상을 설정해야 합니다. 기본적으로는 [로그 파일명 변경시 백업]으로 설정되어 있습니다. 
 
[백업 조건]으로 백업이 실행될 때에는 [오래된 로그 파일 삭제 단위]와 상관없이 TOP 본체에 있는 로그데이터 전체를 복사하여 SD 카드로 백업한 후, 백업을 완료한 TOP 본체의 로그데이터를 삭제합니다. 
 
1) [백업 조건 사용] 설정 시, 설정한 조건을 만족할 때마다 전체 백업을 합니다. 또한 동일 날짜의 CSV 파일이 있어도 새로운 CSV 파일을 생성하여 별도로 백업을 합니다. 이 때의 파일명은 날짜는 같고 파일번호를 1씩 증가시킵니다. [2019-07-03_LOG001_000001(파일번호+1).CSV] 백업할 때마다 새로운 CSV 파일을 생성합니다.  
[백업 조건 사용]은 특정 조건으로 전체 백업을 실행하여 별도의 파일에 저장하고자 할 때 사용합니다. 
 
# 특정 조건을 사용하여 전체 백업을 하되, 새 파일이 아닌, 날짜별 CSV 파일에 연이어 기록하기 원한다면 [오브젝트]-[효과 및 동작]-[SD 업데이트] 기능을 사용합니다.(* 하단 설명 참고)
 
2) [로그 파일명 변경시 백업] 설정 시, SD 카드로 저장되는 CSV 파일명의 항목이 변경될 때마다 전체 백업을 합니다. 파일명은 기본적으로 [날짜(년월일)_로그ID_파일번호(000000부터 시작하는 순차적인 CSV 파일 번호).CSV]로 되어 있으므로, 날짜가 변경될 때(밤12시)에 전체 백업이 실행됩니다. 
 
매일 밤 12시에 로그 백업이 정상적으로 동작했다는 가정하에 2019년 7월 4일 밤 12시(AM 00시)에는 2019년 7월 3일 하루동안 저장된 로그데이터가 본체에 쌓여 있을 것입니다. 2019년 7월 3일 로그데이터이므로, 파일명 [2019-07-03_LOG001_000000.CSV]에 백업이 됩니다.      
 
2019년 7월 1일부터 3일까지 3일동안 밤 12시에 TOP 본체가 꺼져 있거나 SD 카드가 장착되어 있지 않아서 3일 동안 백업이 한번도 진행되지 않았다고 가정해 보겠습니다. 본체에 [2019-07-01 로그데이터 100개, 2019-07-02 로그데이터 100개, 2019-07-03 100개]가 있고, 2019년 7월 4일 밤 12시(AM 00시)가 되어 300개의 로그데이터 전체가 백업될 경우, SD 카드에는 [2019-07-01_LOG001_000000.CSV, 2019-07-02_LOG001_000000.CSV, 2019-07-03_LOG001_000000.CSV] 3개의 파일이 생성됩니다.    
 
2019년 7월 4일 밤 12시(AM 00시) 이후 로그데이터가 로그개수만큼 가득차서 [오랜된 로그 파일 삭제 단위]만큼 백업이 되면, [2019-07-04_LOG001_000000.CSV] 파일이 생성됩니다. 로그데이터가 가득차서 백업이 될 때마다 동일 날짜의 CSV 파일에 연이어 기록됩니다. 정리하면, SD 카드의 로그 파일은 로그데이터의 날짜별로 하루 1개씩 CSV 파일이 있게 됩니다.
 
#[로그 파일명 변경시 백업]과 관련된 [분할 저장]은 아래 3번에서 설명합니다. 
 
3. [로그 파일명 옵션] 설정(SD 카드의 CSV 파일명과 관련) 
 
SD 카드에 저장되는 CSV 파일명은 [로그 파일명 옵션]에 따라 다르지만 기본적으로 [날짜(년월일)_로그ID_파일번호(000000부터 시작하는 순차적인 파일 번호).CSV]로 저장됩니다. 예) 2019-07-03_LOG001_000000.CSV
 
[사용자 정의 이름]과 [HMI 별칭] 포함을 설정하면, [날짜_로그ID_파일번호_HMI 별칭_사용자 정의 이름.CSV]가 됩니다. # HMI 별칭은 TOP 본체 메뉴 화면의 [정보] 메뉴에 있습니다. 이는 하나의 SD 카드를 이용하여 여러 TOP의 로그데이터를 백업할 경우, 어떤 TOP의 로그데이터인지 구분하기 위하여 사용합니다.  
 
[분할 저장]을 설정하면, 파일명은 [날짜_로그ID_파일번호_HMI 별칭_사용자 정의 이름_분할 저장 주소값.CSV]가 됩니다. 이 기능은 [로그 파일명 변경시 백업] 기능과 함께 설정하여 [분할 저장]에서 설정한 주소의 값이 변경될 때마다 전체 백업을 합니다. 이 기능도 같은 날짜의 파일이 있어도 새로운 별도의 CSV 파일을 생성합니다. 이 때의 파일명에 주소값(숫자/문자)을 기록해 줍니다. 
이는 주소값이 변경되는 조건을 사용하여 새로운 파일에 백업을 하고, 파일명에 주소값(숫자/문자)을 기록할 때 사용합니다. 예를 들어 작업하는 공정이나 모델이 변경될 때 기존 로그데이터를 백업하고 해당 공정이나 모델을 파일명에 기록할 때 사용합니다. 
 
[SD Update 동작] --------------------------------------------------
장착된 SD 카드를 제거할 때 TOP 본체에 남아있는 전체 로그데이터를 SD 카드로 백업하고자 한다면, 오브젝트의 [효과 및 동작]-[동작]-[특수]-[Storage]-[SD Update] 기능을 사용합니다.  
 
 
TOP 본체의 로그데이터 전체를 백업합니다. 로그데이터의 날짜별로 CSV 파일이 생성됩니다. SD 카드에 동일한 날짜의 CSV 파일이 있다면 새로운 파일을 생성하지 않고, 연이어 기록됩니다.   
 
[SD 카드 사양]---------------------------------------------------
 
SD 카드는 32GB 이하로 FAT32로 포맷하여 사용하기를 권장드립니다. 
 
[정리]----------------------------------------------------------
 
1) 백업은 TOP 본체의 로그데이터를 복사하여 SD 카드로 저장한 후, 백업한 로그데이터를 삭제하는 동작임을 주의합니다. 
2) 날짜별로 로그데이터를 백업하려면 [오래된 로그 파일 삭제 단위]와 [분할 저장]을 사용하지 않는 [로그 파일명 변경시 백업] 기능을 사용합니다. 수동으로 전체 백업을 하고자 할 때에는 SD업데이트 기능을 사용합니다.  
3) 동일 날짜에도 여러 개의 CSV 파일을 생성하려면 [백업 조건 사용] 혹은 [로그 파일명 변경시 백업]+[분할 저장] 설정을 사용합니다.
 
4.로그설정_로그뷰_레코드.zip