µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

À¥ÂØÍ¨Ì¬½Å±¾¿ª·¢º¯Êý

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/8/26 20:18:17 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

×Ö½ÚÕûÐÍ£¬×Ö½ÚÊý×éλÖüÆÊý´Ó1¿ªÊ¼¡£ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ -3£º×Ö½ÚÊý×鳤¶È²»×ã -4£ºn ²»ÊÇÕûÐͱäÁ¿ -5£ºÆäËû´íÎó

²Î Êý£ºByteArr£¬´«Ö·ÐÍ£¬×Ö½ÚÐÍÊý×é¡£ start£¬ÕûÐÍ£¬Êä³öµÄÊ×λÖ㬴Ó1¿ªÊ¼¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,½âÎö·½Ê½[0£º16λÎÞ·ûºÅ£»1£º16λÓзûºÅ£»2£º16λBCDÂë] ʵ Àý£º! SvrGetByteFromByteArr (BA,2, A£¬1)£¬×Ö½ÚÊý×éΪ£º00 01 02 03 04 05 06 07 08 09 00 00 ÔòA=513¡£

!SvrGetIntFromByteArr(ByRef ByteArr £¬start, ByRef n, Flag)

º¯ÊýÒâÒ壺½«×Ö½ÚÊý×éByteArrÖдÓstartλÖÿªÊ¼µÄÄÚÈÝÊä³öµ½±äÁ¿nÖУ¬Êä³öµÄ¸ñʽΪ4×Ö½ÚÕûÐÍ£¬×Ö½ÚÊý×éλÖüÆÊý´Ó1¿ªÊ¼¡£ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ -3£º×Ö½ÚÊý×鳤¶È²»×ã -4£ºn ²»ÊÇÕûÐͱäÁ¿ -5£ºÆäËû´íÎó

²Î Êý£ºByteArr£¬´«Ö·ÐÍ£¬×Ö½ÚÐÍÊý×é¡£ start£¬ÕûÐÍ£¬Êä³öµÄÊ×λÖ㬴Ó1¿ªÊ¼¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,½âÎö·½Ê½[0£º32λÎÞ·ûºÅ£»1£º32λÓзûºÅ£»2£º32λBCDÂë] ʵ Àý£º! SvrGetIntFromByteArr (BA,2, A£¬1)£¬×Ö½ÚÊý×éΪ£º00 01 02 03 04 05 06 07 08 09 00 00 ÔòA=67305985 ¡£

!SvrGetSingleFromByteArr(ByRef ByteArr £¬start, ByRef x, Flag)

º¯ÊýÒâÒ壺½«×Ö½ÚÊý×éByteArrÖдÓstartλÖÿªÊ¼µÄÄÚÈÝÊä³öµ½±äÁ¿xÖУ¬Êä³öµÄ¸ñʽΪ4×Ö½ÚÊýÖµÐÍ£¬×Ö½ÚÊý×éλÖüÆÊý´Ó1¿ªÊ¼¡£ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££»

СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ -3£º×Ö½ÚÊý×鳤¶È²»×ã -4£ºn ²»ÊǸ¡µãÐͱäÁ¿

-5£ºÆäËû´íÎó

²Î Êý£ºByteArr£¬´«Ö·ÐÍ£¬×Ö½ÚÐÍÊý×é¡£ start£¬ÕûÐÍ£¬Êä³öµÄÊ×λÖ㬴Ó1¿ªÊ¼¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,¶ÔÓ¦4ÖÖ½âÂë´ÎÐò[ÊýÖµ·¶Î§£º0~3]

ʵ Àý£ºSvrGetSingleFromByteArr(BA,1, x£¬3) ×Ö½ÚÊý×éΪ£º00 00 80 40 04 05 06 07 08 09 00 00 ÔòA=4.0¡£

!SvrGetByteFromHexStr(str, ByRef n, Flag)

º¯ÊýÒâÒ壺»ñµÃ½«HEX±íʾµÄ×Ö·ûÊý¾ÝµÄÄÚÈÝÊä³öµ½±äÁ¿xÖУ¬Êä³öµÄ¸ñʽΪ1×Ö½ÚÊýÖµÐÍ£¬´ÓÍ·È¡2¸ö×Ö·ûת»»³ÉÒ»¸ö×Ö½ÚHEXÖµ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£º½âÎö×Ö·û³¤¶È²»×㣬ÖÁÉÙ³¤¶ÈΪ2×Ö·û -2£º½âÎö×Ö·û³¤¶ÈÒ»¶¨ÎªÅ¼Êý¸ö -3£º½âÎö×Ö·û³¤¶È´óÓÚ2¸ö£¬Ö»È¡×ó±ß2×Ö·û½âÎö -4£º±äÁ¿ÀàÐÍ£¬²»ÊÇÕûÐÎ -5£ºÆäËû´íÎó

²Î Êý£ºstr£¬×Ö·ûÊý¾Ý¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,½âÎö·½Ê½[0£º8λÎÞ·ûºÅ£»1£º8λÓзûºÅ£»2£º8λBCDÂë] ʵ Àý£º! SvrGetByteFromHexStr (str£¬n£¬0)£¬strΪ£º¡°0102030405060708¡± Ôòn = 1¡£

!SvrGetShortFromHexStr(str, ByRef n, Flag)

º¯ÊýÒâÒ壺»ñµÃ½«HEX±íʾµÄ×Ö·ûÊý¾ÝµÄÄÚÈÝÊä³öµ½±äÁ¿xÖУ¬Êä³öµÄ¸ñʽΪ2×Ö½ÚÊýÖµÐÍ£¬´ÓÍ·È¡4¸ö×Ö·ûת»»³É2¸ö×Ö½Ú¶ÌÕûÐÍÖµ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£º½âÎö×Ö·û³¤¶È²»×㣬ÖÁÉÙ³¤¶ÈΪ4×Ö·û -2£º½âÎö×Ö·û³¤¶ÈÒ»¶¨ÎªÅ¼Êý¸ö -3£º½âÎö×Ö·û³¤¶È´óÓÚ2¸ö£¬Ö»È¡×ó±ß2×Ö·û½âÎö -4£º±äÁ¿ÀàÐÍ£¬²»ÊÇÕûÐÎ -5£ºÆäËû´íÎó

²Î Êý£ºstr£¬×Ö·ûÊý¾Ý¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,½âÎö·½Ê½[0£º16λÎÞ·ûºÅ£»1£º16λÓзûºÅ£»2£º16λBCDÂë] ʵ Àý£º!SvrGetShortFromHexStr (str£¬n£¬0) strΪ£º¡°0201030405060708¡± Ôòn = 513

!SvrGetIntFromHexStr(str, ByRef n, Flag)

º¯ÊýÒâÒ壺»ñµÃ½«HEX±íʾµÄ×Ö·ûÊý¾ÝµÄÄÚÈÝÊä³öµ½±äÁ¿xÖУ¬Êä³öµÄ¸ñʽΪ4×Ö½ÚÊýÖµÐÍ£¬´ÓÍ·È¡8¸ö×Ö·ûת»»³É4¸ö×Ö½ÚÕûÐÍÖµ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º

0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£º½âÎö×Ö·û³¤¶È²»×㣬ÖÁÉÙ³¤¶ÈΪ8×Ö·û -2£º½âÎö×Ö·û³¤¶ÈÒ»¶¨ÎªÅ¼Êý¸ö -3£º½âÎö×Ö·û³¤¶È´óÓÚ2¸ö£¬Ö»È¡×ó±ß2×Ö·û½âÎö -4£º±äÁ¿ÀàÐÍ£¬²»ÊÇÕûÐÎ -5£ºÆäËû´íÎó

²Î Êý£ºstr£¬×Ö·ûÊý¾Ý¡£ n£¬´«Ö·ÐÍ£¬³¤ÕûÐÍ£»

Flag, ³¤ÕûÐÍ,½âÎö·½Ê½[0£º32λÎÞ·ûºÅ£»1£º32λÓзûºÅ£»2£º32λBCDÂë] ʵ Àý£º! SvrGetIntFromHexStr (str£¬n£¬0)£¬strΪ£º¡°00000201030405060708¡± Ôòn = 513¡£

!SvrGetSingleFromHexStr(str, ByRef x, Flag)

º¯ÊýÒâÒ壺»ñµÃ½«HEX±íʾµÄ×Ö·ûÊý¾ÝµÄÄÚÈÝÊä³öµ½±äÁ¿xÖУ¬Êä³öµÄ¸ñʽΪ4×Ö½ÚÊýÖµÐÍ£¬´ÓÍ·È¡8¸ö×Ö·ûת»»³É4¸ö×Ö½Úµ¥¾«¶È¸¡µãÖµ ·µ »Ø Öµ£ºÕûÐÍ£¬ÅжÏÊÇÊä³öÊÇ·ñÕý³££º 0£º Õý³££» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£º½âÎö×Ö·û³¤¶È²»×㣬ÖÁÉÙ³¤¶ÈΪ8×Ö·û -2£º½âÎö×Ö·û³¤¶ÈÒ»¶¨ÎªÅ¼Êý¸ö -3£º½âÎö×Ö·û³¤¶È´óÓÚ2¸ö£¬Ö»È¡×ó±ß2×Ö·û½âÎö -4£º±äÁ¿ÀàÐÍ£¬²»ÊǸ¡µãÐͱäÁ¿ -5£ºÆäËû´íÎó

²Î Êý£ºstr£¬×Ö·ûÊý¾Ý¡£ x£¬´«Ö·ÐÍ£¬ÊýÖµÐÍ£»

Flag, ³¤ÕûÐÍ,¶ÔÓ¦4ÖÖ½âÂë´ÎÐò[ÊýÖµ·¶Î§£º0~3]¡£ ʵ Àý£º! SvrGetSingleFromHexStr (str£¬x£¬3)£¬strΪ£º¡°000080400102030405060708¡± Ôòx = 4.0¡£

!SvrByteArraySum(ByRef ByteArr£¬start, length)

º¯ÊýÒâÒ壺 ´ÓÊý×éÖÐstartË÷Òý¿ªÊ¼£¬Á¬Ðølength¸ö×Ö½Ú£¬°´ÇóºÍ·½Ê½¼ÆËã·µ»ØÐ£Ñé½á¹û ·µ »Ø Öµ£ºÕûÐÍ£¬·µ»ØÕýÈ·µÄУÑéÖµ/ÅжÏÊÇÊä³öÊÇ·ñÕý³££º >=0£º УÑé½á¹û£» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ -3£ºÐ£ÑéÊý×鳤¶ÈСÓÚµÈÓÚÁã -4£º×Ö½ÚÊý×鳤¶È²»×ã -5£ºÆäËû´íÎó

²Î Êý£ºByteArr£¬´«Ö·ÐÍ£¬×Ö½ÚÐÍÊý×é¡£ start£¬³¤ÕûÐÍ£¬¼ìÑéÊý¾ÝµÄÆôʼ×Ö½ÚÔÚÊý×éÖÐ length, ³¤ÕûÐÍ£¬Á¬ÐøÐ£ÑéÊý¾ÝµÄ¸öÊý

ʵ Àý£ºn = !SvrByteArraySum(ByteArr,1,4) ByteArrΪ£º00 01 02 03 04 05 06 07 Ôòn = 0x06¡£

!SvrStrSum(str£¬Flag)

º¯ÊýÒâÒ壺¶Ô×Ö·û´®str°´ÇóºÍ·½Ê½¼ÆËã·µ»ØÐ£Ñé½á¹û

·µ »Ø Öµ£º×Ö·ûÐÍ£¬·µ»ØÕýÈ·µÄУÑéÖµ/ÅжÏÊÇÊä³öÊÇ·ñÕý³££º ´íÎó·µ»ØÖµ: ¡±-1¡±Ð£Ñé×Ö·û´®³¤¶ÈΪ0 ¡±-2¡±Ð£ÑéµÄ×Ö·û´®³¤¶È±ØÐëΪżÊý ²Î Êý£ºstr£¬×Ö·ûÐÍ£¬ÐèҪУÑéÊý¾Ý Flag£¬³¤ÕûÐÍ£¬0£º°´2¸ö×Ö·ûÐγÉ1BYTE HEXÖµ½øÐÐУÑ飻1£ºÖ±½Ó°´ASCII×Ö·ûÖµ½øÐÐУÑé

ʵ Àý£ºstrRe = !SvrStrSum(str,0), strΪ:\ÔòstrRe = ¡°1C¡±¡£¡£

!SvrByteArrayXOR( ByRef ByteArr£¬start, length)

º¯ÊýÒâÒ壺 ´ÓÊý×éÖÐstartË÷Òý¿ªÊ¼£¬Á¬Ðølength¸ö×Ö½Ú£¬°´Òì»ò·½Ê½¼ÆËã·µ»ØÐ£Ñé½á¹û ·µ »Ø Öµ£ºÕûÐÍ£¬·µ»ØÕýÈ·µÄУÑéÖµ/ÅжÏÊÇÊä³öÊÇ·ñÕý³££º >=0£º УÑé½á¹û£» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ -3£ºÐ£ÑéÊý×鳤¶ÈСÓÚµÈÓÚÁã -4£º×Ö½ÚÊý×鳤¶È²»×ã -5£ºÆäËû´íÎó

²Î Êý£ºByteArr£¬´«Ö·ÐÍ£¬×Ö½ÚÐÍÊý×é¡£ start£¬³¤ÕûÐÍ£¬¼ìÑéÊý¾ÝµÄÆôʼ×Ö½ÚÔÚÊý×éÖÐ length, ³¤ÕûÐÍ£¬Á¬ÐøÐ£ÑéÊý¾ÝµÄ¸öÊý

ʵ Àý£ºn = !SvrByteArraySum(ByteArr,1,4) ByteArrΪ£º00 01 02 03 04 05 06 07Ôòn = 0¡£

!SvrStrXOR(str£¬Flag)

º¯ÊýÒâÒ壺¶Ô×Ö·û´®str°´Òì»ò·½Ê½¼ÆËã·µ»ØÐ£Ñé½á¹û

·µ »Ø Öµ£º×Ö·ûÐÍ£¬·µ»ØÕýÈ·µÄУÑéÖµ/ÅжÏÊÇÊä³öÊÇ·ñÕý³££º ´íÎó·µ»ØÖµ: ¡±-1¡±Ð£Ñé×Ö·û´®³¤¶ÈΪ0 ¡±-2¡±Ð£ÑéµÄ×Ö·û´®³¤¶È±ØÐëΪżÊý ²Î Êý£ºstr£¬×Ö·ûÐÍ£¬ÐèҪУÑéÊý¾Ý Flag£¬³¤ÕûÐÍ£¬0£º°´2¸ö×Ö·ûÐγÉ1BYTE HEXÖµ½øÐÐУÑ飻1£ºÖ±½Ó°´ASCII×Ö·ûÖµ½øÐÐУÑé

ʵ Àý£ºstrRe = !SvrStrSum(str,0) strΪ£º¡°0001020304050607¡±ÔòstrRe = ¡°00¡±¡£

!SvrByteArrayModbusCRC(ByteArr£¬start, length)

º¯ÊýÒâÒ壺 ´ÓÊý×éÖÐstartË÷Òý¿ªÊ¼£¬Á¬Ðølength¸ö×Ö½Ú£¬°´ModbusCRC·½Ê½¼ÆËã·µ»ØÐ£Ñé½á¹û

·µ »Ø Öµ£ºÕûÐÍ£¬·µ»ØÕýÈ·µÄУÑéÖµ/ÅжÏÊÇÊä³öÊÇ·ñÕý³££º >=0£º УÑé½á¹û£» СÓÚ0£º ´íÎ󣬾ßÌåÒâÒåÈçÏÂ: -1£ºÆôʼË÷ÒýstartСÓÚ1 -2£ºÆôʼË÷Òýstart´óÓÚÊý×éÉÏÏÞ

ËÑË÷¸ü¶à¹ØÓÚ£º À¥ÂØÍ¨Ì¬½Å±¾¿ª·¢º¯Êý µÄÎĵµ
À¥ÂØÍ¨Ì¬½Å±¾¿ª·¢º¯Êý.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c3b5q27pg1y5a66i6tl32_8.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top