private void Form1_Load(object sender, EventArgs e) { BackgroundColor.SelectedItem = Enum.GetValues(typeof(Index_Colours)); SegmentsNO.SelectedItem = Enum.GetValues(typeof(Segments)); RunlightColor.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit1.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit2.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit3.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit4.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit5.SelectedItem = Enum.GetValues(typeof(Index_Colours)); clsIOLUDPIF20.eError result = clsIOLUDPIF20.eError.OK; tbMessages.Text = ""; //Read DLL Info clsIOLUDPIF20.clsDllInfo DLLInfo = new clsIOLUDPIF20.clsDllInfo(); WriteInfo("Info about IOLUDPIF20.DLL:"); WriteInfo(" Revision of C DLL: " + DLLInfo.C_DLL_Version); WriteInfo(" Revision of .NET DLL: " + DLLInfo.NET_DLL_Version); WriteInfo(""); //search on UDP Masters clsIOLUDPIF20.clsUDPIOLMaster[] IOLMList = BNI005H.GetUDPMaster(); if (IOLMList.Length == 0) //jezeli nie wyszuka urzadzen { result = clsIOLUDPIF20.eError.DEVICE_NOT_AVAILABLE; goto RError; } // IOLM = IOLMList[0]; //laczy do pierwszego wyszukanego mastera Profinet/EthernetIP -> mozna by dac Combobox for (int i = 0; i < IOLMList.Length; i++) { avaliablemasters.Items.Add(IOLMList[i].Name); } return; // Obsluga bledow RError: //label if (result == clsIOLUDPIF20.eError.DEVICE_NOT_AVAILABLE) { MessageBox.Show("Error Message: " + result.ToString() + "\r\n" + "Maybe the device is not existing, or the firewall blocks the communication" + "\r\n" + "Please ensure either the UDP communication or attach the network device" + "\r\n" + "and start the program again", "Critical Warning"); } else { MessageBox.Show("Error Message: " + result.ToString(), "Critical Warning"); Environment.Exit(0); } }
private void timer1_Tick(object sender, EventArgs e) // cykliczny odczyt informacji z urzadzenia IOLINK { timer1.Enabled = false; clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].IOL_ReadInputs(); /* * if (result == clsIOLUDPIF20.eError.INTERNAL_ERROR) * { * MessageBox.Show("Connection lost to the connected UDP IO-Link Master", "Critical Warning"); * Environment.Exit(0); * } * * textBox2.Text = BNI005H.Utils.GetHexStringFromBytes(ref IOLM.Port[ActivePort].Inputs.Data); * */ if (IOLM.Port[ActivePort].DeviceState.EventAvailable) { // lista eventow wypluwanych przez urzadzenie IOLINK IOLM.LastEvent.IOL_ReadEvent(ref IOLM.Port[ActivePort].DeviceState); Write("Event: Port=" + IOLM.LastEvent.Port + " Instance=" + IOLM.LastEvent.Instance + " Type=" + IOLM.LastEvent.Type + " Mode=" + IOLM.LastEvent.Mode + " Code=" + IOLM.LastEvent.EventCode); } result = IOLM.Port[ActivePort].IOL_ReadOutputs(); // tHex2Dec.Text = Convert.ToInt32(textBox2.Text).ToString(); timer1.Enabled = true; }
private void ActivatePort(int pActivePort) { // TPortConfiguration portConfig = new TPortConfiguration(); // ConfigurePort(ref portConfig); ActivePort = pActivePort; IOLM.Port[ActivePort].Configuration.Clear(); IOLM.Port[ActivePort].Configuration.ConfiguredMode = clsIOLUDPIF20.eConfiguredMode.IOLINK_OPERATE; IOLM.Port[ActivePort].Configuration.InputLength = 0x00; IOLM.Port[ActivePort].Configuration.OutputLength = 0x04; clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].Configuration.IOL_SetPortConfig(); if (result != clsIOLUDPIF20.eError.OK) { goto ActivateError; } //Wait some time for master detecting the device System.Threading.Thread.Sleep(5000); GetDeviceInfo(ref IOLM, ActivePort); timer1.Enabled = true; return; ActivateError: MessageBox.Show("Error Message: " + result, "Critical Warning"); }
private void trackBar6_Scroll(object sender, EventArgs e) { double value = LevelSlider.Value; ushort ushvalue = (ushort)value; byte[] Outputs = BNI005H.Utils.GetBytesFromTextHex(ushvalue.ToString("X")); Outputs.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 0); // Outputs.CopyTo(IOLM.Port[ActivePort].Outputs.Data, IOLM.Port[ActivePort].Configuration.OutputLength); clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].IOL_WriteOutputs(); // value.ToString() = BNI005H.Utils.GetHexStringFromBytes(ref Outputs); //textbox3.Text = ushvalue.ToString(); //textbox4.Text = ushvalue.ToString("X"); }
private void Stopbutton_Click(object sender, EventArgs e) { timer2.Stop(); i = 0; TimeValue.Text = null; TimeValue.ReadOnly = false; TimeValue_countdown.Visible = false; TimeValue_countdown.Text = null; TimeValue.Visible = true; TimeValue.ReadOnly = false; Startbutton.Enabled = true; byte[] Outputs = BNI005H.Utils.GetBytesFromTextHex("0"); Outputs.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 0); clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].IOL_WriteOutputs(); }
private void Form3_Load(object sender, EventArgs e) { BackgroundColor.SelectedItem = Enum.GetValues(typeof(Index_Colours)); SegmentsNO.SelectedItem = Enum.GetValues(typeof(Segments)); RunlightColor.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit1.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit2.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit3.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit4.SelectedItem = Enum.GetValues(typeof(Index_Colours)); LevelLimit5.SelectedItem = Enum.GetValues(typeof(Index_Colours)); clsIOLUDPIF20.eError result = clsIOLUDPIF20.eError.OK; //tbMessages.Text = ""; clsIOLUDPIF20.clsUDPIOLMaster[] IOLMList = BNI005H.GetUDPMaster(); if (IOLMList.Length == 0) //jezeli nie wyszuka urzadzen { result = clsIOLUDPIF20.eError.DEVICE_NOT_AVAILABLE; goto RError; } IOLM = IOLMList[0]; RError: //label if (result == clsIOLUDPIF20.eError.DEVICE_NOT_AVAILABLE) { MessageBox.Show("Error Message: " + result.ToString() + "\r\n" + "Maybe the device is not existing, or the firewall blocks the communication" + "\r\n" + "Please ensure either the UDP communication or attach the network device" + "\r\n" + "and start the program again", "Critical Warning"); } else { MessageBox.Show("Error Message: " + result.ToString(), "Critical Warning"); Environment.Exit(0); } }
public void ISDU_IOLINK_CHANGE(int index, int subindex, int value) { byte[] data = BNI005H.Utils.GetBytesFromTextHex(value.ToString()); byte[] dataarray = new byte[ISDU_IOLINK_READ(index, subindex)]; switch (ISDU_IOLINK_READ(index, subindex)) { case 1: dataarray[0] = data[0]; break; case 2: dataarray[0] = 0; dataarray[1] = data[0]; break; } // dataarray[1] = (byte)value; int ErrorCode = 0; clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].IOL_WriteReq(Convert.ToInt32(index.ToString()), Convert.ToInt32(subindex.ToString()), ref dataarray, ref ErrorCode); }
private void timer2_Tick(object sender, EventArgs e) { // double value = ((double.Parse(TimeValue.Text)))*60; string[] arr = TimeValue.Text.Split(':'); double hours = double.Parse(arr[0].ToString()) * 3600; double mins = double.Parse(arr[1].ToString()) * 60; double seconds = double.Parse(arr[2].ToString()); double value = hours + mins + seconds; ushort ushvalue = (ushort)value; ushort ushOut; double OUT; double OUTmax = 255.0; double INmax = value; TimeValue_countdown.Text = value.ToString(); double value_countdown = ((double.Parse(TimeValue_countdown.Text))); if (value_countdown > i) { value_countdown = value_countdown - i; TimeSpan time = TimeSpan.FromSeconds(value_countdown); TimeValue_countdown.Text = time.ToString(@"hh\:mm\:ss"); i = i + 1; } else if (value_countdown == i) /// do sprawdzenia !!!! { double valuedominantred = 2; ISDU_IOLINK_CHANGE(68, 0, (int)valuedominantred); byte[] Outputsfinish = BNI005H.Utils.GetBytesFromTextHex("0XFF"); Outputsfinish.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 0); clsIOLUDPIF20.eError resultfinish = IOLM.Port[ActivePort].IOL_WriteOutputs(); } else { timer2.Stop(); TimeValue_countdown.Visible = false; TimeValue.Visible = true; TimeValue.ReadOnly = false; i = 0; TimeValue.Text = null; } if (value_countdown == 120) { timer3.Start(); ushort ushBuzzin = 0x80; byte[] Outputs120 = BNI005H.Utils.GetBytesFromTextHex(ushBuzzin.ToString("X")); Outputs120.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result120 = IOLM.Port[ActivePort].IOL_WriteOutputs(); timer3.Stop(); } if (value_countdown == 119) { timer3.Start(); ushort ushBuzzout = 0x00; byte[] Outputs119 = BNI005H.Utils.GetBytesFromTextHex(ushBuzzout.ToString("X")); Outputs119.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result119 = IOLM.Port[ActivePort].IOL_WriteOutputs(); timer3.Stop(); } if (value_countdown == 6) { ushort ushBuzz = 0x80; byte[] Outputs120 = BNI005H.Utils.GetBytesFromTextHex(ushBuzz.ToString("X")); Outputs120.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result120 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } if (value_countdown == 5) { ushort ushBuzzout = 0x00; byte[] Outputs121 = BNI005H.Utils.GetBytesFromTextHex(ushBuzzout.ToString("X")); Outputs121.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result121 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } if (value_countdown == 4) { ushort ushBuzz = 0x80; byte[] Outputs120 = BNI005H.Utils.GetBytesFromTextHex(ushBuzz.ToString("X")); Outputs120.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result120 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } if (value_countdown == 3) { ushort ushBuzzout = 0x00; byte[] Outputs121 = BNI005H.Utils.GetBytesFromTextHex(ushBuzzout.ToString("X")); Outputs121.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result121 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } if (value_countdown == 2) { ushort ushBuzz = 0x80; byte[] Outputs120 = BNI005H.Utils.GetBytesFromTextHex(ushBuzz.ToString("X")); Outputs120.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result120 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } if (value_countdown == 1) { ushort ushBuzzout = 0x00; byte[] Outputs121 = BNI005H.Utils.GetBytesFromTextHex(ushBuzzout.ToString("X")); Outputs121.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 2); clsIOLUDPIF20.eError result121 = IOLM.Port[ActivePort].IOL_WriteOutputs(); } OUT = (OUTmax / (INmax)) * i; ushOut = (ushort)OUT; byte[] Outputs = BNI005H.Utils.GetBytesFromTextHex(ushOut.ToString("X")); Outputs.CopyTo(IOLM.Port[ActivePort].Outputs.Data, 0); clsIOLUDPIF20.eError result = IOLM.Port[ActivePort].IOL_WriteOutputs(); }