1. 알람을 표시하는 첫 번째 Cicode Object의 AN 번호
주신 내용 중에 '접근권 300'이라고 하신 부분을 정확하게 표현하면 '알람을 표시하는 첫 번째 Cicode Object의 AN 번호' 입니다.
그 설정이 접근권 탭에 있기는 하지만 접근권 탭에는 AN 속성 외에도 다른 많은 속성이 있습니다.
따라서 이 객체의 ANdl 300번 인지를 확인하시기 바랍니다.
2. AlarmDsp() 함수
함수에 대한 도움말은 Cicode Function Category(도움말 항목 > Cicode Programming Reference > Cicode Function Category)의 Alarm Function 그룹에서 볼 수 있습니다. 아래에는 그 도움말 내용을 발췌한 것입니다.
=============== 아 래 ================
AlarmDsp
Displays an alarm list, starting at a specified AN and then on subsequent ANs. You specify the number of alarms to display, the type of alarms and the name of the cluster the alarms belong to, for example, active hardware alarms or disabled non-hardware alarms in cluster XYZ. Before you call this function, you need to first add animation points to the graphics page for each alarm to be displayed.
If you only need to display the standard alarm page, use the PageAlarm function - it uses this AlarmDsp() function to display alarms. If you need more control over the display of alarms you can use this function, but only to display alarms on the alarm page. Use the AlarmDspLast function to display alarms on another graphics page (it uses less memory).
Syntax
INT AlarmDsp(INT AN, Count [, INT Type] [, STRING ClusterName] [, INT NoDraw] [, STRING CallbackFunc] )
AN:
The AN where the first alarm is to display.
Note: The [Animator]MaxAn citect ini parameter sets the maximum AN which AlarmDsp will work with.
Count:
The number of alarms to display.
Type:
The type of alarms to display:
Non-hardware alarms
0 - All active alarms, that is Types 1 and 2
1 - All unacknowledged alarms, ON and OFF
2 - All acknowledged ON alarms
3 - All disabled alarms
4 - All configured (non-hardware) alarms, that is Types 0 to 3, plus acknowledged OFF alarms.
Hardware alarms
5 - All active alarms, that is Types 6 and 7
6 - All unacknowledged alarms, ON and OFF
7 - All acknowledged ON alarms
8 - All disabled alarms
9 - All configured alarms, that is Types 5 to 8
Alarm Summary
10 - All summary alarms
15 – Sequence of events with configuration events filtered out
16 - Sequence of events
Alarm General
11 - All ON alarms
12 - All OFF alarms
13 - All ON hardware alarms
14 - All OFF hardware alarms
If you omit the Type, the default is 1.
ClusterName:
The cluster name to which the alarms belong. This is optional if you have one cluster or are resolving the alarm server via the current cluster context. The argument is enclosed in quotation marks "".
If the client is connected to only one cluster containing an Alarms Server then this argument is optional, the list returned will be limited to alarms within this cluster.
If the client is connected to clusters containing more than one Alarms Server then the Cluster Name needs to be specified. If a cluster name is not specified, alarms are returned for all clusters.
NoDraw:
Makes call to Alarm Server to update the ALMCB but does not automatically perform the animation of the data when the result is returned.
CallbackFunc:
Callback function to associate with the return of the ALMCB data from the Alarm Server.
Return Value
0 (zero) if successful, otherwise an error code is returned.
==============================================
그래서 세 번째 매개 변수에 입력할 수 있는 값은 0, 1 또는 10에만 제한을 받는 것이 아니라 도움말에 있는 것처럼 다양한 값을 입력할 수 있습니다. 값 선택은 사용자가 표시하기 원하는 알람 모드를 입력하는 것입니다. 0번이면 All Active Alarm을 표시하겠다는 뜻이네요.
3. 알람이 표시되지 않는 페이지
알람이 표시되지 않는 페이지에서는 알람을 표시하는 Cicode Object의 AN이 다른 번호일 것입니다.
알람을 표시하기 위해서 아셔야 하는 점은 Alarm Display와 관련된 함수들이 AN을 지정한다는 것과 싸이텍에서 AN 번호느 객체를 추가하는 순서에 따라서 자동으로 할당한 다는 점입니다.
그래서 Alarm Display를 먼저 구현하고(예, 템플릿 작성을 먼저하고) 그래픽을 작성하면 잘 되는데,
반대로 그래픽을 작성하고 나중에 Alarm Display를 구현하면(예, 나중에 템플릿을 수정할 때 Alarm Display를 구현한 경우) 나중에 추가된 알람 표시를 위한 AN을 그래픽의 다른 객체가 점유하고 있어서 다른 AN으로 할당을 받게되어 알람 표시가 안될 것입니다.
해결 방법은 만약 템플릿에서 알람 표시 구현을 하셨다면 다음과 같이 작업하시면 됩니다.
- 알람 표시가 되지 않는 페이지를 오픈합니다.(이하 기존 페이지)
- 새 페이지를 생성합니다.
- 기존 페이지에서 모든 객체를 복사하여 새 페이지에 붙여넣기를 합니다.
- 기존 페이지를 닫습니다.
- 새 페이지를 기존 페이지 이름으로 저장합니다.
이렇게 하면 작업 순서를 맞추게 되어 알람 표시 AN이 먼저 자신의 AN을 선점하고 다른 객체들은 그 이외의 AN을 할당받게 되어 정상적으로 표시될 것입니다.