3377ÌåÓý

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

18030056903

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

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

¸üÐÂʱ¼ä£º2017-10-09      µã»÷´ÎÊý£º2467

ÏÃÃÅ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ÌåÀý £¬²¢ÇÒ³ÌÐò½ÏΪ¼òµ¥ £¬¹¦Ð§½ÏΪ¼òµ¥ £¬µ¹ÔËÓÚ¶þ´Î¶ÔÒDZí½øÐÐÈ«Ã濪·¢ ¡£Ôڴ˱ÊÕß×Ô¼ºÕë¶Ô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Ϊȫ¾Ö±äÁ¿ £¬Éú´æÒDZíµØµã
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í½øÐмìË÷ºÍʶ±ð£º
    ¹ØÓÚÒDZí¼ìË÷ÊÇͨ¹ý¶ÔµØµãµÄ±æʶʵÏÖµÄ £¬ÀûÓÃAIͨѶЭÒéµÄ¶ÁÐж¯¶ÁÈ¡²î±ðµØµãµÄÒDZíµÄµØµã²ÎÊý £¬Èç¹û´Ëʱ»á·µ»ØÖµ £¬²¢ÇÒÆä¶Á»ØµÄÊý¾ÝÓë·¢ËÍËùÉ趨µÄµØµã±äÁ¿ÖµÏàµÈ £¬ÔòÈ·¶¨¼ìË÷µ½´ËµØµãµÄÒ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íͨѶЭÒé ¡£ÐèÒªÖ¸³öµÄÊÇÔÚ¶ÁÈ¡Àú³ÌÖÐÐèҪעÒâ¶ÔijЩÌØÊâÊý¾ÝµÄ´¦Àí £¬ÆäÖаüÀ¨Ð¡ÊýµãµÄ´¦ÀíÒÔ¼°¸ºÊýµÄ´¦Àí ¡£
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
¹Ø×¢ÎÒÃÇ
½Ó´ýÄú¹Ø×¢ÎÒÃǵÄ΢ÐÅÃñÖÚºÅÁ˽â¸ü¶àÐÅÏ¢£º
½Ó´ýÄú¹Ø×¢ÎÒÃǵÄ΢ÐÅÃñÖÚºÅ
Á˽â¸ü¶àÐÅÏ¢
ÍøÕ¾µØͼ
ÓÑÇéÁ´½Ó£ºag×ðÁúƽ̨  ¿­·¢K8Æì½¢Ìü  AGÆì½¢Ìü  918²©ÌìÌÃapp  918²«ÌìÌà ÈËÉú¾ÍÊDz©  pgµç×Ó  BevictorΤµÂ  yd2333Ôƶ¥µç×ÓÓÎÏ·  K8¿­·¢¹ÙÍø  ¿­·¢K8Æì½¢Ìü  ±ØÍþbetway  qyÇòÓÑ»áÌåÓý  Å¦Ô¼¹ú¼Ê588888  bbin±¦Ó¯