📄 outlight.lst
字号:
24 4 // if(GetArrayData(pEleData->bXiaHuKeTing, cLIdx)==1) //只有楼层可停,才有可能点灯
25 4 SetArrayData(pDeng->bXia, cLIdx, bVal);
26 4 // else
27 4 // SetArrayData(pDeng->bXia, cLIdx, 0);
28 4 }else{ //确保没有点灯
29 4 // if(GetArrayData(pDeng->bXia, cLIdx) == 1)
30 4 SetArrayData(pDeng->bXia, cLIdx, bVal);
31 4 }
32 3 }
33 2 }
34 1 }
35
36 //说明:该函数实际上仅用于撤销外呼分配
37 void SetOutCallDistribution(uchar cLIdx, uchar updown_flg, uchar bVal)
38 {
39 1 uchar m_cENum = m_pL_Data->cENum;
40 1 uchar i=0;
41 1 E_XiangYing *pXiangYing = 0;
42 1 E_DianTi *pEleData = 0;
43 1
44 1 for(i=0; i<m_cENum; i++){
45 2 pXiangYing = &(m_pE_OutputData->mXiangYing[i]);
46 2 pEleData = &(m_pE_InputData->mDianTi[i]);
47 2 if((updown_flg==D_Up)){ //上呼
48 3 if(bVal==1){
49 4 if(GetArrayData(pEleData->bShangHuKeTing, cLIdx)==1) //该分支永远都不会执行到
50 4 SetArrayData(pXiangYing->bShang, cLIdx, bVal);
51 4 }
52 3 else{ //确保没有点灯
53 4 if(GetArrayData(pXiangYing->bShang, cLIdx) == 1)
54 4 SetArrayData(pXiangYing->bShang, cLIdx, bVal);
55 4 }
C51 COMPILER V6.12 OUTLIGHT 06/05/2005 15:44:44 PAGE 15
56 3 }
57 2 else{ //下呼
58 3 if(bVal==1){
59 4 if(GetArrayData(pEleData->bXiaHuKeTing, cLIdx)==1) //该分支永远都不会执行到
60 4 SetArrayData(pXiangYing->bXia, cLIdx, bVal);
61 4 }
62 3 else{ //确保没有点灯
63 4 if(GetArrayData(pXiangYing->bXia, cLIdx) == 1)
64 4 SetArrayData(pXiangYing->bXia, cLIdx, bVal);
65 4 }
66 3 }
67 2 }
68 1 }
69 //若有一部电梯恰好到达外呼层,顺向,零速信号为1或运行停止信号为0,则撤销外呼点灯
70 uchar IsWithdrawOutLight(uchar cLIdx, uchar updown_flg)
71 {
72 1 uchar m_cENum = m_pL_Data->cENum;
73 1 uchar i=0;
74 1 uchar cCurFloorIdx=0;
75 1 E_XiangYing *pXiangYing = 0;
76 1 E_DianTi *pEleData = 0;
77 1
78 1 for(i=0; i<m_cENum; i++){
79 2 pXiangYing = &(m_pE_OutputData->mXiangYing[i]);
80 2 pEleData = &(m_pE_InputData->mDianTi[i]);
81 2 cCurFloorIdx = pEleData->cDangQianCeng-1;
82 2
83 2 if(e_online[i]==1){
84 3
85 3 if(updown_flg==1){
86 4 if(cCurFloorIdx==cLIdx)
87 4 if((pEleData->FangXiang.bShang==1)&&(pEleData->FangXiang.bXia==0))
88 4 if((pEleData->bLingSuXinHao==1)||(pEleData->bDongOrJing==0)){
89 5 return 1;
90 5 }
91 4 }else{
92 4 if(cCurFloorIdx==cLIdx)
93 4 if((pEleData->FangXiang.bShang==0)&&(pEleData->FangXiang.bXia==1))
94 4 if((pEleData->bLingSuXinHao==1)||(pEleData->bDongOrJing==0)){
95 5 return 1;
96 5 }
97 4 }
98 3
99 3 }
100 2 }
101 1 return 0;
102 1 }
103
104 //2004.11.25 added by LHM循环设置点灯数据(对应三状态切换为正常时的点灯处理)
105 void LoopSetCallLightData(uchar cCalUpLIdx, uchar cCalDownLIdx)
106 {
107 1 uchar m_cENum = m_pL_Data->cENum;
108 1 uchar i=0;
109 1 uchar j=0;
110 1 uchar cVal=0;
111 1 uchar cUpExistFlg=0;
112 1 uchar cDownExistFlg=0;
113 1 for(i=0; i<m_cENum; i++){
114 2 //上呼点灯(若有一个外呼点灯亮,则所有正常梯子外呼灯应全亮)
115 2 if(GetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx) == 1){
116 3 cUpExistFlg=1;
117 3 }
C51 COMPILER V6.12 OUTLIGHT 06/05/2005 15:44:44 PAGE 16
118 2 //下呼点灯(若有一个外呼点灯亮,则所有正常梯子外呼灯应全亮)
119 2 if(GetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx) == 1){
120 3 cDownExistFlg=1;
121 3 }
122 2 }
123 1 for(i=0; i<m_cENum; i++){
124 2 if( (mE_InputData.mDianTi[i].TeBie.bJianXiu==0)&&
125 2 (mE_InputData.mDianTi[i].TeBie.bSuoTi==0)&&
126 2 (mE_InputData.mDianTi[i].TeBie.bXiaoFang==0)){
127 3 if(cUpExistFlg==1){
128 4 SetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx, 1);
129 4 }
130 3 if(cDownExistFlg==1){
131 4 SetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx, 1);
132 4 }
133 3 }else{
134 3 SetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx, 0);
135 3 SetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx, 0);
136 3 }
137 2
138 2 }
139 1 }
C51 COMPILER V6.12 OUTLIGHT 06/05/2005 15:44:44 PAGE 17
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _SetOutCallLight (BEGIN)
0000 900000 R MOV DPTR,#cLIdx
0003 EF MOV A,R7
0004 F0 MOVX @DPTR,A
0005 A3 INC DPTR
0006 ED MOV A,R5
0007 F0 MOVX @DPTR,A
0008 A3 INC DPTR
0009 EB MOV A,R3
000A F0 MOVX @DPTR,A
; SOURCE LINE # 3
; SOURCE LINE # 4
; SOURCE LINE # 5
000B 900000 E MOV DPTR,#m_pL_Data
000E E0 MOVX A,@DPTR
000F FB MOV R3,A
0010 A3 INC DPTR
0011 E0 MOVX A,@DPTR
0012 FA MOV R2,A
0013 A3 INC DPTR
0014 E0 MOVX A,@DPTR
0015 F9 MOV R1,A
0016 900001 MOV DPTR,#01H
0019 120000 E LCALL ?C?CLDOPTR
001C 900000 R MOV DPTR,#m_cENum
001F F0 MOVX @DPTR,A
; SOURCE LINE # 6
0020 E4 CLR A
0021 A3 INC DPTR
0022 F0 MOVX @DPTR,A
; SOURCE LINE # 8
0023 F0 MOVX @DPTR,A
0024 ?C0001:
0024 900000 R MOV DPTR,#m_cENum
0027 E0 MOVX A,@DPTR
0028 FF MOV R7,A
0029 A3 INC DPTR
002A E0 MOVX A,@DPTR
002B FE MOV R6,A
002C C3 CLR C
002D 9F SUBB A,R7
002E 4003 JC $ + 5H
0030 020000 R LJMP ?C0010
; SOURCE LINE # 9
0033 900000 E MOV DPTR,#m_pE_OutputData
0036 E0 MOVX A,@DPTR
0037 FB MOV R3,A
0038 A3 INC DPTR
0039 E0 MOVX A,@DPTR
003A FA MOV R2,A
003B A3 INC DPTR
003C E0 MOVX A,@DPTR
003D 2470 ADD A,#070H
003F F9 MOV R1,A
0040 E4 CLR A
0041 3A ADDC A,R2
0042 FA MOV R2,A
0043 EE MOV A,R6
0044 75F00E MOV B,#0EH
C51 COMPILER V6.12 OUTLIGHT 06/05/2005 15:44:44 PAGE 18
0047 A4 MUL AB
0048 29 ADD A,R1
0049 F9 MOV R1,A
004A EA MOV A,R2
004B 35F0 ADDC A,B
004D FA MOV R2,A
004E 900000 R MOV DPTR,#pDeng
0051 EB MOV A,R3
0052 F0 MOVX @DPTR,A
0053 A3 INC DPTR
0054 EA MOV A,R2
0055 F0 MOVX @DPTR,A
0056 A3 INC DPTR
0057 E9 MOV A,R1
0058 F0 MOVX @DPTR,A
; SOURCE LINE # 10
0059 900000 R MOV DPTR,#i
005C E0 MOVX A,@DPTR
005D 75F06E MOV B,#06EH
0060 A4 MUL AB
0061 FF MOV R7,A
0062 900000 E MOV DPTR,#m_pE_InputData
0065 E0 MOVX A,@DPTR
0066 FB MOV R3,A
0067 A3 INC DPTR
0068 E0 MOVX A,@DPTR
0069 FA MOV R2,A
006A A3 INC DPTR
006B E0 MOVX A,@DPTR
006C 2F ADD A,R7
006D F9 MOV R1,A
006E EA MOV A,R2
006F 35F0 ADDC A,B
0071 FA MOV R2,A
0072 900000 R MOV DPTR,#pEleData
0075 EB MOV A,R3
0076 F0 MOVX @DPTR,A
0077 A3 INC DPTR
0078 EA MOV A,R2
0079 F0 MOVX @DPTR,A
007A A3 INC DPTR
007B E9 MOV A,R1
007C F0 MOVX @DPTR,A
; SOURCE LINE # 11
007D 900000 R MOV DPTR,#updown_flg
0080 E0 MOVX A,@DPTR
0081 6401 XRL A,#01H
0083 703D JNZ ?C0004
; SOURCE LINE # 12
0085 A3 INC DPTR
0086 E0 MOVX A,@DPTR
0087 FF MOV R7,A
0088 B4011A CJNE A,#01H,?C0005
; SOURCE LINE # 14
008B 900000 R MOV DPTR,#pDeng
008E E0 MOVX A,@DPTR
008F FB MOV R3,A
0090 A3 INC DPTR
0091 E0 MOVX A,@DPTR
0092 FA MOV R2,A
0093 A3 INC DPTR
0094 E0 MOVX A,@DPTR
C51 COMPILER V6.12 OUTLIGHT 06/05/2005 15:44:44 PAGE 19
0095 F9 MOV R1,A
0096 900000 R MOV DPTR,#cLIdx
0099 E0 MOVX A,@DPTR
009A FD MOV R5,A
009B 900000 E MOV DPTR,#?_SetArrayData?BYTE+04H
009E EF MOV A,R7
009F F0 MOVX @DPTR,A
00A0 120000 E LCALL _SetArrayData
; SOURCE LINE # 17
00A3 8064 SJMP ?C0003
00A5 ?C0005:
; SOURCE LINE # 19
00A5 900000 R MOV DPTR,#pDeng
00A8 E0 MOVX A,@DPTR
00A9 FB MOV R3,A
00AA A3 INC DPTR
00AB E0 MOVX A,@DPTR
00AC FA MOV R2,A
00AD A3 INC DPTR
00AE E0 MOVX A,@DPTR
00AF F9 MOV R1,A
00B0 900000 R MOV DPTR,#cLIdx
00B3 E0 MOVX A,@DPTR
00B4 FD MOV R5,A
00B5 900000 R MOV DPTR,#bVal
00B8 E0 MOVX A,@DPTR
00B9 900000 E MOV DPTR,#?_SetArrayData?BYTE+04H
00BC F0 MOVX @DPTR,A
00BD 120000 E LCALL _SetArrayData
; SOURCE LINE # 20
; SOURCE LINE # 21
00C0 8047 SJMP ?C0003
00C2 ?C0004:
; SOURCE LINE # 22
; SOURCE LINE # 23
00C2 900000 R MOV DPTR,#bVal
00C5 E0 MOVX A,@DPTR
00C6 FF MOV R7,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -