함수 생성기(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 LD instruction linear function
펑션 블록
구조화된 텍스트
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개 세그먼트로 나뉜 곡선을 변환하는 방법을 보여줍니다.
FGEN Graph
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이 Less than or equal to X[1]이면 Out = Y[1]을 설정합니다.
  • In > X[XY<n>Size]인 경우, Out = Y[XY<n>Size]로 설정합니다
  • X[n] < In Less than or equal to X[n+1]이면, Out = ((Y[n+1]-Yn)/ (X[n+1]-Xn))*(In-Xn)+Yn을 계산합니다.
연산 상태 플래그에 영향
아니요
메이저/마이너 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
래더 다이어그램
조건
펑션 블록 조치
사전 스캔
렁-출력-조건이 거짓으로 해제됩니다.
렁-입력-조건이 거짓임
렁-출력-조건을 렁-입력-조건으로 설정합니다.
렁-입력-조건이 참임
렁-출력-조건을 렁-입력-조건으로 설정합니다.
FGEN 알고리즘을 실행합니다.
사후 스캔
렁-출력-조건이 거짓으로 해제됩니다.
함수 블록 다이어그램
조건
펑션 블록 조치
사전 스캔
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 명령어로 옵션 파라미터를 전달합니다.
펑션 블록
래더 다이어그램
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal