HP\李良庭
2025-07-08 868daf94f29ce1ffdd799a68c07bb668cd373bcd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
{------------------------------------------------------------------------------}
{µ¥ÔªÃû³Æ£ºGlobal.pas                                                          }
{Ä£¿éÃû³Æ£ºÈ«¾Ö¹«¹²±äÁ¿¼¯                                                      }
{Ä£¿é˵Ã÷£º°üÀ¨È«¾Ö±äÁ¿¡¢È«¾Öºê¶¨Òå¡¢²ÎÊýÊý¾Ý½á¹¹µÈ                            }
{½¨Á¢ÈÕÆÚ£º2009-12-20                                                          }
{ÐÞ¸ÄÐ޸ģº2025-07-03                                                          }
{°æÈ¨ËùÓУºÀîÁ¼Í¥ liangtingli@outlook.com                                      }
{------------------------------------------------------------------------------}
//2024-10-14 Ôö¼ÓgmmdataÊý¾Ý¿â£¬ÓÃÀ´´æ´¢×Ô¶¯¼ì²âºÍÊÖ¶¯¼ì²âµÄËùÓÐÊý¾Ý¡£
//2025-07-03 Ôö¼Ó1024X768¡¢1024X600·Ö±æÂÊ×ÔÊÊÓ¦¹¦ÄÜ¡£
 
unit Global;
 
interface
 
uses
  Windows;
 
  {¶¨ÒåÈ«¾Ö³£Á¿}
const
  NOTE = '¾¯¸æ£º±¾¼ÆËã»ú³ÌÐòÊÜÖø×÷Ȩ·¨ºÍ¼ÆËã»úÈí¼þ±£»¤ÌõÀý±£»¤£¬Î´¾­ÊÚȨÉÃ'
        +'×Ô¸´ÖÆ»ò´«²¥±¾³ÌÐòµÄ²¿·Ö»òÈ«²¿£¬¿ÉÄÜÊܵ½ÑÏÀ÷µÄÃñʼ°ÐÌÊÂÖÆ²Ã£¬²¢'
        +'½«ÔÚ·¨ÂÉÐí¿ÉµÄ·¶Î§ÄÚÊܵ½×î´ó¿ÉÄܵįðËß¡£';
 
  CONFIG_DIR = 'config\';                             {ÅäÖÃÎļþ¼Ð}
  DATA_DIR = 'data\';                                 {Êý¾ÝÎļþ¼Ð}
  LOG_DIR = 'log\';                                   {ÈÕÖ¾Îļþ¼Ð}
  LOG_FILE = 'log4me.ini';                            {ÈÕÖ¾ÅäÖÃÎļþ}
  LICENSE_FILE = 'License.lic';                       {ÊÚȨÎļþ}
  sConfig = 'Config.db';                              {ÅäÖÃÎļþ}
 
  //configÅäÖÃÈ«¾Ö±äÁ¿
  t_Config = 'config';                                {ÅäÖÃÊý¾Ý¿â-ÒÇÆ÷²ÎÊý}
  t_Conn   = 'conn';                                  {ÅäÖÃÊý¾Ý¿â-ͨѶ²ÎÊý}
  t_Grain  = 'grain';                                 {ÅäÖÃÊý¾Ý¿â-Á¸ÖÖ²ÎÊý}
  //t_Test   = 'test';                                {¼ì²âÊý¾Ý¿â-¼ì²â½á¹û}
  t_Data   = 'data';                                  {¼ì²âÊý¾Ý¿â-×Ô¶¯ºÍÊÖ¶¯¼ì²â½á¹û}
  t_Weight = 'weight';                                {ÖØÁ¿Ð£×¼Êý¾Ý¿â}
  t_Manager = 'manager';                              {µÇ¼¿ÚÁîÊý¾Ý¿â}
 
  //ö¾ÙÔËÐÐģʽ
type RunMode = (rmAuto, rmManual);                    //×Ô¶¯Ä£Ê½=0£¬ÊÖ¶¯Ä£Ê½=1
 
//Ǥ¼ñϵͳÅäÖòÎÊý
type
  TPlcRec = Record
    ip        : string;     //IPµØÖ·
    port      : integer;    //ÍøÂç¶Ë¿Ú
    heart_ip   : string;     //ÐÄÌøip
    heart_port : Integer;    //ÐÄÌø¶Ë¿Ú
end;
 
//WRÅäÖòÎÊý
type
  TWrRec = Record
    SerialPort  : string;
    baud        : integer;
    parity      : char;
    data_bit    : integer;
    stop_bit    : integer;
end;
 
//config²ÎÊý
type
  TConfigRec = Record
    Volume      : double;   //Ìå»ý
    Tare        : double;   //Æ¤ÖØ
 
    Freq        : double;   //ƵÂÊÂë
    Decay       : double;   //Ë¥¼õÂë
    Ask         : integer;  //ASKÑ¡Ôñ
 
    StartFreq   : double;   //ÆðʼƵÂÊ
    StopFreq    : double;   //ÖÕֹƵÂÊ
    Step        : Integer;  //²½³¤
 
    delay       : Integer;  //¿ª»úÑÓ³Ùʱ¼äs
    password    : string;   //ÊÖ¶¯Ä£Ê½µÇ¼¿ÚÁî
end;
 
//Á¸ÖÖÐÅÏ¢²ÎÊý
type
  TGrainRec = Record
    Code        : Integer;  //Ò»¼¶´úÂë
    No          : string;   //±àÂë
    Name        : string;   //Ãû³Æ
    Coef        : array [0..4] of string; //У׼ϵÊý
    Intercept   : string;   //½Ø¾à
    flag        : boolean;  //ÊÇ·ñ´óÀà
end;
 
//²É¼¯Êý¾Ý¸ñʽ
type
  TDacRec = Record
    Voltage     : double;   //µçѹ
    Weight      : double;   //ÖØÁ¿
    Temp        : double;   //ζÈ
    Humid       : double;   //ʪ¶È
end;
 
//ÖØÁ¿Ð£×¼¸ñʽ
type
  TWeighgRec = Record
    //ϵÊý
    k           : double;  //y=kx+b
    b           : double;
    tare        : double;  //ȥƤ
    range       : double;  //¡ÀÎó²î·¶Î§
 
    //У׼
    test1       : double;
    test2       : double;
    test3       : double;
    std1        : double;
    std2        : double;
    std3        : double;
end;
 
//²âÊÔÑù±¾´æ´¢½á¹¹
type
  TSampleRec = Record
    flag        : boolean;   //×Ô¶¯±£´æ±êÖ¾
    info        : string;    //Ñù±¾ÐÅÏ¢
    prefix      : string;    //ÎļþÃûǰ׺
    dir         : string;    //´æ´¢Ä¿Â¼
end;
 
  {¶¨ÒåÈ«¾Ö±äÁ¿}
//------------------------------------------------------------------------------
var
  CompanyName:String;                                 {¹«Ë¾Ãû³Æ}
  FileDescription:String;                             {˵Ã÷}
  FileVersion:String;                                 {Îļþ°æ±¾}
  InternalName:String;                                {ÄÚ²¿Ãû³Æ}
  LegalCopyright:String;                              {°æÈ¨}
  LegalTrademarks:String;                             {ºÏ·¨É̱ê}
  OriginalFilename:String;                            {Ô´ÎļþÃû}
  ProductName:String;                                 {²úÆ·Ãû³Æ}
  ProductVersion:String;                              {²úÆ·°æ±¾}
  Comments:String;                                    {±¸×¢}
  //°æ±¾ÐÅϢרÓÃÊý×é
  glVerInfo:array[1..9] of string=('ProductName',     //²úÆ·Ãû³Æ
                                   'ProductVersion',  //²úÆ·°æ±¾
                                   'FileDescription', //Îļþ˵Ã÷
                                   'LegalCopyright',  //°æÈ¨
                                   'FileVersion',     //Îļþ°æ±¾
                                   'CompanyName',     //¹«Ë¾Ãû³Æ £¨ÎÞ£©
                                            'LegalTradeMarks', //ºÏ·¨É̱ê
                                   'InternalName',    //ÄÚ²¿Ãû³Æ£¨ÎÞ£©
                                   'OriginalFileName');//Ô´ÎļþÃû£¨ÎÞ£©
 
  //°æ±¾ÐÅÏ¢
  glProductName, glProductVersion, glFileDescription, glLegalCopyright, glInternalName,
  glFileVersion, glCompanyName, glLegalTrademarks, glOriginalFilename:string;
 
  //½çÃæÏÔʾ°æ±¾ºÍ°æÈ¨
  glVersion, glCopyright, glAppPath : String;
 
  //´ÓÊÚȨÎļþ½âÎö»úÆ÷Â룬ÊÚȨÆÚÏÞ£¬×¢²áÀàÐÍ£¬ÃÜÔ¿£¬Ãܼ¶µÈÐÅÏ¢
  sDESMachineCode,sDESDate,sDESType,sDESKey,sDESLevel:string;
  //×¢²áÊÇ·ñ³É¹¦±êÖ¾
  glRegSuccess : Boolean;
 
  //È«¾Öxml±äÁ¿
  cfg : TConfigRec;
 
  //È«¾ÖÊý¾Ý¿âÃû
  glConfig_db, glConn_db, glGrain_db, glData_db, glWeight_db, glManager_db : String;
 
  //È«¾Ö±äÁ¿
  glCalcOutput : String;      //¼ÆËãÆ÷·µ»ØÖµ
  glCurrFocus : Integer;      //µ±Ç°ÊäÈëµÄ½¹µã±àºÅ
  glStartTest : Int64;        //¿ªÊ¼¼ì²âµÄʱ¼ä--ºÁÃë
  glAutoRun   : Boolean;      //È«¾Ö×ÔÆô¶¯±êÖ¾
  glTime1, glTime2 : Integer; //Ï·¢Á¸ÖÖʱ¼ä£¬¼ì²âʱ¼ä£¨ÑÓʱ£©
 
  glMsgPos  : TPoint;         //Êó±êµ±Ç°¾ø¶Ô×ø±ê
 
  PlcConn   : TPlcRec;        //Ǥ¼ñϵͳͨѶ²ÎÊý
  WrConn    : TWrRec;         //Ë®·ÖÒÇͨѶ²ÎÊý
  SysConfig : TConfigRec;     //ϵͳ²ÎÊý
  Grain     : TGrainRec;      //Á¸ÖÖ²ÎÊý£¨º¬Ð£×¼ÏµÊý£©
  Datas     : TDacRec;        //²É¼¯Êý¾Ý
  Wg        : TWeighgRec;     //ÖØÁ¿Ð£×¼²ÎÊý
 
  //----È«¾ÖÒµÎñ±äÁ¿-------------
  glCoef : array [0..4] of Double;
 
  //Ï߳̾ä±ú
  m_TestThread, m_ManTestThread, m_VerifyThread : THandle;
  m_GrainThread, m_InterceptThread, m_ResetThread : THandle;
 
  //Ñ¡ÔñÁ¸ÖÖÏ̱߳êÖ¾£¬1-ÊÖ¶¯¼ì²â£»2-ÊÖ¶¯Ð£×¼
  s_Grain : Integer;
 
  //µ±Ç°Ñ¡ÖеÄÁ¸ÖÖIndex
  glCurrIndex : Integer;
  
  //É豸¾ä±ú
  hPlcDev, hWrDev : Pointer;
  glConn_err : Integer;           //Á¬½ÓÉ豸´íÎóÂë
  glBtnTag, glBtnTag1 : Integer;  //°´Å¥index
  glWg_k, glWg_b : double;        //È«¾ÖÁÙÊ±ÖØÁ¿ÏµÊý
 
  //µ÷ÊÔ¿ª¹Ø
  glIsDebug : Boolean;          //ϵͳµ÷ÊÔ¿ª¹Ø
 
  //Êý¾Ý´æ´¢
  smp : TSampleRec;             //Êý¾ÝÑù±¾½á¹¹
 
  //ÊÖд×é¼þÈ«¾Ö±äÁ¿
  glInkOutput : String;
 
  //ÊäÈë¶Ô»°¿òÈ«¾Ö±äÁ¿
  glInput : String;         //Á¸ÖÖÃû³Æ
  //glInputCod : Integer;     //´óÀàcod
  //glInputCodnam : String;   //´óÀànam
  GrainType_rec : TGrainRec;//Á¸ÖÖ´óÀàrec
 
  //¹©Ï̻߳ص÷º¯ÊýʹÓÃ
  gl_t_mos : Double;                        //¼ÆËã³öÀ´µÄº¬Ë®ÂÊ
  gl_t_cod, gl_t_val, gl_t_err : Integer;   //Á¸ÖÖ´úÂë
  gl_log_old, gl_log_new : String;          //·ÀÖ¹ÈÕÖ¾ÖØ¸´Êä³ö
 
  //·Ö±æÂÊÀàÐÍ
  gl_display_type : Integer;                //0-×î´ó·Ö±æÂÊ£¬1-1024X768£¬2-1024X600£¬3-ÆäËû
 
implementation
 
end.