Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.naic.edu/~phil/hardware/vertex/sharemegsvertex/lcu/pcr/user/v2_0d/PUTMCS.LST
Дата изменения: Tue Mar 6 22:39:17 2001
Дата индексирования: Thu Jan 15 14:13:00 2009
Кодировка:

Поисковые слова: m 103


CP581 PAGE 1
putmcs 12-30-99
17:48:04

Line# Source Line Microsoft C Compiler Version 6.00A

1 /******************************************************************/
2 /* */
3 /* VERTEX ANTENNENTECHNIK GMBH, DUISBURG, GERMANY */
4 /* */
5 /* NAME: L. VAN DER HORST */
6 /* DATE: 28.06.1997 */
7 /* VERSION: 1.5 */
8 /* */
9 /******************************************************************/
10 /* */
11 /* PUTMCS.C */
12 /* DATA BLOCK FROM LCU TO THE MCS */
13 /* */
14 /******************************************************************/
15 #ifdef SUN
16 #include
17 #endif
18 #include /* HEADER-DATEI aus MICROSOFT C */
19 #include /* HEADER-DATEI aus MICROSOFT C */
20 #include /* HEADER-DATEI aus MICROSOFT C */
21 #include /* HEADER-DATEI aus MICROSOFT C */
22 #include /* HEADER-DATEI aus MICROSOFT C */
23 #include /* HEADER-DATEI aus MICROSOFT C */
24 #include /* HEADER-DATEI aus MICROSOFT C */
25 #include "netzwerk.h"
26 #include"prog.h"
27 #include "extern.c"
28 #ifndef SUN
29 #pragma check_stack (off)
30 #endif
31 void putmcs(int nr)
32 {
33 int k;
34 int ipt;
35 unsigned int *pint; /* to move badtm data*/
36
37 switch(nr)
38 {
39 /* Response to Commands
*/
40 case 1:
41 dat1.header_no = 0x3e54543c; /* Header Number */
42 dat1.header_lg = 0x2000; /* Header Length */
43 dat1.msg_id = 0x0600; /* Message ID Number */
44 dat1.seq_no = seq_no; /* Sequence Number */
45 dat1.cmd_respon = cmd_respon; /* Command response */
46 dat1.cmd_status = cmd_status; /* Command Status *
/
47 dat1.gen_stat = (dat2.gen_stat&0x4000) | gestdr; /* ()
*/
48 /* General status drive Cab.*/
49 dat1.time_day = time_plc; /* Time in ms of day */
50 dat1.phiist[0] = m_pos[0]; /* Measured position */
51 dat1.phiist[1] = m_pos[1];
52 dat1.phiist[2] = m_pos[2];
53


CP581 PAGE 2
putmcs 12-30-99
17:48:04

Line# Source Line Microsoft C Compiler Version 6.00A

54 putb = (char *)&dat1.header_no;
55 netwrite (putb,32);
56 track_fl = 0; /* Set Tracking Flag to zero */
57 break;
58
59 /* Monitor Data
*/
60 case 2:
61 dat2.header_no = 0x3e54543c; /* Header Number */
62 dat2.header_lg = 0x3200; /* Header length */
63 dat2.msg_id = 0x0700; /* Message ID number */
64 dat2.time_day = time_plc; /* Time in ms of day */
65 dat2.time_offs = paramet[3]; /* Time offset in ms */
66 ipt = prtrst;
67 dreh2((char*)&ipt);
68 if ((ipt > pt_count) || ((ipt == pt_count) && (pt_watch == 1)))

69 ipt = ipt - pt_count;
70 else
71 ipt = 128- (pt_count-ipt);
72
73 dreh2((char*)&ipt);
74 dat2.prtr_ptr = ipt; /* Prtr. stack pointer */
75 dat2.gen_stat = (dat2.gen_stat&0x4000) | gestdr;/* ()
*/
76 /* General status drive Cab.*/
77 dat2.mode_az = (stat1[0]&0xff40) |
78 (mode_sel[0]&0x00ff); /* Mode az */
79 if ((stat1[0] & 0x0001) == 0x0001)
80 dat2.mode_az = ((dat2.mode_az & 0xfff0) | 0x0001);/* > () */
81 dat2.stat_az = stat1[2]; /* General status AZ */
82 dat2.mode_gd = (stat1[6]&0xff40) |
83 (mode_sel[2]&0x00ff); /* Mode GD */
84 if ((stat1[6] & 0x0001) == 0x0001)
85 dat2.mode_gd = ((dat2.mode_gd & 0xfff0) | 0x0001);/* 1> () */
86 dat2.stat_gd = stat1[8]; /* General status GD */
87 dat2.mode_ch = (stat1[12]&0xff40) |
88 (mode_sel[4]&0x00ff); /* Mode CH */
89 if ((stat1[12] & 0x0001) == 0x0001)
90 dat2.mode_ch = ((dat2.mode_ch & 0xfff0) | 0x0001);/* 1> () */
91 dat2.stat_ch = stat1[14]; /* General status CH */
92 dat2.speed[0] = m_rate[0]; /* Measured rate */
93 dat2.speed[1] = m_rate[1];
94 dat2.speed[2] = m_rate[2];
95 dat2.phiist[0] = m_pos[0]; /* Measured position */
96 dat2.phiist[1] = m_pos[1];
97 dat2.phiist[2] = m_pos[2];
98 event_no = event_no & 0x0002;
99 putb = (char*)&dat2.header_no;
100 netwrite (putb,50);
101 break;
102
103 case 3: /* Full Monitor Data */


CP581 PAGE 3
putmcs 12-30-99
17:48:04

Line# Source Line Microsoft C Compiler Version 6.00A

104 /* -----------------------------*/
105 dat3.header_no = 0x3e54543c; /* Header number */
106 dat3.header_lg = 0xca00; /* Header length */
107 dat3.msg_id = 0x0800; /* Message ID Number */
108 dat3.time_day = time_ms; /* Time in ms of day */
109 dat3.stat[0] = stat1[1]; /* Status Axes */
110 dat3.stat[1] = stat1[3]; /* Status Axes */
111 dat3.stat[2] = stat1[4]; /* Status Axes */
112 dat3.stat[3] = stat1[5]; /* Status Axes */
113 dat3.stat[4] = stat1[7]; /* Status Axes */
114 dat3.stat[5] = stat1[9]; /* Status Axes */
115 dat3.stat[6] = stat1[10]; /* Status Axes */
116 dat3.stat[7] = stat1[11]; /* Status Axes */
117 dat3.stat[8] = stat1[13]; /* Status Axes */
118 dat3.stat[9] = stat1[15]; /* Status Axes */
119 dat3.stat[10] = stat1[16]; /* Status Axes */
120 dat3.stat[11] = stat1[17]; /* Status Axes */
121 dat3.phiist1[0] = m_pos[3]; /* Position Encoder AZ */
122 dat3.phiist1[1] = m_pos[4]; /* Position Encoder AZ */
123 dat3.phiist1[2] = m_pos[1]; /* Position Encoder GD */
124 dat3.phiist1[3] = m_pos[2]; /* Position Encoder CH */
125 for (k = 0;k<18;k++)
126 dat3.torque[k] = m_torque[k]; /* Torque Axes */
127 for (k = 0;k<10;k++)
128 dat3.inp_stat[k] = inp_stat[k]; /* Input Status Bytes */
129 for (k = 0; k<12;k++)
130 dat3.out_stat[k] = out_stat[k]; /* Output Status Bytes */
131 /* pjp003 last 12 bytes (6 ints are badtm struct */
132 pint=(unsigned int*)&badTm;
133 for (k=6;k<12;k++) dat3.out_stat[k]=*pint++;
134 if (badTm.logFlag != 0) memset(&badTm,0,sizeof(badTm));
135
136 dat3.setpoint[0] = setpoint[0];
137 dat3.setpoint[1] = setpoint[1];
138 dat3.setpoint[2] = setpoint[2];
139 for (k = 0;k<8;k++)
140 dat3.ana_out[k] = anaout[k]; /* Analog Output */
141 for (k = 0;k<6;k++)
142 dat3.limit[k] = pos_lim[k]; /* Travel Limits */
143 dat3.offset[0] = paramet[0]; /* Encoder Corrections */
144 dat3.offset[1] = paramet[1]; /* Encoder Corrections */
145 dat3.offset[2] = paramet[2]; /* Encoder Corrections */
146 dat3.time_out = paramet1; /* Host Time Out */
147 dat3.time_rst = time_rs; /* Time Counter after Reset */
148 event_no = event_no & 0x0001;
149 putb = (char*)&dat3.header_no;
150 netwrite (putb,202);
151 break;
152
153 case 4: dat4.header_no = 0x3e54543c; /* Header Number */
154 dat4.header_lg = 0x1a00; /* Header Length */
155 dat4.msg_id = 0x0900; /* Message ID Number */
156 dat4.offset[0] = paramet[0]; /* Encoder corretions */
157 dat4.offset[1] = paramet[1]; /* Encoder corretions */
158 dat4.offset[2] = paramet[2]; /* Encoder corretions */
159 dat4.time_out = paramet1; /* Host Time Out */


CP581 PAGE 4
putmcs 12-30-99
17:48:04

Line# Source Line Microsoft C Compiler Version 6.00A

160 dat4.time_offs = paramet[3]; /* Time Offset Prtr. */
161 putb = (char*)&dat4.header_no;
162 netwrite (putb,26);
163 break;
164
165 case 5: dat5.header_no = 0x3e54543c; /* Header Number */
166 dat5.header_lg = 0x0a00; /* Header Length */
167 dat5.msg_id = 0x0a00; /* Message ID Number */
168 dat5.class = class; /* Event Class */
169 putb = (char*)&dat5.header_no;
170 netwrite (putb,10);
171 break;
172
173 }
174 return;
175 }


putmcs Local Symbols

Name Class Type Size Offset Register

ipt . . . . . . . . . . . auto -0008
k . . . . . . . . . . . . auto -0006
pint. . . . . . . . . . . auto -0004
nr. . . . . . . . . . . . param 0006


Global Symbols

Name Class Type Size Offset

ad. . . . . . . . . . . . common struct/array 10 ***
alarm . . . . . . . . . . common int 2 ***
anaout. . . . . . . . . . extern struct/array 16 ***
badTm . . . . . . . . . . extern struct/array 12 ***
buffer. . . . . . . . . . common far pointer 4 ***
class . . . . . . . . . . extern int 2 ***
cmd_respon. . . . . . . . extern unsigned int 2 ***
cmd_status. . . . . . . . extern unsigned int 2 ***
dat1. . . . . . . . . . . extern struct/array 32 ***
dat2. . . . . . . . . . . extern struct/array 50 ***
dat3. . . . . . . . . . . extern struct/array 202 ***
dat4. . . . . . . . . . . extern struct/array 26 ***
dat5. . . . . . . . . . . extern struct/array 10 ***
dreh2 . . . . . . . . . . extern far function *** ***
event_no. . . . . . . . . extern int 2 ***
gestdr. . . . . . . . . . extern unsigned int 2 ***
inp_stat. . . . . . . . . extern struct/array 20 ***
lese. . . . . . . . . . . common struct/array 526 ***
m_pos . . . . . . . . . . extern struct/array 20 ***
m_rate. . . . . . . . . . extern struct/array 14 ***
m_torque. . . . . . . . . extern struct/array 36 ***
mode_sel. . . . . . . . . extern struct/array 12 ***
netwrite. . . . . . . . . extern far function *** ***
out_stat. . . . . . . . . extern struct/array 24 ***


CP581 PAGE 5
putmcs 12-30-99
17:48:04

Microsoft C Compiler Version 6.00A


Global Symbols

Name Class Type Size Offset

paramet . . . . . . . . . extern struct/array 24 ***
paramet1. . . . . . . . . extern int 2 ***
pos_lim . . . . . . . . . extern struct/array 24 ***
prtrst. . . . . . . . . . extern int 2 ***
pt_count. . . . . . . . . extern int 2 ***
pt_watch. . . . . . . . . extern int 2 ***
putb. . . . . . . . . . . extern far pointer 4 ***
putmcs. . . . . . . . . . global far function *** 0000
seq_no. . . . . . . . . . extern unsigned int 2 ***
setpoint. . . . . . . . . extern struct/array 12 ***
stat1 . . . . . . . . . . extern struct/array 36 ***
time_ms . . . . . . . . . extern long 4 ***
time_plc. . . . . . . . . extern long 4 ***
time_rs . . . . . . . . . extern long 4 ***
track_fl. . . . . . . . . extern unsigned char 1 ***

Code size = 0804 (2052)
Data size = 0040 (64)
Bss size = 0000 (0)

No errors detected