Lift Control API
Lift를 관리하기 위한 API로 floorLevel 관리를 통해 Lift 제한 및 관리할 수 있습니다.
BS2_GetLift
주어진 Lift를 가져옵니다.
BS2_GetAllLift
주어진 lift를 모두 가져옵니다.
BS2_GetLiftStatus
주어진 Lift의 상태 정보를 가져옵니다.
BS2_GetAllLiftStatus
모든 Lift의 상태 정보를 가져옵니다
BS2_SetLift
Lift을 설정합니다.
BS2_SetLiftAlarm
Lift의 경보 상태를 갱신합니다
BS2_RemoveLift
주어진 Lift를 제거합니다.
BS2_RemoveAllLift
모든 Lift를 제거합니다
BS2_ReleaseFloor
Floor의 우선 순위를 제거합니다.
BS2_ActivateFloor
Floor가 닫힐 때의 우선 순위를 설정하며, 열릴 때의 우선 순위보다 높아야 Floor가 닫힙니다.
BS2_DeActivateFloor
Floor가 열릴 때의 우선 순위를 설정하며, 닫힐 때의 우선 순위보다 높아야 Floor가 열립니다.
BS2_GetFloorLevel
주어진 Floor 레벨을 가져옵니다.
BS2_GetAllFloorLevel
모든 Floor 레벨을 가져옵니다.
BS2_SetFloorLevel
Floor 레벨을 설정합니다.
BS2_RemoveFloorLevel
주어진 Floor 레벨을 제거합니다.
BS2_RemoveAllFloorLevel
모든 Floor 레벨을 제거합니다.
구조체
BS2Lift
typedef struct {
BS2_LIFT_ID liftID;
char name[BS2_MAX_LIFT_NAME_LEN];
BS2_DEVICE_ID deviceID[BS2_MAX_DEVICES_ON_LIFT];
uint32_t activateTimeout;
uint32_t dualAuthTimeout;
uint8_t numFloors;
uint8_t numDualAuthApprovalGroups;
BS2_DUAL_AUTH_APPROVAL dualAuthApprovalType;
BS2_BOOL tamperOn;
BS2_BOOL dualAuthRequired[BS2_MAX_DEVICES_ON_LIFT];
BS2_SCHEDULE_ID dualAuthScheduleID;
BS2LiftFloor floor[BS2_MAX_FLOORS_ON_LIFT];
BS2_ACCESS_GROUP_ID dualAuthApprovalGroupID[BS2_MAX_DUAL_AUTH_APPROVAL_GROUP_ON_LIFT];
BS2LiftAlarm alarm[BS2_MAX_ALARMS_ON_LIFT];
BS2LiftAlarm tamper;
BS2_LIFT_ALARM_FLAG alarmFlags;
uint8_t reserved[3];
} BS2Lift;
-
liftIDlift 식별자입니다.
-
nameBioStar 애플리케이션에서 보이는 Lift 이름입니다.
-
deviceIDlift 장치와 연결된 장치 식별자입니다.
-
activateTimeoutlift가 열린 후 자동으로 닫힐 때까지 걸리는 시간으로 초 단위입니다.
-
dualAuthTimeout1번째 사용자의 인증이 끝나고 2번째 사용자의 인증을 시도하기까지 대기하는 시간으로 초 단위입니다.
-
numFloorslift에 속한 Floor의 개수입니다.
-
numDualAuthApprovalGroups이중 출입 권한을 가지는 그룹의 총 개수입니다.
-
dualAuthApprovalType출입을 허용할 때 사용자의 출입 그룹이 이중 인증 출입 권한을 가지는 그룹에 속해있는지 검사하는 flag입니다.
값 설명 0 없음 1 마지막 사용자의 권한 확인 -
tamperOn현재 tamper 상태 여부입니다.
-
dualAuthRequired장치의 이중 인증 필요 여부입니다.
-
dualAuthScheduleID이중 인증이 필요한 타임 스케줄로 이중 인증이 필요 없다면 0을, 항상 필요하면 1을, 아니면 적절한 타임 스케줄 식별자를 지정할 수 있습니다.
-
floorlift의 floor 정보입니다. 최대 255까지 설정할 수 있습니다.
-
dualAuthApprovalGroupID이중 출입 권한을 가지는 그룹을 나열한 리스트로 최대 16까지 설정할 수 있습니다.
-
alarmlift의 sensor가 감지되었을 때 동작할 경보로 최대2개까지 설정할 수 있습니다.
-
tamperlift의 tamper가 감지되었을 때 동작할 경보 정보입니다.
-
alarmFlags경보 flag입니다.
-
reserved예약된 공간입니다.
BS2LiftFloor
typedef struct {
BS2_DEVICE_ID deviceID;
uint8_t port;
BS2FloorStatus status;
} BS2LiftFloor;
-
deviceID장치 식별자입니다.
-
port장치의 입력 포트입니다
-
statusFloor 상태 정보입니다.
BS2FloorStatus
typedef struct {
BS2_BOOL activated;
BS2_FLOOR_FLAG activateFlags;
BS2_FLOOR_FLAG deactivateFlags;
} BS2FloorStatus;
-
activated대기상태에서 열림과 닫힘의 상태 정보입니다.
-
activateFlagsfloor가 열릴 때의 우선 순위로 닫힐 때의 우선 순위보다 낮으면 수행되지 않습니다. 예를 들어, 관리자 권한으로 floor를 닫은 상태라면(OPERATOR), 모든 사용자의 출입이 허용되지 않습니다. 유의해야 할 사항으로 activateFlags와 deactivateFlags는 기본 우선 순위(NONE)를 제외하고는 동일 우선 순위를 가질 수 없습니다.
값 설명 우선순위 0 기본 보통 1 일정 약간 높음 4 관리자 높음 2 긴급 매우 높음 -
deactivateFlagsfloor가 닫힐 때의 우선 순위로 열릴 때의 우선 순위보다 낮으면 수행되지 않습니다
값 설명 우선순위 0 기본 보통 1 일정 약간 높음 4 관리자 높음 2 긴급 매우 높음
BS2LiftSensor
typedef struct {
BS2_DEVICE_ID deviceID;
uint8_t port;
BS2_SWITCH_TYPE switchType;
uint16_t duration;
BS2_SCHEDULE_ID scheduleID;
} BS2LiftSensor;
-
deviceID장치 식별자입니다.
-
port장치의 입력 포트입니다.
-
switchType입력 신호 유형입니다.
값 설명 0 대기 상태에서 열림 상태로 유지 1 대기 상태에서 닫힘 상태로 유지 -
duration입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다.
-
scheduleIDlift를 동작하기 위한 타임 스케줄입니다.
BS2LiftAlarm
typedef struct {
BS2LiftSensor sensor;
BS2Action action;
} BS2LiftAlarm;
-
sensorlift의 열림/닫힘 상태를 감지하는 센서입니다
-
actionlift가 수행하는 action입니다.
BS2LiftStatus
typedef struct {
BS2_LIFT_ID liftID;
uint16_t numFloors;
BS2_LIFT_ALARM_FLAG alarmFlags;
BS2_BOOL tamperOn;
BS2FloorStatus floors[BS2_MAX_FLOORS_ON_LIFT];
} BS2LiftStatus;
-
liftIDlift 식별자입니다.
-
numFloorslift에 속한 Floor 개수입니다.
-
alarmFlags현재 lift의 경보 상태 정보입니다.
값 설명 0 경보 없음 1 첫 번째 경보 2 두 번째 경보 4 Tamper -
tamperOn현재 tamper 상태 정보입니다.
-
floorsfloor를 나열한 리스트로 최대 255까지 설정할 수 있습니다.
BS2FloorLevel
typedef struct {
BS2_FLOOR_LEVEL_ID id; // id >= 32768 (BS2_ACCESS_LEVEL_ID < 32768)
char name[BS2_MAX_FLOOR_LEVEL_NAME_LEN];
uint8_t numFloorSchedules;
uint8_t reserved[3];
BS2FloorSchedule floorSchedules[BS2_MAX_FLOOR_LEVEL_ITEMS];
} BS2FloorLevel;
-
idFloor 레벨 식별자입니다. id >= 32768 (
BS2_ACCESS_LEVEL_ID< 32768) -
nameBioStar 애플리케이션에서 보이는 Floor 레벨 이름입니다.
-
numFloorSchedulesFloor 레벨에 속한 Floor 타임 스케줄 개수입니다.
-
reserved예약된 공간입니다.
-
floorSchedulesFloor 레벨에 속한 Floor 타임 스케줄 리스트입니다
BS2FloorSchedule
typedef struct {
BS2_LIFT_ID liftID;
uint16_t floorIndex;
uint8_t reserved[2];
BS2_SCHEDULE_ID scheduleID;
} BS2FloorSchedule;
-
liftIDlift 식별자입니다.
-
floorIndexfloor 식별자입니다.
-
reserved예약된 공간입니다.
-
scheduleID타임 스케줄 식별자입니다.