public static int Encode_Context_Timestamp(ref Byte[] apdu, Byte tag_number, ref BACNET_TIMESTAMP value, int pos)
        {
            int len      = 0; /* length of each encoding */
            int apdu_len = 0;

            len       = Encode_Opening_Tag(ref apdu, tag_number, pos + apdu_len);
            apdu_len += len;
            //timestamp
            len = Encode_Context_Datetime(ref apdu, 2, ref value.value, pos + apdu_len);


            apdu_len += len;
            //
            len       = Encode_Closing_Tag(ref apdu, tag_number, pos + apdu_len);
            apdu_len += len;

            return(apdu_len);
        }
        public static int  Decode_Timestamp(ref Byte[] apdu, ref BACNET_TIMESTAMP value, int pos)
        {
            int    len = 0;
            int    section_len;
            UInt32 len_value_type = 0;

            //  UInt32 sequenceNum=0;
            section_len = Decode_Tag_number_and_Value(ref apdu, ref value.tag, ref len_value_type, pos + len);
            len        += section_len; //此处可能有问题
            switch (value.tag)         //BACNET_TIMESTAMP_TAG
            {
            case 2:
                section_len = Decode_Context_Datetime(ref apdu, 2, ref value.value, pos + len);

                len += section_len;

                break;
            }

            return(len);
        }
Exemplo n.º 3
0
 public int number;                              //编号
 public lift()
 {
     Device_Identifier          = 9527;
     Object_Identifier.type     = (ushort)BACNET_OBJECT_TYPE.BACNET_LIFT;
     Object_Identifier.instance = 0;
     Object_Name           = "test_lift";
     Object_Type           = BACNET_OBJECT_TYPE.BACNET_LIFT;
     Identification_Number = "0";
     Time_Stamps           = new BACNET_TIMESTAMP();
     Service_Mode          = BACnetLiftServiceMode.Normal;
     cov_subcription       = new BACNET_COV_SUBSCRIPTION();
     Car_Status            = 0;
     Car_Direction         = 0;
     Door_Zone             = true;
     Car_Position          = 0;
     Door_Status           = true;
     Passenger_Status      = false;
     Total_Running_Time    = 10;
     Present_Counter_Value = 10;
     Message_Code          = new List <BACnetMessageCode>();
     Message_Code.Add(BACnetMessageCode.Fault_Free);
 }
        public static int  Decode_Context_Timestamp(ref Byte[] apdu, Byte tag_number, ref BACNET_TIMESTAMP value, int pos)
        {
            int len = 0;
            int section_len;

            if (Decode_Is_Opening_Tag_Number(ref apdu, tag_number, pos + len))
            {
                len++;
            }
            section_len = Decode_Timestamp(ref apdu, ref value, pos + len);

            len += section_len;
            if (Decode_Is_Closing_Tag_Number(ref apdu, tag_number, pos + len))
            {
                len++;
            }
            return(len);
        }