PAO 피드백 처리
프로세스 아날로그 출력(Process Analog Output, PAO) 명령은 장치에서 제공하는 제한 스위치의 피드백 신호를 평가합니다. 명령어는 다음 조건 중 하나에서 장치 열기를 보고합니다.
- 명령어가 가상이고 열기 제한 스위치를 사용하여 활성화합니다.
- 명령어가 가상이 아닌 경우, 열기 제한 스위치가 사용되지 않고 닫힘 제한이 사용되지만 활성화되지 않습니다.
- 명령어가 가상이고 Val_Pos > Cfg_MaxClosedPos입니다.
- 사용 중인 제한 스위치가 없고 Val_Pos > Cfg_MaxClosedPos입니다.
명령어는 다음 조건 중 하나에서 장치 닫힘을 보고합니다.
- 명령어가 가상이 아니므로 닫힘 제한 스위치를 사용하여 활성화합니다.
- 명령어가 가상에 있지 않고 열기 제한 스위치가 사용되고 활성화되지 않으며 닫힘 제한 스위치가 사용되지 않습니다.
- 명령어가 가상이고 Val_Pos ≤ Cfg_MaxClosedPos입니다.
- 사용 중인 제한 스위치가 없고 Val_Pos ≤ Cfg_MaxClosedPos입니다.
제한 스위치와 장치/액추에이터 확인 위치의 피드백 처리에 사용되는 명령어 로직이 이 다이어그램에 표시됩니다.

이 다이어그램은 IO 폴트, 장치 폴트 및 편차가 범위를 벗어난 경보 조건과 관련된 로직을 보여줍니다.



펄스 출력
PAO 명령어는 명령어가 펄스 출력에 대해 구성된 경우(Cfg_HasPulseOut=1) 펄스 구동 장치(일반적으로 밸브)와의 연결에서 사용할 수 있습니다. 이 명령어는 위치 오류, 명령어(Val_CVOut)에서 계산된 원하는 위치(Val_Dev)와 장치에서 확인된 실제 위치(Val_Pos) 간의 차이로 변조된 지속 기간을 가진 펄스를 생성합니다. 실제 위치는 장치에서 피드백(Inp_PosFdbk)을 통해 제공하거나 물리적 피드백을 사용할 수 없거나 사용하지 않을 경우 명령어에서 시뮬레이션됩니다.
펄스는 주기 단위로, 주기당 펄스 하나씩 생성됩니다. 펄스는 장비, 장치 또는 액추에이터의 마모를 최소화하기에 너무 짧거나 너무 길어서는 안 됩니다. 이러한 시간 제약 조건은 Cfg_MinOnTime 및 Cfg_MaxOnTime으로 사용자 정의됩니다. 주기 기간 Cfg_CycleTime 역시 사용자 정의됩니다.
이 명령어는 장치 또는 액추에이터의 추정 동작, Cfg_OpenRate를 열 때 장치가 이동하는 속도, Cfg_CloseRate를 닫을 때 장치가 이동하는 속도, 장치 또는 액추에이터가 열리거나 닫히도록 명령을 받을 때 장치 또는 액추에이터 반응의 지연 Cfg_DeadTime과 관련된 3가지 매개 변수를 사용합니다. 장치 또는 액추에이터가 지연으로 열기/닫기 펄스에 응답할 경우(예: stiction으로 인해), Cfg_DeadTime을 입력하여 지연을 보상합니다. 보상되지 않은 지연은 정상 상태 위치 오류를 유발합니다.
중요:
Cfg_OpenRate, Cfg_CloseRate 및 Cfg_DeadTime의 올바른 값을 설정하지 못하면 장치 또는 액추에이터가 원치 않는 이동으로 발생할 수 있습니다.
펄싱 로직은 위치 컨트롤 루프의 기능을 제공합니다. 펄스 너비는 한 주기 동안 계산됩니다.
Val_Dev /DIAGRAM_PATH_SPECIFIER>0의 경우 열기 펄스 시간은 다음과 같이 계산됩니다.
PulseDuration = min(Val_Dev/Cfg_OpenRate + Cfg_DeadTime, Cfg_MaxOnTime),
Val_OpenTime = PulseDuration, for PulseDuration ≥ Cfg_MinOnTime,
Val_OpenTime = 0, for PulseDuration < Cfg_MinOnTime.
Val_Dev <0의 경우 닫기 펄스 시간은 다음과 같이 계산됩니다.
PulseDuration = min(-Val_Dev/Cfg_CloseRate + Cfg_DeadTime, Cfg_MaxOnTime),
Val_CloseTime = PulseDuration, for PulseDuration ≥ Cfg_MinOnTime,
Val_CloseTime = 0, for PulseDuration < Cfg_MinOnTime.
이 다이어그램은 구성 매개 변수의 다양한 설정에 대해 원하는 위치(Val_CVOut)의 단계에 대한 장치/액추에이터 응답의 예를 제공합니다.
이 다이어그램은 명령어 매개 변수의 실제 설정으로 인한 주기에 대한 OpenTime을 보여줍니다. 장치/액추에이터의 실제 열기 속도와 비교하여 입력된 Cfg_OpenRate 사이의 다른 관계에 대해 세 가지 경우가 표시됩니다.

장치가 움직이기 시작하거나 방향을 바꾸면 명령어는 구성된 데드타임(Cfg_DeadTime)만큼 계산된 Val_Pos를 지연시킵니다.
이 그림은 명령 매개 변수의 실제 설정으로 인한 주기에 대한 OpenTime과 지연된 명령에 응답하는 장치 또는 액추에이터를 보여줍니다. 다이어그램은 지연 무시와 지연 보상의 두 가지 경우를 보여줍니다.

다음 그림은 다양한 명령 매개 변수 설정 및 액추에이터 동작에 대한 펄스 시퀀스를 보여줍니다. 이 다이어그램에서 액추에이터의 일정 속도는 이동 시 Cfg_OpenRate 또는 Cfg_CloseRate와 같습니다.

구성된 속도 Cfg_OpenRate가 장치의 물리적 속도보다 빠르고 장치에서 위치 피드백을 제공하는 경우 위치 응답이 다릅니다. 열기 펄스는 구성된 최소 켜짐 시간(Cfg_MinOnTime)을 위반할 때까지 원하는 위치에 접근할 때 더 짧아져 명령이 계속해서 펄싱되는 것을 방지합니다.
위치 피드백이 사용되지 않고 Val_Pos가 명령어에 의해 계산되고 구성된 속도 Cfg_OpenRate가 장치의 물리적 속도와 다른 경우 명령어의 펄싱 기능을 사용하지 마십시오.

중요:
명령어의 스캔 시간은 Cfg_CycleTime보다 훨씬 짧아야 합니다. 이 권장 사항을 따르지 않을 경우 장치 또는 액추에이터가 의도하지 않은 동작을 수행할 수 있습니다.
다음 그림은 더 큰 스캔 시간이 명령어 펄스 출력에 의해 구동되는 장치 또는 액추에이터의 움직임에 미치는 영향을 보여줍니다.


장치 또는 액추에이터 위치와 관련된 제한 설정 간의 관계는 상시 열기 제한 스위치가 제공하는 신호를 보여주는 아래 그림에 나와 있습니다.

위치 피드백 시뮬레이션
위치 피드백 Inp_PosFdbk를 사용할 수 없는 경우 위치 Val_Pos가 계산됩니다. 가상에서 또는 위치 피드백을 사용할 수 없는 경우 위치 피드백은 마지막 스캔 위치, 실제 스캔 시간 및 구성된 열기(닫힘) 속도에서 계산됩니다.
Val_Pos = Val_Pos + ScanTime*Cfg_OpenRate(열 때),
Val_Pos = Val_Pos - ScanTime*Cfg_CloseRate(닫을 때),
Val_Pos = max(min(Val_Pos,Cfg_CVEUMax),Cfg_CVEUMin).
가상 상태가 아니고 위치 피드백을 사용할 수 없는 경우 명령어는 제한 스위치 가용성에 의존하여 한계에 도달하면 계산된 위치를 재설정합니다. Val_Pos는 열기 제한 스위치가 활성화되고 닫힘 제한 스위치가 활성화되지 않거나 사용되지 않는 경우 Cfg_CVEUMax로 설정됩니다. 닫힘 제한 스위치가 활성화되고 열기 제한 스위치가 활성화되지 않거나 사용되지 않는 경우 Val_Pos는 Cfg_CVEUMin으로 설정됩니다.
범핑
명령어는 위치 피드백 없이 위치를 증가시키도록 장치에 요청할 수 있습니다. 사용자는 출력을 펄싱하도록 범프에 요청합니다. 펄스 출력은 아래 그림과 같이 구성 가능한 시간 Cfg_BumpTime ≤ Cfg_CycleTime 동안 활성화됩니다.
명령어는 다음의 경우 범프 열기 또는 범프 닫기 명령을 실행할 준비가 됩니다.
- 범프 타이머가 0보다 큰 경우(0은 범프 기능을 비활성화함),
- 위치 피드백이 숫자가 아닌 무한대이거나 I/O 폴트가 있거나 장치 폴트가 있는 경우,
- 장치가 오퍼레이터 또는 Maintenance 모드인 경우,
- 이전 범프 작동이 활성화되지 않은 경우 및
- 장치가 이동의 끝에 있지 않거나 목표값 이동 방향에 대해 제한 스위치를 사용하고 있지 않은 경우입니다.

오퍼레이터 명령 요청 확인
PAO 명령어를 통해 연산자는 연산자 설정 OSet_CV 및 명령 요청 OCmd_BumpOpen, OCmd_BumpClose를 사용할 수 있습니다. 강제 보안을 사용하려면 선택한 명령을 실행하기 전에 요청을 확인하거나 취소해야 할 수 있습니다. 명령어가 Cfg_CnfrmReqd를 검사하는 보안 규칙을 확인합니다. Cfg_CnfrmReqd=0인 경우 확인이 필요하지 않으며 요청이 즉시 실행됩니다. Cfg_CnfrmReqd=1인 경우 명령어는 확인 OCmd_CmdCnfrm=1 및/또는 취소 OCmd_CmdCncl=1을 대기합니다. Cfg_CnfrmReqd=2 또는 3의 경우 확인 및 취소가 활성화되기 전에 전자 서명이 필요합니다.
의견을 작성 부탁드립니다.