3377ÌåÓý

ÄúºÃ£¡½Ó´ý»á¼û3377ÌåÓýÍøÕ¾£¡
È«¹úЧÀÍ×ÉѯÈÈÏß:

18030056903

Ä¿½ñλÖãºÊ×Ò³ > ÐÂÎÅÖÐÐÄ > »ùÓÚDelphiµÄ3377ÌåÓýAIÒDZíÉÏλ»ú¿ØÖÆÈí¼þµÄÌåÀý

»ùÓÚDelphiµÄ3377ÌåÓýAIÒDZíÉÏλ»ú¿ØÖÆÈí¼þµÄÌåÀý

¸üÐÂʱ¼ä£º2016-01-22      µã»÷´ÎÊý£º2133

ÖÐÄÏ´óѧÐÅÏ¢¿ÆÑ§Ó빤³ÌѧԺ ×÷ÕߣºÐÜ¿¡

    ÕªÒª£ºÏÃÃÅ3377ÌåÓý¹«Ë¾µÄAIϵÁÐÒDZíÔÚ¹¤ÒµÏÖ³¡Ó¦Óù㷺£¬µ«¹ØÓÚʹÓÃDelphi¿ª·¢AIÒDZíµÄ¼à¿ØÈí¼þµÄ×ÊÁÏÈ´ºÜÉÙ£¬±¾ÎÄÆ¾¾Ý×Ô¼º¶ÔAIÒDZíÉÏλ»ú¼à¿ØÈí¼þµÄ¿ª·¢¾­Àú£¬Ïêϸ½éÉÜÁË»ùÓÚDelphi¿ª·¢AIÒDZíͨÓóÌÐòµÄÀú³Ì£¬ÆäÖаüÀ¨¹ØÓÚAIÒDZíÊý¾ÝµÄ¶ÁдµÄ³ÌÐò½éÉÜÒÔ¼°ÔÚÊý¾Ý¶ÁдÀú³ÌӦעÒâµÄһЩÎÊÌâ¡£

Òªº¦´Ê£ºDelphi AIÒÇ±í ´®ÐÐͨѶ

    ÒýÑÔ£ºÏÃÃÅ3377ÌåÓý¹«Ë¾µÄAIϵÁÐÒDZí¾ßÓй¦Ð§Ç¿´ó£¬²Ù×÷¼òµ¥£¬¿ØÖÆÐÔÄܺõÈÌØµã£¬²¢ÒÑÔÚ¹¤ÒµÏÖ³¡»ñµÃÁ˹㷺µÄÓ¦Óá£È»¶øÒDZíÔÚʵ¼ÊµÄ¹¤ÒµÓ¦ÓÃÖУ¬ÍùÍùÐèÒªÀûÓÃÅÌËã»ú¶ÔÆäËùÊÕÂÞµÄÊý¾Ý½øÐжÁÈ¡¡¢Éú´æ£¬ÒÔ¼°¹ØÓÚÒDZí×ÔÉí²ÎÊý½øÐжÁÈ¡ÓëÉ趨¡£Îª´Ë3377ÌåÓý¹«Ë¾ÎªÓû§ÌṩÁËAIϵÁÐÒDZíµÄ´®ÐÐͨѶ½Ó¿ÚÄ£¿é£¬×°ÖôËÄ£¿éºó£¬Óû§Äܹ»±ãµ±µØÍ¨¹ýÅÌËã»ú232¿ÚʵÏÖÓëÒDZíµÄÊý¾Ý½»»»¡£±¾ÎľÍAI-708PÒDZí×÷Ϊ¹æ·¶£¬Ïêϸ½éÉÜÈçºÎÀûÓÃDelphi¿ª·¢AIϵÁÐÒDZíµÄÉÏλ»ú¼à¿ØÈí¼þ¡£

1£®¾ßÌåʵÏÖ

    AIÒDZíÊÇͨ¹ýÅÌËã»ú´®¿ÚÓëÅÌËã»úÁ¬½ÓµÄ£¬Æä¾ßÓÐ×Ô¼ºµÄ´®ÐÐͨѶЭÒ飬Èí¼þ¿ÉÒÔÆ¾¾Ý´ËͨѶЭÒéʵÏÖ¶ÔÒDZíµÄÊý¾Ý¶ÁÈ¡ÓëÉ趨£¬ÒÔ¼°¶ÔÒDZí״̬µÄ¶ÁÈ¡ÓëÉ趨¡£ÍøÉϹØÓÚAIÒDZíͨѶ³ÌÐòµÄÀý³Ì¶àΪVBÌåÀý£¬²¢ÇÒ³ÌÐò½ÏΪ¼òµ¥£¬¹¦Ð§½ÏΪ¼òµ¥£¬µ¹ÔËÓÚ¶þ´Î¶ÔÒÇ±í½øÐÐÈ«Ãæ¿ª·¢¡£Ôڴ˱ÊÕß×Ô¼ºÕë¶Ô708PÐÍζȿØÖÆÆ÷ÌåÀýÁËÒ»¸öAIÒDZíµÄÉÏλ»ú¼à¿ØÈí¼þÒÔʵÏÖÅÌËã»ú¶ÔAIÒDZí¼à¿Ø¡£±¾ÎÄÆ¾¾Ý×Ô¼ºµÄ¿ª·¢¾­Àú£¬Ïêϸ½éÉÜÁË»ùÓÚdelphi¿ª·¢AIÒDZíÉÏλ»úͨÓóÌÐòµÄ¿ª·¢È«Àú³Ì£¬ÒÔ¼°ÔÚ¿ª·¢Àú³ÌÖÐËùӦעÒâµÄһЩÊÂÏî¡£
1.1³ÌÐò¹¦Ð§½éÉÜ
    ±¾Èí¼þΪAIÒDZíͨÓÃ¼à¿ØÈí¼þ£¬Æä°üÀ¨ÒÔϹ¦Ð§£º
1£® AIÒDZí¼ì²âÓëʶ±ð
2£® AIÒDZí²ÎÊýµÄ¶ÁÈ¡ÓëÉ趨
3£® AIÒDZíµÄ״̬¶ÁÈ¡ÓëÉ趨
ÔÚÏÂÃæ½«¶ÔÒÔÉϹ¦Ð§µÄʵÏÖ×÷ÏàÓ¦½éÉÜ¡£
1.2¹¦Ð§ÊµÏÖ
    ÔÚ¿ª·¢Àú³ÌÖУ¬ÎªÁËËõ¶Ì¿ª·¢ÖÜÆÚ£¬Èí¼þÖÐʹÓÃÁ˵ÚÈý·½¿Ø¼þSPCOMMʵÏÖ´®ÐÐͨѶ¹¦Ð§£¬ËäÈ»Èç¹û¶ÁÕ߸ÐÐËȤ¿ÉÒÔ×Ô¼ºÊµÑéʹÓÃWINDOWS APIº¯Êý×ÔÐÐÌåÀý´Ë¹¦Ð§£¬¹ØÓÚWINDOWS APIº¯ÊýÒÔ¼°¿Ø¼þSPCOMMµÄʹÓÃÒªÁ죬ÔÚ±¾ÎÄÖв»×÷½éÉÜ£¬¶ÁÕß¿ÉÒԲο´Ïà¹Ø×ÊÁÏ¡£ÔÚ½éÉܳÌÐò¹¦Ð§Ç°±ØÐëÏÈ˵Ã÷Á½¸öÀú³Ì£º
    A. ¶ÁÒDZí²ÎÊýÀú³ÌTAI.ReadData(var msg: TMessage)³ÌÐò´úÂëÈçÏ£º
var
NO1,NO2,NO3,NO4,NO5,NO6,NO7,NO8:Cardinal;

s : string;
p : PChar;
begin
NO1 := 128 + msg.WParam;//¹ØÓÚ¶ÁÊý¾ÝÀú³ÌWParamÉú´æÒª¶ÁÒDZíµÄµØµã
NO2 := NO1;
NO3 := 82;
NO4 := msg.LParam; //¹ØÓÚ¶ÁÊý¾ÝÀú³ÌLParamÉú´æÒª¶ÁµÄ²ÎÊýµÄ²ÎÊýµØµã
NO5 := 0;
NO6 := 0;
NO7 := 82 + msg.WParam;
NO8 := msg.LParam; 
s := chr(NO1)+chr(NO2)+chr(NO3)+chr(NO4)+chr(NO5)+chr(NO6)+chr(NO7)+chr(NO8);
p := PChar(s);
Comm1.WriteCommData(p,Length(s));
end;
    B. дÒDZí²ÎÊýÀú³ÌTAI.SetData(var msg: TMessage) ³ÌÐò´úÂëÈçÏ£º
var
NO1,NO2,NO3,NO4,NO5,NO6,NO7,NO8:Integer;

s:string;
p:PChar;
begin
NO1 := 128 + Meter_Addr;// Meter_AddrΪȫ¾Ö±äÁ¿£¬Éú´æÒÇ±íµØµã
NO2 := NO1;
NO3 := 67;
NO4 := msg.WParam;//¹ØÓÚдÀú³ÌWParamÉú´æÒªÐ´²ÎÊýµÄ²ÎÊýµØµã

NO5 := (msg.LParam mod 256);// ¹ØÓÚдÀú³ÌLParamÉú´æÒªÐ´²ÎÊýÖµ
NO6 := (msg.LParam div 256);
NO7 := ((67 + Meter_Addr + msg.LParam + msg.WParam *256) mod 256);
NO8 := ((67 + Meter_Addr + msg.LParam + msg.WParam *256) div 256);
s := chr(NO1)+chr(NO2)+chr(NO3)+chr(NO4)+chr(NO5)+chr(NO6)+chr(NO7)+chr(NO8);
p := PChar(s);
Comm1.WriteCommData(p,Length(s));
end;
    ÔÚ³ÌÐòÖнç˵Á½¸öÏûÏ¢³£Á¿£º
WM_Set = WM_USER + 100
WM_Read = WM_USER + 200
    Í¨¹ý·¢ËÍÒÔÉÏÁ½¸öÏûÏ¢²¢¸½´øÏàÓ¦µÄ²ÎÊý£¬ÊµÏÖ¶ÔÒÔÉÏÁ½¸öÀú³ÌµÄŲÓ㬴ӶøÊµÏÖ¶ÔÏûÏ¢¶ÔÒDZíÊý¾ÝµÄ¶ÁÈ¡ÓëÉ趨¡£ÒÔÉÏÁ½¸öÀú³Ìƾ¾ÝAIÒDZíͨѶЭÒ飬ÅÌËã³öÿһλ·¢Ë͵ÄÊý¾Ý£¬È»ºó×éºÏ³É×Ö·û´®£¬Ò»´ÎÐÔ·¢Ë͸øÒDZí¡£Ã¿¸ö²ÎÊý´ú±íµÄÒâÒå¼û³ÌÐò½âÊÍ¡£
1.2.1 AIÒDZí¼ì²â
    ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÅÌËã»úÍùÍù²»Ö¹Á¬½ÓÒ»¸öÒDZí£¬ËùÒÔÐèÒª¶Ô²î±ðµØµãÒÇ±í½øÐмìË÷ºÍʶ±ð£º
    ¹ØÓÚÒDZí¼ìË÷ÊÇͨ¹ý¶ÔµØµãµÄ±æÊ¶ÊµÏֵģ¬ÀûÓÃAIͨѶЭÒéµÄ¶ÁÐж¯¶ÁÈ¡²î±ðµØµãµÄÒDZíµÄµØµã²ÎÊý£¬Èç¹û´Ëʱ»á·µ»ØÖµ£¬²¢ÇÒÆä¶Á»ØµÄÊý¾ÝÓë·¢ËÍËùÉ趨µÄµØµã±äÁ¿ÖµÏàµÈ£¬ÔòÈ·¶¨¼ìË÷µ½´ËµØµãµÄÒDZí£¬²¢Ìí¼Óµ½ÒDZíÐÐÁÐÖС£
    ¹ØÓÚÒDZíµÄʶ±ð¼´¶ÔÒѱ£´æµÄÒDZíµÄʶ±ðµÄ£¬¼´ÒÇ±í±ØÐëÓÐÆäÃ÷È·ÇÒ¶ÀÁ¢µÄµØµã¡£Ê¶±ðÒDZíÒªº¦ÔÚʶ±ðÒDZíµÄ¶ÎÊý£¨µ¥¶Î»ò¶à¶Î£©£¬¹ØÓÚ²î±ð¶ÎÊýµÄÒDZí£¬ÆäijЩ²ÎÊýµØµãËù¶ÔÓ¦µÄ²ÎÊýÒâÒåÓÐËù²î±ð¡£ÔÚÈí¼þÖÐÊÇͨ¹ý¶Áȡһ¸öÀι̲ÎÊýµØµãµÄÊý¾ÝʵÏֵģ¬ºÃ±È˵£º¹ØÓÚ¶à¶ÎÒDZíÀ´Ëµ£¬¶Áȡijһ¶ÎµÄÊý¾Ýʱ£¨Æä²ÎÊýµØµãͨ³£¶¼»á´óÓÚ25£©£¬ÒDZí»á·µ»ØÏàÓ¦²ÎÊýµØµãµÄ·µ»ØÖµ£¬È»¶ø¹ØÓÚµ¥¶ÎÒDZí£¬Ïò¸ÃµØµã·¢ËÍÊý¾ÝÒÇ±í²¢²»»á×÷Èκη´Ó¦¡£
1.2.2 AIÒDZí²ÎÊý¶ÁÈ¡
    Èí¼þÄܹ»¶ÁÈ¡ÒDZíÄÚËùÓпɶÁÈ¡µÄÊý¾Ý£¬°üÀ¨ÊÕÂÞµÄÊý¾Ý¡¢¿ØÖÆÊý¾ÝÒÔ¼°¶ÔÒDZíµÄÉ趨¡£×Ô¶¯Ê¶±ðСÊýµãλÊý£¬°´ÒDZí±íÅÌÏÔʾ»¨ÑùÏÔʾ¶ÁÈ¡µÄÊý¾Ý¡£¹ØÓÚÒDZíµÄ¶ÁÈ¡Àú³ÌʵÏÖ¿ÉÒԲο´ÒÔÉϵÄReadDataÀú³ÌÒÔ¼°3377ÌåÓýµÄÒDZíͨѶЭÒé¡£ÐèÒªÖ¸³öµÄÊÇÔÚ¶ÁÈ¡Àú³ÌÖÐÐèҪעÒâ¶ÔÄ³Ð©ÌØÊâÊý¾ÝµÄ´¦Àí£¬ÆäÖаüÀ¨Ð¡ÊýµãµÄ´¦ÀíÒÔ¼°¸ºÊýµÄ´¦Àí¡£
A. СÊýµãµÄ´¦Àí
    ÔÚÒDZíÊý¾ÝµÄ¶ÁÈ¡Àú³ÌÖУ¬µ±Äã»ñµÃÁËÒDZíµÄ·µ»ØÊý¾Ýºó£¬±ØÐëÆ¾¾ÝAIͨѶЭÒé¶Ô·µ»ØµÄÊý¾Ý½øÐÐÆÊÎöºÍÅÌËã¡£ÆäÖб£´æÒ»¸öÎÊÌ⣬ͨ¹ýÅÌËãºóÓеÄÊý¾Ý¿ÉÄÜÊÇʵ¼ÊÊý¾ÝµÄ10±¶£¬¶øÓеÄÊý¾Ý¿ÉÄÜÓëʵ¼ÊÊý¾ÝÏàͬ¡£Æ¾¾Ý±ÊÕßµÄÊӲ죬ÔÚÒDZí˵Ã÷ÊéÖÐÔÊÐí´øÐ¡ÊýµãµÄÊý¾Ý¶¼ÐèÒª½øÐÐ10±¶´¦Àí£¬¼´½«·µ»ØÊý¾ÝÅÌËã»ñµÃµÄ½á¹ûÕæºó×÷³ý10ÅÌËã²Å»ª»ñµÃÕýÈ·µÄÊý¾Ý¡£
B. ¸ºÊýµÄ´¦Àí
    ÔÚÒDZíÊý¾ÝµÄ¶ÁÈ¡Àú³ÌÖУ¬ÍùÍù»áÅöµ½¸ºÊýµÄÎÊÌ⣬´Ëʱƾ¾ÝAIͨѶЭÒéÅÌËã»ñµÃµÄÊý¾ÝÍùÍù»áºÜ´ó²¢ÇÒÊýÖµÓëʵ¼ÊÊýÖµ²»·û¡£¹ØÓÚÕâÖÖСÓÚÁãµÄÊý¾ÝÐèÒª½øÐиºÊý´¦Àí¡£¿ÉÊÇÈçºÎʶ±ðÒ»¸ö¸ºÊýÄØ£¿Æäʵ¹ØÓÚ¸ºÊý¶øÑÔ£¬µ±Æä±»¶ÁȡʱÆä¸ßλÍùÍù´óÓÚ127£¬ÓÚÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÅжϸßλÀ´Ê¶±ð¸ºÊý¡£µ±Ê¶±ðµ½¸ºÊýºó£¬ÎÒÃÇÒªÏÔʾÕýÈ·µÄÊý¾Ý¾Í±£´æÒ»¸öת»»£¬´Ó¶þ½øÖÆµÄ½Ç¶ÈÆÊÎö¿ÉÖªÒÇ±í·µ»ØµÄÊý¾ÝµÄ¸ßλµÄzui¸ßλΪ±ê¼Ç룬µ±ÆäΪ0ʱ´ú±íÕýÊý£¬µ±ÆäΪ1ʱ´ú±í¸ºÊý¡£Æ¾¾ÝÒÔÉÏÆÊÎö£¬Èç¹ûÎÒÃÇÐèÒª»ñµÃ¸ºÊýµÄÊýÖµ£¬Ö»Ð轫ÅÌËã³öÀ´µÄÊý¾Ý¼õÈ¥65536¼´¿É¡£
    ÒÔÏÂÊǽÓÊÕÀú³ÌÖеÄһЩ´¦Àí³ÌÐò£º
    ½ÓÊÕÀú³Ì£º
var
p : PChar;
begin
p := Buffer;
bufferΪSPCOMMµÄ½ÓÊÕÀú³ÌÖÐËù½ÓÊÕµ½µÄÊý¾Ý¡£
    ¸ºÊý´¦ÀíÀú³Ì£º 
if (p7>127 then
ReData:=((p6+p7*256)-65536)/10
else
ReData := (p6+p7*256)/10;
p6¡¢p7ÊǽÓÊÕµ½Êý¾ÝµÄµÚ7λºÍµÚ8λµÄת»¯ÎªÕûÊýºóµÄÖµ£¬¿ÉÒÔͨ¹ýp6:=ord(p[6])£¨pΪ½ÓÊÕÀú³ÌÖеÄp£©»ñµÃ¡£Æ¾¾ÝÒÔÉÏÀú³Ì»ñµÃµÄÊý¾ÝReDataÔÙ¾­¹ýСÊýµãÆÊÎö¼°¼´¿É»ñµÃÓëÒDZíÒ»ÖµÄÊý¾Ý¡£
1.2.3 ״̬µÄ¶ÁÈ¡
    ÒDZíµÄ״̬°üÀ¨ÔËÐÐ״̬¼°±¨¾¯×´Ì¬£¬¿ÉÒÔͨ¹ý¶ÁÈ¡ÒDZíµÄµÚ21ºÅ²ÎÊýͬʱ»ñÈ¡¡£
    ¶ÁÈ¡21ºÅ²ÎÊýʱ£¬ÒÇ±í·µ»ØµÄ²ÎÊýÖµÊÇϵͳÒDZíµÄÔËÐÐ״ֵ̬£¬ÓÉÓÚ¸÷¸öλ´ú±íµÄÒDZíÔËÐÐ״̬²î±ð£¬ËùÒÔÐèÒª¶ÔÆä½øÐÐÆÊÎö¡£·µ»ØÊý¾ÝµÄµÚ3λ´ú±íֹͣ룬µÚ2λ´ú±íÔÝͣ룬ÆäÓàµÄ0λºÍ1λ´ú±íÔËÐÐλ¡£Ö»Òª2ºÍ3λ²»Îª1¼´´ú±íÒÇ±í´¦ÓÚÔËÐÐ״̬¡£ËùÒÔµ±ÎÒÃǼì²âÒDZíµÄÔËÐÐ״̬ʱ£¬ÎÒÃÇÖ»ÐèÒª¶ÔÕâЩλ½øÐÐʶ±ð¼´¿É¡£
    ¶ÁÈ¡21ºÅ²ÎÊýʱ£¬ÒDZíͬʱ»á·µ»Ø±¨¾¯×´Ì¬£¬Í¨¹ý¶Ô±¨¾¯×´Ì¬Î»µÄʶ±ð£¬¿ÉÒÔ»ñÈ¡ÒDZíµÄ±¨¾¯×´Ì¬¡£MVÖµµÄ0¡¢1¡¢2¡¢3λ»®·Ö´ú±íÒDZíµÄÉÏÏÞ±¨¾¯¡¢ÏÂÏÞ±¨¾¯¡¢ÕýÆ«²î±¨¾¯¡¢¸ºÆ«²î±¨¾¯×´Ì¬£¬ÆäΪ1ÓÐЧ¡£
1.2.4 ²ÎÊýÉ趨
    ¹ØÓÚ²ÎÊýµÄÉ趨¿ÉÒԲο¼ÒDZíͨѶЭÒéÒÔ¼°Àú³ÌSetData£¬ÆäÐèҪעÒâµÄÊÇÆäÊý¾ÝµÄÅÌË㡢СÊýµã´¦ÀíÒÔ¼°¸ºÊýµÄ´¦Àí¡£Æä´¦Àí·½·¨ÓëÊý¾ÝµÄ¶ÁÈ¡»ùÄÚĻͬ£¬Ôڴ˲»ÔÙÏêϸ½²Ðð¡£

2£®½áÓï

    Í¨¹ýÒÔÉÏÒªÁì¿ÉÒÔʵÏÖÒDZíÓëÅÌËã»úµÄÊý¾Ý½»»»£¬²¢ÇÒ¾ßÓгÌÐò¼òµ¥¡¢Ä£¿é»¯¡¢ÔËÐпɿ¿¡¢¹¦Ð§È«ÃæµÈÌØµã¡£¸Ã³ÌÐòÔ´´úÂëÒѱ»±¾¹«Ë¾¹ã·ºÓ¦ÓÃÓÚAIÒDZíµÄ¹¤ÒµÓ¦ÓÃÈí¼þÖС£

3377ÌåÓý
µØµã£º¸£½¨Ê¡ÏÃÃÅÊÐ»ð¾æ¸ßÐÂÇø»ð¾æ±±Â·17ºÅ3377ÌåÓý¿Æ¼¼´óÏÃ
ÓÊÏ䣺2484289854@qq.com
´«Õ棺86-0592-5651630ת115
¹Ø×¢ÎÒÃÇ
½Ó´ýÄú¹Ø×¢ÎÒÃǵÄ΢ÐÅÃñÖÚºÅÁ˽â¸ü¶àÐÅÏ¢£º
½Ó´ýÄú¹Ø×¢ÎÒÃǵÄ΢ÐÅÃñÖÚºÅ
Á˽â¸ü¶àÐÅÏ¢
ÍøÕ¾µØÍ¼