public Cebora(byte deviceId, TPCANHandle channel, TPCANBaudrate baudrate, TPCANType hwType) { mDeviceId = deviceId; mChannel = channel; mBaudrate = baudrate; mHwType = hwType; mDigitalSignals = new Signal <int>(this); mDigitalSignals["CommunicationReady"] = 0; mDigitalSignals["PowerSourceReady"] = 0; mDigitalSignals["CollisionProtection"] = 0; mDigitalSignals["ProcessActive"] = 0; mDigitalSignals["CurrentFlow"] = 0; mDigitalSignals["ErrorNumber"] = 0; mDigitalSignals["PulseSync"] = 0; mDigitalSignals["PilotArc"] = 0; mDigitalSignals["StickingRemedied"] = 0; mDigitalSignals["WireAvailable"] = 0; mDigitalSignals["MainCurrent"] = 0; mAnalogSignals = new Signal <double>(this); mAnalogSignals["A0"] = 0; // Welding Voltage Measured 0 ~ 100 V. mAnalogSignals["A1"] = 0; // Welding Current Measured 0 ~ 1000 A. mAnalogSignals["A2"] = 0; // Motor Current Measured 0,0 ~ 5.0 A. mAnalogSignals["A3"] = 0; // Wire Feed Speed Actual Value -12,5 ~ +12,5 m/min. mAnalogSignals["A4"] = 0; // Plasma gas flow 0.2 ~ 10.0 l/min. mAnalogSignals["A5"] = 0; // Shield gas flow 5.0 ~ 30.0 l/min. }
public static extern TPCANStatus Initialize( [MarshalAs(UnmanagedType.U1)] TPCANHandle Channel, [MarshalAs(UnmanagedType.U2)] TPCANBaudrate Btr0Btr1, [MarshalAs(UnmanagedType.U1)] TPCANType HwType, UInt32 IOPort, UInt16 Interrupt);
/// <summary> /// 初始化 /// </summary> public void initialize() { m_PcanHandle = PCANBasic.PCAN_USBBUS1; //通道 m_Baudrate = TPCANBaudrate.PCAN_BAUD_500K; //波特率 TPCANStatus result; //状态 result = PCANBasic.Initialize(m_PcanHandle, m_Baudrate); //初始化 if (result == TPCANStatus.PCAN_ERROR_OK) { ConfiguerTraceFile(); } else { throw new Exception("pcanhelper初始化失败"); } }
public TPCANStatus connect(TPCANHandle handler, TPCANBaudrate baudrate, TPCANType type, UInt32 io, UInt16 interrupt) { TPCANStatus stsResult; m_PcanHandle = handler; // Connects a selected PCAN-Basic channel // stsResult = PCANBasic.Initialize( m_PcanHandle, baudrate, type, io, interrupt); readCanTimer = new Timer(50); readCanTimer.Start(); readCanTimer.Elapsed += OnTimedEvent; return stsResult; }
//private void btnInit_Click(object sender, EventArgs e) /* * strBitrate 波特率 * */ private bool PCAN_Init(string strBitrate) { bool bInitRet = false; m_PcanHandle = Convert.ToUInt16("51", 16); m_Baudrate = TPCANBaudrate.PCAN_BAUD_500K; m_HwType = TPCANType.PCAN_TYPE_ISA; TPCANStatus stsResult; // Connects a selected PCAN-Basic channel // if (m_IsFD) { stsResult = PCANBasic.InitializeFD(m_PcanHandle, strBitrate); } else { stsResult = PCANBasic.Initialize( m_PcanHandle, m_Baudrate, m_HwType, 256, // Convert.ToUInt32(strIO, 16), 3); // Convert.ToUInt16(strInterrupt)); } if (stsResult != TPCANStatus.PCAN_ERROR_OK) { if (stsResult != TPCANStatus.PCAN_ERROR_CAUTION) { //MessageBox.Show(GetFormatedError(stsResult)); bInitRet = false; } } else { // Prepares the PCAN-Basic's PCAN-Trace file bInitRet = true; } return(bInitRet); }
public TPCANStatus connect(TPCANHandle handler, TPCANBaudrate baudrate, TPCANType type, UInt32 io, UInt16 interrupt) { TPCANStatus stsResult; m_PcanHandle = handler; // Connects a selected PCAN-Basic channel // stsResult = PCANBasic.Initialize( m_PcanHandle, baudrate, type, io, interrupt); readCanTimer = new Timer(50); readCanTimer.Start(); readCanTimer.Elapsed += OnTimedEvent; return(stsResult); }
internal static Baudrate ToInterfaceBaudrate(TPCANBaudrate baudrate) { switch (baudrate) { case TPCANBaudrate.PCAN_BAUD_1M: return(Baudrate.BR1000K); case TPCANBaudrate.PCAN_BAUD_800K: return(Baudrate.BR800K); case TPCANBaudrate.PCAN_BAUD_500K: return(Baudrate.BR500K); case TPCANBaudrate.PCAN_BAUD_250K: return(Baudrate.BR250K); case TPCANBaudrate.PCAN_BAUD_125K: return(Baudrate.BR125K); case TPCANBaudrate.PCAN_BAUD_100K: return(Baudrate.BR100K); case TPCANBaudrate.PCAN_BAUD_95K: return(Baudrate.BR95K); case TPCANBaudrate.PCAN_BAUD_83K: return(Baudrate.BR83K); case TPCANBaudrate.PCAN_BAUD_50K: return(Baudrate.BR50K); case TPCANBaudrate.PCAN_BAUD_47K: return(Baudrate.BR47K); case TPCANBaudrate.PCAN_BAUD_33K: return(Baudrate.BR33K); case TPCANBaudrate.PCAN_BAUD_20K: return(Baudrate.BR20K); case TPCANBaudrate.PCAN_BAUD_10K: return(Baudrate.BR10K); case TPCANBaudrate.PCAN_BAUD_5K: return(Baudrate.BR5K); default: return(Baudrate.Unsupported); } }
/// <summary> /// Initializes a PCAN Channel /// </summary> /// <param name="Channel">The handle of a PCAN Channel</param> /// <param name="Btr0Btr1">The speed for the communication (BTR0BTR1 code)</param> /// <returns>A TPCANStatus error code</returns> public static TPCANStatus Initialize( TPCANHandle Channel, TPCANBaudrate Btr0Btr1) { return(Initialize(Channel, Btr0Btr1, (TPCANType)0, 0, 0)); }
/// <summary> /// Initializes a PCAN Channel /// </summary> /// <param name="Channel">The handle of a PCAN Channel</param> /// <param name="Btr0Btr1">The speed for the communication (BTR0BTR1 code)</param> /// <returns>A TPCANStatus error code</returns> public static TPCANStatus Initialize( TPCANHandle Channel, TPCANBaudrate Btr0Btr1) { return Initialize(Channel, Btr0Btr1, (TPCANType)0, 0, 0); }
public PeakCan(int p_peak_id, TPCANBaudrate p_baud_rate = TPCANBaudrate.PCAN_BAUD_1M) { TPCANStatus status; uint condition; uint device_id; foreach (TPCANHandle channel in USB_CHANNELS) { status = PCANBasic.GetValue(channel, TPCANParameter.PCAN_CHANNEL_CONDITION, out condition, sizeof(UInt32)); if (status == TPCANStatus.PCAN_ERROR_OK && (condition & PCANBasic.PCAN_CHANNEL_AVAILABLE) == PCANBasic.PCAN_CHANNEL_AVAILABLE) { status = PCANBasic.Initialize(channel, p_baud_rate); if (status == TPCANStatus.PCAN_ERROR_OK) { status = PCANBasic.GetValue(channel, TPCANParameter.PCAN_DEVICE_NUMBER, out device_id, sizeof(UInt32)); if (status == TPCANStatus.PCAN_ERROR_OK && device_id == p_peak_id) { m_sock = channel; } PCANBasic.Uninitialize(channel); } } } if (m_sock == 0) { throw new Exception($"PEAK CAN USB adapt with id 0x{p_peak_id:X} not found"); } else { status = PCANBasic.Initialize(m_sock, p_baud_rate); if (status != TPCANStatus.PCAN_ERROR_OK) { throw new Exception($"Error initializing CAN with id 0x{p_peak_id:X}"); } status = PCANBasic.Reset(m_sock); if (status != TPCANStatus.PCAN_ERROR_OK) { throw new Exception(GetFormatedError(status)); } uint numeric_buffer = PCANBasic.PCAN_PARAMETER_ON; status = PCANBasic.SetValue(m_sock, TPCANParameter.PCAN_RECEIVE_EVENT, ref numeric_buffer, sizeof(UInt32)); if (status != TPCANStatus.PCAN_ERROR_OK) { throw new Exception(GetFormatedError(status)); } status = PCANBasic.GetStatus(m_sock); if (status != TPCANStatus.PCAN_ERROR_OK) { throw new Exception(GetFormatedError(status)); } } m_queue_rx = new BlockingCollection <TPCANMsg>(); m_queue_tx = new BlockingCollection <TPCANMsg>(); m_thread_stop = false; m_thread_rx = new Thread(new ThreadStart(ReadRawFrame)); m_thread_rx.IsBackground = true; m_thread_rx.Start(); m_thread_tx = new Thread(new ThreadStart(WriteRawFrame)); m_thread_tx.IsBackground = true; m_thread_tx.Start(); }
//SET BAUD RATE WHEN USER CHANGE THE SELECTION private void cbBaudRate_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (cbBaudRate.SelectedIndex) { case 0: m_Baudrate = TPCANBaudrate.PCAN_BAUD_1M; break; case 1: m_Baudrate = TPCANBaudrate.PCAN_BAUD_800K; break; case 2: m_Baudrate = TPCANBaudrate.PCAN_BAUD_500K; break; case 3: m_Baudrate = TPCANBaudrate.PCAN_BAUD_250K; break; case 4: m_Baudrate = TPCANBaudrate.PCAN_BAUD_125K; break; case 5: m_Baudrate = TPCANBaudrate.PCAN_BAUD_100K; break; case 6: m_Baudrate = TPCANBaudrate.PCAN_BAUD_95K; break; case 7: m_Baudrate = TPCANBaudrate.PCAN_BAUD_83K; break; case 8: m_Baudrate = TPCANBaudrate.PCAN_BAUD_50K; break; case 9: m_Baudrate = TPCANBaudrate.PCAN_BAUD_47K; break; case 10: m_Baudrate = TPCANBaudrate.PCAN_BAUD_33K; break; case 11: m_Baudrate = TPCANBaudrate.PCAN_BAUD_20K; break; case 12: m_Baudrate = TPCANBaudrate.PCAN_BAUD_10K; break; case 13: m_Baudrate = TPCANBaudrate.PCAN_BAUD_5K; break; } }
static public void SetBaudRate(TPCANBaudrate eBaudrate) { m_Baudrate = eBaudrate; }
/// <summary> /// Initializes a PCAN Channel. /// </summary> /// <param name="Channel">The handle of a PCAN Channel.</param> /// <param name="Btr0Btr1">The speed for the communication (BTR0BTR1 code).</param> /// <returns>A TPCANStatus error code.</returns> public static TPCANStatus Initialize(ushort Channel, TPCANBaudrate Btr0Btr1) { return(Initialize(Channel, Btr0Btr1, 0, 0, 0)); }
public static extern TPCANStatus Initialize( [MarshalAs(UnmanagedType.U2)] ushort Channel, [MarshalAs(UnmanagedType.U2)] TPCANBaudrate Btr0Btr1, [MarshalAs(UnmanagedType.U1)] TPCANType HwType, uint IOPort, ushort Interrupt);
/// <summary> /// reconnect with giving speed /// </summary> /// <param name="x"></param> public void reconnect(int x = (int)TPCANBaudrate.PCAN_BAUD_125K) { disconnect(); m_Baudrate = (TPCANBaudrate)x; reConnect(); }