함수 생성기(Function Generator, FGEN)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.함수 생성기(FGEN) 명령어는 구간 선형 함수를 기반으로 입력을 변환합니다.
사용 가능한 언어
래더 다이어그램

펑션 블록

구조화된 텍스트
FGEN(FGEN_tag,X1,Y1,X2,Y2);
피연산자
래더 다이어그램
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
FGEN tag | FUNCTION_ GENERATOR | 구조 | FGEN 구조 |
In | REAL | 태그/즉시 | 명령어의 아날로그 신호 입력. 유효값 = 모든 부동 소수점 수 |
X1 | REAL | 배열 | X축 배열, 표 1 표 1은 Y축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y1 | REAL | 배열 | Y축 배열, 표 1 표 1은 X축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
X2 | REAL | 배열 | (옵션) X축 배열, 표 2. 표 2는 Y축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y2 | REAL | 배열 | (옵션) Y축 배열, 표 2. 표 2는 X축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
펑션 블록
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
FGEN tag | FUNCTION_ GENERATOR | 구조 | FGEN 구조 |
X1 | REAL | 배열 | X축 배열, 표 1 표 1은 Y축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y1 | REAL | 배열 | Y축 배열, 표 1 표 1은 X축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
X2 | REAL | 배열 | (옵션) X축 배열, 표 2. 표 2는 Y축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y2 | REAL | 배열 | (옵션) Y축 배열, 표 2. 표 2는 X축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
구조화된 텍스트
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
FGEN tag | FUNCTION_ GENERATOR | 구조 | FGEN 구조 |
X1 | REAL | 배열 | X축 배열, 표 1 표 1은 Y축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y1 | REAL | 배열 | Y축 배열, 표 1 표 1은 X축 배열과 결합해 첫 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
X2 | REAL | 배열 | (옵션) X축 배열, 표 2. 표 2는 Y축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
Y2 | REAL | 배열 | (옵션) Y축 배열, 표 2. 표 2는 X축 배열과 결합해 두 번째 구간 선형 곡선의 점을 정의합니다. 유효값 = 모든 부동 소수점 수 |
스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은
스트럭쳐드 텍스트 구문
을 참조하십시오.FUNCTION_GENERATOR 구조
입력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 기본값은 참입니다. |
In | REAL | 명령어의 아날로그 신호 입력. 유효값 = 모든 부동 소수점 수 기본값 = 0.0 |
XY1Size | DINT | 표 1에 있는 사용할 구간 선형 곡선의 점 개수. 값이 1보다 작으면 Select가 해제되고 명령어가 Status에 적절한 비트를 설정하고 출력은 변경되지 않습니다. 유효값 = 1~(X1 및 Y1 배열 크기 중 가장 작은 값) 기본값 = 1 |
XY2Size | DINT | 표 2에 있는 사용할 구간 선형 곡선의 점 개수. 값이 1보다 작으면 Select가 설정되고 명령어가 Status에 적절한 비트를 설정하고 출력은 변경되지 않습니다. 유효값 = 0~(X2 및 Y2 배열 크기 중 가장 작은 값) 기본값 = 0 |
Select | BOOL | 이 입력에 따라 사용할 표가 결정됩니다. 해제되면 명령어가 테이블 1을 사용하고 설정되면 명령어가 테이블 2를 사용합니다. 기본값은 해제 상태입니다. |
출력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 명령어의 활성화 여부를 나타냅니다. 오버플로 상태에서 거짓으로 해제됩니다. |
Out | REAL | 명령어 출력. |
Status | DINT | 펑션 블록의 상태. |
InstructFault (Status.0) | BOOL | 명령어에서 폴트를 생성했습니다. |
XY1SizeInv (Status.1) | BOOL | 표 1의 크기가 유효하지 않거나 배열 크기와 호환되지 않습니다. |
XY2SizeInv (Status.2) | BOOL | 표 2의 크기가 유효하지 않거나 배열 크기와 호환되지 않습니다. |
XisOutofOrder (Status.3) | BOOL | X 파라미터가 정렬되지 않습니다. |
설명
다음 그림은 FGEN 명령어가 12개 세그먼트로 나뉜 곡선을 변환하는 방법을 보여줍니다.

X축 파라미터는 다음 관계를 따라야 합니다.
X[1] < X[2] < X[3] < ... < X[XY<n>Size],
여기서 XY<n>Size는 구간 선형 곡선의 점 개수로, 1보다 크고 n은 선택한 표에 따라 1 또는 2입니다. X 배열에 정렬된 X축 요소를 만들어야 합니다.
Select 입력은 명령어에 사용할 표를 결정합니다. 명령어가 표 하나에서 실행 중이면 다른 표에서 값을 수정할 수 있습니다. Select의 상태를 변경하여 다른 표로 실행합니다.
Out을 계산하기 전에 X축 매개 변수가 스캔됩니다. 이 파라미터들은 오름차순으로 정렬되어 있지 않으면 Status에 적절한 비트가 설정되고 Out은 변경되지 않습니다. 또한 XY1Size 또는 XY2Size가 유효하지 않은 경우 명령어는 Status에 적절한 비트를 설정하고 Out은 그대로 둡니다.
명령어는 다음 알고리즘을 사용하여 In을 기반으로 Out을 계산합니다.
- In이
X[1]이면 Out = Y[1]을 설정합니다. - In > X[XY<n>Size]인 경우, Out = Y[XY<n>Size]로 설정합니다
- X[n] < In
X[n+1]이면, Out = ((Y[n+1]-Yn)/ (X[n+1]-Xn))*(In-Xn)+Yn을 계산합니다.
연산 상태 플래그에 영향
아니요
메이저/마이너 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
래더 다이어그램
조건 | 펑션 블록 조치 |
|---|---|
사전 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
렁-입력-조건이 거짓임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. |
렁-입력-조건이 참임 | 렁-출력-조건을 렁-입력-조건으로 설정합니다. |
사후 스캔 | 렁-출력-조건이 거짓으로 해제됩니다. |
함수 블록 다이어그램
조건 | 펑션 블록 조치 |
|---|---|
사전 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 설정됩니다. |
EnableIn이 거짓임 | EnableIn 및 EnableOut 비트가 거짓으로 설정됩니다. |
EnableIn이 참임 | EnableIn 및 EnableOut 비트가 참으로 설정됩니다. FGEN 알고리즘을 실행합니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | 내부 Out을 0.0으로 설정합니다. FGEN 알고리즘을 실행합니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 설정됩니다. |
구조화된 텍스트
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 설정됩니다. |
정상 실행 | EnableIn 및 EnableOut 비트가 참으로 설정됩니다. FGEN 알고리즘을 실행합니다. |
사후 스캔 | EnableIn 및 EnableOut 비트가 거짓으로 설정됩니다. |
예
예 1
이 예에서 FGEN 명령어는 흐름 신호를 특성화합니다. 그런 다음 TOT 명령어를 사용하여 흐름 신호에 대한 총계가 산출됩니다. FGEN_01X1 및 FGEN_01Y1 배열은 각각 최대 9개 세그먼트 곡선을 지원하는 10개 요소로 구성된 REAL 배열입니다. 모든 크기의 배열을 사용하여 원하는 세그먼트 수로 구성된 곡선을 지원할 수 있습니다.
펑션 블록

래더 다이어그램

예 2
이 예는 FGEN 명령어로 옵션 파라미터를 전달합니다.
펑션 블록

래더 다이어그램

의견을 작성 부탁드립니다.