Esempio n. 1
0
 //读参数结构体初始化函数
 public static void R_Struct_Inital(ref S7_READ_PARA R_Struct, String Mvar_name)
 {
     R_Struct.access      = S7_ACCESS_SYMB_ADDRESS;
     R_Struct.var_name    = Mvar_name;
     R_Struct.index       = 0;
     R_Struct.subindex    = 0;
     R_Struct.address_len = 0;
     R_Struct.address     = null;
 }
Esempio n. 2
0
        /// <summary>
        /// 接收数据,如果返回nomesssge 则不会对value_ptr进行修改
        /// </summary>
        /// <param name="cp_descr"></param>
        /// <param name="cref"></param>
        /// <param name="orderid"></param>
        /// <param name="read_para"></param>
        /// <param name="value_ptr"></param>
        /// <returns></returns>
        public static int Receive(UInt32 cp_descr, UInt16 cref, UInt16 orderid, ref S7_READ_PARA read_para, Byte[] value_ptr)
        {
            int    ret;
            UInt16 value_length = (UInt16)value_ptr.Length;
            IntPtr NULL_PTR     = new IntPtr();
            UInt16 result       = 0;

            ret = s7_receive(cp_descr, ref cref, ref orderid);
            switch (ret)
            {
            case S7_NO_MSG:
                break;

            case S7_INITIATE_CNF:
                s7_get_initiate_cnf();
                break;

            case S7_READ_CNF:
                s7_get_read_cnf(NULL_PTR, ref value_length, value_ptr);
                //          S7_read_req(cp_descr, cref, orderid, ref read_para);
                break;

            case S7_WRITE_CNF:
                s7_get_write_cnf();
                break;

            case S7_MULTIPLE_READ_CNF:
                break;

            case S7_MULTIPLE_WRITE_CNF:
                s7_get_multiple_write_cnf(ref result);
                break;

            case S7_ABORT_IND:
                s7_get_abort_ind();
                break;

            default:
                break;
            }
            return(ret);
        }
Esempio n. 3
0
 public static extern int s7_read_req(UInt32 cp_descr, UInt16 cref, UInt16 orderid, ref S7_READ_PARA read_para);