{------------------------------------------------------------------------------} {µ¥ÔªÃû³Æ£º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.