내용으로 건너뛰기
ILOGICS 제품 사용설명서
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
products:mp_studio:bit_control
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
MP STUDIO 2 · 펑션 · V1.4.0부터 ====== MP STUDIO 2 · 비트 제어 펑션 ====== 비트 제어 펑션은 비트를 뒤집거나 한 칸씩 밀거나 한 번에 끄거나 켜는 ''FF''ㆍ''BSFT''ㆍ''BRST''ㆍ''BSETN''과, 켜짐 시간과 꺼짐 시간을 따로 정해 깜빡이는 타이머 ''TFLK''의 다섯 펑션입니다(V1.4.0부터). 누름 단추 하나로 출력을 켜고 끄기, 컨베이어 위 제품의 위치와 불량 추적, 경광등 깜빡임처럼 여러 렁이 필요하던 회로를 펑션 하나로 작성할 수 있습니다. [[#예제|예제 보기]] [[#펑션_패널과_넣는_법|넣는 법]] {{ :products:mp_studio:bf-hero.png?1600 |예제 프로그램을 시뮬레이션하며 펑션 패널의 비트 논리 분류와 FFㆍBSFTㆍTFLK 블록의 값이 함께 표시된 MP STUDIO 2 창 전체 }} ^ 펑션 ^ 분류 ^ 실행 ^ 지원 판 ^ | 5개 | 비트 논리ㆍ타이머 | ON될 때ㆍON인 동안ㆍ주기 | V1.4.0부터 | * **누를 때마다 뒤집기**\\ ''FF''는 조건이 ON되는 순간에만 비트를 뒤집으므로 누름 단추 접점에 상승 엣지 접점 없이 바로 이을 수 있습니다. * **한 칸씩 밀기**\\ ''BSFT''는 조건이 ON될 때마다 비트 N개를 한 칸씩 밀고 빈자리에 새 값을 넣습니다. * **구간을 한 번에**\\ ''BRST''ㆍ''BSETN''은 시작 비트부터 N개를 모두 끄거나 켭니다. * **켜짐ㆍ꺼짐 시간 따로**\\ ''TFLK''는 ON 시간 동안 켜고 OFF 시간 동안 끄기를 되풀이합니다. **이 페이지에서** * [[#펑션_패널과_넣는_법|펑션 패널과 넣는 법]] * [[#공통_동작|공통 동작]] * [[#ff_플립플롭|FF 플립플롭]] * [[#bsft_비트_시프트_레지스터|BSFT 비트 시프트 레지스터]] * [[#brstㆍbsetn_비트_범위_리셋ㆍ셋|BRSTㆍBSETN 비트 범위 리셋ㆍ셋]] * [[#tflk_플리커_타이머|TFLK 플리커 타이머]] * [[#컴파일되지_않는_입력|컴파일되지 않는 입력]] * [[#범위_밖과_ixerr|범위 밖과 @IXERR]] * [[#모니터링과_시뮬레이션|모니터링과 시뮬레이션]] * [[#예제|예제]] * [[#확인할_점|확인할 점]] ~~NOTOC~~ ===== 펑션 패널과 넣는 법 ===== ''FF''ㆍ''BSFT''ㆍ''BRST''ㆍ''BSETN''은 펑션 패널의 **비트 논리** 분류에, ''TFLK''는 **타이머** 분류에 있습니다. 넣는 방법은 다른 펑션과 같습니다. 펑션 패널에서 줄을 더블클릭하거나, [[products:mp_studio:functions#펑션_삽입_창|펑션 삽입 창]](''Ctrl+E'')에 ''FF P32''처럼 한 줄로 입력해주시기 바랍니다. 펑션 패널의 검색 칸에 ''비트''ㆍ''플립''ㆍ''시프트''ㆍ''플리커''를 입력해도 찾을 수 있습니다. ^ 펑션 ^ 펑션 패널의 이름 ^ 블록의 칸(왼쪽부터) ^ | ''FF'' | FF: 플립플롭 (비트 토글) | OUT | | ''BSFT'' | BSFT: 비트 시프트 레지스터 | BITㆍNㆍINㆍDIR | | ''BRST'' | BRST: 비트 범위 리셋 | BITㆍN | | ''BSETN'' | BSETN: 비트 범위 셋 | BITㆍN | | ''TFLK'' | TFLK: 플리커 타이머 (ON/OFF) | TIMERㆍONㆍOFF | {{ :products:mp_studio:bf-palette-marked.svg?300 |그림 1. 비트 논리 분류와 타이머 분류를 펼친 펑션 패널 }} * **① 비트 논리 분류:** 오른쪽 숫자는 분류 안의 펑션 수(4)입니다. * **② FFㆍBSFTㆍBRSTㆍBSETN:** 더블클릭하면 커서 칸에 펑션이 삽입됩니다. * **③ TFLK:** 타이머 분류의 마지막 줄입니다. 펑션 삽입 창에서 ''TFLK''의 인자 순서는 ''[TFLK] [IN] [ON] [OFF]''로 표시되며, 첫 인자(타이머 주소)는 블록의 TIMER 칸에 들어갑니다. {{ :products:mp_studio:bf-insert.png?470 |그림 2. TFLK T5 20 180을 입력해 인자 순서와 설명이 표시된 펑션 삽입 창 }} ===== 공통 동작 ===== 다섯 펑션은 모두 블록 왼쪽의 조건으로 동작합니다. 동작하는 때는 펑션마다 다릅니다. ^ 펑션 ^ 동작하는 때 ^ | ''FF''ㆍ''BSFT'' | 조건이 OFF에서 ON으로 바뀌는 스캔에 한 번(상승 엣지 접점과 같은 때) | | ''BRST''ㆍ''BSETN'' | 조건이 ON인 스캔마다 | | ''TFLK'' | 조건이 ON인 동안 ON 시간과 OFF 시간을 되풀이 | * ''FF''ㆍ''BSFT''ㆍ''BRST''ㆍ''BSETN''은 블록 왼쪽의 조건을 그대로 블록 오른쪽으로 넘기므로, 뒤에 코일을 이어 쓸 수 있습니다. ''TFLK''의 블록 오른쪽은 깜빡임 출력입니다. * ''FF''ㆍ''BSFT''는 직전 조건을 블록마다 따로 기억합니다. * 전원을 넣거나 다운로드한 뒤 첫 스캔에 조건이 이미 ON이면 OFF에서 ON으로 바뀐 것으로 봅니다. 이때 ''FF''는 한 번 뒤집고 ''BSFT''는 한 칸 밉니다. * ''MCS'' 구간 안에 두면 구간이 꺼진 동안 조건이 OFF인 것으로 동작하며, 블록 오른쪽도 꺼집니다(다른 펑션 블록은 ''MCS''와 상관없이 실행됩니다). 구간이 다시 켜질 때 조건이 ON이면 OFF에서 ON으로 바뀐 것으로 봅니다. ===== FF 플립플롭 ===== ''FF''는 조건이 OFF에서 ON으로 바뀌는 스캔에만 OUT 비트를 뒤집습니다(0이면 1, 1이면 0). 조건을 ON으로 유지하는 동안에는 다시 뒤집지 않습니다. 예를 들어 ''P0'' 접점 뒤의 ''FF P32''는 ''P0''을 누를 때마다 ''P32''를 켜고 끕니다. {{ :products:mp_studio:bf-ff-sim.png?1022 |그림 3. 시뮬레이션에서 P0을 켜 FF가 P32를 켠 모습 }} * OUT에는 ''P''ㆍ''M'' 비트, ''D10.5'' 같은 D 워드 안의 비트, ''#이름'' 사용자 비트를 쓸 수 있습니다. * 같은 비트를 ''FF'' 둘로 뒤집을 수 있습니다. ''P0''과 ''P1'' 뒤에 각각 ''FF P32''를 두면 어느 단추를 눌러도 ''P32''가 바뀝니다. 두 조건이 같은 스캔에 함께 ON되면 두 번 뒤집혀 그대로입니다. > **같은 비트의 코일이 FF 결과를 덮어씀** > ''FF''의 OUT 비트를 보통 코일에도 쓰면 코일이 스캔마다 그 비트를 다시 써서 ''FF''가 뒤집은 값이 남지 않습니다. OUT 비트는 SET 코일처럼 이중코일 검사 대상이 아니므로 검사에서도 표시되지 않습니다. ''FF''의 OUT 비트는 보통 코일과 함께 쓰지 않아야 합니다. ===== BSFT 비트 시프트 레지스터 ===== ''BSFT''는 조건이 OFF에서 ON으로 바뀔 때마다 BIT부터 N개의 비트를 한 칸씩 밀고, 비게 된 자리에 IN의 값을 넣습니다. 미는 방향은 DIR로 정합니다. 컨베이어 위 제품의 불량 추적과 배출, 순차 점등, 공정 이력처럼 위치를 따라 값을 옮기는 회로에 사용합니다. ^ DIR ^ 미는 방향 ^ IN이 들어가는 자리 ^ 밀려나 버려지는 값 ^ | 0 | 번호가 커지는 쪽 | ''BIT'' | ''BIT+N-1''의 값 | | 1 | 번호가 작아지는 쪽 | ''BIT+N-1'' | ''BIT''의 값 | 예를 들어 ''BSFT M200 8 P2 0''은 조건이 ON으로 바뀔 때마다 ''M200''~''M206''의 값을 한 칸 뒤(''M201''~''M207'')로 옮기고 ''M200''에 그때의 ''P2'' 값을 넣습니다. ''M207''에 있던 값은 버려집니다. * **BIT:** 시작 비트입니다. ''P''ㆍ''M'' 비트와 ''D10.0'' 같은 D 워드 안의 비트를 쓸 수 있습니다. D 워드 안의 비트는 ''D10.15'' 다음이 ''D11.0''으로 이어집니다. * **N:** 비트 개수입니다. 1 이상의 상수 또는 ''D0''ㆍ''BD0'' 같은 바이트ㆍ워드 주소를 씁니다. * **IN:** 넣을 값입니다. 0ㆍ1 또는 ''M5''ㆍ''P1'' 같은 비트를 씁니다. * **DIR:** 미는 방향입니다. 0ㆍ1 또는 비트를 씁니다. INㆍDIR이 비트이면 조건이 ON으로 바뀐 그 스캔의 값을 읽습니다. {{ :products:mp_studio:bf-bsft-sim-marked.svg?857 |그림 4. 시뮬레이션에서 BSFT가 불량 감지 결과를 M200~M207로 밀어 온 모습 }} * **① BSFT 블록:** BITㆍNㆍINㆍDIR 칸입니다. * **② 데이터 테이블:** ''M200''~''M207''에 밀려온 값이 표시됩니다. * **③ 배출 렁:** ''M207''이 켜져 ''P33''이 켜졌습니다. ===== BRSTㆍBSETN 비트 범위 리셋ㆍ셋 ===== ''BRST''는 BIT부터 N개의 비트를 모두 0으로, ''BSETN''은 모두 1로 씁니다. 조건이 ON인 스캔마다 쓰며, 같은 값을 거듭 써도 문제가 없습니다. BIT와 N에 쓸 수 있는 것은 ''BSFT''와 같습니다. ^ 예 ^ 동작 ^ | ''BRST M200 8'' | ''M200''~''M207''을 모두 끕니다. | | ''BSETN D20.0 8'' | ''D20''의 0~7번 비트를 모두 켭니다. | | ''BRST M0 D0'' | ''M0''부터 ''D0''의 값만큼 비트를 끕니다. | ===== TFLK 플리커 타이머 ===== ''TFLK''는 조건이 ON되면 켜짐부터 시작해 ON 시간 동안 켜고 OFF 시간 동안 끄기를 되풀이합니다. 출력은 블록 오른쪽으로 이어지는 전력이며, TIMER 칸 타이머의 접점(예: ''T5'')도 같은 값으로 켜지고 꺼지므로 다른 렁에서 같은 깜빡임을 쓸 수 있습니다. * TIMER 칸 타이머의 현재값은 한 주기 안에서 지난 시간입니다. ON 시간과 OFF 시간을 더한 값에 닿으면 0부터 다시 셉니다. * 조건이 OFF되면 출력이 곧바로 꺼지고 현재값이 0이 됩니다. 다시 ON되면 켜짐부터 시작합니다. * ON 시간이 0이면 출력은 늘 꺼져 있고, OFF 시간이 0이면 조건이 ON인 동안 늘 켜져 있습니다. * 켜는 스캔의 시간도 세므로, ON 시간이 한 스캔보다 짧으면 켜자마자 꺼질 수 있습니다. * 켜짐과 꺼짐이 같은 고정 주기의 깜빡임은 [[products:mp_studio:memory_symbols#시스템_비트와_사용자_변수|시스템 비트]] ''@Fn''으로도 만들 수 있습니다. ''TFLK''는 켜짐 시간과 꺼짐 시간을 따로 정할 때 사용합니다. {{ :products:mp_studio:bf-tflk-sim-marked.svg?1022 |그림 5. 시뮬레이션에서 꺼짐 시간 중인 TFLK }} * **① ''T5'' 현재값:** 한 주기 안에서 지난 시간입니다. * **② ONㆍOFF:** 켜짐 시간(''20'' = 0.2초)과 꺼짐 시간(''180'' = 1.8초)입니다. * **③ ''P34'':** ''TFLK''의 출력입니다. * **④ ''T5'' 접점:** ''TFLK''의 출력과 같은 값으로 ''P35''를 켜고 끕니다. ON과 OFF는 ''TON''의 설정값(SET VALUE)과 같은 단위입니다. 숫자만 적으면 10 ms 단위이고(''20''은 0.2초), ''200MS''ㆍ''2S''ㆍ''1M''ㆍ''1H''처럼 단위를 붙이면 그 시간입니다. ''5MS''처럼 10 ms보다 짧은 값은 10배인 50 ms로 들어가며 칸에 주황색 경고가 표시됩니다. ''BD0''ㆍ''D0''ㆍ''DD0'' 같은 바이트ㆍ워드ㆍ더블워드 주소도 쓸 수 있습니다. [[products:mp_studio:menus_settings#타이머_기준|타이머 기준]]을 1 ms로 바꾼 프로젝트에서는 숫자가 1 ms 단위입니다. 타이머 기준을 바꿀 때 표시되는 **타이머 기준 바꾸기** 창에서는 숫자로 적은 ''TFLK''의 ONㆍOFF도 설정값으로 함께 세어지며, **값도 고치기(같은 시간 유지)**를 고르면 바꾼 기준에 맞게 함께 고쳐집니다. TIMER 칸에는 ''TON''과 같이 ''BT5''(바이트)ㆍ''T5''(워드)ㆍ''DT5''(더블워드)를 쓸 수 있으며, 타이머의 크기에 따라 한 주기(ON 시간+OFF 시간)의 최대가 정해집니다. 타이머 번호는 다른 타이머 펑션과 겹치지 않아야 하며, 겹치면 컴파일할 때 «타이머 메모리는 중복해서 사용할 수 없습니다.»가 표시됩니다. ^ TIMER 칸 ^ 한 주기의 최대(타이머 기준 10 ms) ^ 한 주기의 최대(타이머 기준 1 ms) ^ | ''BT'' | 2.55초 | 0.255초 | | ''T'' | 655.35초 | 65.535초 | | ''DT'' | 약 497일 | 약 49.7일 | ===== 컴파일되지 않는 입력 ===== 아래 입력은 칸이 붉게 표시되고 컴파일되지 않습니다. 칸을 선택하면 인스펙터에, 칸에 마우스를 올리면 툴팁에 이유가 표시됩니다. ^ 칸 ^ 컴파일되지 않는 입력 ^ | ''FF''의 OUT | ''@BEGIN''처럼 장비가 매 스캔 세우는 시스템 비트, ''T0''ㆍ''D10'' 같은 워드 주소, ''D0>3'' 같은 비교식 | | ''BSFT''ㆍ''BRST''ㆍ''BSETN''의 BIT | ''#이름'' 사용자 비트, ''@'' 시스템 비트, ''T''ㆍ''C''ㆍ''D'' 워드 주소, 비교식 | | ''BSFT''ㆍ''BRST''ㆍ''BSETN''의 N | 0 이하의 상수, 영역 끝을 넘는 개수(예: M 영역이 ''M2047''까지일 때 ''BSETN M2040 9''), ''DD0'' 같은 더블워드 주소 | | ''BSFT''의 INㆍDIR | 0ㆍ1이 아닌 상수(''2''ㆍ''-1'' 등), ''BD0''ㆍ''D0'' 같은 바이트ㆍ워드 주소 | | ''TFLK''의 ONㆍOFF | 음수, 더한 값이 타이머에 담기지 않는 상수(예: TIMER가 ''T1''일 때 ''40000''과 ''40000'') | | ''TFLK''의 TIMER | ON에 쓴 값보다 좁은 타이머(예: ON이 ''DD0''이거나 ''70000''일 때 ''T1'') | 다섯 펑션의 칸에는 [[products:mp_studio:indexed_address|인덱스 주소]](''D100[D0]'')를 쓸 수 없습니다. 예를 들어 ''TFLK T6 40000 40000''을 넣으면 OFF 칸이 붉게 표시되고 «TFLK의 켜짐 시간과 꺼짐 시간의 합(80000)이 타이머 T6이(가) 담을 수 있는 65535을(를) 넘어 컴파일되지 않습니다. 시간을 줄이거나 더 넓은 타이머(DT)를 쓰세요.»가 표시됩니다. {{ :products:mp_studio:bf-red-reason.png?1000 |그림 6. ONㆍOFF의 합이 타이머 T6에 담기지 않아 붉게 표시된 OFF 칸과 인스펙터에 표시된 이유 }} ===== 범위 밖과 @IXERR ===== N에 ''D10'' 같은 주소를 적으면 개수는 실행 중에 정해집니다. 실행할 때 N이 0 이하이거나, BIT부터 N개의 비트가 그 영역(''M''ㆍ''D''는 [[products:mp_studio:memory_symbols#데이터_메모리|데이터 메모리]]에서 정한 크기, ''P''는 실제 입출력 단자 수가 아니라 기종에 따라 ''P55'' 또는 ''P127''까지인 P 영역 전체) 끝을 넘으면 장비는 다음과 같이 동작합니다. * 그 블록만 건너뜁니다. 어떤 비트도 쓰지 않으므로 다른 메모리를 덮어쓰지 않으며, 블록 오른쪽은 조건 그대로 넘깁니다(인덱스 주소의 범위 밖과 달리 전원 출력이 꺼지지 않습니다). * 시스템 비트 ''@IXERR''가 켜집니다. * 조건이 OFF이면(''BSFT''는 조건이 ON으로 바뀌는 스캔이 아니면) 범위를 검사하지 않으므로 ''@IXERR''가 켜지지 않습니다. ''TFLK''의 ONㆍOFF에 주소를 적은 경우에는 실행할 때 한 주기가 위 표의 최대를 넘으면 ''@IXERR''가 켜지고, 출력이 꺼진 채 현재값이 0으로 머뭅니다. ''@IXERR''는 [[products:mp_studio:indexed_address#범위_밖과_ixerr|인덱스 주소]]가 범위를 벗어날 때 켜지는 것과 같은 비트이며, 저절로 꺼지지 않습니다. 끄는 방법도 인덱스 주소와 같습니다. 모니터링ㆍ시뮬레이션 중의 알림(«인덱스가 범위를 벗어났습니다 — …»)은 인덱스 주소를 쓰지 않은 프로그램에서는 ''@IXERR''가 래더 화면이나 데이터 테이블에 있을 때만 표시되므로, 비트 제어 펑션의 범위 밖은 래더에 ''@IXERR'' 접점을 두어 확인해주시기 바랍니다. {{ :products:mp_studio:bf-ixerr-notice.png?553 |그림 7. 데이터 테이블에 @IXERR가 있는 프로그램에서 표시된 알림 }} {{ :products:mp_studio:bf-ixerr-sim-marked.svg?793 |그림 8. 시뮬레이션에서 BRST의 개수가 범위를 벗어나 @IXERR가 켜진 모습 }} * **① N 칸 ''D10'':** 값이 0이라 ''BRST M300 D10''을 건너뛰었습니다. * **② ''@IXERR'' 렁:** ''@IXERR''가 켜져 뒤의 코일 ''M1''이 켜졌습니다. ===== 모니터링과 시뮬레이션 ===== 다섯 펑션은 시뮬레이션에서도 장비와 같이 동작합니다. * ''FF''ㆍ''BSFT''ㆍ''BRST''ㆍ''BSETN''은 조건이 ON이면 블록이 통전 색으로 표시됩니다. 주소를 적은 칸에는 그 주소의 현재값이 표시되고, 상수 칸에는 표시되지 않습니다. * BIT 칸의 값은 시작 비트 하나의 값입니다. 구간 전체는 [[products:mp_studio:monitoring#데이터_테이블|데이터 테이블]]에 주소를 등록해 확인해주시기 바랍니다. * ''TFLK''의 TIMER 칸에는 타이머의 현재값이 표시됩니다. 켜짐 시간에는 블록과 출력이 통전 색으로, 꺼짐 시간에는 ''TON''이 시간을 세는 동안처럼 출력 없이 표시됩니다. * 깜빡임의 한 순간을 보려면 [[products:mp_studio:simulation#시뮬레이션_막대|시뮬레이션 막대]]의 **일시 정지**와 **한 스캔**을 사용해주시기 바랍니다. * **실행 → 사용한 데이터**에서는 N이 상수이면 BIT부터 N개의 비트가, N이 주소이면 시작 비트만 쓰인 칸으로 칠해집니다(''M''ㆍ''D'' 영역). ===== 예제 ===== 세 예제는 ''MPA-8A8R(T)''의 새 프로젝트(데이터 메모리 기본값)에 차례로 작성해 시뮬레이션으로 확인할 수 있습니다. ==== 예제 1. 누름 단추 하나로 램프 켜고 끄기 ==== ''P0''을 누를 때마다 ''P32''의 램프를 켜고 끄는 예제입니다. - **설정 → 심볼**에서 ''P0''에 LAMP_BTN, ''P32''에 LAMP를 등록해주시기 바랍니다. - 아래 렁을 작성해주시기 바랍니다. ^ 렁 ^ 입력 ^ 펑션 ^ 하는 일 ^ | 0 | ''P0'' | ''FF P32'' | ''P0''을 누를 때마다 ''P32''를 뒤집습니다. | **실행 → 시뮬레이션**을 시작하고 시뮬레이션 막대의 ''P0'' 칩을 켰다 끄기를 되풀이해주시기 바랍니다. ''P0''을 켤 때마다 ''P32''가 켜지고 꺼지기를 번갈아 하며(그림 3), ''P0''을 켜 둔 동안에는 바뀌지 않습니다. ==== 예제 2. 컨베이어의 불량품 추적하기 ==== 컨베이어가 한 칸 움직일 때마다 불량 감지 결과를 ''M200''~''M207''로 밀어, 불량품이 여덟째 칸(''M207'')인 배출 위치에 닿으면 ''P33''으로 배출하는 예제입니다. - **설정 → 심볼**에서 ''P1''에 MOVE_PULSE, ''P2''에 NG_SENSOR, ''P3''에 CLEAR_BTN, ''M200''에 TRACK, ''P33''에 EJECT를 등록해주시기 바랍니다. - 예제 1의 렁 뒤에 아래 렁을 작성해주시기 바랍니다. ^ 렁 ^ 입력 ^ 펑션ㆍ코일 ^ 하는 일 ^ | 1 | ''P1'' | ''BSFT M200 8 P2 0'' | 한 칸 움직일 때마다 ''P2''의 값을 ''M200''에 넣고 ''M200''~''M207''을 한 칸씩 밉니다. | | 2 | ''M207'' | 코일 ''P33'' | 배출 위치에 닿은 불량품을 배출합니다. | | 3 | ''P3'' | ''BRST M200 8'' | 추적 기록을 모두 지웁니다. | 시뮬레이션 중 데이터 테이블에 ''M200''~''M207''을 등록하고, ''P2''를 켠 채 ''P1''을 한 번 켰다 꺼주시기 바랍니다. 이어서 ''P2''를 끄고 ''P1''을 일곱 번 더 켰다 끄면 처음의 불량이 ''M207''에 닿아 ''P33''이 켜집니다. 그림 4는 첫째와 셋째가 불량품일 때의 모습입니다. ''P3''을 켜면 ''M200''~''M207''이 모두 꺼지며, 렁 2가 렁 3보다 앞에 있으므로 ''P33''은 다음 스캔에 꺼집니다. ==== 예제 3. 경광등 깜빡이기 ==== 경보 입력 ''P4''가 ON인 동안 경광등 ''P34''를 0.2초 켜고 1.8초 끄기를 되풀이하는 예제입니다(타이머 기준 10 ms). - **설정 → 심볼**에서 ''P4''에 ALARM, ''P34''에 BEACON을 등록해주시기 바랍니다. - 예제 2의 렁 뒤에 아래 렁을 작성해주시기 바랍니다. ^ 렁 ^ 입력 ^ 펑션ㆍ코일 ^ 하는 일 ^ | 4 | ''P4'' | ''TFLK T5 20 180'' 뒤에 코일 ''P34'' | 0.2초 켜고 1.8초 끕니다. ''TFLK T5 200MS 1800MS''로 적어도 같습니다. | | 5 | ''T5'' | 코일 ''P35'' | 같은 깜빡임을 ''P35''에도 냅니다. | 시뮬레이션 중 ''P4''를 켜면 ''P34''와 ''P35''가 2초마다 0.2초씩 켜지고, ''T5''의 현재값은 0에서 199까지 늘어난 뒤 0으로 돌아갑니다(그림 5). ''P4''를 끄면 곧바로 꺼지고 ''T5''는 0이 됩니다. ===== 확인할 점 ===== * ''FF''ㆍ''BSFT''가 직전 조건을 기억하는 비트는 자동으로 마련되며, 심볼 테이블ㆍ데이터 테이블ㆍ사용한 데이터에 나타나지 않습니다. > **V1.3.0 이하에서 열 수 없음** > 비트 제어 펑션을 하나라도 쓴 ''.mpx'' 프로젝트는 V1.3.0 이하의 앱에서 열 수 없습니다. ===== 관련 문서 ===== * [[products:mp_studio:ladder_editing|Phase 3 · 래더 편집]] * [[products:mp_studio:functions|Phase 4 · 펑션]] * [[products:mp_studio:memory_symbols|Phase 5 · 메모리와 심볼]] * [[products:mp_studio:monitoring|Phase 7 · 모니터링과 데이터 테이블]] * [[products:mp_studio:simulation|Phase 8 · 시뮬레이션]] * [[products:mp_studio:indexed_address|인덱스 주소(포인터)]] [[products:mp_studio|← MP STUDIO 2 사용설명서로 돌아가기]]
products/mp_studio/bit_control.txt
· 마지막으로 수정됨:
2026/11/12 20:37
저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로