|
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-8 |
독자의 수치 및 비교기 등을 만들어 사용할 수 있습니까? |
펑크션 또는 펑크션 블록을 생성하여 제공합니다. 표준으로 제공되는 펑크션 블록을 조합하여 독자적인 연산, 비교 펑크션 블록을
만들고
프로그램에서 호출하여 사용할 수 있습니다. 또한 만들 때 언어는 IEC 61131-3 대응의 5개 언어 (IL, ST, LD, FBD, SFC)라면 어떤 언어로 사용할 수 있습니다.
|
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-18 |
시뮬레이션 펑크션을 이용할 때의 드라이버 이름에 대해 |
시뮬레이션 펑크션을 이용할 때의 드라이버 이름은 버전에 따라 다릅니다. 아래에 드라이버 이름을 나타냅니다.
INplc-SDK Pro +의 경우 드라이버 이름은 SIMIO, INplc-SDK Basic의 경우 드라이버 이름은 DEMOIO가 됩니다.
그림 .INplc-SDK Pro +로 시뮬레이션 이용시 드라이버 이름
그림 .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)가 추가됩니다.
|
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-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-41 |
FBD에서 펑크션이나 펑크션 블록 FB 등을 갖추는 펑크션이 있나요?
|
LD로 명시함으로써 프로그램의 성형이 쉬워집니다. LD는 FBD 비슷한 펑크션과 펑크션 블록을 사용하는 것이 가능합니다. |
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-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-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-57 |
조건에 따라 그 스텝 이하의 실행을 차단하는 펑크션이 있습니까? |
조건차단의 결과에 점프와 리턴 펑크션을 사용함으로써 이후의 실행을 차단하는 것이 가능합니다.
1. 점프 연관된 레이블 오브젝트로 이동합니다. 점프와 라벨 객체 사이의 처리는 실행되지 않습니다
2. 리턴 리턴에 할당하는 논리 변수가 TRUE이면 호출자의 POU로 돌아갑니다. 변수가 FALSE이면 현재 회로의 실행을 계속합니다.
|
4-58 |
펑크션 반환값 설정은 어떻게 해야 하나요? |
반환값의 반환은 펑크션 POU 이름과 동일한 이름의 변수에 대해 취소 처리를 작성하여 완수합니다.
[ST 언어의 경우] 펑크션 펑크션 내용 : 인수를 덧셈하여 반환 펑크션 POU 이름 : add_st_FU 코드 : add_st_FU : = in1 + in2;
|
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
|
|