INplc

◆ 개요

◆ 사양

특징

도입가이드

개발킷

콘트롤러

확장유닛정보

HMI인터페이스

적용사례

기술정보

FAQ

 

Motion제어

◆ RT Motion

◆ 모션제어 솔루션

 

RSW-ECAT

 

 

 

 

   INplc의 자주 묻는 질문 (FAQ)

 

 

 

4-1

래더로직을 다른 프로젝트에서 복사 및 붙여 넣기 할 수 있습니까?
래더로직 복사 및 붙여 넣기가 가능합니다. 그것은 하나의 프로젝트 안에 있는 복수의 래더 로직, 하나의 PC에서 복수로 기동된 INplc-SDK에서도 가능합니다. 
복사 및 붙여 넣기를 하는 방법도 일반 Windows® 에디터와 마찬가지로 복사 할 범위를 선택하고 마우스 오른쪽 클릭 메뉴에서 복사를 선택하거나 키보드의 [Ctrl + C] 어느 방법에도 대응 하고 있으므로, 감각적으로 래더 로직의 복사 및 붙여 넣기를 실시하는 것 뿐입니다.

복사 및 붙여 넣기

 

4-2 래더로직에 라인 코멘트는 쓸 수 있나요?
그래픽 워크 시트의 모든 위치에 삽입 할 수 있습니다. 
코멘트는 괄호 [()]와 별표 [*]로 묶습니다.
 다른 객체와 겹쳐 놓을 수 있습니다. 그래픽 워크 시트의 댓글은 [코멘트] 대화 상자를 사용하여 삽입합니다. 이 대화 상자에서 텍스트를 입력하고 사용하는 폰트를 선택할 수 있습니다. 
또한, LD 회로의 왼쪽 모선 또는 SFC 스텝에 고정 코멘트를 자동 삽입 할 수 있습니다.
 코멘트는 프로그램의 의미는 아니지만 향후이 프로그램 부분을 이해하는 데 매우 유용합니다.

댓글

 

4-3 펑크션 블록 등에 정수를 설정하기 위해서는 어떻게우 해야 합니까?
펑크션 블록 등에 정수를 설정하기 위해서는 상수를 설정하고자 하는 입력 파라메타에서 오른쪽 클릭하고 [변수]를 선택하십시오.
함수 블록
「변수 속성」대화 상자가 열립니다 때문에 「이름「으로 설정하고 싶은 상수의 데이터 형과 값을 「#「기호를 끼워 입력하십시오. 
변수의 속성
「TIME 형태의 5초」의 정수를 설정하려면 그림과 같이 「TIME # 5s」를 입력하십시오.
 

TIME 형태 등의 데이터 형식에 대한 자세한 내용은 MULTIPROG의 도움말 IEC 61131의 기본> IEC 61131의 데이터 형> 기본 데이터 형식을 참조하십시오.
 
입력 가능한 데이터의 범위, 초기 값 등이 기재되어 있습니다.

 

4-4 변수 이름은 대/소문자를 구분합니까?
입력은 가능하지만, 표시만의 차이로 인식은 동일합니다.

 

4-5 변수 이름 카타카나를 지정할 수 있습니까?
일본어 환경이라면, 카타카나, 히라가나, 한자를 사용할 수 있습니다.

 

4-6 더블 코일 체크 펑크션이 있나요?
현재 체크는 하지 않습니다. (컴파일 오류가 발생하지 않습니다)

 

4-7 래더로직의 정렬은 할 수 있습니까?
고급 편집 펑크션에서 오른쪽 모선에 정렬 할 수 있습니다.

 

4-8 독자의 수치 및 비교기 등을 만들어 사용할 수 있습니까?
펑크션 또는 펑크션 블록을 생성하여 제공합니다. 
표준으로 제공되는 펑크션 블록을 조합하여 독자적인 연산, 비교 펑크션 블록을 만들고 프로그램에서 호출하여 사용할 수 있습니다.
 
또한 만들 때 언어는 IEC 61131-3 대응의 5개 언어 (IL, ST, LD, FBD, SFC)라면 어떤 언어로 사용할 수 있습니다.

자작 FU / FB

 

4-9 래더 편집이 즉시 업데이트되지 않습니다. 화면 업데이트가 느린 경우가 있습니다.
리소스 다이알로그가 일어나 있으면 INplc의 상호 작용을 하고 있기 때문에, 화면 갱신 처리 등이 안정되지 않는 경우가 있습니다. 편집은 리소스 다이알로그를 닫아 두는 것이 좋습니다.

 

4-10 접점이나 펑크션 등의 오브젝트를 삽입해도 화면에 반영되지 않는 경우가 있습니다.
객체가 들어갈 공간을 확보하고 삽입하도록 하십시오.

 

4-11 개발 도구의 화면이 깨져 있습니다. (Windows Embedded 환경)
XPE 환경에서 개발 도구 화면이 깨질 경우 아래의 레지스트리 정보 추가 및 수정을 해야 합니다.
※ 일본어 버전 MUI 환경에 대한 설정입니다. 다른 언어 환경에 적용하지 마십시오.
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ GRE_Initialize] 
「GUIFont.Facename「= 「MS UI Gothic「
 
「GUIFont.Height「= dword : 0000000a
 
「GUIFont.CharSet「= dword : 00000080

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Nls \ CodePage \ EUDCCodeRange] 
「932「= 「F040-F9FC「
 
「Unicode「= 「E000-F8FF「

 

4-12 같은 로직에서, 입출력 정보가 다른 프로그램은 쉽게 만들 수 있습니까?
실현하는 방법은 두 가지입니다.

1. I/O 어드레스를 설정 한 그로벌 변수를 내 텍스트 파일에서 어드레스를 편집하여 가져 오기
이 방법은 같은 프로그램을 복제하지만 텍스트에 의해 I/O 어드레스의 관리를 용이하게 할 수 있습니다. 
먼저, 같은 프로그램을 복사 복제합니다.
 그 그로벌 변수를 각 프로그램분 만들고 각각의 프로그램에 그로벌 변수를 할당합니다. 그리고 그 그로벌 변수의 IO 어드레스를 텍스트 파일로 일괄 변경을 실시하는 것으로, 같은 프로그램의 I/O 어드레스를 변경할 수 있습니다.

2. 일반적인 로직을 펑크션 블록으로 그룹화, 펑크션 블록의 인수 I/O 어드레스가 다른 인수를 제공함으로써 I/O 어드레스를 변경.
이 방법은 프로그램을 여러 개 만들 수 있지만 프로그램의 일반적인 로직 펑크션 블록 화함으로써 프로그램을 단순화하고 변경 사항을 줄일 수 있습니다. 
먼저 일반적인 로직을 펑크션 블록에 정리합니다.
 그 태스크에 할당 여러 프로그램을 만들고 각각의 프로그램에 펑크션 블록을 붙여 인수 I/O 어드레스를 할당 한 변수를 전달하여 I/O 어드레스의 변경이 가능합니다.

 

4-13 프로그램 개발 환경 프로젝트 제한이 있습니까?
다음 표에서는 하나의 프로젝트 내에서 유효한 제한을 보여줍니다. 이 표 아래의 해당 지침을 참조하십시오.

■ INplc v2 이전
항목 제한
프로젝트 트리의 노드 8000
프로젝트 트리의 컨피그레이션 100
프로젝트 트리의 리소스 100
1 리소스의 프로그램 인스턴스 1000
1 리소스 태스크 16
1 태스크 프로그램 인스턴스 500
그로벌 변수 15000
1 POU의 로컬 변수 15000
펑크션과 펑크션 블록 I/O 파라미터 수 300
등록 라이브러리 61
라이브러리의 POU 1000
포함되어있는 라이브러리에서 POU없는 프로젝트의 POU 1000
라이브러리에서 POU를 포함한 프로젝트의 POU 2000
POU마다 코드 워크 시트 255
1 POU 변수 그리드 워크 시트 1
1 리소스 글로벌 변수 그리드 워크 시트 1
1 FB 인스턴스의 글로벌 변수 그리드 워크 시트 1
1 리소스에 대해 자신의 그로벌 변수 워크 시트를 가진 PG와 FB 인스턴스 (VAR_GLOBAL_PG / FB) 199
1 POU 다른 형태의 펑크션과 FB의 총 수 620 (주 2,3 참조)
1 POU 같은 형태의 펑크션과 FB의 총 수 1024 (주 2,3 참조)
1 POU 점프와 라벨 750 (주 2,3 참조)
1 POU 점프 및 반환 20 (주 2,3 참조)
1 POU의 SFC 스텝 750
1 POU의 SFC 전환 1024
프로젝트 트리의 SFC 전환 상세 256
프로젝트 트리의 SFC 액션 상세 350
1 코드 워크 시트의 SFC 액션 600
1 POU의 접점 / 코일 3600
펑크션 / FB 중첩 128
사용자 정의 데이터 형식의 중첩 수준 10
사용자 정의 데이터 형식 1024
구조의 요소 1000
배열의 요소 32767
FOR / CASE / IF 중첩 수준 30
I/O 그룹 200 (주 2,3 참조)
온라인 창을 엽니 다 30
1 프로그램 인스턴스의 글로벌 PG 변수 2000 (주 1,2,3 참조)
외부 PG 변수 2000 (주 2,3 참조)
POU 그룹 중첩 수준 6
변수 이름 (문자) 길이 30
문자열 상수 (문자) 길이 255
ST 문장 중첩 수준 8
1 POU 데이터 인스턴스 1024 (주 2,3,4 참조)
1 프로젝트의 데이터 인스턴스 16000 (주 2,3,4 참조)
1) 실제 한계는 PLC 타입에 따라 달라집니다. 
2) 실제 한계는 여기에 명시된 것 보다 높은 경우가 있습니다.
 또한 리소스의 설정 (데이터 영역)에 따라 달라집니다. 
3) 실제 제한은 작성한 프로그램의 용량에 따라 달라집니다.
 
4) 데이터 인스턴스는 해당 POU (프로그램 펑크션 펑크션 블록)가 다른 POU이나 태스크 등에 사용되는 횟수입니다.

 

■ INplc v3

항목 제한
Express Pro +
프로젝트 트리의 노드 8000
프로젝트 트리의 구성 1 100
프로젝트 트리의 리소스 1 100
1 리소스의 프로그램 인스턴스 15 1000
1 리소스 태스크 5 16
1 태스크 프로그램 인스턴스 15 500
그로벌 변수 5000 100000 
(주 5 참조)
1 POU의 로컬 변수 1500 16000
펑크션과 펑크션 블록 I/O 파라미터 수 300
등록 라이브러리 61
라이브러리의 POU 1000
포함되어있는 라이브러리에서 POU없는 프로젝트의 POU 1000
라이브러리에서 POU를 포함한 프로젝트의 POU 250 2000
POU마다 코드 워크 시트 255
1 POU 변수 그리드 워크 시트 1
1 리소스 글로벌 변수 그리드 워크 시트 1
1 FB 인스턴스의 글로벌 변수 그리드 워크 시트 1
1 리소스에 대해 자신의 그로벌 변수 워크 시트를 가진 PG와 FB 인스턴스 (VAR_GLOBAL_PG / FB) 199
1 리소스에 대한 다른 종류의 펑크션과 FB의 총 수 900 -
1 POU 다른 형태의 펑크션과 FB의 총 수 620 (주 2,3 참조)
1 POU 같은 형태의 펑크션과 FB의 총 수 1024 (주 2,3 참조)
1 POU 점프와 라벨 750 (주 2,3 참조)
1 POU 점프 및 반환 20 (주 2,3 참조)
1 POU의 SFC 스텝 750
1 POU의 SFC 전환 1024
프로젝트 트리의 SFC 전환 상세 256
프로젝트 트리의 SFC 액션 상세 350
1 코드 워크 시트의 SFC 액션 600
1 POU의 접점 / 코일 3600
펑크션 / FB 중첩 128
사용자 정의 데이터 형식의 중첩 수준 10
사용자 정의 데이터 형식 1024
구조의 요소 1000
배열의 요소 32767
FOR / CASE / IF 중첩 수준 30
I/O 그룹 200 (주 2,3 참조)
온라인 창을 엽니 다 30
1 프로그램 인스턴스의 글로벌 PG 변수 2000 (주 1,2,3 참조)
외부 PG 변수 2000 (주 2,3 참조)
POU 그룹 중첩 수준 6
변수 이름 (문자) 길이 30 또는 24
문자열 상수 (문자) 길이 255
ST 문장 중첩 수준 8
1 POU 데이터 인스턴스 1024 (주 2,3,4 참조)
1 프로젝트의 데이터 인스턴스 16000 (주 2,3,4 참조)
1 POU의 최대 데이터 8MB (주 2 참조)
1) 실제 한계는 PLC 타입에 따라 달라집니다. 
2) 실제 한계는 여기에 명시된 것 보다 높은 경우가 있습니다.
 
3) 실제 제한은 작성한 프로그램의 용량에 따라 달라집니다.
 
4) 데이터 인스턴스는 해당 POU (프로그램 펑크션 펑크션 블록)가 다른 POU이나 태스크 등에 사용되는 횟수입니다.
 
5) 실제 한도는 30000입니다.
 FAQ 4-45

 

4-14 CASE 문장과 같이 처리의 분기는 할 수 있습니까?
가능합니다. 
IL / LD / FBD 언어는 라벨과 점프를 사용하여 처리 분기가 실현 가능합니다.
 
ST 언어 (※)에서 CASE 문이 준비되어 있습니다.
 
※ ST 언어는 INplc-SDK (PRO) 및 PRO (+)에서 지원하는 언어입니다.
 INplc-SDK (Basic)에서는 사용할 수 없습니다. 
아래의 샘플 프로젝트를 참고하십시오.

샘플 개요 : 1 초마다 다음 태스크를 반복합니다.
1 스캔 번째 : 출력 비트 0을 ON ○ ●
1 스캔 번째 : 출력 비트 1을 ON ● ●
1 스캔 번째 : 출력 비트 0을 OFF ○ ○
: 
:
 
:

 

4-15 임의의 타이밍에서 처리 (태스크)을 수행 할 수 있습니까?
가능합니다. 
PROCONOS.FWL의 FB 「EVENT_TASK「를 사용하여 임의의 타이밍에 이벤트 태스크를 시작할 수 있습니다.
 

샘플 프로젝트를 참고하십시오.

샘플 소개 : 입력 비트의 상승을 감지하고 이벤트 태스크를 시작합니다.
입력 비트 0을 ON : EVENT NO.0 태스크를 시작 (출력 비트 0을 ON) ○ ●
입력 비트 1을 ON : EVENT NO.7 태스크를 시작 (출력 비트 1을 ON) ● ●
입력 비트 2를 ON : EVENT NO.15 태스크를 시작 (출력 비트 0을 OFF) ○ ○
: 
:
 
:

 

4-16 점프 펑크션을 사용하지 않는 IF 문이나 CASE 문장을 설명 할 수 있습니까?
아래의 래더 프로그램은 C001 변수의 값을 비교하여 일치하는 조건에 해당 릴레이 SET하는 예입니다.

판정 · 분기

 

4-17 1스캔 째만 비트를 ON하고 다음 스캔에서 비트를 OFF하는 펑크션이 있나요? (시스템 시작시에 자주 사용하는)

아래의 그림은 POU 변수 C001가 RUN 때 한번만 ON합니다.

 

4-18 시뮬레이션 펑크션을 이용할 때의 드라이버 이름에 대해
시뮬레이션 펑크션을 이용할 때의 드라이버 이름은 버전에 따라 다릅니다. 
아래에 드라이버 이름을 나타냅니다.
 

INplc-SDK Pro +의 경우 드라이버 이름은 SIMIO,
 
INplc-SDK Basic의 경우 드라이버 이름은 DEMOIO가 됩니다.

INplc-SDK Pro +로 시뮬레이션 이용시 드라이버 이름
그림 .INplc-SDK Pro +로 시뮬레이션 이용시 드라이버 이름
 

INplc-SDK BASIC에서 시뮬레이션 이용시 드라이버 이름
그림 .INplc-SDK BASIC에서 시뮬레이션 이용시 드라이버 이름

※ 보충 
INplc-SDK Basic에서 만든 프로젝트를 INplc-SDK Pro +로 열 때, 드라이버 이름을 'DEMOIO'에서 'SIMIO'로 변경하고 [리소스 설정]
  - [포트]를 'COMx'또는 'DLL'에 한번 설정해서 대화 상자를 확인하고 다시 포트를 원래 시뮬레이션 ( '1'또는 '2')으로 되돌립니다.

 

4-19 어떤 접점이 ON시에만 펑크션을 수행 할 수 있습니까?

[EN / ENO]가있는 펑크션 설정을 ON으로 하여 파라메타 조건 설정 EN / ENO있는 펑크션을 삽입 할 수 있습니다. 
입력 파라미터 EN에 TRUE를 입력하면 펑크션이 실행됩니다.
 
펑크션이 성공적으로 완료되면, 출력 파라메타 ENO에서 TRUE가 출력됩니다.
 

[설정 방법]
 

[확장] 메뉴에서 옵션을 선택하여 옵션 대화 상자를 엽니 다.
 

옵션 대화

[그래픽 에디터] 탭에있는 [EN / ENO있는 펑크션]의 체크를 ON으로 하여 이후에 삽입 된 펑크션에 파라메타 (EN, ENO)가 추가됩니다.

EN / ENO있는 기능

 

4-20 구조체 변수를 LD에서 사용하려면 어떻게해야하나요?

① 데이터형 구조체를 작성하십시오. 
구조체를 생성

② 작성한 구조체의 변수를 작성하십시오.
 
변수를 생성

③ 구조체 멤버를 할당하고자하는 접점/코일 변수를 더블 클릭하십시오.
 
할당 1

④ 이름 선택 목록에서 구조체 변수를 선택한다.
 
할당 2

⑤ 선택한 구조체 변수 이름 뒤에
「.」을 입력하면 구조체의 멤버 목록이 표시되므로 할당하고 싶은 구조체 변수의 멤버를 선택하십시오. 
할당 3

⑥ 일반 변수처럼 사용 할 수 있습니다
완성

 

4-21 구조체 변수를 메모리에 읽고 쓰기는 어떻게 해야 합니까?
ProConOS 펑크션의 MEMCPY 펑크션 또는 IMEMCPY 펑크션을 사용하십시오. 
IMEMCPY
기능
※ ProConOS펑크션을 사용하려면 라이브러리 추가에서 ProConOS 펑크션 라이브러리를 추가하십시오.

 

4-22 PLC 프로그램 실행시 VARCONF 확보하는 버퍼의 크기를 변경할 수 있나요?
VARCONF의 크기는 동적으로 바꿀 수 없습니다. 
PLC 프로그램 개발시 필요한 크기를 설정 하십시오.

 

4-23 PLC 프로그램 실행시 변수에 할당 된 I/O 어드레스 (I, Q, M)를 변경할 수 있나요?
I/O 어드레스를 동적으로 변경할 수 없습니다.

 

4-24 변수의 어드레스 조작은 할 수 있습니까? (변수 I/O 어드레스 +2 번째 바이트에 데이터 넣기 등)
INplc의 개발 도구는 어드레스 조작은 할 수 없습니다. 
그러나 단순히 [I/O 어드레스 + 임의의 바이트 째의 데이터 참조 / 변경]이면, BYTE 배열로 I/O 어드레스를 설정하고 사용하여 얻을 수 있습니다.

 

4-25 펑크션 블록 VAR_IN_OUT 형의 출력을 다른 펑크션 블록의 입력에 연결하면 컴파일 오류가 발생합니다.
VAR_IN_OUT 형의 출력은 다른 FB의 입력과 직접 연결할 수 없기 때문에 오류가 발생합니다. 
자세한 설명은 MULTIPROG 도움말 목차에서 다음을 참조하십시오.
 

· [프로그래밍 시스템 도움말]
 >오류 카탈로그] >[PLC 오류 카탈로그] >[전용 코드 생성기의 오류 메시지

 

4-26 펑크션 IMEMCPY 파라메타 SRC 또는 DST에 BYTE 형 변수 이외 (배열이나 구조체 등)를 연결하려면 어떻게 해야합니까?

ProConOS 펌웨어 라이브러리에 수록되어 있는 펑크션 「IMEMCPY「의 SRC 및 DST는 BYTE 형을 위해 직접 배열이나 구조체를 연결하면 빌드시 오류가 발생합니다. 


해결 방법은 INT 형 배열과 BYTE 형 변수를 같은 메모리 영역을 공유하는 방법이 있습니다.
 
이 방법을 사용하면 INT 형 배열에서 편집한 데이터를 BYTE 형 변수를 통해 IMEMCPY 수 있습니다.
 
메모리 영역을 공유하는

메모리 영역을 공유하는 스텝을 INT 형 배열 「Int_Arr」에서 BYTE 형 배열 「byte_arr」에 데이터 복사를 예로 들어 설명합니다.
 
【순서】
INT 형 배열 「Int_Arr」에서 BYTE 형 배열 「byte_arr」에 데이터 복사를 예로 들어 설명합니다.
 

(1) SRC에 연결하려는 INT 형 배열 「Int_Arr」I/O 어드레스로 M영역 [% MB3.0를 할당합니다.
 
(2) 새로운 BYTE 형 변수 [Base]를 작성하여 I/O 어드레스로 「Int_Arr」같은 [% MB3.0]를 할당합니다.
 
할당


(3) IMEMCPY의 SRC 변수 [Base]를 연결하고 다른 파라메타를 지정합니다.
 
※ BYTE 형 배열의 경우는 선두의 요소를 연결할 수 있기 때문에 DST는 [byte_arr]의 선두 요소를 연결하고 있습니다.
 
완성

이상에서 「Int_Arr「데이터를 「byte_arr」에 복사 할 수 있습니다.

 

4-27 프로젝트 및 POU의 내용을 다른 사람이 수정 / 볼 수 없도록 하는 펑크션이 있나요?

패스워드를 사용하여 프로젝트를 보호하는 펑크션이 있습니다. 
MULTIPROG 도움말의 색인 탭에서 [키워드]을 참조하십시오.
 

[POU 보호 스텝]
 
①POU 보호를 할 경우 대상 POU 속성에서 [보안] 탭을 열고 권한을 설정합니다.
보안

쓰기 보호 올바른 패스워드를 입력 할 때까지 POU를 변경할 수 없습니다.
읽기 보호 올바른 패스워드를 입력 할 때까지 POU를 볼 수 없습니다.


② 패스워드 설정을 [파일] 메뉴의 [패스워드]에서 제공합니다.
 
암호

패스워드를 사용하면 보호 된 POU의 아이콘에 열쇠 마크가 표시됩니다.
 
암호 설정


③ 보호를 해제하려면 프로젝트에 로그인해야합니다.
 
프로젝트에 로그인 패스워드를 설정할 때와 마찬가지로 파일 메뉴에서 패스워드 입력을 통해 가능합니다.
 
프로젝트에 로그인

POU 보호 외에도 프로젝트 전체와 Resource의 보호도 가능합니다.
 
※ 자세한 내용은 MULTIPROG 도움말의 색인 탭에서 [보안 설정]을 참조하십시오.

 

4-28 여러 사용자가 동시에 동일한 프로젝트에서 태스크 할 수 있습니까?

멀티 사용자 프로젝트 펑크션이 있습니다. 서버 프로젝트를 네트워크 서버 PC에 저장하고 각 사용자는 자신의 PC에서 클라이언트 프로젝트를 생성하여 태스크를 수행합니다. 

다음은 간단한 절차를 설명합니다.
 

[절차]
 
① 서버 프로젝트가 될 프로젝트를 열고 프로젝트 메뉴에서 서버 프로젝트로 저장을 선택합니다.
 
서버 프로젝트로 저장

② 서버 프로젝트의 위치를 지정합니다.
 
저장 위치

③ 실제로 편집하는 PC에서 프로젝트 메뉴에서 클라이언트 프로젝트 만들기를 선택합니다.
 
클라이언트 프로젝트 만들기

④ 서버 프로젝트의 경로와 클라이언트 프로젝트의 위치를 지정합니다.
 
저장 위치

⑤ 프로젝트를 편집 할 경우, 편집 할 항목을 선택하고 체크 아웃합니다.
 
체크 아웃

⑥ 편집을 완료하고 서버 프로젝트에 반영하는 경우는 체크인을합니다.
 
체크인

※ 자세한 내용은 MULTIPROG 도움말 목차에서 다음을 참조하십시오.
 
· [프로그래밍 시스템 도움말]
 >[멀티 사용자 프로젝트]

 

4-29 변수의 목록을 가져 오기 / 내보내기 펑크션이 있나요?
변수 설정 등의 설정 내용은 텍스트 파일에서 가져 오기 / 내보내기 가능합니다.

 

4-30 각 언어에서의 펑크션 블록의 호출 방법.
표준 펑크션 블록과 FWL의 펑크션 블록 사용자가 작성한 펑크션 블록 등 모든 펑크션 블록은 모든 언어 (FBD · LD · IL · ST · SFC)로 호출 할 수 있습니다. 여기에서는 각 언어에서 펑크션 블록의 호출 방법을 설명합니다.

1. 에디터 위저드에서 사용하고자하는 펑크션 블록을 더블 클릭합니다.


2. 변수의 속성 대화 상자가 표시되므로 펑크션 블록의 이름을 지정하고 「OK」를 누르십시오.


3. 그래픽 에디터에 펑크션 블록이 표시됩니다.


4. 생성 된 펑크션 블록의 각 파라미터부 (여기에서는 IN · PT · Q · ET)에 접점 코일 변수를 지정해야합니다.
 이것으로 펑크션 블록을 사용할 수 있습니다.



1. 에디터 위저드에서 사용하고자 하는 펑크션 블록을 더블 클릭합니다.


2. 변수의 속성 대화 상자가 표시되므로 펑크션 블록의 이름을 지정하고 「OK」를 누르십시오.


3. 텍스트 에디터에 펑크션 블록의 코드의 형태가 있습니다.

      

IL                                                                                 ST

4. 펑크션 블록 이름. ○○ 라고 쓰여진 부분 (여기에서는 TON_1. ○○)가 만든 펑크션 블록의 각 파라메타입니다. 또한 ST 언어에서는 펑크션 블록 이름 (...)괄호 안에 입력 파라메타 (여기에서는 IN · PT)을 지정합니다. 배포되는 (* BOOL *)과 (* TIME *) 등으로 적혀있는 부분이 각 파라메타의 입력 · 출력되고 있기 때문에, 할당 변수로 바꿔줍니다. 이제 펑크션 블록을 사용할 수 있습니다.

      

IL                                                                                 ST


그래픽 워크 시트를 열고 [오브젝트] 메뉴에서 [스텝 / 전환]을 선택하고 스텝 및 전환을 만듭니다. 만든 스텝에 연결된 액션 블록 (여기에서는 A001)을 더블 클릭합니다.


2. 액션 블록으로 기술하는 언어 선택 화면이 나오므로, 사용하는 언어를 선택하고 「OK」를 누르십시오.


3. 프로젝트 트리의 태스크 폴더에 선택한 언어의 워크 시트가 생성됩니다.

워크 시트


4. 각각의 워크 시트 펑크션 블록을 작성합니다.
 
선택한 언어가 FBD · LD의 경우 「
 FBD · LD에서의 펑션 블록의 호출 방법 」을, IL · ST의 경우 「 IL · ST의펑크션수 블록의 호출 방법」을 참조하십시오.

 

4-31 프로젝트 관리 펑크션과 도구는 뭔가 있습니까?

프로젝트 관리는 멀티 사용자 펑크션을 이용하십시오. 
※ 멀티 사용자 펑크션은 Pro + 전용 펑크션입니다.
 

멀티 사용자에 의한 프로젝트 개발에는 다음의 2 종류의 관리 방법이 있습니다.
 
1 표준 멀티 사용자 파일 시스템에 의한 프로젝트 관리 
2 소스 컨트롤 시스템에 의한 프로젝트 관리


1 표준 멀티 사용자 파일 시스템에 의한 프로젝트 관리는 VSS (Visual SourceSafe) 등의 관리 소프트웨어가 필요없이 하나의 프로젝트를 멀티 사용자에서 개발할 수 있도록 배타 제어 관리를합니다.
 
배타 제어만으로 과거의 상태로 롤백 및 수정 정보 등의 펑크션은 없습니다.
 

2 소스 컨트롤 시스템에 의한 프로젝트 관리는 VSS (Visual SourceSafe) 펑크션을 사용하여 하나의 프로젝트를 멀티 사용자 개발할 수 있도록 배타 제어 관리를 해주는 VSS의 펑크션인 롤백이나 과거의 정보 참조 등도 가능합니다.
 
※ VSS는 INplc 제품에 포함되지 않습니다.
 고객이 준비하실 필요가 있습니다. 

※ 자세한 내용은 MULTIPROG 도움말 목차에서 다음을 참조하십시오.
 
·
[프로그래밍 시스템 도움말] → [멀티 사용자 프로젝트]

 

4-32 데이터 정렬은 몇 바이트인가?
데이터 정렬은 2바이트입니다. 구조 등을 사용하는 경우 주의하시기 바랍니다.
예 : 다음과 같은 2바이트 정렬에 맞지 않으면 padding과 같이 조정하십시오. 
AddressByte 1 : BYTE variable 1
 
AddressByte 2 : BYTE variable 2
 
AddressByte 3 : BYTE variable 3
 
AddressByte 4 : BYTE padding
 
AddressByte 5 : DWORD variable
 
AddressByte 6 : |
 
AddressByte 7 : |
 
AddressByte 8 : V

 

4-33 날짜를 얻는 방법은 있습니까?
■ 로컬 시간을 원한다면 
「INFnCtrl「FWL의 FB 「mn_RTC_S「를 사용하십시오.
 
※ 자세한 내용은 「INFnCtrl_Manual.pdf「를 참조하십시오.
■ 그리니치 표준시를 원한다면 
「ProConOS「FWL의 「RTC_S「를 사용하십시오.
 
※ 자세한 내용은 MULTIPROG의 표준 FB / FU의 도움말을 참조하십시오.
※ INplc v3 이후는 모두 로컬 시간을 가져옵니다.

 

4-34 요일 데이터를 검색하는 방법은 있음 있습니까?
요일 정보를 얻는 FU와 FB 등은 준비되어 있지 않습니다. 
날짜에서 첼러의 공식을 사용하여 계산 결과를 반환하는 펑크션을 생성하십시오.
 

샘플 프로젝트를 참고하십시오.
※ 샘플은 사용자 펑크션으로 사용하십시오.

 

4-35 상승시 작동하는 FB 등을 연속해서 동작시키는 경우는 어떻게 다루면 좋은 것일까 요?
루프에서 상승 에지를 제어하면서 사용하십시오. 

샘플 프로젝트를 참고하십시오.

 

4-36 미쓰비시 PLC의 F 릴레이와 같은 역할을하는 펑크션이있는 것입니까?

릴레이 등의 통지는 없습니다 만, INplc에서는 시스템 태스크를 사용함으로써 이상 유무를 진단 할 수 있습니다. 

시스템 태스크 유형에 대해서는 「2-5 자기 진단 펑크션이 있나요? (컨트롤러 자체에 이상 유무를 진단하는 펑크션)
 을 참조하십시오.

 

4-37 미쓰비시 PLC의 역 (INV)의 펑크션과 동등한 펑크션은있는 것입니까?
아래의 펑크션에서 연산 결과를 반전 할 수 있습니다. 

【펑크션】 NOT
 
[설명]이 논리 비트 연산 펑크션은 입력 파라메타에 연결된 피연산자를, 비트 단위로 거부합니다.

 

4-38 미쓰비시 PLC의 MC / MOV / MOVP / INCP / DINCP / DMOVP 펑크션과 동등한 펑크션은 있습니까?
메모리 포인터의 변경 등은 할 수 없지만, INplc의 경우에서 실현 방법은 아래를 참조하십시오.

또한 샘플 프로젝트도 참고하십시오.

 

4-39 개발 환경만으로 래더를 실행 디버깅하는 방법이 있나요?

개발 환경에서만 래더를 실행 디버깅 하는 방법은 있습니다. 
※ I/O에 대서는 실제의  I/O 장치가 없이 I/O 시뮬레이터를 사용합니다.
 

I/O 시뮬레이터를 사용하기 위해서는 아래의 설정 항목의 설정을 하십시오.
 

① MULTIPROG 프로젝트 트리 창에서 Resource를 선택하고 마우스 오른쪽 버튼으로 설정 항목을 선택합니다.
 
Resource

② 자료 설정의 포트를 「시뮬레이션 1「을 선택하고 OK를 눌러 설정을 종료 합니다.
 
시뮬레이션 1

③ ULTIPROG 프로젝트 트리 창에서 IO_Configuration을 두 번 클릭하여 I/O 구성 화면을 표시하십시오.
 
IO_Configuration

④ INPUT · OUTPUT 모든 「보드 I/O 모듈」을 사용자 정의로 변경합니다.
 
변경하는 I/O 그룹을 두 번 클릭하고 속성 화면을 표시합니다.
 
신규로 만들려면 추가 버튼을 눌러 추가합니다.
 
보드 / I / O 모듈

⑤ 변경의 경우 보드 I/O 모듈 이외는 그대로 괜찮습니다.
 
신규의 경우는 각 항목을 사용하는 I/O 모듈에 맞게 설정을 해야합니다.
 
보드 / I/O 모듈의 선택은 사용자 정의 입력을 선택합니다.
 
[드라이버 파라메타] 버튼을 눌러 파라미터 화면을 표시합니다.
 
사용자 정의 입력

⑥ 표시된 대화 상자의 [드라이버 이름] 란에 「SIMIO「를 입력하고 [OK] 버튼을 클릭합니다.
※ MULTIPROG4.8 (INplc-SDK Basic)의 경우는 「DEMOIO「를 입력합니다.
 
드라이버 매개 변수

⑦ INPUT · OUTPUT 모든 「보드 / I/O 모듈」을 사용자 정의로 변경 가능하면 완료됩니다.
 
완료

I/O 시뮬레이터의 사용 방법은 제품과 함께 제공된 「MULTIPROG 퀵스타트 가이드」를 참조하십시오.

 

4-40 MULTIPROG 시뮬레이터에서 확인 된 프로그램을 INplc 컨트롤러에 다운로드하는 방법을 가르쳐주세요.

다음 스텝에서 시뮬레이터에서 사용하는 설정에서 INplc 컨트롤러에 다운로드 할 수 있도록 설정을 변경하십시오. 

① MULTIPROG 프로젝트 트리 창에서 Resource를 선택하고 마우스 오른쪽 버튼으로 설정 항목을 선택합니다.
 
Resource

② 릴리즈 설정의 포트를 「DLL」을 선택하고 파라메타
「-ip 192.168.3.1 -TO2000」를 입력하고 OK를 눌러 설정을 종료합니다. 

192.168.3.1 INplc 컨트롤러의 기본 IP 어드레스입니다. IP 어드레스를 변경하는 경우 변경된 IP를 입력하십시오.

 

③ ULTIPROG 프로젝트 트리 창에서 IO_Configuration을 두 번 클릭하여 I/O 구성 화면을 표시하십시오.
 
IO_Configuration

④ INPUT · OUTPUT 모든 「보드 / I/O 모듈」에서 사용자 정의 된 그룹을 실제 I/O 설정을 변경합니다.
 
변경하는 I/O 그룹을 두 번 클릭하고 속성 화면을 표시합니다.
 
신규로 만들려면 추가 버튼을 눌러 추가합니다.
 
보드 / I / O 모듈

⑤ 보드 I/O 모듈의 선택은
[사용자 정의 입력]에서 실제로 사용하는 보드 / I/O 모듈을 선택합니다. 
드라이버 파라메타] 버튼을 눌러 파라메타를 설정하십시오.
 
※ 보드 / I/O 모듈마다 드라이버 파라메타는 다르기 때문에 각 사용자 매뉴얼을 참조하십시오.
드라이버 매개 변수

 

4-41

FBD에서 펑크션이나 펑크션 블록 FB 등을 갖추는 펑크션이 있나요?

LD로 명시함으로써 프로그램의 성형이 쉬워집니다. 
LD는 FBD 비슷한 펑크션과 펑크션 블록을 사용하는 것이 가능합니다.

 

4-42 위치를 이동하면 펑크션이나 펑크션 블록의 실행 순서가 변하지 않도록 고정 할 수 없습니까?
펑크션 및 펑크션 블록 단위에서의 순서 고정은 없지만 어느 정도의 블록이면 SFC의 조합으로 기술해 주세요. (SFC는 INplc-SDK Pro + 전용입니다.) 
※ SFC는 상태 천이에 따른 순서 제어에 적합합니다.

 

4-43 상승 접점이나 하강 접점의 펑크션이 있나요?
현재는 대응하고 있지 않습니다. 
에지 검출형 펑크션 블록 (R_TRIG · F_TRIG)의 조합으로 이용해주십시오.

 

4-44 XML 파일 형식의 파일 포맷으로 내보내기하고 다시 가져오기를 하면 컴파일 에러가 된다.
가져온 후 컴파일 오류가 발생하면 오류 창에서 오류 메시지를 두 번 클릭하여 해당 FB / FU를 표시합니다. 
그 FB / FU를 선택하고 마우스 오른쪽 클릭에서 「FB / FU를 업데이트」를 실행하는 것으로, 컴파일이 가능합니다.

 

4-45 글로벌 변수의 최대 사용 가능한 수는 얼마입니까?
글로벌 변수의 최대 사용 가능한 수는 약 30000 개입니다. (버전 INplc3.00 이상의 INplcSDK Pro +의 사양입니다) 
※ 위 이상 선언 할 수 있지만 메이크업시 오류가 발생합니다.

 

4-46 표준 FU / FB 도움말에 있는 FILE_LOAD와 FILE_STORE가 없습니다.
※ INplc v2.X에 관한 질문
이 FB는 PROCONOS FWL 파일 태스크 FB를 이용한 사용자 라이브러리 「PROCONOS_EXTENDED「에 포함 된 FB입니다. 
사용하려면 다음 라이브러리를 프로젝트에 추가하십시오.
  • 펌웨어 라이브러리 : [PROCONOS]
  • 사용자 라이브러리 : [PROCONOS_EXTENDED]

이 사용자 라이브러리를 사용하려면 사용자 라이브러리 프로젝트의 컴파일이 필요한 경우가 있습니다.
 
C : \ Users \ Public \ Documents \ MULTIPROG \ Libraries \ PROCONOS_EXTENDED.mwt을 열고 「빌드「메뉴에서 「프로젝트 다시 컴파일「을 수행하십시오.

또한,이 FB에서 취급 버퍼 크기는 1000byte입니다.
 
프로젝트에 맞게 처리 및 파라메타 정의의 변경이 필요한 경우에는 FB의 코드를 참고하여 PROCONOS FWL의 FB를 사용한 처리를 실제 프로젝트에 포함 시키십시오.
※이 FB 코드는 배치 한 FB를 더블 클릭하면 나타납니다. 
※이 FB의 처리는 ST 언어로 작성되어 있습니다.

 

4-47 일시 취득 FB 「RTC_S「에서 취득한 날짜가 PC의 날짜와 다릅니다.
※ INplc v2.X에 관한 질문
「ProConOS「FWL의 「RTC_S」를 사용하면 그리니치 표준시를 가져옵니다.
로컬 시간을 원한다면는 INFnCtrl 「FWL의 FB「mn_RTC_S 」를 사용하십시오. 
자세한 내용은 「INFnCtrl_Manual.pdf」를 참조하십시오.
또한 INplc v3 이후는 모두 로컬 시간을 가져옵니다.

 

4-48 1스캔마다 펄스를 출력하는 펑크션이 있나요?
현재 1스캔마다 펄스를 출력하는 펑크션은 없지만 다음의 로직을 짜는 것으로 1스캔마다 접점의 ON / OFF를 전환 할 수 있습니다.
- | / | ---- () -

 

4-49 FILE_READ의 LengthRead 실제로 읽어 들인 Byte 수가 반환되지 않습니다.
※ INplc v2.X에 관한 질문
FILE_READ의 LengthRead 처리에 성공했을 경우에 MaxLength에 지정된 바이트 수를 반환합니다. 
또한 Buffer에 저장되는 데이터는 실제 읽어 들인 데이터 분입니다.
■ 실제 데이터 수의 확인 방법 
FILE_READ에서 데이터를 검색 한 후 FILE_TELL에서 현재 위치를 취득하여 실제로 읽은 데이터 수를 확인할 수 있습니다.

 

4-50 이전 버전 (v2.xx 이전)에서 만든 프로젝트를 INplc v3.00 이상에서 사용할 수 있습니까?
Express는 프로젝트의 종류가 다르기 때문에 사용할 수 없습니다. 
Pro +는 기본적으로 리소스의 설정을 변경하여 사용할 수 있습니다.
 
그러나 다음과 같이 코드 등의 수정이 필요할 경우가 있으므로 주의하십시오.
  • INplc v3.00에서 그로벌 변수의 종류 및 I/O 어드레스가 변경되어 있습니다.
  • INplc v3.00 이상에서는 변수 사용자 영역 (% M 섹션 0)을 지원하지 않습니다.
  • 기타 코드 오류가 발생할 수 있습니다.

 

4-51 프로젝트를 열 때마다 Resouce 설정의 연결 IP 어드레스 설정이 초기 값으로 돌아갑니다.
※ INplc v3.05 / v3.06 INplc-SDK (Express)에서 확인 된 문제입니다. INplc v3.07보다 개선되고 있습니다.
PLC 프로젝트 폴더에있는 다음 파일을 삭제하십시오.
  • <PLC 프로젝트 폴더> \ C \ Configuration \ R \ Resource \ eCLRIpAddressAssignments.set
또한 eCLRIpAddressAssignments.set 템플릿에 포함되어 있기 때문에, 템플릿에서 제거해야합니다. 
다음의 ZIP 파일을 다운로드하십시오.
 
INplc-SDK (Express)가 설치되어있는 PC에서 압축을 풀고 안에있는 Setup.exe를 실행하십시오.
  • 다운로드 : INplc-SDK (Express) Patch v3.05B

 

4-52 POU나 변수 이름과 같은 식별자의 제한이나 규칙이 남아 있습니까?
기본적으로는 다음 규칙을 지켜야 합니다 
● 식별자는 문자, 숫자 및 밑줄로 구성 할 수 있습니다.
 
● 식별자의 첫 문자 또는 밑줄이어야 합니다.
 
● 대소 문자를 혼합 할 수 있습니다.
 
● 여러 밑줄 또는 공백은 사용할 수 없습니다.
 

다음 표와 같이 서로 다른 길이의 식별자를 사용할 수 있습니다
식별자
문자
POU, 기술 워크 시트, 프로젝트, 구성 요소, 비트 맵, 페이지 레이아웃, 아카이브 파일 24 자
변수와 코드 바디 워크 시트 24 자
스텝 태스크 전환 24 자
변수 인스턴스 이름 30 자

 

4-53 전각과 반각으로 입력 가능한 문자수는 다릅니까?
반각은 1바이트 전각은 2바이트이므로 전각으로 입력 가능한 문자 수는 절반이됩니다.

 

4-54 메모리 변수를 배열로 취급 일은 할 수 있습니까?

배열 변수로 취급 할 수 있습니다. 

예 : BOOL 형 16 점을 배열로 취급
 

1) 배열 선언 형태 정의합니다.
 

TYPE
 
  TEST_Arr : ARRAY [0..16] OF BOOL;
 
END_TYPE
 

2) 배열 선언 한 형식의 변수를 만듭니다.
 
메모리 어드레스를 변수의 어드레스에 정의
 


3) 배열 변수 이름 뒤에 「[배열 index 번호의 값이 들어가는 변수 이름
]」을 넣는 것으로 배열 index 번호의 값이 들어가는 변수의 값이 index 번호입니다. 

TEST_Arr [배열 index 번호의 값이 들어가는 변수 이름
]

예 : TEST_Arr [index] : = True;

 

4-55 인덱스 수식 (간접 포인터)를 사용한 간접 설정은 할 수 있습니까?
INplc 프로그램은 변수를 사용하는 프로그램입니다. 
보통의 변수는 연속된 메모리 영역에 생성되지 않기 때문에 인덱스 수식 (간접 포인터)을 사용하는 것은 불가능합니다.
 
변수를 명시적으로 연속된 메모리 어드레스를 할당 배열 변수로하여 인덱스 수식 (간접 포인터)를 사용할 수 있습니다.

 

4-56 사용자 정의 펑크션과 펑크션 블록에서 EN / ENO를 사용하는 것이 가능합니까?

1. 사용자 정의 펑크션은 EN/ENO가 자동으로 추가되어 EN은 시스템에 의해 결정되지만 ENO 만은 펑크션 코드에서 설정해야합니다. 



2. 사용자 정의 펑크션 블록은 전체 EN/ENO 펑크션을 사용자가 펑크션 블록 코드에서 명시적으로 구현해야합니다.

 

4-57 조건에 따라 그 스텝 이하의 실행을 차단하는 펑크션이 있습니까?
조건차단의 결과에 점프와 리턴 펑크션을 사용함으로써 이후의 실행을 차단하는 것이 가능합니다. 

1. 점프
 
연관된 레이블 오브젝트로 이동합니다.
 점프와 라벨 객체 사이의 처리는 실행되지 않습니다 

2.
리턴 
리턴에 할당하는 논리 변수가 TRUE이면 호출자의 POU로 돌아갑니다.
 변수가 FALSE이면 현재 회로의 실행을 계속합니다.

 

4-58 펑크션 반환값 설정은 어떻게 해야 하나요?
반환값의 반환은 펑크션 POU 이름과 동일한 이름의 변수에 대해 취소 처리를 작성하여 완수합니다. 

[ST 언어의 경우]
 
펑크션 펑크션 내용 : 인수를 덧셈하여 반환
 
펑크션 POU 이름 : add_st_FU
 
코드 : add_st_FU : = in1 + in2;

 

4-59 LD (래더) 인덱스 레지스터 또는 간접 포인터와 같은 명령을 사용하여 for ~ next 구문을 구축 할 수 있나요?
for ~ next 구문은 LD (래더)에서 사용할 수 없지만, ST 언어라면 아래의 설명 예처럼 쉽게 사용할 수 있습니다. 
반복 부분 만 펑크션 및 펑크션 블록으로 뽑아 ST 언어로 작성하여 주시고, 그 펑크션/펑크션 블록을 래더 프로그램에서 호출하는 방법으로 사용하십시오.
 

설명 (ST 언어)
 
FOR a : = 1 TO 10 BY 1 DO
 
 f [a] : = a;
 
END_FOR;

 

4-60 태스크 처리 시간을 알 수 있는 방법은 없습니까?

태스크 처리 시간은 MULTIPROG 프로젝트 트리 Window의 서브 트리 「물리적 하드웨어 → Global Variables」에서 온라인 디버깅을 사용하는 것으로 확인할 수 있습니다. 
※ INplc3.0 이상에 구현 된 펑크션입니다.
 

태스크 1의 preemption을 포함한 최대 태스크 처리 시간 참조 예
1. 태스크의 워치독 기능을 비활성화하십시오.
 
 (사이클주기를 초과하는 경우 워치 독 에러로 정지해 버리므로)
 
2. 측정하고자 하는 처리를 INplc 컨트롤러에서 실행
 
3. 온라인 디버깅 상태로
 합니다.
4. Watch Window를
오픈합니다. 
5. 글로벌 변수 「PLC_TASK_1」를 Watch Window에 등록
 
6. 구조체 멤버의 MaxDuration_us (Preemption을 포함한 최대 태스크 시간 (마이크로 초))을 참조하십시오.

 

4-61 이전 버전 (INplc v2.xx 이전)과 INplc v3.00 이후의 개발 에디터의 차이점은 무엇입니까?
INplc v3.00 이후 MULTIPROG 5.50에는 INplc v2.xx의 MULTIPROG 5.35에 비해 다음과 같은 펑크션이 추가되어 있습니다.
펑크션 INplc3.XX (MULTIPROG 5.50)
Pro + Express
그룹 단위의 쓰기 보호
그래픽 오브젝트의 스케일 복구 펑크션 ×
공유 및 시스템 메모리 (% M)의 비트 어드레스 지정
사용자 정의 데이터 형식 변수 (구조)의 값의 초기화
로직 분석기의 트리거 설정 가져 오기 / 내보내기
변수 이름 리팩터링
옵션 설정 가져 오기 / 내보내기
쓰기 액세스 변수 검색
조작 이벤트 로깅 펑크션 ×
워크 시트의 전체 화면

또한 프로젝트의 제한 사항도 크게 바뀌고 있습니다. 
FAQ 4-13

 

 

Copyright(C) 2000-2018 TPIKOREA Co. All Rights Reserved

 

                                                                         e-mail : support@tpikorea.com

TPIKOREA  경기도 안양시 동안구 호계동 555-9 안양 국제유통단지 29동 208호

Tel : +82 31 501 8054   Fax : +82 455 8055