MP STUDIO 2 · 설정 · V1.4.0부터
MP STUDIO 2 · 입력 필터
입력 필터는 디지털 입력이 바뀐 뒤 정한 시간 동안 그대로일 때만 래더가 그 값을 받아들이게 하는 기능입니다(V1.4.0부터). 스위치 채터링이나 짧은 잡음으로 입력이 튀는 것을 거르며, 모든 입력에 적용하는 기본값과 입력마다 따로 정하는 값을 1~255 ms로 설정할 수 있습니다.
| 대상 | 시간 | 켜짐ㆍ꺼짐 | 지원 판 |
|---|---|---|---|
| 기종의 디지털 입력 | 1~255 ms | 같은 시간 | V1.4.0부터 |
- 튐은 버리기
정한 시간보다 짧게 바뀌었다가 돌아온 입력은 래더에 닿지 않습니다. - 기본값과 입력별 값
모든 입력에 같은 시간을 주고, 필요한 입력만 다른 시간이나 끔으로 정할 수 있습니다. - 켜지 않으면 그대로
새 프로젝트는 입력 필터가 꺼진 상태로 시작하며, 꺼져 있으면 컴파일되는 프로그램이 바뀌지 않습니다. - 바로 보이는 설정
상태 표시와 인스펙터에 지금 적용되는 시간이 표시됩니다.
이 페이지에서
입력 필터가 하는 일
입력 필터는 그 기종의 디지털 입력(P 입력)에 적용됩니다. 출력과 MㆍD 같은 다른 메모리에는 적용되지 않습니다.
- 입력이 바뀌면 바뀐 값이 정한 시간 동안 그대로일 때 래더가 그 값을 받아들입니다. 그 시간 안에 원래 값으로 돌아가면 그 변화는 버려집니다.
- 켜질 때(OFF → ON)와 꺼질 때(ON → OFF)에 같은 시간이 적용됩니다.
- 정한 시간보다 오래 이어진 튐은 바뀐 값으로 받아들여지므로, 걸러야 할 튐 하나의 길이보다 긴 시간을 정해야 합니다.
- 전원을 넣거나 다운로드한 뒤 첫 스캔에는 그때의 입력 값을 곧바로 받아들이고, 그 뒤의 변화부터 거릅니다.
- 시간은 ms 단위로 재며 타이머 기준(10 msㆍ1 ms)과 상관없습니다. 입력 필터를 켜도 타이머와 클럭의 시간은 바뀌지 않습니다.
입력은 스캔마다 한 번 읽습니다. 변화는 처음 읽은 스캔부터 센 시간이 정한 시간에 닿는 첫 스캔에 받아들여지므로, 정한 시간이 스캔 시간으로 나누어떨어지지 않으면 그다음 스캔까지 기다립니다. 한 스캔에만 보인 값은 정한 시간과 상관없이 버려지므로, 정한 시간이 스캔 시간보다 짧아도 변화는 최소 한 스캔 늦게 받아들여집니다.
| 정한 시간 | 스캔 시간 | 처음 읽은 스캔부터 받아들이기까지 |
|---|---|---|
| 20 ms | 10 ms | 20 ms |
| 25 ms | 10 ms | 30 ms |
| 3 ms | 10 ms | 10 ms(한 스캔) |
신호는 스캔과 스캔 사이에 바뀔 수 있으므로, 실제 신호가 바뀐 때부터 보면 위 표의 시간보다 최대 한 스캔 더 늦게 받아들여집니다.
창 열기와 기본값
설정 → 입력 필터…를 선택하면 입력 필터 창이 열립니다. 프로젝트가 열려 있을 때만 선택할 수 있습니다. 창을 띄운 채 래더를 보고 고칠 수 있으며, 창은 끌어서 옮길 수 있습니다.
- ① 설명과 파형: 입력 신호와 받아들인 값을 지금 고른 시간으로 그립니다. 고른 입력의 값이 모두 같으면 그 값으로 그립니다.
- ② 기본값: 기종의 모든 입력에 적용하는 시간입니다.
- ③ 입력 격자: 기종의 입력이 한 줄에 8점씩 표시됩니다.
- ④ 선택 띠: 고른 입력에 따로 값을 정합니다.
- ⑤ 알림: 실제 지연, 적용되지 않는 입력, 강제 입력에 관한 안내입니다.
- ⑥ 요약과 취소ㆍ확인: 지금 설정의 요약이 표시됩니다.
기본값은 끔ㆍ1ㆍ3ㆍ5ㆍ10ㆍ20ㆍ70ㆍ100 중 하나를 누르거나, 직접 입력 칸에 1~255 사이의 정수를 입력해 정해주시기 바랍니다. 0을 입력하면 끔입니다. 300처럼 1~255를 벗어나거나 정수가 아닌 값을 입력하면 칸이 붉게 표시되고 «1~255 사이의 정수를 입력하세요(0 = 끔).»가 표시됩니다.
새 프로젝트는 입력 필터가 꺼진 상태로 시작합니다. 프로젝트 → 새 프로젝트는 앞 프로젝트의 기종을 이어받지만 입력 필터 설정은 이어받지 않습니다. 기존 MP STUDIO의 .mpl을 연 프로젝트도 입력 필터가 꺼져 있습니다.
창 아래 요약에는 꺼져 있으면 «꺼짐 — 컴파일되는 프로그램이 그대로입니다», 거르는 입력이 있으면 «입력 9점을 거릅니다 · 기본 20 ms · 따로 정한 입력 2개»처럼 표시됩니다.
입력별 값
격자의 칸마다 주소, 적용되는 시간(ms 또는 «끔»), 심볼명이 표시됩니다. 칸에 마우스를 올리면 주소ㆍ심볼ㆍ설명문과 시간이 툴팁으로 표시됩니다. 격자 위에는 «입력 10점 · MPS-8A8R(T)-S»처럼 입력 수와 기종이 표시되고, 기본값과 다른 입력이 있으면 «기본값과 다른 입력 2개»처럼 그 수가 함께 표시됩니다.
- 기본값과 다른 값을 따로 정한 칸은 파란 테두리와 오른쪽 위의 점으로 표시됩니다.
- 그 입력만 끈 칸에는 빗금과 주황색 «끔»이 함께 표시됩니다. 기본값이 끔이라 꺼진 칸에는 빗금 없이 «끔»만 표시됩니다.
| 조작 | 고르는 입력 |
|---|---|
| 클릭 | 그 입력 하나(같은 칸을 다시 누르면 선택 해제) |
Ctrl+클릭 | 누른 입력을 선택에 더하거나 뺌 |
Shift+클릭 | 앞에 누른 칸부터 누른 칸까지 |
Ctrl+Shift+클릭 | 앞에 누른 칸부터 누른 칸까지를 지금 선택에 더함 |
Shift+화살표 | 앞에 누른 칸부터 포커스가 옮겨 간 칸까지 |
SpaceㆍEnter | 포커스가 있는 칸을 선택에 더하거나 뺌 |
격자 칸에서 Ctrl+Aㆍ모두 선택 | 모든 입력 |
Escㆍ선택 해제 | 선택 비우기 |
화살표는 포커스만 옮깁니다(좌우 한 칸, 위아래 한 줄). 칸을 끌어서 고르는 기능은 없습니다.
입력을 고르면 선택 띠에 «선택한 입력 4개»처럼 고른 수가 표시됩니다. 칩을 누르면 고른 입력 모두에 그 시간이 정해집니다. 직접 입력 칸에 값을 입력한 경우에는 Enter를 누르거나 적용을 눌러주시기 바랍니다.
- 기본값 따르기: 따로 정한 값을 지워 기본값을 따르게 합니다.
- 끔: 기본값이 켜져 있어도 그 입력은 거르지 않습니다. 빠르게 바뀌는 신호를 받는 입력은 끄거나 짧은 시간으로 정해주시기 바랍니다.
따로 정한 값이 기본값과 같으면 기본값 따르기로 바뀝니다. 기본값을 바꿔 그 값이 어떤 입력에 따로 정한 값과 같아진 경우에도 그 입력은 기본값 따르기가 되며, 그 뒤 기본값을 다시 바꾸면 그 입력도 새 기본값을 따릅니다.
확인ㆍ취소와 되돌리기
- 확인: 바꾼 설정을 프로젝트에 반영하고 창을 닫습니다(
Ctrl+Enter). 오른쪽 아래에 «입력 필터: 기본 20 ms · 따로 정한 입력 2개 · 거르는 입력 9점»과 «프로젝트를 저장해야 파일에 남습니다.»가 표시됩니다. 아무것도 바꾸지 않았으면 그대로 닫힙니다. - 취소: 프로젝트를 바꾸지 않고 창을 닫습니다.
- 바꾼 내용이 있는 채로
Esc나 창의 닫기 단추를 누르면 «변경 내용을 버릴까요?»가 표시되며, 버리고 닫기ㆍ계속 편집 중 하나를 선택할 수 있습니다. 입력을 고른 상태에서는Esc가 먼저 선택을 비웁니다. - 확인한 변경은 편집 → 실행 취소(
Ctrl+Z) 한 번으로 바꾸기 전으로 되돌릴 수 있습니다. - 창 안에서
Ctrl+Z를 누르면 창에서 고친 내용이 아니라 프로젝트의 마지막 변경이 되돌려집니다.
창 안에서 Ctrl+S를 누르면 프로젝트는 저장되지만, 확인을 누르기 전의 창 편집 내용은 저장되지 않으며 «아직 [확인]을 누르지 않아 이 창에서 편집한 내용은 저장에 반영되지 않았습니다.»가 표시됩니다. 장비에는 프로그램을 다시 다운로드해야 반영됩니다.
기종을 바꾼 뒤
입력별 값은 주소로 기억됩니다. 설정 → 기종 선택으로 입력이 더 적은 기종으로 바꾸면, 새 기종에 없는 입력에 정한 값이 창에 «이 기종에 없는 입력에 정한 값 1개 — 컴파일에 쓰이지 않습니다.»와 함께 P9 = 50 ms처럼 표시됩니다.
이 값은 컴파일에 쓰이지 않으며 파일에는 남아 있다가, 그 입력이 있는 기종으로 다시 바꾸면 다시 적용됩니다. 필요 없는 값은 지우기를 누른 뒤 확인을 눌러 지워주시기 바랍니다. 기본값은 기종을 바꿔도 새 기종의 모든 입력에 그대로 적용됩니다.
상태 표시와 인스펙터
거르는 입력이 있는 프로젝트에는 상태 표시에 «입력 필터 20 ms»가 표시됩니다. 입력마다 시간이 다르면 «입력 필터 20~100 ms»처럼 범위가 표시되며, 끈 입력은 범위에 들지 않습니다. 입력 필터가 꺼진 프로젝트에는 표시되지 않습니다.
커서가 입력 P 주소의 접점ㆍ코일 칸에 있으면 인스펙터에 입력 필터 줄이 표시됩니다. 줄의 글자를 누르면 입력 필터 창이 열립니다.
| 인스펙터 표시 | 뜻 |
|---|---|
| 20 ms · 기본값 | 기본값을 따릅니다. |
| 100 ms · 따로 정함 | 이 입력에 따로 정한 시간입니다. |
| 끔 · 따로 정함 | 이 입력만 거르지 않습니다. |
| 끔 | 기본값이 끔이고 따로 정한 값이 없습니다. |
시뮬레이션과 모니터링
시뮬레이션에서도 장비와 같은 방식으로 입력을 거릅니다. 시뮬레이션 막대의 입력 칩은 누르는 즉시 바뀌지만, 래더의 P 접점 통전, 인스펙터의 현재 값, 데이터 테이블에는 거른 값이 표시되므로 정한 시간이 지난 뒤에 바뀝니다. 정한 시간보다 짧게 켰다 끄면 래더는 그 입력을 받아들이지 않습니다.
- ①
P2칩: 넣은 신호입니다. 누르는 즉시 켜집니다. - ②
P2접점: 거른 값입니다. 정한 시간(100 ms)이 지나야 켜지며, 그때까지 인스펙터의 현재 값도 OFF입니다.
바뀌는 순간을 보려면 시뮬레이션 막대의 일시 정지와 한 스캔을 사용해주시기 바랍니다. 시뮬레이션 중에 창에서 시간을 바꾸고 확인을 누르면 곧바로 반영됩니다.
모니터링 중 래더ㆍ데이터 테이블ㆍ인스펙터에 표시되는 P 입력 값도 거른 값입니다. 거르기 전의 신호는 화면에 표시되지 않습니다.
강제 입력과 적용되지 않는 입력
모니터링의 Force ONㆍForce OFF, 강제 입출력, 시뮬레이션에서 강제한 입력은 필터를 거치지 않고 곧바로 바뀝니다. 강제를 풀면 그 입력은 다시 걸러집니다.
고속 카운터ㆍ외부 인터럽트 입력에는 입력 필터가 적용되지 않습니다. 하드웨어가 핀을 직접 읽으므로, 예를 들어 HCNT는 거르지 않은 신호를 셉니다. 같은 핀의 P 접점은 다른 입력과 같이 걸러집니다.
예제
세 예제는 MPS-8A8R(T)-S의 새 프로젝트에 차례로 작성해 시뮬레이션으로 확인할 수 있습니다. 예제의 시간은 동작을 보이기 위한 값입니다.
예제 1. 누름 단추 횟수를 채터링 없이 세기
P0 단추를 누른 횟수를 CTU로 세어 다섯 번 누르면 P32를 켜는 예제입니다. 모든 입력의 기본값을 20 ms로 정해, 접점이 튀어도 한 번 누름이 한 번으로 세어지게 합니다.
- 설정 → 심볼에서
P0에 COUNT_BTN,P1에 RESET_BTN,P32에 DONE_LAMP를 등록해주시기 바랍니다. - 아래 렁을 작성해주시기 바랍니다.
- 설정 → 입력 필터…에서 기본값 20을 누르고 확인을 눌러주시기 바랍니다.
| 렁 | 입력 | 펑션ㆍ코일 | 하는 일 |
|---|---|---|---|
| 0 | P0 | CTU C0 5 P1 | P0을 누른 횟수를 세며, P1이 ON이면 C0의 현재값을 0으로 되돌립니다. |
| 1 | C0 | 코일 P32 | 다섯 번 누르면 P32를 켭니다. |
확인을 누르면 «입력 필터: 기본 20 ms · 거르는 입력 10점»이 표시되고, 상태 표시에 «입력 필터 20 ms»가 표시됩니다. 시뮬레이션 중 P0 칩을 켰다 끄기를 다섯 번 되풀이하면 P32가 켜지고, P1을 켜면 C0의 현재값이 0이 되어 P32가 꺼집니다.
예제 2. 입력마다 다른 시간 정하기
수위 스위치 P2만 100 ms로 길게 거르고, 빠른 펄스를 세는 근접 센서 P3은 거르지 않는 예제입니다.
- 설정 → 심볼에서
P2에 LEVEL_SW,P3에 FAST_SENSOR,P33에 PUMP를 등록해주시기 바랍니다. - 예제 1의 렁 뒤에 아래 렁을 작성해주시기 바랍니다.
- 설정 → 입력 필터…에서
P2칸을 누르고 선택 띠의 100을 눌러주시기 바랍니다. P3칸을 누르고 선택 띠의 끔을 누른 뒤 확인을 눌러주시기 바랍니다.
| 렁 | 입력 | 펑션ㆍ코일 | 하는 일 |
|---|---|---|---|
| 2 | P2 | 코일 P33 | 수위 스위치가 ON이면 펌프를 켭니다. |
| 3 | P3 | CTU C1 1000 P1 | 근접 센서의 펄스를 셉니다. |
창 아래 요약에 «입력 9점을 거릅니다 · 기본 20 ms · 따로 정한 입력 2개»가 표시되고(그림 2), 상태 표시에 «입력 필터 20~100 ms»가 표시됩니다(그림 4). 커서를 P2 접점에 두면 인스펙터에 «100 ms · 따로 정함», P3 접점에 두면 «끔 · 따로 정함»이 표시됩니다. 시뮬레이션 중 P2 칩을 켜면 P2 접점과 P33은 100 ms가 지난 뒤에 켜집니다(그림 7).
예제 3. 기종을 바꾼 뒤 정리하기
문 스위치 P9에 50 ms를 정한 뒤, 입력이 8점(P0~P7)인 MPS-8A4R(T)-S로 바꾸고 남은 값을 지우는 예제입니다.
- 설정 → 입력 필터…에서
P9칸을 누르고, 선택 띠의 직접 입력에50을 입력한 뒤 적용과 확인을 눌러주시기 바랍니다. - 설정 → 기종 선택에서
MPS-8A4R(T)-S를 선택해주시기 바랍니다. - 설정 → 입력 필터…를 다시 열어 «이 기종에 없는 입력에 정한 값 1개 — 컴파일에 쓰이지 않습니다.»와
P9 = 50 ms를 확인해주시기 바랍니다(그림 5). - 지우기를 누른 뒤 확인을 눌러주시기 바랍니다.
확인할 점
- 거르는 입력이 있으면 장비 프로그램에 필터가 들어가 프로그램 메모리와 RAM을 더 쓰고 스캔 시간이 늘어납니다. 가장 큰
MPA-64A64R(T)의 입력 64점을 모두 거르면 프로그램 메모리가 1,162바이트, RAM이 86바이트 늘고, 스캔마다 최대 약 0.19 ms가 더 걸립니다. 거르는 입력이 적으면 더 적습니다. - RAM이 모자라면 다운로드나 니모닉 변환을 할 때 «RAM이 1바이트 부족해 입력 필터를 쓸 수 없습니다(입력 필터가 16바이트를 더 씁니다). 거르는 입력 수, CLCD 수, 장비 표 또는 메모리 영역 길이를 줄이세요.»처럼 표시됩니다.
V1.3.0 이하에서 열 수 없음
입력 필터를 설정한.mpx프로젝트는 V1.3.0 이하의 앱에서 열 수 없습니다.





