Differences
This shows you the differences between two versions of the page.
| comfilestudio:example:index [2026/02/11 15:37] – created admin | comfilestudio:example:index [2026/02/11 15:45] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ======= 샘플 프로젝트 모음 ======= | ======= 샘플 프로젝트 모음 ======= | ||
| + | Comfile Studio 기반 HMI 프로젝트 예제 파일 모음입니다. | ||
| ===== 1. 키패드 또는 버튼으로 RTC값 변경 ===== | ===== 1. 키패드 또는 버튼으로 RTC값 변경 ===== | ||
| - | + | RTC(실시간 시계) 값을 키패드 또는 버튼으로 수정하는 예제입니다. | |
| - | {{ :comfilehmi:hmi_example: | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example: | |
| - | {{ :comfilehmi:hmi_example: | + | |
| ===== 2. MSB642RA-DC, | ===== 2. MSB642RA-DC, | ||
| + | MSB642RA-DC와 HMI 간 입출력 동작을 테스트하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ : | + | ===== 3. HMI RTC값 D영역 기록 ===== |
| - | + | RTC 값을 데이터 영역에 저장하여 기록하는 예제입니다. | |
| - | {{ : | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example:rtc2.png?nolink& | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 3. HMI RTC값 D영역(데이터)기록 ===== | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example:rtc2.png?nolink500 | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| ===== 4. 장치값 데이터 소수점 표시 ===== | ===== 4. 장치값 데이터 소수점 표시 ===== | ||
| + | 외부 장치 값을 소수점 형식으로 변환하여 표시하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:decimal_display.zip |HMI 프로젝트}} | + | ===== 5. 화면보호기 ===== |
| + | 일정 조건에서 화면 보호 메시지를 표시하는 예제입니다. | ||
| + | {{ :comfilestudio:example:screensaver.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:comfilehmi_4.png?nolink500 | + | ===== 6. NTC 서미스터 온도 표시 ===== |
| + | MSB630TA-DC의 NTC 온도 값을 HMI에 표시하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ :comfilestudio:example:20170201_153648.jpg?nolink& | ||
| + | ===== 7. 데이터 값에 따른 화살표 위치 변경 ===== | ||
| + | 값 변화에 따라 UI 화살표 위치가 이동하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | ---- | + | ===== 8. 비밀번호 인증 ===== |
| + | 비밀번호 입력 후 접근을 허용하는 인증 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | ===== 5. 화면보호기 (아무데나 누르세요 멧세지를 표시하는 방식) ====== | + | ===== 9. MSB 입력 카운터값 |
| - | + | 카운터 값을 SD카드에 저장하고 복원하는 예제입니다. | |
| - | {{ : | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example: | |
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 6. MSB630TA-DC의 NTC서미스터를 읽어와 HMI 에 표시 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 7. 데이터 값에 따른 화살표 위치 변경 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 8. 비밀번호 인증 (v1.79이상) ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | + | ||
| - | ===== 9. MSB 입력 카운터값 | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | + | ||
| - | MSB켜지는 시점과 HMI 프로젝트 실행 시점이 다르기 때문에 | + | |
| - | MSB전원 on,off시 HMI화면 ' | + | |
| - | (일별 총 카운터는 01시01분01초에 카운터값 초기화 됩니다.) | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | + | ||
| - | + | ||
| - | ---- | + | |
| ===== 10. 키패드 입력 범위 제한 ===== | ===== 10. 키패드 입력 범위 제한 ===== | ||
| + | 키패드 입력 시 최소/ | ||
| + | {{ : | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:hmi_input_limit.zip |HMI 프로젝트}} | + | ===== 11. 월별/ |
| + | 날짜 및 요일에 따른 동작 시간을 설정하는 예제입니다. | ||
| + | {{ :comfilestudio:example:dailyschedule.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | 키패드 입력시 입력범위를 제한하는 예제입니다.(v3.26 이상에서 제대로 동작합니다) | ||
| - | |||
| - | {{ : | ||
| - | {{ : | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== 11. 월별/ | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | ---- | ||
| ===== 12. TCPPORT-30M 접속 테스트 ===== | ===== 12. TCPPORT-30M 접속 테스트 ===== | ||
| + | TCPPORT-30M과 네트워크 통신을 테스트하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:tcpporttest.zip |HMI 프로젝트}} | + | ===== 13. 남은 날수 자동 감소 ===== |
| + | 남은 일수가 매일 자동으로 감소하도록 구현한 예제입니다. | ||
| + | {{ :comfilestudio:example:autodaydecrease.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | TCPPORT-30M과 연결하여 | + | ===== 14. 버튼 누르고 있는 |
| - | 프로젝트 | + | 버튼을 누르고 |
| - | HMI 버전 2.62 이상에서만 동작합니다. | + | {{ : |
| + | {{ : | ||
| - | {{ : | ||
| - | |||
| - | ---- | ||
| - | ===== 13. 남은 날수 자동 감소 예제 ===== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | 남은 날 수가 하루가 지날 때마다(밤 12시에) 1씩 감소하는 예제입니다. | ||
| - | 파일에 저장하기 때문에 HMI의 전원이 껐다 켜져도 안정적으로 오류 없이 동작합니다. | ||
| - | |||
| - | {{ : | ||
| - | ---- | ||
| - | ===== 14. 버튼 누르고 있는 동안 카운트 자동 증가 예제 ===== | ||
| - | |||
| - | {{ : | ||
| - | |||
| - | 버튼을 누르고 있는 동안 카운트(변수값)가 1씩 자동으로 올라가는 예제입니다. | ||
| - | |||
| - | |||
| - | {{ : | ||
| - | ---- | ||
| ===== 15. 사진첩 예제 ===== | ===== 15. 사진첩 예제 ===== | ||
| + | 여러 이미지를 버튼으로 전환 표시하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:album.zip |HMI 프로젝트}} | + | ===== 16. 영문 키패드 비밀번호 인증 ===== |
| + | 영문/ | ||
| + | {{ :comfilestudio:example:multikeypad.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | 여러개의 사진을 한 화면에서 | + | ===== 17. 두번 터치 감지 |
| + | 더블 터치 입력을 감지하는 버튼 | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:album.png? | + | ===== 18. 전원 꺼져도 변수값 보존 ===== |
| - | ---- | + | 재부팅 후에도 변수값을 유지하는 예제입니다. |
| + | {{ :comfilestudio:example:keepvariable.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | ===== 16. 영문 키패드 비밀번호 인증 예제 | + | ===== 19. 램프 깜박임 |
| + | 조건에 따라 램프를 자동 깜박이게 하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ : | + | ===== 20. 16진수 입력 |
| - | + | 키패드로 16진수 값을 입력받는 예제입니다. | |
| - | 영문과 숫자 키패드로 비밀번호를 타이핑해서 인증하는 예제입니다. | + | {{ :comfilestudio:example: |
| - | 응용하면 특수 문자도 입력받게 할 수 있습니다. | + | {{ :comfilestudio:example: |
| - | + | ||
| - | v3.17 이상 버전에서만 지원합니다. | + | |
| - | (v3.28 이상 버전에서는 전용 키패드(멀티키패드)를 지원하므로 이 예제 없이도 구현할 수 있습니다. 단, 숫자와 영문자 대문자만 지원) | + | |
| - | + | ||
| - | {{ : | + | |
| - | ---- | + | |
| - | + | ||
| - | ===== 17. 두번 터치 감지하는 버튼 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 두번 터치하는 것을 감지하여 반응하는 버튼의 예제입니다. | + | |
| - | + | ||
| - | {{ : | + | |
| - | ---- | + | |
| - | + | ||
| - | ===== 18. 전원 껐다 켜도 변수값 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | HMI를 재부팅하거나 정전되어도 변수의 값이 보존되게 하는 예제입니다. | + | |
| - | + | ||
| - | 수식 감시 이벤트에서 값이 바뀔 때마다 SD카드의 파일에 저장하고 프로젝트 시작시 불러옵니다. | + | |
| - | + | ||
| - | {{ : | + | |
| - | ---- | + | |
| - | + | ||
| - | ===== 19. 램프가 일정 시간 간격으로 깜박거리게 하기 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 특정 변수의 상태가 1이면 램프가 자동으로 깜박이고, | + | |
| - | + | ||
| - | **v3.31 이상을 사용할 경우 내장되어 있는 자동 깜박임 기능을 사용하면 되므로 이 예제가 필요 없습니다.** | + | |
| - | + | ||
| - | {{ : | + | |
| - | ---- | + | |
| - | + | ||
| - | ===== 20. 16진수값을 키패드로 입력 받기 (v3.31 이상에서 지원) ===== | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | + | ||
| - | 16진수값을 키패드로 입력 받아서 수치값으로 변환하여 출력하는 예제입니다. | + | |
| - | + | ||
| - | v3.31 이상에서만 지원합니다. | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | ---- | + | |
| ===== 21. 주기적 재부팅 ===== | ===== 21. 주기적 재부팅 ===== | ||
| - | + | 일정 시간이 경과하면 자동 재부팅하는 예제입니다. | |
| - | {{ : | + | {{ : |
| - | + | ||
| - | 부팅 후 일정 시간(예를 들면 3시간)이 경과하면 자동으로 기기를 | + | |
| - | ---- | + | |
| ===== 22. 매일 일정 시각 재부팅 ===== | ===== 22. 매일 일정 시각 재부팅 ===== | ||
| + | 매일 지정 시각에 자동 재부팅하는 예제입니다. | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:dailyreboot.zip |HMI 프로젝트}} | + | ===== 23. 메모리/ |
| + | 시스템 메모리 및 CPU 사용량을 기록하는 예제입니다. | ||
| + | {{ :comfilestudio:example:logmemoryremaining.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| - | 매일 일정 시각이 되면(예를 들면 밤 9시) 자동으로 기기를 재부팅하는 예제입니다.(SD카드 필요) | + | ===== 24. 메모리 |
| - | ---- | + | 남은 메모리가 일정 이하일 경우 |
| - | + | {{ :comfilestudio:example:lowmemreboot.zip |HMI 프로젝트}} | |
| - | ===== 23. 시스템의 남은 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 일정 | + | |
| - | + | ||
| - | 아울러 장시간에 걸쳐서 메모리 사용량의 변화 추이를 관찰하기 위해 트렌드 그래프로 출력합니다. | + | |
| - | + | ||
| - | CPU 사용량을 기록하려면 cpu_usage() 함수를 사용하세요 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | + | ||
| - | ===== 24. 시스템의 남은 메모리가 일정량 이하로 떨어지면 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 시스템의 | + | |
| - | + | ||
| - | CPU 사용량에 대해 적용하려면 cpu_usage() 함수를 사용하세요 | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== 25. 매일 12시 정각에 한번 PLC에 일정값 보내기 ===== | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example:dailywritingtoplc.zip |HMI 프로젝트}} | + | |
| - | + | ||
| - | 매일 낮 12시 정각이 될 때마다 한번씩 PLC의 특정 릴레이를 ON시키는 예제입니다. | + | |
| - | + | ||
| - | ---- | + | |
| + | ===== 25. 매일 12시 PLC 값 전송 ===== | ||
| + | 지정 시간에 PLC로 데이터를 전송하는 예제입니다. | ||
| + | {{ : | ||
| ===== 26. 스탑워치 ===== | ===== 26. 스탑워치 ===== | ||
| + | 시간 측정을 구현한 스탑워치 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:stopwatch.zip |HMI 프로젝트}} | + | ===== 27. Bit On 후 3초 후 Off ===== |
| + | 비트를 일정 시간 후 자동 OFF시키는 예제입니다. | ||
| + | {{ :comfilestudio:example:bitofftimer.zip |HMI 프로젝트}} | ||
| - | 스탑워치 | + | ===== 28. 숫자입력기 값 유지 ===== |
| + | 숫자 입력값을 재부팅 후에도 유지하는 | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ :comfilehmi:hmi_example:stopwatch.png? | + | ===== 29. 입력값 제한 후 다중 장치 쓰기 ===== |
| - | ---- | + | 입력값을 제한하여 여러 장치에 적용하는 예제입니다. |
| + | {{ :comfilestudio:example:hmi_input_limit2.zip |HMI 프로젝트}} | ||
| + | {{ : | ||
| + | {{ : | ||
| + | ===== 30. 내부 메모리 선택 후 인증 ===== | ||
| + | 선택한 메모리에 인증 후 값을 저장하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| + | ===== 31. 멀티키패드 문자열 입력 ===== | ||
| + | 문자열을 입력받아 지정 변수에 저장하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | ===== 27. Bit On 후 3초후 Off ===== | + | ===== 32. 최근 |
| - | + | 최근 데이터의 | |
| - | {{ : | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example: | |
| - | 버튼을 누르면 bit가 켜졌다가 3초후 자동으로 off되는 예제입니다. | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 28. HMI와 외부장치를 재부팅해도 숫자입력기의 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | HMI와 PLC를 재부팅해도 숫자입력기의 값을 HMI 측 (SD카드)에 저장하므로 값을 유지시켜주는 예제입니다. | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | + | ||
| - | ===== 29. 키패드의 입력값을 제한하여 여러개의 외부장치에 값을 쓰는 예제 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 버튼을 눌러 키패드를 띄워 외부장치에 값을 쓸 때 최소값/ | + | |
| - | + | ||
| - | (v3.48 버전부터는 입력 제한 기능을 키패드 속성 내에서 자체 지원) | + | |
| - | + | ||
| - | 각각 주소값이 다른 여러 개의 버튼에 대한 처리를 효율적으로 할 수 있도록 하였습니다. | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 30. 여러개의 내부 메모리 중 선택하여 비밀번호 인증 후 키패드 | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 여러 개의 //내부 메모리// 중에 원하는 번지를 선택 후 키패드로 값을 입력 받아서 넣는 예제입니다. | + | |
| - | + | ||
| - | 값을 입력 받기 전에, 키패드를 띄워 암호를 입력받아서 인증 후에 값을 입력할 수 있게 하였습니다. | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | ===== 31. 멀티키패드로 문자열 입력받아 원하는 문자열 변수에 넣기 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 목표 문자열 변수를 미리 지정하고 멀티키패드로 문자열을 입력 받아서 넣는 예제입니다. | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| - | + | ||
| - | ===== 32. 외부장치 최근 값의 평균값 출력 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 외부장치 특정 번지의 최근 5개 값의 평균을 출력하는 예제입니다. (1초 주기로 검사. 최근 5초간) | + | |
| - | {{ :comfilehmi:hmi_example: | + | |
| ===== 33. 언어 선택 UI ===== | ===== 33. 언어 선택 UI ===== | ||
| - | + | 언어 선택 후 설정을 저장하는 예제입니다. | |
| - | {{ :comfilehmi:hmi_example: | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example: | |
| - | 한글/ | + | |
| - | {{ :comfilehmi:hmi_example: | + | |
| ===== 34. 시간 지연 후 처리 ===== | ===== 34. 시간 지연 후 처리 ===== | ||
| - | + | 지연 시간을 둔 후 특정 동작을 수행하는 예제입니다. | |
| - | {{ :comfilehmi:hmi_example: | + | {{ :comfilestudio:example: |
| - | + | {{ :comfilestudio:example: | |
| - | 어떤 처리를 하기 전에 딜레이를 줄 수 있습니다. | + | |
| - | 버튼을 누를 경우 3초 지연 후에 화면을 이동하는 예제입니다. | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example: | + | |
| ===== 35. 워드에서 2개 글자 추출 ===== | ===== 35. 워드에서 2개 글자 추출 ===== | ||
| + | 워드 데이터에서 두 개의 바이트 문자를 추출하는 예제입니다. | ||
| + | {{ : | ||
| + | {{ : | ||
| - | {{ : | + | ===== 36. 긴 터치 감지 ===== |
| - | + | 지정 시간 | |
| - | 외부 장치의 특정 워드 주소 1개 당 두개의 BYTE 글자(영문 또는 숫자)씩 추출해내어 출력하거나 문자열 변수로 가져오는 예제입니다. | + | {{ :comfilestudio:example:LongTouch.zip |HMI 프로젝트}} |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | ===== 36. 긴 터치 감지 ==== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 화면의 특정 부분을 5초 이상 | + | |
| - | + | ||
| - | + | ||
| - | ===== 37. USB 메모리 기능 테스트 ==== | + | |
| - | + | ||
| - | {{ :comfilehmi:hmi_example:usb_test.zip |HMI 프로젝트}} | + | |
| - | + | ||
| - | USB 메모리 읽기/ | + | |
| - | USB 메모리가 지원되는 모델에서만 테스트 가능합니다. | + | |
| - | + | ||
| - | (ComfileHMI는 기본적으로 SD카드를 지원하고 모델에 따라 USB 메모리도 지원합니다) | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | + | ||
| - | ===== 38. 타이머에 의한 화면 자동 전환 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 2초 간격으로 1번 화면과 2번 화면을 자동으로 번갈아 표시하는 예제입니다. | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== 39. 문자열 내용 실시간 변환 ===== | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | 외부 장치값의 다양한 상태 조합에 따라 텍스트의 내용이 실시간으로 다양하게 변하는 예제 | + | |
| + | ===== 37. USB 메모리 기능 테스트 ===== | ||
| + | USB 읽기/ | ||
| + | {{ : | ||
| + | {{ : | ||
| + | ===== 38. 타이머 화면 자동 전환 ===== | ||
| + | 일정 시간 간격으로 화면을 자동 전환하는 예제입니다. | ||
| + | {{ : | ||
| - | ---- | + | ===== 39. 문자열 실시간 변환 ===== |
| + | 외부 장치 값에 따라 문자열이 실시간 변경되는 예제입니다. | ||
| + | {{ : | ||
| [[..: | [[..: | ||
