이산 3-상태 장치(Discrete 3-State Device, D3SD)

이 정보는
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370,
GuardLogix
5570,
Compact GuardLogix
5380,
CompactLogix
5380,
ControlLogix
5580,
GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다.
이산 3-상태 장치(D3SD) 명령어는 세 가지 가능한 상태(예: 빠름/느림/꺼짐 또는 앞으로/중지/뒤로 등)가 있는 이산 장치를 제어합니다.
사용 가능한 언어
래더 다이어그램
이 명령어는 래더 다이어그램 로직에서는 사용할 수 없습니다.
펑션 블록
D3SD_FB_avail_V31
구조화된 텍스트
D3SD(D3SD_tag)
피연산자
구조화된 텍스트
피연산자
유형
형식
설명
D3SD 태그
DISCRETE_3STATE
구조
D3SD 구조
스트럭쳐드 텍스트 내 식의 구문에 대한 자세한 내용은
스트럭쳐드 텍스트 구문
을 참조하십시오.
펑션 블록
피연산자
유형
형식
설명
D3SD 태그
DISCRETE_3STATE
구조
D3SD 구조
DISCRETE_3STATE Structure
입력 매개 변수
데이터 유형
설명
EnableIn
BOOL
활성화 입력. 거짓이면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다.
기본값은 참입니다.
Prog0Command
BOOL
프로그램 상태 0 명령. 이 입력은 장치가 프로그램 제어인 경우 장치 상태를 결정합니다. 참이면 장치가 0 상태로 명령 처리됩니다.
기본값은 거짓입니다.
Prog1Command
BOOL
프로그램 상태 1 명령. 이 입력은 장치가 프로그램 제어인 경우 장치 상태를 결정합니다. 참이면 장치가 1 상태로 명령 처리됩니다.
기본값은 거짓입니다.
Prog2Command
BOOL
프로그램 상태 2 명령. 이 입력은 장치가 프로그램 제어인 경우 장치 상태를 결정합니다. 참이면 장치가 2 상태로 명령 처리됩니다.
기본값은 거짓입니다.
Oper0Req
BOOL
오퍼레이터 상태 0 요청. 장치가 작업자 제어인 경우 장치를 0 상태로 배치하려면 작업자 인터페이스에서 참으로 설정합니다.
기본값은 거짓입니다.
Oper1Req
BOOL
오퍼레이터 상태 1 요청. 장치가 작업자 제어인 경우 장치를 1 상태로 배치하려면 작업자 인터페이스에서 참으로 설정합니다.
기본값은 거짓입니다.
Oper2Req
BOOL
오퍼레이터 상태 2 요청. 장치가 작업자 제어인 경우 장치를 2 상태로 배치하려면 작업자 인터페이스에서 참으로 설정합니다.
기본값은 거짓입니다.
State0Perm
BOOL
상태 0 허용. 핸드 또는 오버라이드 모드가 아닌 경우 장치를 0 상태로 전환하려면 이 입력이 참이어야 합니다. 장치가 이미 0 상태인 경우에는 이 입력이 아무 영향을 미치지 않습니다.
기본값은 참입니다.
State1Perm
BOOL
상태 1 허용. 핸드 또는 오버라이드 모드가 아닌 경우 장치를 1 상태로 전환하려면 이 입력이 참이어야 합니다. 장치가 이미 1 상태인 경우에는 이 입력이 아무 영향을 미치지 않습니다.
기본값은 참입니다.
State2Perm
BOOL
상태 2 허용. 핸드 또는 오버라이드 모드가 아닌 경우 장치를 2 상태로 전환하려면 이 입력이 참이어야 합니다. 장치가 이미 2 상태인 경우에는 이 입력이 아무 영향을 미치지 않습니다.
기본값은 참입니다.
FB0
BOOL
명령어에 사용할 수 있는 첫 번째 피드백 입력입니다.
기본값은 거짓입니다.
FB1
BOOL
명령어에 사용할 수 있는 두 번째 피드백 입력입니다.
기본값은 거짓입니다.
FB2
BOOL
명령어에 사용할 수 있는 세 번째 피드백 입력입니다.
기본값은 거짓입니다.
FB3
BOOL
명령어에 사용할 수 있는 네 번째 피드백 입력입니다.
기본값은 거짓입니다.
HandFB0
BOOL
핸드 피드백 상태 0. 현장 핸드/꺼짐/자동 스테이션에서 가져오는 이 입력은 현장 장치의 요청된 상태를 보여줍니다. 참은 현장 장치에 0 상태로 전환하도록 요청 중임을 나타내고 거짓은 현장 장치에 다른 상태로 전환하도록 요청 중임을 나타냅니다.
기본값은 거짓입니다.
HandFB1
BOOL
핸드 피드백 상태 1. 현장 핸드/꺼짐/자동 스테이션에서 가져오는 이 입력은 현장 장치의 요청된 상태를 보여줍니다. 참은 현장 장치에 1 상태로 전환하도록 요청 중임을 나타내고 거짓은 현장 장치에 다른 상태로 전환하도록 요청 중임을 나타냅니다.
기본값은 거짓입니다.
HandFB2
BOOL
핸드 피드백 상태 2. 현장 핸드/꺼짐/자동 스테이션에서 가져오는 이 입력은 현장 장치의 요청된 상태를 보여줍니다. 참은 현장 장치에 2 상태로 전환하도록 요청 중임을 나타내고 거짓은 현장 장치에 다른 상태로 전환하도록 요청 중임을 나타냅니다.
기본값은 거짓입니다.
FaultTime
REAL
폴트 시간 값. 장치가 새로 명령 처리된 상태에 도달하는 데 걸리는 시간 값을 초 단위로 구성합니다. 폴트 타이머를 비활성화하려면 FaultTime = 0을 설정합니다. 이 값이 유효하지 않다면 명령어는 0이라는 값을 가지며 Status에서 적절한 비트를 설정합니다.
유효값 = 0.0보다 Greater than or equal to 모든 부동 소수점 수
기본값 = 0.0
FaultAlarmLatch
BOOL
폴트 알람 래치 입력. 참이고 FaultAlarm이 참이면 FaultAlarm을 래치합니다. FaultAlarm을 래치 해제하려면 FaultAlmUnlatch를 참으로 설정하거나 FaultAlarmLatch를 거짓으로 해제합니다.
기본값은 거짓입니다.
FaultAlmUnLatch
BOOL
폴트 알람 래치 해제 입력. FaultAlarmLatch가 FaultAlarm을 래치 해제하도록 설정되어 있는 경우 이 입력을 참으로 설정합니다. 명령어는 이 입력을 거짓으로 해제합니다.
기본값은 거짓입니다.
OverrideOnInit
BOOL
초기화 요청 시 오버라이드. 이 비트가 참이면 명령어의 최초 스캔 중 이 명령어는 오버라이드가 참, 핸드는 거짓인 상태로 작업자 제어로 전환됩니다. ProgHandReq가 참이면 오버라이드는 거짓으로 해제되고 핸드가 참으로 설정됩니다.
기본값은 거짓입니다.
OverrideOnFault
BOOL
폴트 요청 시 오버라이드. 장치가 오버라이드 모드로 가야한다면 이 값을 참으로 설정하고 폴트 알람에 오버라이드 상태를 입력합니다. 폴트 알람을 제거하면 이 명령어는 작업자 제어로 전환됩니다.
기본값은 거짓입니다.
Out0State0
BOOL
출력 0 상태 0 입력. 장치가 0 상태인 경우 이 값은 Output0 값을 결정합니다.
기본값은 거짓입니다.
Out0State1
BOOL
출력 0 상태 1 입력. 장치가 1 상태인 경우 이 값은 Output0 값을 결정합니다.
기본값은 거짓입니다.
Out0State2
BOOL
출력 0 상태 2 입력. 장치가 2 상태인 경우 이 값은 Output0 값을 결정합니다.
기본값은 거짓입니다.
Out1State0
BOOL
출력 1 상태 0 입력. 장치가 0 상태인 경우 이 값은 Output1 값을 결정합니다.
기본값은 거짓입니다.
Out1State1
BOOL
출력 1 상태 1 입력. 장치가 1 상태인 경우 이 값은 Output1 값을 결정합니다.
기본값은 거짓입니다.
Out1State2
BOOL
출력 1 상태 2 입력. 장치가 2 상태인 경우 이 값은 Output1 값을 결정합니다.
기본값은 거짓입니다.
Out2State0
BOOL
출력 2 상태 0 입력. 장치가 0 상태인 경우 이 값은 Output2 값을 결정합니다.
기본값은 거짓입니다.
Out2State1
BOOL
출력 2 상태 1 입력. 장치가 1 상태인 경우 이 값은 Output2 값을 결정합니다.
기본값은 거짓입니다.
Out2State2
BOOL
출력 2 상태 2 입력. 장치가 2 상태인 경우 이 값은 Output2 값을 결정합니다.
기본값은 거짓입니다.
OverrideState
DINT
오버라이드 상태 입력. 오버라이드 모드인 경우 이 입력을 설정하여 장치 상태를 표시합니다.
2 = 장치가 2 상태로 전환되어야 함
1 = 장치가 1 상태로 전환되어야 함
0 = 장치가 0 상태로 전환되어야 함
유효하지 않은 값은 Status에 적절한 비트를 설정합니다.
유효값 = 0~2
기본값 = 0
FB0State0
BOOL
피드백 0 상태 0 입력. 장치가 0 상태인 경우 이 값은 FB0의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB0State1
BOOL
피드백 0 상태 1 입력. 장치가 1 상태인 경우 이 값은 FB0의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB0State2
BOOL
피드백 0 상태 2 입력. 장치가 2 상태인 경우 이 값은 FB0의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB1State0
BOOL
피드백 1 상태 0 입력. 장치가 0 상태인 경우 이 값은 FB1의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB1State1
BOOL
피드백 1 상태 1 입력. 장치가 1 상태인 경우 이 값은 FB1의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB1State2
BOOL
피드백 1 상태 2 입력. 장치가 2 상태인 경우 이 값은 FB1의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB2State0
BOOL
피드백 2 상태 0 입력. 장치가 0 상태인 경우 이 값은 FB2의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB2State1
BOOL
피드백 2 상태 1 입력. 장치가 1 상태인 경우 이 값은 FB2의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB2State2
BOOL
피드백 2 상태 2 입력. 장치가 2 상태인 경우 이 값은 FB2의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB3State0
BOOL
피드백 3 상태 0 입력. 장치가 0 상태인 경우 이 값은 FB3의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB3State1
BOOL
피드백 3 상태 1 입력. 장치가 1 상태인 경우 이 값은 FB3의 예상 값을 결정합니다.
기본값은 거짓입니다.
FB3State2
BOOL
피드백 3 상태 2 입력. 장치가 2 상태인 경우 이 값은 FB3의 예상 값을 결정합니다.
기본값은 거짓입니다.
ProgProgReq
BOOL
프로그램 프로그래밍 요청. 프로그램 제어를 요청하려면 사용자 프로그램을 통해 참으로 설정합니다. ProgOperReq가 참인 경우 무시됩니다. 이 값을 참으로 ProgOperReq 값을 거짓으로 유지하면 명령어가 프로그램 제어로 잠깁니다.
기본값은 거짓입니다.
ProgOperReq
BOOL
프로그램 작업자 요청. 작업자 제어를 요청하려면 사용자 프로그램을 통해 참으로 설정합니다. 이 값을 참으로 유지하면 명령어가 작업자 제어로 잠깁니다.
기본값은 거짓입니다.
ProgOverrideReq
BOOL
프로그램 오버라이드 요청. 장치에 오버라이드 모드로 전환하도록 요청하려면 사용자 프로그램을 통해 참으로 설정합니다. ProgHandReq가 참인 경우 무시됩니다.
기본값은 거짓입니다.
ProgHandReq
BOOL
프로그램 핸드 요청. 장치에 핸드 모드로 전환하도록 요청하려면 사용자 프로그램을 통해 참으로 설정합니다.
기본값은 거짓입니다.
OperProgReq
BOOL
작업자 프로그램 요청. 프로그램 제어를 요청하려면 작업자 인터페이스에서 참으로 설정합니다. 명령어는 이 입력을 거짓으로 해제합니다.
기본값은 거짓입니다.
OperOperReq
BOOL
작업자 작업자 요청. 작업자 제어를 요청하려면 작업자 인터페이스에서 참으로 설정합니다. 명령어는 이 입력을 거짓으로 해제합니다.
기본값은 거짓입니다.
ProgValueReset
BOOL
프로그램 제어 값 리셋. 참이면 이 명령어를 실행할 때마다 모든 프로그램 요청 입력이 거짓으로 해제됩니다.
기본값은 거짓입니다.
출력 매개 변수
데이터 유형
설명
EnableOut
BOOL
명령어의 활성화 여부를 나타냅니다.
Out0
BOOL
명령어의 첫 번째 출력.
Out1
BOOL
명령어의 두 번째 출력.
Out2
BOOL
명령어의 세 번째 출력.
Device0State
BOOL
장치 상태 0 출력. 장치가 0 상태로 명령 처리되고 피드백이 장치가 실제로 0 상태임을 나타내는 경우 참입니다.
Device1State
BOOL
장치 상태 1 출력. 장치가 1 상태로 명령 처리되고 피드백이 장치가 실제로 1 상태임을 나타내는 경우 참입니다.
Device2State
BOOL
장치 상태 2 출력. 장치가 2 상태로 명령 처리되고 피드백이 장치가 실제로 2 상태임을 나타내는 경우 참입니다.
Command0Status
BOOL
장치 상태 0 명령 상태. 장치가 0 상태로 명령 처리 중인 경우 참이고 장치가 다른 상태로 명령 처리 중인 경우 거짓입니다.
Command1Status
BOOL
장치 상태 1 명령 상태. 장치가 1 상태로 명령 처리 중인 경우 참이고 장치가 다른 상태로 명령 처리 중인 경우 거짓입니다.
Command2Status
BOOL
장치 상태 2 명령 상태. 장치가 2 상태로 명령 처리 중인 경우 참이고 장치가 다른 상태로 명령 처리 중인 경우 거짓입니다.
FaultAlarm
BOOL
폴트 알람 출력. 장치가 새 상태로 명령 처리되었는데 실제로 새 상태로 전환되었음을 나타내는 피드백 없이 FaultTime이 만료된 경우 참입니다. 또한 명령 처리된 상태로 전환된 후 피드백이 갑자기 더 이상 명령 처리된 상태가 아니라고 나타내는 경우 참으로 설정합니다.
ModeAlarm
BOOL
모드 알람 출력. 장치가 작업자 제어이고 ProgxCommand 입력이 작업자가 현재 명령 처리한 상태와 다른 상태를 요청하는 경우 참입니다. 이는 장치가 작업자 제어로 남아 있음을 알리기 위한 알람입니다.
ProgOper
BOOL
프로그램/작업자 제어 표시기. 프로그램 제어인 경우 참입니다. 작업자 제어인 경우 거짓입니다.
Override
BOOL
오버라이드 모드. 장치가 오버라이드 모드인 경우 참입니다.
Hand
BOOL
핸드 모드. 장치가 핸드 모드인 경우 참입니다.
Status
DINT
펑션 블록의 상태.
InstructFault (Status.0)
BOOL
명령어에서 다음 실행 에러 중 하나가 감지됩니다. 마이너 또는 메이저 컨트롤러 에러가 아닙니다. 나머지 상태 비트를 확인하여 발생한 에러를 판단합니다.
FaultTimeInv (Status.1)
BOOL
유효하지 않은 FaultTime 값. 이 명령어는 FaultTime = 0을 설정합니다.
OverrideStateInv (Status.2)
BOOL
오버라이드 값이 범위를 벗어납니다. 그러면 이 명령어가 오버라이드 상태로 전환되지 않습니다.
ProgCommandInv (Status.3)
BOOL
여러 프로그램 상태 명령 비트가 동시에 설정됩니다. 프로그램 컨트롤 섹션의 명령 처리된 상태를 참조하세요.
OperReqInv (Status.4)
BOOL
여러 작업자 상태 요청 비트가 동시에 설정됩니다. 프로그램 컨트롤 섹션의 명령 처리된 상태를 참조하세요.
HandCommandInv (Status.5)
BOOL
여러 핸드 피드백 상태 요청 비트가 동시에 설정됩니다.
설명
D3SD 명령어는 세 가지 가능한 상태(예: 빠름/느림/꺼짐 또는 앞으로/중지/뒤로 등)가 있는 이산 장치를 컨트롤합니다. 이 특성을 가진 일반적인 이산 장치에는 피더 시스템, 가역 모터 등이 있습니다.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 피연산자 관련 폴트에 대해서는 공통 속성 항목을 참조하십시오.
실행
펑션 블록
조건/상태
수행한 작업
사전 스캔
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
Tag.EnableIn이 거짓임
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
Tag.EnableIn이 참임
EnableIn 및 EnableOut 비트가 참으로 설정됩니다.
명령어가 실행됩니다.
명령어 최초 실행
ProgOper를 작업자 모드로 설정합니다.
Command0Status를 참으로 설정합니다.
Command1Status를 거짓으로 설정합니다.
Command2Status를 거짓으로 설정합니다.
명령어 최초 스캔
폴트 타이머가 해제됩니다.
ModeAlarm이 거짓으로 해제됩니다.
모든 작업자 요청 입력이 거짓으로 해제됩니다.
ProgValueReset이 참인 경우 모든 프로그램 요청 입력을 거짓으로 해제됩니다.
OverrideOnInit가 참이면, ProgOper는 거짓(작업자 제어)으로 해제됩니다.
ProgHandReq가 거짓이고 OverrideOnInit가 참인 경우 핸드는 거짓으로 해제되고 오버라이드는 참으로 설정됩니다(오버라이드 모드).
ProgHandReq가 참인 경우 핸드는 참으로 설정되고 오버라이드는 거짓으로 해제됩니다(핸드 모드).
사후 스캔
EnableIn 및 EnableOut 비트가 거짓으로 해제됩니다.
구조화된 텍스트
구조화된 텍스트에서 정상 스캔 중에 EnableIn은 항상 참입니다. 따라서 명령어가 로직에서 활성화한 컨트롤 경로에 있는 경우 해당 명령어가 실행됩니다.
조건/상태
수행한 작업
사전 스캔
펑션 블록 표의 사전 스캔을 참조하십시오.
정상 실행
펑션 블록 표에서 Tag.EnableIn이 참임을 참조하십시오.
사후 스캔
펑션 블록 표에서 사후 스캔을 참조하십시오.
예
일반적으로 D3SD 명령어는 빠름/느림/꺼짐 피드 시스템과 같은 3가지 상태의 장치를 제어하는 데 사용됩니다. 이 예에서 D3SD 명령어는 배치 탱크에 식물성 오일을 추가하는 한 쌍의 솔레노이드 밸브로 구성된 피드 시스템을 제어합니다. 밸브 중 하나는 배치 탱크로 연결되는 직경이 큰 이송관에 있고 다른 밸브는 직경이 작은 이송관에 평행하게 연결되어 있습니다. 처음으로 오일을 추가할 때 D3SD 명령어는 두 밸브가 모두 열리는 고속 피드 상태(상태 2)로 명령 처리됩니다. 오일 추가 목표량에 가까워지면 D3SD 명령어는 “큰 밸브”는 닫히고 “작은 밸브”는 계속 열려 있는 저속 피드 상태(상태 1)로 명령 처리됩니다. 목표량에 도달하면 D3SD 명령어는 꺼짐 상태(상태 0)로 전환되고 밸브가 모두 닫힙니다. D3SD 명령어가 프로그램 제어인 경우에는 CloseOilFeed, SlowOilFeed 및 FastOilFeed 입력에 따라 밸브가 열립니다. 또한 작업자는 필요한 경우 피드 시스템의 작업자 제어를 사용할 수도 있습니다. 이 예의 솔레노이드 밸브에는 밸브가 완전히 닫히거나 열린 경우를 나타내는 리미트 스위치가 있습니다. 이러한 스위치는 FB0, FB1, FB2 및 FB3 피드백 입력에 연결됩니다. 따라서 솔레노이드 밸브가 구성된 FaultTime 이내에 명령 처리된 상태로 전환되지 않으면 D3SD 명령어가 FaultAlarm을 생성합니다.
펑션 블록
D3SD_FB_ex_v31
구조화된 텍스트
OilFeedController.Prog0Command := ClosedOilFeed;
OilFeedController.Prog1Command := SlowOilFeed;
OilFeedController.Prog2Command := FastOilFeed;
OilFeedController.FB0 := SmallOilValveClosed;
OilFeedController.FB1 := SmallOilValveOpened;
OilFeedController.FB2 := LargeOilValveClosed;
OilFeedController.FB3 := LargeOilValveOpened;
D3SD(OilFeedController);
SmallOilValve := OilFeedController.Out0;
LargeOilValve := OilFeedController.Out1;
프로그램 제어와 작업자 제어 간에 전환
다음 다이어그램에서는 D3SD 명령어가 프로그램 컨트롤과 오퍼레이터 컨트롤 간에 변경하는 방법을 보여줍니다.
D3SD Switch between program and operator
(1) ProgOperReq가 참인 경우 이 명령어는 작업자 제어 모드로 유지됩니다.
프로그램 제어의 명령 처리된 상태
다음 표에는 프로그램 제어일 때 D3SD 명령어가 작동하는 방식이 나와 있습니다.
Prog0 명령
Prog1 명령
Prog2 명령
State0
Perm
State1
Perm
State2
Perm
설명
거짓
거짓
참
두 값 중 하나
두 값 중 하나
참
Command0Status가 거짓으로 해제됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 참으로 설정됩니다.
거짓
참
거짓
두 값 중 하나
참
두 값 중 하나
Command0Status가 거짓으로 해제됩니다.
Command1Status가 참으로 설정됩니다.
Command2Status가 거짓으로 해제됩니다.
참
거짓
거짓
참
두 값 중 하나
두 값 중 하나
Command0Status가 참으로 설정됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 거짓으로 해제됩니다.
두 개 이상의 프로그램 명령 입력이 참인 경우:
  • 이 명령어는 상태에 적절한 비트를 설정합니다.
  • 오버라이드 및 핸드가 거짓으로 해제되면 이 명령어는 이전 상태로 유지됩니다.
작업자 제어의 명령 처리된 상태
다음 표에는 작업자 제어일 때 D3SD 명령어가 작동하는 방식이 나와 있습니다.
Oper0Req
Oper1Req
Oper2Req
State0 Perm
State1 Perm
State2 Perm
설명
거짓
거짓
참
두 값 중 하나
두 값 중 하나
참
Command0Status가 거짓으로 해제됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 참으로 설정됩니다.
거짓
참
거짓
두 값 중 하나
참
두 값 중 하나
Command0Status가 거짓으로 해제됩니다.
Command1Status가 참으로 설정됩니다.
Command2Status가 거짓으로 해제됩니다.
참
거짓
거짓
참
두 값 중 하나
두 값 중 하나
Command0Status가 참으로 설정됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 거짓으로 해제됩니다.
두 개 이상의 작업자 명령 입력이 참인 경우:
  • 이 명령어는 상태에 적절한 비트를 설정합니다.
  • 오버라이드 및 핸드가 거짓으로 해제되면 이 명령어는 이전 상태로 유지됩니다.
매번 명령어 실행 후 이 명령어는 다음 작업을 실행합니다.
  • 모든 작업자 요청 입력을 지웁니다.
  • ProgValueReset이 참이면 모든 프로그램 요청 입력이 거짓으로 해제됩니다.
핸드 모드 또는 오버라이드 모드
다음 테이블에는 D3SD 명령어가 핸드 모드 또는 오버라이드 모드에서 작동할지 여부를 결정하는 방법이 나와 있습니다.
ProgHandReq
ProgOverrideReq
FaultAlarm 및 OverrideOnFault
설명
참
두 값 중 하나
두 값 중 하나
핸드 모드
핸드가 참으로 설정됩니다.
오버라이드가 거짓으로 해제됩니다.
거짓
참
두 값 중 하나
오버라이드 모드
핸드가 거짓으로 해제됩니다.
오버라이드가 참으로 설정됩니다.
거짓
두 값 중 하나
참
오버라이드 모드
핸드가 거짓으로 해제됩니다.
오버라이드가 참으로 설정됩니다.
오버라이드가 설정되어 있으면 프로그램 및 오퍼레이터 컨트롤보다 우선합니다. 다음 표에는 오버라이드 모드가 명령 처리된 상태에 미치는 영향이 나와 있습니다.
오버라이드
오버라이드 상태
설명
참
2
Command0Status가 거짓으로 해제됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 참으로 설정됩니다.
참
1
Command0Status가 거짓으로 해제됩니다.
Command1Status가 참으로 설정됩니다.
Command2Status가 거짓으로 해제됩니다.
참
0
Command0Status가 참으로 설정됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 거짓으로 해제됩니다.
OverrideState가 유효하지 않으면 이 명령어는 Status에 적절한 비트를 설정하고 오버라이드 상태로 전환하지 않습니다.
핸드가 참이면 프로그램 및 오퍼레이터 컨트롤보다 우선합니다. 다음 표에는 핸드 모드가 명령 처리된 상태에 미치는 영향이 나와 있습니다.
핸드
HandFB0
HandFB1
HandFB2
설명
참
거짓
거짓
참
Command0Status가 거짓으로 해제됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 참으로 설정됩니다.
참
거짓
참
거짓
Command0Status가 거짓으로 해제됩니다.
Command1Status가 참으로 설정됩니다.
Command2Status가 거짓으로 해제됩니다.
참
참
거짓
거짓
Command0Status가 참으로 설정됩니다.
Command1Status가 거짓으로 해제됩니다.
Command2Status가 거짓으로 해제됩니다.
두 개 이상의 HandFB 입력이 참이면 이 명령어는 Status에 적절한 비트를 설정하고, Hand가 참이면 이전 상태를 유지합니다.
출력 상태
D3SD 출력 상태는 명령 상태를 기반으로 합니다.
CommandStatus
출력 상태
Command0Status가 참임
Out0 = Out0State0
Out1 = Out1State0
Out2 = Out2State0
Command0Status가 참임 및
FB0 = FB0State0 및
FB1 = FB1State0 및
FB2 = FB2State0 및
FB3 = FB3State0
폴트 타이머를 정지 후 해제합니다.
Device0State가 참으로 설정됩니다.
Command1Status가 참임
Out0 = Out0State1
Out1 = Out1State1
Out2 = Out2State1
Command1Status가 참임 및
FB0 = FB0State1 및
FB1 = FB1State1 및
FB2 = FB2State1 및
FB3 = FB3State1
폴트 타이머를 정지 후 해제합니다.
Device1State가 참으로 설정됩니다.
Command2Status가 참임
Out0 = Out0State2
Out1 = Out1State2
Out2 = Out2State2
Command2Status가 참임 및
FB0 = FB0State2 및
FB1 = FB1State2 및
FB2 = FB2State2 및
FB3 = FB3State2
폴트 타이머를 정지 후 해제합니다.
Device2State가 참으로 설정됩니다.
폴트 알람 조건
D3SD 명령어는 다음 폴트 알람 조건을 확인합니다.
폴트 알람 조건의 원인
규칙
장치 상태가 변경되도록 명령 처리되었으나 피드백에서 FaultTime 이내에 원하는 상태 전환이 실제로 이루어졌음을 나타내지 않았습니다.
Command0Status
n
Not equal to sign
Command0Status
n-1
또는 Command1Status
n
Not equal to sign Command1Status
n-1
또는 Command2Status
n
Not equal to sign Command2Status
n-1
이면 폴트 타이머를 작동합니다.
폴트 타이머가 완료되었고 FaultTime이 0.0보다 크면 FaultAlarm을 설정합니다.
(피드백에 따라) 장치가 명령 처리되지 않은 상태로 예기치 않게 어느 상태를 떠났습니다.
폴트 타이머가 시간을 측정하지 않고 다음 조건 중 하나가 충족되면 FaultAlarm을 참으로 설정합니다.
Command0Status가 참임 및 Device0State가 거짓임
Command1Status가 참임 및 Device1State가 거짓임
Command2Status가 참임 및 Device2State가 거짓임
폴트가 없는데 다음 조건 중 하나가 충족되면 FaultAlarm이 거짓으로 해제됩니다.
  • Command0Status가 참임 및 Device0State가 참임
  • Command1Status가 참이고 Device1State가 참임
  • Command2Status가 참이고 Device2State가 참임
  • FaultTime Less than or equal to 0
FaultAlmUnlatch가 참이고 폴트가 없는 경우를 제외하고 FaultAlarmLatch가 참이면 FaultAlarm이 거짓으로 해제될 수 없습니다.
모드 알람 조건
모드 알람은 작업자에게 장치가 작업자 제어로 남아 있음을 알립니다. 작업자 제어 모드에서 프로그램이 장치의 상태를 작업자의 명령 처리된 상태에서 변경하려고 하는 경우에만 모드 알람이 켜집니다. 작업가 장치를 작업자 제어 모드로 전환하고 상태를 변경하는 경우에는 알람이 켜지지 않습니다. D3SD 명령어는 다음 규칙을 사용하여 모드 알람 조건을 확인합니다.
ModeAlarm
조건
참
Prog2Command Not equal to sign Prog2Command
n-1
및
Prog2Command Not equal to sign Command2Status
또는
Prog1Command Not equal to sign Prog1Command
n-1
및
Prog1Command Not equal to sign Command1Status
또는
Prog0Command Not equal to sign Prog1Command
n-1
및
Prog0Command Not equal to sign Command0Status
거짓
Prog2Command = Command2Status 및
Prog1Command = Command1Status 및
Prog0Command = Command0Status 또는
장치가 오버라이드, 핸드 또는 프로그램 제어 모드에 있습니다.
의견을 작성 부탁드립니다.
이 자료에 대한 문의사항이나 요청사항이 있습니까? 여기에 요청사항을 작성 부탁드립니다.
Normal