示例#1
0
        //创建PCI1752更新输出及输出状态回读类的实例
        /// <summary>
        /// 创建PCI1752更新输出及输出状态回读类的实例
        /// </summary>
        /// <param name="TargetDeviceNumber">目标PCI1752设备卡号</param>
        /// <param name="DLLPassword">使用此DLL的密码</param>
        public PCI1752(int TargetDeviceNumber, string DLLPassword)
        // Automation.BDaq.AccessMode TargetAccessMode,<param name="TargetAccessMode">访问模式</param>
        {
            SuccessBuiltNew   = false;
            PasswordIsCorrect = false;

            try
            {
                if (TargetDeviceNumber < 0)
                {
                    MessageBox.Show("'TargetDeviceNumber'设备卡号不能小于0,请改为正确参数。",
                                    "参数错误");
                    return;
                }

                //if (TargetAccessMode == AccessMode.ModeRead)
                //    {
                //    ReadOnlyFlag = true;
                //    }
                //else
                //    {
                //    ReadOnlyFlag = false;
                //    }

                //ErrCode = Automation.BDaq.BDaqDevice.Open(TargetDeviceNumber,
                //    TargetAccessMode, out TargetDevice);

                ErrCode = BDaqDevice.Open(TargetDeviceNumber,
                                          AccessMode.ModeWriteWithReset, out TargetDevice);

                if (ErrCode == ErrorCode.Success)
                {
                    ErrCode = TargetDevice.GetModule(0, out TargetDOCard);
                    if (ErrCode == ErrorCode.Success)
                    {
                        TempDeviceNumber    = TargetDeviceNumber;
                        SuccessBuiltNew     = true;
                        NeedFormControlFlag = false;
                    }
                    else
                    {
                        SuccessBuiltNew = false;
                        return;
                    }
                }
                else
                {
                    SuccessBuiltNew = false;
                    return;
                }
            }
            catch (Exception ex)
            {
                SuccessBuiltNew = false;
                MessageBox.Show("创建类的实例时出现错误!\r\n" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
        //创建PCI1754更新输入类的实例
        /// <summary>
        /// 创建PCI1754更新输入类的实例
        /// </summary>
        /// <param name="TargetDeviceNumber">目标PCI1754设备卡号</param>
        /// <param name="DLLPassword">使用此DLL的密码</param>
        public PCI1754(int TargetDeviceNumber, string DLLPassword)
            {
            SuccessBuiltNew = false;
            PasswordIsCorrect = false;
            try
                {
                if (DLLPassword == "ThomasPeng" || (DLLPassword == "pengdongnan") 
                    || (DLLPassword == "彭东南"))
                    {
                    PasswordIsCorrect = true;

                    if (TargetDeviceNumber < 0) 
                        {
                        MessageBox.Show("'TargetDeviceNumber'设备卡号不能小于0,请改为正确参数。",
                            "参数错误");
                        return;
                        }

                    ErrCode = Automation.BDaq.BDaqDevice.Open(TargetDeviceNumber,
                        AccessMode.ModeWriteWithReset, out TargetDevice);

                    if (ErrCode == ErrorCode.Success)
                        {
                        ErrCode = TargetDevice.GetModule(0, out TargetDICard);
                        if (ErrCode == ErrorCode.Success)
                            {
                            TempDeviceNumber = TargetDeviceNumber;
                            SuccessBuiltNew = true;
                            NeedFormControlFlag = false;
                            }
                        else 
                            {
                            SuccessBuiltNew = false;
                            return;
                            }
                        }
                    else 
                        {
                        SuccessBuiltNew = false;
                        return;
                        }
                    }
                else
                    {
                    PasswordIsCorrect = false;
                    SuccessBuiltNew = false;
                    MessageBox.Show("Right Prohibited.\return\n     You don't have the given right to use this DLL library, please contact with ThomasPeng.\r\n你未得到授权的密码,无法使用此DLL进行软件开发!请与作者彭东南联系:[email protected]\r\n                                                                版权所有: 彭东南", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                    }
                }
            catch (Exception ex)
                {
                SuccessBuiltNew = false;
                MessageBox.Show("创建类的实例时出现错误!\r\n" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
                }            
            }
示例#3
0
        //创建PCI1754更新输入类的实例
        /// <summary>
        /// 创建PCI1754更新输入类的实例
        /// </summary>
        /// <param name="TargetDeviceNumber">目标PCI1754设备卡号</param>
        /// <param name="DLLPassword">使用此DLL的密码</param>
        public PCI1754(int TargetDeviceNumber)
        {
            SuccessBuiltNew = false;
            try
            {
                if (TargetDeviceNumber < 0)
                {
                    MessageBox.Show("'TargetDeviceNumber'设备卡号不能小于0,请改为正确参数。",
                                    "参数错误");
                    return;
                }

                ErrCode = BDaqDevice.Open(TargetDeviceNumber,
                                          AccessMode.ModeWriteWithReset, out TargetDevice);

                if (ErrCode == ErrorCode.Success)
                {
                    ErrCode = TargetDevice.GetModule(0, out TargetDICard);
                    if (ErrCode == ErrorCode.Success)
                    {
                        TempDeviceNumber    = TargetDeviceNumber;
                        SuccessBuiltNew     = true;
                        NeedFormControlFlag = false;
                    }
                    else
                    {
                        SuccessBuiltNew = false;
                        return;
                    }
                }
                else
                {
                    SuccessBuiltNew = false;
                    return;
                }
            }
            catch (Exception ex)
            {
                SuccessBuiltNew = false;
                MessageBox.Show("创建类的实例时出现错误!\r\n" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }
示例#4
0
        override public bool Init(HardWareInfoBase infoHardWare)
        {
            AdvanceInputInfo hardWareInfo = (AdvanceInputInfo)infoHardWare;

            iCardNo = hardWareInfo.iCardNo;
            ErrorCode ret;

            try
            {
                ret = BDaqDevice.Open(iCardNo, AccessMode.ModeWriteWithReset, out m_device);
                if (ErrorCode.Success == ret)
                {
                    ret = m_device.GetModule(0, out m_dio);
                    if (ErrorCode.Success == ret)
                    {
                        bInitOK = true;
                    }
                    else
                    {
                        bInitOK = false;
                        return(false);
                    }
                }
                else
                {
                    bInitOK = false;
                    return(false);
                }
            }
            catch
            {
                bInitOK = false;
                return(false);
            }

            System.Threading.Thread threadScan = new System.Threading.Thread(ScanThreadFunction);
            threadScan.IsBackground = true;
            threadScan.Start();
            return(true);
        }