package tbDataModel_Dell; import java.math.BigInteger; import java.util.LinkedHashMap; import BaoWen.Dell_55AA03; import Frame.AnchorSet; import Method.GetNowTime; public class ReadPeizhiMessage { /**±£´æÅäÖÃÐÅÏ¢ * @param anchorid»ùÕ¾id * @param gonglv»ùÕ¾¹¦ÂÊ * @param wucha»ùÕ¾Îó²î * @param lvboÂ˲¨²ÎÊý * @param zu×é * @param hzƵÂÊ * @param shangxianͨѶÊýÁ¿ÉÏÏÞ * @param rootanchorͬ²½»ùÕ¾ * @param xuhaoͬ²½»ùÕ¾ÀàÐÍ0ÆÕͨ»ùÕ¾£¬1Ö÷»úÕ¾£¬2ÊÇ´Ó»ùÕ¾*/ public static byte[] save( String anchorid, String gonglv, String wucha, String lvbo, String zu, String hz, String shangxian, String type, String nearnum, String near1, String near2, String near3, String near4, String near5, String near6, String near7, String near8, String near9, String near10, String qiehuan, String initiative, String heart, String rootanchor, String xuhao, String jiaozhungao ) { byte[] data=null; if(Dell_55AA03.isReadpeizhi_succ()) { int[] value=new int[36]; //É豸id 0x4 value[0]=covert(anchorid); //±êǩͨѶ¼ä¸ô 0x6 value[1]=Integer.parseInt(hz); //µ¥´ÎͨѶ»ùÕ¾ÊýÁ¿ÉÏÏÞ value[2]=Integer.parseInt(shangxian); //0xA ͨѶ×éID£¨2Byte£© value[3]=Integer.parseInt(zu); //0xC ¾àÀëУ׼ֵ£¨2Byte£© value[4]=Integer.parseInt(wucha); //0xE Ä£¿éÀàÐÍ£¨2Byte£© value[5]=1; if(type.equals("0")) { value[5]=0; } //0x10 »ùÕ¾Ö÷¶¯²â¾à£¨2Byte£© value[6]=0; if(initiative.equals("1")) { value[6]=1; } //0x12 ±¨¾¯É豸£¨2Byte£© value[7]=0; //0x14 ±¨¾¯¾àÀë1£¨2Byte£© value[8]=Integer.parseInt(qiehuan);; //0x16 ±¨¾¯¾àÀë2£¨2Byte£© value[9]=0; //0x18 ±¨¾¯¾àÀë3£¨2Byte£© value[10]=0; //0x1A Åä¶ÔIDÎÞ×÷Óã¨2Byte£© value[11]=0; //0x1C ÐÄÌø°ü£¨2Byte£© value[12]=0; if(heart.equals("1")) { value[12]=1; } //0x1E Modbusģʽ£¨2Byte£© value[13]=0; value[14]=Integer.parseInt(nearnum); value[15]=covert(near1); value[16]=covert(near2); value[17]=covert(near3); value[18]=covert(near4); value[19]=covert(near5); value[20]=covert(near6); value[21]=covert(near7); value[22]=covert(near8); value[23]=covert(near9); value[24]=covert(near10); //·¢É书ÂÊ value[25]=Integer.parseInt(gonglv); //¼ÓËÙ¶ÈÁéÃô¶È value[26]=2; //ÐÝÃßʱ¼ä value[27]=120; //Õñ¶¯Ê¹ÄÜ value[28]=0; //¼ÓËÙ¶ÈʹÄÜ value[29]=0; //±êǩϷ¢ÅäÖÃ״̬ value[30]=Integer.parseInt(lvbo); //±êǩϷ¢ÅäÖÃID 0x42 value[31]=0; //ͬ²½»ùÕ¾µØÖ· 0x44 value[32]=covert(rootanchor); //ͬ²½ÀàÐÍ0/1/2(0ÆÕͨ»ùÕ¾£¬1Ö÷»úÕ¾£¬2ÊÇ´Ó»ùÕ¾)46 value[33]=Integer.parseInt(xuhao); //µØÖ·48 value[34]=0; //µØÖ·50,ÆøÑ¹¼Æ¸ß¶ÈУ׼ֵ value[35]=Integer.parseInt(jiaozhungao); //±£´æÅäÖÃÐÅÏ¢ data=WriteDatapeiz((byte)0x4,(byte)0x48, value); AnchorSet.jt_area.setText(GetNowTime.now2()+":±£´æÅäÖóɹ¦..."); }else { AnchorSet.jt_area.setText(GetNowTime.now2()+": \n±£´æÅäÖÃʧ°Ü,ÇëÏȶÁÈ¡É豸ÅäÖÃÐÅÏ¢..."); } return data; } /**ÐÞ¸ÄËùÓлùÕ¾*/ public static byte[] alert_all_anchor( String gonglv, String wucha, String lvbo, String zu, String hz, String shangxian, String rootanc, String xuhao ) { int[] value=new int[30]; //±êǩͨѶ¼ä¸ô 0x6 value[0]=Integer.parseInt(hz); //µ¥´ÎͨѶ»ùÕ¾ÊýÁ¿ÉÏÏÞ value[1]=Integer.parseInt(shangxian); //0xA ͨѶ×éID£¨2Byte£© value[2]=Integer.parseInt(zu); //0xC ¾àÀëУ׼ֵ£¨2Byte£© value[3]=Integer.parseInt(wucha); //0xE Ä£¿éÀàÐÍ£¨2Byte£© value[4]=0; //0x10 »ùÕ¾Ö÷¶¯²â¾à£¨2Byte£© value[5]=0; //0x12 ±¨¾¯É豸£¨2Byte£© value[6]=0; //0x14 ±¨¾¯¾àÀë1£¨2Byte£© value[7]=0; //0x16 ±¨¾¯¾àÀë2£¨2Byte£© value[8]=0; //0x18 ±¨¾¯¾àÀë3£¨2Byte£© value[9]=0; //0x1A Åä¶ÔIDÎÞ×÷Óã¨2Byte£© value[10]=0; //0x1C ÐÄÌø°ü£¨2Byte£© value[11]=1; //0x1E Modbusģʽ£¨2Byte£© value[12]=0; value[13]=0; value[14]=0; value[15]=0; value[16]=0; value[17]=0; value[18]=0; value[19]=0; value[20]=0; value[21]=0; value[22]=0; value[23]=0; //·¢É书ÂÊ value[24]=Integer.parseInt(gonglv); //¼ÓËÙ¶ÈÁéÃô¶È value[25]=2; //ÐÝÃßʱ¼ä value[26]=120; //Õñ¶¯Ê¹ÄÜ value[27]=0; //¼ÓËÙ¶ÈʹÄÜ value[28]=0; //Â˲¨²ÎÊý value[29]=Integer.parseInt(lvbo); //±êǩϷ¢ÅäÖÃID value[30]=0; //ͬ²½»ùÕ¾ID value[31]=covert(rootanc); //ͬ²½»ùÕ¾½ÇÉ« value[32]=Integer.parseInt(xuhao); byte[] data=WriteDatapeiz((byte)0x6,(byte)0x3F, value); AnchorSet.jt_area.setText(GetNowTime.now2()+":Ð޸ijÉ..."); return data; } /**д±£´æÅäÖà * @param ref ÆðʼµØÖ· * @param lenth Êý¾Ý³¤¶È * @param value дÈëÖµ*/ public static byte[] WriteDatapeiz(byte ref ,byte lenth,int[] value) { byte[] buf =new byte[9+lenth]; byte[] buf1 =new byte[5+lenth]; //°üÍ· buf[0]=(byte) 0x55; //°üÍ· buf[1]=(byte) 0xAA; //Ö¸ÁîÀàÐÍ buf1[0]=(byte) 0x03; //Êý¾Ý³¤¶È buf1[1]=(byte) ((byte) 5+lenth); //¶Áģʽ buf1[2]=(byte) 0x02; //ÆðʼµØÖ· buf1[3]=(byte) ref; //¶Áд³¤¶È buf1[4]=(byte) lenth; for(int i=0;i> 24)); registers[1] = (byte) (0xff & (v >> 16)); registers[2] = (byte) (0xff & (v >> 8)); registers[3] = (byte) (0xff & v); return registers; } /** * @param: [content] * @return: int * @description: Ê®Áù½øÖÆ×ªÊ®½øÖÆ */ public static int covert(String content){ int number=0; String [] HighLetter = {"A","B","C","D","E","F"}; LinkedHashMap map = new LinkedHashMap<>(); for(int i = 0;i <= 9;i++){ map.put(i+"",i); } for(int j= 10;j> 4) & 0x0F]); hex.append(HEXES[b & 0x0F]); } return hex.toString(); } /**16½øÖÆ×ªÎª10½øÖÆ*/ public static int decodeHEX(String hexs){ BigInteger bigint=new BigInteger(hexs, 16); int numb=bigint.intValue(); return numb; } /**½«10½øÖÆÊý×éתΪ2×Ö½ÚµÄ16½øÖÆÔÚתΪbytÊý×éÊä³ö*/ public static byte[] int_to_Byt(int b) { String a=String.format("%04x", b); final byte[] byteArray = new byte[a.length() / 2]; int k = 0; for (int i = 0; i < byteArray.length; i++) {//ÒòΪÊÇ16½øÖÆ£¬×î¶àÖ»»áÕ¼ÓÃ4λ£¬×ª»»³É×Ö½ÚÐèÒªÁ½¸ö16½øÖƵÄ×Ö·û£¬¸ßλÔÚÏÈ byte high = (byte) (Character.digit(a.charAt(k), 16) & 0xff); byte low = (byte) (Character.digit(a.charAt(k + 1), 16) & 0xff); byteArray[i] = (byte) (high << 4 | low); k += 2; } return byteArray; } /** * 16½øÖƵÄ×Ö·û´®±íʾת³É×Ö½ÚÊý×é * * @param hexString 16½øÖƸñʽµÄ×Ö·û´® * @return ת»»ºóµÄ×Ö½ÚÊý×é **/ public static byte[] toByteArray(String hexString) { hexString = hexString.replaceAll(" ", ""); final byte[] byteArray = new byte[hexString.length() / 2]; int k = 0; for (int i = 0; i < byteArray.length; i++) {//ÒòΪÊÇ16½øÖÆ£¬×î¶àÖ»»áÕ¼ÓÃ4λ£¬×ª»»³É×Ö½ÚÐèÒªÁ½¸ö16½øÖƵÄ×Ö·û£¬¸ßλÔÚÏÈ byte high = (byte) (Character.digit(hexString.charAt(k), 16) & 0xff); byte low = (byte) (Character.digit(hexString.charAt(k + 1), 16) & 0xff); byteArray[i] = (byte) (high << 4 | low); k += 2; } return byteArray; } }