디지털 알람(ALMD)
이 정보는
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370, GuardLogix
5570, Compact GuardLogix
5380, CompactLogix
5380, ControlLogix
5580, GuardLogix
5580 및 ControlLogix 5590 컨트롤러에 적용됩니다. 컨트롤러 구분이 있을 때는 언급합니다.디지털 알람(ALMD) 명령어는 이산 부울 값에 대한 알람 기능을 제공합니다.
사용 가능한 언어
래더 다이어그램

펑션 블록

구조화된 텍스트
ALMD (ALMD,In,ProgAck,ProgReset,ProgDisable,ProgEnable)
피연산자
래더 다이어그램
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | 구조 | ALMD 구조 |
ProgAck | BOOL | 태그 즉시 | 거짓에서 참으로 전환 후 알람이 확인됩니다(확인이 필요한 경우). |
ProgReset | BOOL | 태그 즉시 | 거짓에서 참으로 전환 후 알람이 리셋됩니다(리셋이 필요한 경우). |
ProgDisable | BOOL | 태그 즉시 | 참일 경우 알람이 비활성화됩니다(활성화 명령을 오버라이드하지 않음). |
ProgEnable | BOOL | 태그 즉시 | 참일 경우 알람이 활성화됩니다(비활성화 명령보다 우선 적용됨). |
MinDurationPRE | DINT | 즉시 | 알람 조건이 보고되기까지 지속되어야 하는 시간(밀리초)을 지정합니다. |
MinDurationACC | DINT | 즉시 | 알람의 MinDuration 타이머에 해당하는 현재 누적기 값을 나타냅니다. Logix Designer 응용 프로그램의 버전 29 이상에서는 이 값이 사용되지 않습니다. 값은 항상 0입니다. |
펑션 블록
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | 구조 | ALMD 구조 |
구조화된 텍스트
피연산자 | 유형 | 형식 | 설명 |
|---|---|---|---|
ALMD tag | ALARM_DIGITAL | 구조 | ALMD 구조 |
ProgAck | BOOL | 태그 즉시 | 거짓에서 참으로 전환 후 알람이 확인됩니다(확인이 필요한 경우). |
ProgReset | BOOL | 태그 즉시 | 거짓에서 참으로 전환 후 알람이 리셋됩니다(리셋이 필요한 경우). |
ProgDisable | BOOL | 태그 즉시 | 참일 경우 알람이 비활성화됩니다(활성화 명령을 오버라이드하지 않음). |
ProgEnable | BOOL | 태그 즉시 | 참일 경우 알람이 활성화됩니다(비활성화 명령보다 우선 적용됨). |
MinDurationPRE | DINT | 즉시 | 알람 조건이 보고되기까지 지속되어야 하는 시간(밀리초)을 지정합니다. |
MinDurationACC | DINT | 즉시 | 알람의 MinDuration 타이머에 해당하는 현재 누적기 값을 나타냅니다. Logix Designer 응용 프로그램의 버전 29 이상에서는 이 값이 사용되지 않습니다. 값은 항상 0입니다. |
스트럭처드 텍스트 내 식의 구문에 대한 자세한 내용은 구조화된 텍스트 구문 항목을 참조하십시오.
ALMD 구조
입력 파라미터
입력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableIn | BOOL | 래더 다이어그램: 렁 상태에 해당합니다. 처리에 영향을 주지 않습니다. 펑션 블록: 거짓으로 해제되면 명령어가 실행되지 않고 출력이 업데이트되지 않습니다. 설정하면 명령어가 실행됩니다. 기본값은 참입니다. 스트럭쳐드 텍스트: 영향을 받지 않습니다. 명령어가 항상 실행됩니다. |
In | BOOL | 명령어에 대한 디지털 신호 입력. 기본값은 거짓입니다. 래더 다이어그램: 렁 조건을 따릅니다. 렁 조건이 참인 경우 참으로 설정됩니다. 렁 조건이 거짓인 경우 거짓으로 해제됩니다. 스트럭쳐드 텍스트: 명령어 피연산자에서 복사됩니다. |
InFault | BOOL | 입력에 불량 상태 표시기. 사용자 응용 프로그램에서 InFault가 입력 신호에 에러가 있음을 나타내도록 설정할 수 있습니다. 설정된 경우 명령어는 InFaulted (Status.1)를 설정하고, 거짓으로 해제된 경우 명령어에 의해 InFaulted (Status.1)가 거짓으로 해제됩니다. 어느 경우이든 명령어는 In에서 알람 조건을 계속 평가합니다. 기본값은 거짓(올바른 상태)입니다. |
Condition | BOOL | 알람 활성화 방법을 지정합니다. Condition이 참으로 설정되면 In이 참으로 설정된 경우 알람 조건이 활성화되고, Condition이 거짓으로 해제되면 In이 거짓으로 해제된 경우 알람 조건이 활성화됩니다. 기본값은 참입니다. |
AckRequired | BOOL | 알람 확인이 필요한지 여부를 지정합니다. 참으로 설정된 경우 확인이 필요합니다. 거짓으로 해제된 경우 확인이 필요하지 않으며 Acked가 항상 참으로 설정됩니다. 기본값은 참입니다. |
Latched | BOOL | 알람을 래치할지 여부를 지정합니다. 초기화 명령이 수신될 때까지 래치된 알람은 알람 조건이 거짓이 될 때 InAlarm으로 남아 있습니다. 참으로 설정된 경우 알람이 래치되고, 거짓으로 해제되면 알람이 래치 해제됩니다. 기본값은 거짓입니다. 알람 조건이 거짓인 경우에만 래치된 알람을 초기화할 수 있습니다. |
ProgAck | BOOL | 알람을 확인하도록 사용자 프로그램에 의해 참으로 설정됩니다. 알람이 확인되지 않은 경우에만 적용됩니다. 거짓 - 참 전환이 필요합니다. 기본값은 거짓입니다. 래더 다이어그램: 명령어 피연산자에서 복사됩니다. 스트럭쳐드 텍스트: 명령어 피연산자에서 복사됩니다. |
OperAck | BOOL | 알람을 확인하려면 작업자 인터페이스에서 참으로 설정합니다. 알람이 확인되지 않은 경우에만 적용됩니다. 명령어가 이 파라미터를 지웁니다. 기본값은 거짓입니다. |
ProgReset | BOOL | 래치된 알람을 리셋하도록 사용자 프로그램에 의해 참으로 설정됩니다. 래치된 알람이 InAlarm이고 알람 조건이 거짓인 경우에만 적용됩니다. 거짓 - 참 전환이 필요합니다. 기본값은 거짓입니다. 래더 다이어그램: 명령어 피연산자에서 복사됩니다. 스트럭쳐드 텍스트: 명령어 피연산자에서 복사됩니다. |
OperReset | BOOL | 래치된 알람을 리셋하기 위해 작업자 인터페이스에서 참으로 설정합니다. 래치된 알람이 InAlarm이고 알람 조건이 거짓인 경우에만 적용됩니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. |
ProgSuppress | BOOL | 알람을 억제하도록 사용자 프로그램에 의해 참으로 설정됩니다. 기본값은 거짓입니다. |
OperSuppress | BOOL | 알람을 억제하기 위해 작업자 인터페이스에서 참으로 설정합니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. |
ProgUnsuppress | BOOL | 알람을 억제 해제하도록 사용자 프로그램에 의해 참으로 설정됩니다. 억제 명령보다 우선 순위를 갖습니다. 기본값은 거짓입니다. |
OperUnsuppress | BOOL | 알람을 억제 해제하기 위해 작업자 인터페이스에서 참으로 설정합니다. 억제 명령보다 우선 순위를 갖습니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. |
OperShelve | BOOL | 알람을 보류 또는 재보류하려면 작업자 인터페이스에서 이 파라미터를 참으로 설정합니다. 한 프로그램 스캔은 거짓, 다음 프로그램 스캔은 참으로 전환되어야 합니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. 보류 해제 명령이 보류 명령보다 우선합니다. 알람을 보류하면 알람 처리가 연기됩니다. 보류는 시간이 제한된다는 점만 제외하고 알람 억제와 유사합니다. 알람이 보류된 동안 확인될 경우 알람이 다시 활성화되더라도 계속 확인되어 있습니다. 해당 시점에 알람이 계속 활성화되어 있는 경우 보류 기간이 종료되면 알람이 확인되지 않습니다. |
ProgUnshelve | BOOL | 알람을 보류 해제하도록 사용자 프로그램에 의해 참으로 설정됩니다. 보류 명령보다 우선 순위를 갖습니다. 기본값은 거짓입니다. 알람 보류에 대한 자세한 내용은 OperShelve 파라미터 설명을 참조하십시오. |
OperUnshelve | BOOL | 알람을 보류 해제하기 위해 작업자 인터페이스에서 참으로 설정합니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 보류 명령보다 우선 순위를 갖습니다. 기본값은 해제 상태입니다. 알람 보류에 대한 자세한 내용은 OperShelve 파라미터 설명을 참조하십시오. |
ProgDisable | BOOL | 알람을 비활성화하도록 사용자 프로그램에 의해 참으로 설정됩니다. 기본값은 거짓입니다. 래더 다이어그램: 명령어 피연산자에서 복사됩니다. 스트럭쳐드 텍스트: 명령어 피연산자에서 복사됩니다. |
OperDisable | BOOL | 알람을 비활성화하려면 작업자 인터페이스에서 참으로 설정합니다. 알람 명령어에 의해 이 파라미터가 참으로 해제됩니다. 기본값은 거짓입니다. |
ProgEnable | BOOL | 알람을 활성화하도록 사용자 프로그램에 의해 참으로 설정됩니다. 사용 안 함 명령보다 우선 순위를 갖습니다. 기본값은 거짓입니다. 래더 다이어그램: 명령어 피연산자에서 복사됩니다. 스트럭쳐드 텍스트: 명령어 피연산자에서 복사됩니다. |
OperEnable | BOOL | 알람을 활성화하려면 작업자 인터페이스에서 이 파라미터를 참으로 설정합니다. 사용 안 함 명령보다 우선 순위를 갖습니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. |
AlarmCountReset | BOOL | 알람 카운트를 0으로 리셋하기 위해 작업자 인터페이스에서 참으로 설정합니다. 알람 명령어에 의해 이 파라미터가 거짓으로 해제됩니다. 기본값은 거짓입니다. |
UseProgTime | BOOL | 컨트롤러의 클럭을 사용하여 알람 상태 변경 이벤트에 타임스탬프를 찍을지 또는 ProgTime 값을 타임스탬프를 찍을지를 지정합니다. 참으로 설정된 경우 ProgTime 값으로 타임스탬프가 인쇄되고, 거짓으로 해제된 경우 컨트롤러의 클럭을 기준으로 타임스탬프가 인쇄됩니다. 기본값은 거짓입니다. |
ProgTime | LINT | UseProgTime이 참으로 설정된 경우 이 값은 모든 이벤트에 대한 타임스탬프 값으로 사용됩니다. 이 경우 응용 프로그램은 이벤트 시퀀스 입력 모듈과 같은 알람 소스에서 가져온 타임스탬프를 적용할 수 있습니다. |
Severity | DINT | 알람의 심각도. 이는 컨트롤러의 알람 처리에 영향을 주지는 않지만 알람 구독자 측에서 함수를 정렬 및 필터링하는 데 사용할 수 있습니다. 유효값 = 1 ~ 1000(1000 = 가장 심각함; 1 = 가장 심각하지 않음) 기본값 = 500. |
MinDurationPRE | DINT | 알람이 InAlarm으로 표시되고 클라이언트에 알람 알림이 전송되기 전에 알람 조건이 참으로 유지되어야 하는 미리 설정된 최소 지속 시간(밀리초). 컨트롤러는 알람 조건이 감지되는 즉시 알람 데이터를 수집하므로 최소 기간에 도달할 때까지 기다리는 동안 데이터가 손실되지 않습니다. 유효값 = 0 ~ 2147483647 기본값 = 0. |
ShelveDuration | DINT | 알람을 보류할 기간(분). 알람을 보류하면 알람 처리가 연기됩니다. 보류는 시간이 제한된다는 점만 제외하고 알람 억제와 유사합니다. 알람이 보류된 동안 확인될 경우 알람이 다시 활성화되더라도 계속 확인되어 있습니다. 해당 시점에 알람이 계속 활성화되어 있는 경우 보류 기간이 종료되면 알람이 확인되지 않습니다. 최소 시간은 1분입니다. 최대 시간은 MaxShelveDuration으로 정의됩니다. |
MaxShelveDuration | DINT | 알람을 보류할 수 있는 최대 기간(분). 알람 보류에 대한 자세한 내용은 ShelveDuration 파라미터 설명을 참조하십시오. |
출력 매개 변수
출력 매개 변수 | 데이터 유형 | 설명 |
|---|---|---|
EnableOut | BOOL | 활성화 출력. |
InAlarm | BOOL | 알람 활성 상태. 알람이 활성인 경우 참으로 설정되고, 알람이 활성이 아니면(정상 상태) 거짓으로 해제됩니다. |
Acked | BOOL | 알람이 확인된 상태. 알람이 확인된 경우 참으로 설정되고, 알람이 확인되지 않은 경우 거짓으로 해제됩니다. AckRequired가 거짓으로 해제된 경우 Acked는 항상 참으로 설정됩니다. |
InAlarmUnack | BOOL | 알람이 활성화되고 확인된 상태. 알람이 활성(InAlarm이 참)이고 확인되지 않은 경우(Acked가 거짓임) 참으로 설정되고, 알람이 비활성이고 확인되었거나 둘 다에 해당하는 경우 거짓으로 해제됩니다. |
Suppressed | BOOL | 알람 억제 상태. 알람이 억제된 경우 참으로 설정되고, 알람이 억제되지 않은 경우 거짓으로 해제됩니다. |
Shelved | BOOL | 알람의 보류 상태. 알람이 보류된 경우 참으로 설정되고, 알람이 보류 해제된 경우 거짓으로 해제됩니다. 알람을 보류하면 알람 처리가 연기됩니다. 보류는 시간이 제한된다는 점만 제외하고 알람 억제와 유사합니다. 알람이 보류된 동안 확인될 경우 알람이 다시 활성화되더라도 계속 확인되어 있습니다. 보류 기간이 종료되면 알람이 확인되지 않은 상태가 됩니다. |
Disabled | BOOL | 알람 사용 안 함 상태. 알람이 활성화되지 않은 경우 참으로 설정됩니다. 알람이 활성화되면 거짓으로 해제됩니다. |
Commissioned | BOOL | 알람의 의뢰됨 상태. 알람이 의뢰된 경우 참으로 설정되고, 알람 의뢰를 해제하면 거짓으로 해제됩니다. 현재 항상 참으로 설정됩니다. |
MinDurationACC | DINT | 알람의 MinDuration 타이머에 해당하는 현재 누적기 값을 나타냅니다. Logix Designer 응용 프로그램의 버전 29 이상에서는 이 값이 사용되지 않습니다. 값은 항상 0입니다. |
AlarmCount | DINT | 알람이 활성화(InAlarm 설정)된 횟수. 최고 값에 도달하면 카운터의 값이 최고 카운트 값으로 유지됩니다. |
InAlarmTime | LINT | 알람 감지의 타임스탬프 |
AckTime | LINT | 알람 확인의 타임스탬프. 알람에 확인이 필요하지 않은 경우 이 타임스탬프는 알람 시간과 같습니다. |
RetToNormalTime | LINT | 정상 상태로 돌아가는 알람의 타임스탬프 |
AlarmCountResetTime | LINT | 알람 카운트가 초기화된 때를 나타내는 타임스탬프. |
ShelveTime | LINT | 알람이 마지막으로 보류된 시간을 나타내는 타임스탬프. 이 값은 알람이 보류되면 컨트롤러에 의해 설정됩니다. 알람은 여러 번 보류 및 보류 해제할 수 있습니다. 알람을 보류할 때마다 타임스탬프가 현재 시간으로 설정됩니다. 알람 보류에 대한 자세한 내용은 Shelved 파라미터 설명을 참조하십시오. |
UnshelveTime | LINT | 알람이 보류 해제될 시간을 나타내는 타임스탬프. 알람이 보류될 때마다 이 값이 설정됩니다(알람이 이미 보류된 경우에도). ShelveDuration을 현재 시간에 추가하여 타임스탬프가 결정됩니다. 프로그래밍 방식으로 또는 연산자가 알람을 보류 해제할 경우 값은 현재 시간으로 설정됩니다. 알람 보류에 대한 자세한 내용은 Shelved 파라미터 설명을 참조하십시오. |
Status | DINT | 혼합된 상태 표시: Status.0 = InstructFault Status.1= InFaulted Status.2 = SeverityInv |
InstructFault (Status.0) | BOOL | 명령어 에러 조건이 있습니다. 마이너 또는 메이저 컨트롤러 에러가 아닙니다. 나머지 상태 비트를 확인하여 발생한 에러를 판단합니다. |
InFaulted (Status.1) | BOOL | 사용자 프로그램에서 InFault가 품질이 좋지 않은 입력 데이터를 나타내도록 설정했습니다. 알람은 알람 조건에 대해 In 평가를 계속합니다. |
SeverityInv (Status.2) | BOOL | 알람 심각도 구성. 심각도 < 1이면 명령어는 Severity = 1을 사용합니다. 심각도 >1000이면 명령어는 Severity = 1000을 사용합니다. |
디지털 알람 상태 다이어그램



디지털 알람 타이밍 다이어그램
ALMD 알람 확인 필요하고 래치됨

ALMD 알람 확인 필요하지만 래치되지 않음

ALMD 알람 확인이 필요하지 않고 래치됨

ALMD 알람 확인이 필요하지 않고 래치되지 않음


OperShelve 태그에 단추 연결
원치 않는 알람의 재보류를 방지하기 위해 알람 명령어는 한 프로그램 스캔에 이은 다음 스캔에서 거짓에서 참으로 전환된 경우에만 OperShelve 태그를 처리합니다. ProgUnshelve 태그가 참인 상태에서 작업자가 누름 단추를 눌러 알람을 보류하는 경우 ProgUnshelve 태그가 우선 적용되기 때문에 알람이 보류되지 않습니다. 그러나 프로그램 스캔은 밀리초 이내에 완료되기 때문에 ProgUnshelve 태그가 거짓으로 해제되었더라도 다수의 프로그램 스캔 동안 OperShelve 태그가 계속 참으로 되도록 작업자가 누름 단추를 계속 누를 수 있습니다. 이 경우 알람이 보류되지 않습니다.
작업자가 단추를 놓았다가 다시 누르는 식으로 알람을 보류할 수 있습니다.
연산 상태 플래그에 영향
아니요
주 폴트/부 폴트
이 명령어에만 해당되는 것은 없습니다. 배열 인덱싱 폴트의 경우 배열을 통한 인덱스 항목을 참조하십시오.
실행
래더 다이어그램
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | EnableOut이 거짓으로 해제됨 InAlarm 출력이 거짓으로 해제됨 Shelved 출력이 거짓으로 해제됨 Acked 출력이 참으로 설정됩니다. 모든 알람 조건이 확인됩니다. 모든 작업자 요청이 해제됩니다. 타임스탬프가 모두 지워집니다. |
렁-입력-조건이 거짓임 | 렁이 거짓으로 해제됩니다. In 파라미터가 거짓으로 해제됨 명령어가 실행됩니다. |
렁-입력-조건이 참임 | 렁이 참으로 설정됩니다. In 파라미터가 참으로 설정됨 명령어가 실행됩니다. |
사후 스캔 | 렁 비트가 거짓으로 해제됩니다. |
펑션 블록
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | Tag.EnableOut이 거짓으로 해제됩니다. InAlarm 출력이 거짓으로 해제됨 Shelved 출력이 거짓으로 해제됨 Acked 출력이 참으로 설정됩니다. 모든 작업자 요청이 해제됩니다. 타임스탬프가 모두 지워집니다. |
Tag.EnableIn이 거짓임 | Tag.EnableOut이 거짓으로 해제됩니다. |
Tag.EnableIn이 참임 | 명령어가 실행됩니다. Tag.EnableOut이 참으로 설정됩니다. |
명령어 최초 실행 | N/A |
명령어 최초 스캔 | N/A |
사후 스캔 | Tag.EnableOut이 거짓으로 해제됩니다. |
구조화된 텍스트
조건/상태 | 수행한 작업 |
|---|---|
사전 스캔 | 래더 다이어그램 표의 사전 스캔을 참조하십시오. |
정상 실행 | 래더 다이어그램 표의 렁-입력-조건이 참인 경우를 참조하십시오. |
사후 스캔 | 래더 다이어그램 표에서 사후 스캔 섹션을 참조하십시오. |
예
래더 다이어그램

펑션 블록

구조화된 텍스트
구조화된 텍스트에서 ALMD 명령어의 예가 아래에 나와 있습니다. 이 예에서 두 개의 모터 고장 신호가 결합되어 한 신호가 발생하면 모터 폴트 알람이 활성화됩니다. Motor101Ack 태그를 사용하여 알람을 확인합니다.
Motor101FaultConditions := Motor101Overtemp OR Motor101FailToStart;
ALMD(Motor101Fault,Motor101FaultConditions,Motor101Ack,0,0,0 );
의견을 작성 부탁드립니다.