private void radioButton1_CheckedChanged(object sender, EventArgs e) { //if(radioButton1.Checked == true) //{ // masterData_.transformMode = 0; //} //else //{ // masterData_.transformMode = 1; //} LocalPLC.Base.xml.DataManageBase baseData = null; UC.getDataManager(ref baseData); try { if (baseData.serialDic[comboBox_transform_channel.SelectedItem.ToString()].dataBit != 8 && radioButton1.Checked == true) { MessageBox.Show("RTU模式下,串口的数据位不能为7"); comboBox_transform_channel.SelectedIndex = -1; } } catch { } }
void initBackOriginal() { LocalPLC.Base.xml.DataManageBase dataManage = null; LocalPLC.UserControl1.UC.getDataManager(ref dataManage); comboBox_BackOriginal.Items.Clear(); comboBox_ZPulseSignal.Items.Clear(); foreach (var di in dataManage.diList) { if (!di.used) { comboBox_BackOriginal.Items.Add(di.channelName); comboBox_ZPulseSignal.Items.Add(di.channelName); } } comboBox_BackOriginal.Text = data.axisMotionPara.backOriginal.orginInputSignal; comboBox_ZPulseSignal.Text = data.axisMotionPara.backOriginal.ZPulseSignal; levelDic.Clear(); levelDic.Add((int)TypeLevel.HIGH_LEVEL, "高电平有效"); levelDic.Add((int)TypeLevel.LOW_LEVEL, "低电平有效"); comboBox_BackOriginalSelectLevel.Items.Clear(); foreach (var level in levelDic) { comboBox_BackOriginalSelectLevel.Items.Add(level.Value); } comboBox_BackOriginalSelectLevel.SelectedIndex = data.axisMotionPara.backOriginal.selectLevel; }
private void comboBox_transform_channel_SelectedIndexChanged(object sender, EventArgs e) { LocalPLC.ModbusServer.DataManager servermanage = null; serverdata.getservermanage(ref servermanage); LocalPLC.Base.xml.DataManageBase baseData = null; UC.getDataManager(ref baseData); try { for (int i = 0; i < mastermanage.modbusMastrList.Count; i++) { if (comboBox_transform_channel.SelectedItem.ToString() == mastermanage.modbusMastrList[i].transformChannel && i != MID) { comboBox_transform_channel.SelectedIndex = -1; MessageBox.Show("该传输通道已被占用,请选择其他通道"); } } for (int j = 0; j < servermanage.listServer.Count; j++) { if (servermanage.listServer[j].dataDevice_.transformportdescribe == comboBox_transform_channel.SelectedItem.ToString()) { comboBox_transform_channel.SelectedIndex = -1; MessageBox.Show("该传输通道已被server占用,请选择其他通道"); } } if (baseData.serialDic[comboBox_transform_channel.SelectedItem.ToString()].dataBit != 8 && radioButton1.Checked == true) { MessageBox.Show("RTU模式下,串口的数据位不能为7"); comboBox_transform_channel.SelectedIndex = -1; } } catch { return; } }
void getPTOFromHSP(ref List <string> list) { LocalPLC.Base.xml.DataManageBase dataManage = null; UserControl1.UC.getDataManager(ref dataManage); foreach (var hsp in dataManage.hspList) { if (hsp.used && hsp.type == (int)LocalPLC.Base.UserControlHighOutput.TYPE.PTO) { // list.Add(hsp.name); } } }
void initLimitSignal() { LocalPLC.Base.xml.DataManageBase dataManage = null; LocalPLC.UserControl1.UC.getDataManager(ref dataManage); comboBox_hardUpLimitInput.Items.Clear(); comboBox_hardDownLimitInput.Items.Clear(); foreach (var di in dataManage.diList) { if (!di.used) { comboBox_hardUpLimitInput.Items.Add(di.channelName); comboBox_hardDownLimitInput.Items.Add(di.channelName); } } levelDic.Clear(); levelDic.Add((int)TypeLevel.HIGH_LEVEL, "高电平有效"); levelDic.Add((int)TypeLevel.LOW_LEVEL, "低电平有效"); comboBox_hardUpLimitSelectLevel.Items.Clear(); comboBox_hardDownLimitSelectLevel.Items.Clear(); foreach (var level in levelDic) { comboBox_hardUpLimitSelectLevel.Items.Add(level.Value); comboBox_hardDownLimitSelectLevel.Items.Add(level.Value); } comboBox_hardUpLimitSelectLevel.SelectedIndex = data.axisMotionPara.limitSignal.hardUpLimitInputLevel; comboBox_hardDownLimitSelectLevel.SelectedIndex = data.axisMotionPara.limitSignal.hardDownLimitInputLevel; //是否启动硬限位信号 checkBox1.Checked = data.axisMotionPara.limitSignal.hardLimitChecked; checkBox1_CheckedChanged(null, null); comboBox_hardUpLimitInput.Text = data.axisMotionPara.limitSignal.hardUpLimitInput; comboBox_hardDownLimitInput.Text = data.axisMotionPara.limitSignal.hardDownLimitInput; checkBox_softLimit.Checked = data.axisMotionPara.limitSignal.softLimitChecked; checkBox_softLimit_CheckedChanged(null, null); textBox_softUpLimitOffset.Text = data.axisMotionPara.limitSignal.softUpLimitInputOffset.ToString(); textBox_softDownLimitOffset.Text = data.axisMotionPara.limitSignal.softDownLimitOffset.ToString(); }
public modbusclient1() { InitializeComponent(); //this.Controls.Add(channel); LocalPLC.Base.xml.DataManageBase baseData = null; UserControl1.UC.getDataManager(ref baseData); foreach (string ethname in baseData.ethernetDic.Keys) { comboBox1.Items.Add(ethname); } comboBox1.SelectedIndex = -1; channel.Text = ". . ."; DataColumn dc = null; //dt.Columns.Add("ID", Type.GetType("System.Int32")); //dt.Columns.Add("名称", Type.GetType("System.String")); //dt.Columns.Add("IP地址", Type.GetType("System.String")); //dt.Columns.Add("响应超时(ms)", Type.GetType("System.Int32")); //dt.Columns.Add("允许超时的次数", Type.GetType("System.Int32")); //dt.Columns.Add("重连间隔", Type.GetType("System.Int32")); //dt.Columns.Add("复位变量", Type.GetType("System.Int32")); //dt.Columns.Add(new DataColumn ("通道",typeof(bool))); for (int i = 0; i < 16; i++) { ds.Tables.Add(new DataTable()); ds.Tables[i].Columns.Add("ID", Type.GetType("System.Int32")); ds.Tables[i].Columns.Add("名称", Type.GetType("System.String")); ds.Tables[i].Columns.Add("IP地址", Type.GetType("System.String")); ds.Tables[i].Columns.Add("设备ID", Type.GetType("System.Int32")); ds.Tables[i].Columns.Add("端口号", Type.GetType("System.String")); ds.Tables[i].Columns.Add("响应超时", Type.GetType("System.Int32")); ds.Tables[i].Columns.Add("重连间隔", Type.GetType("System.Int32")); ds.Tables[i].Columns.Add("允许超时的次数", Type.GetType("System.Int32")); ds.Tables[i].Columns.Add("复位变量", Type.GetType("System.String")); //ds.Tables[i].Columns.Add("通道", Type.GetType("System.String")); } }
private void modbusmasterform_Load(object sender, EventArgs e) { LocalPLC.Base.xml.DataManageBase baseData = null; UserControl1.UC.getDataManager(ref baseData); this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; comboBox_transform_channel.Items.Clear(); foreach (string serialname in baseData.serialDic.Keys) { comboBox_transform_channel.Items.Add(serialname); } comboBox_transform_channel.SelectedIndex = -1; textBox_packet_interval.Text = masterData_.packet_interval.ToString(); try { DataGridViewTextBoxColumn cellColumnID = new DataGridViewTextBoxColumn(); cellColumnID.Name = "ID"; DataGridViewTextBoxColumn cellColumnName = new DataGridViewTextBoxColumn(); cellColumnName.Name = "名称"; DataGridViewTextBoxColumn cellColumnSlaveAddr = new DataGridViewTextBoxColumn(); cellColumnSlaveAddr.Name = "从站地址"; //DataGridViewTextBoxColumn cellColumnTimeout = new DataGridViewTextBoxColumn(); //cellColumnTimeout.Name = "响应超时(ms)"; DataGridViewTextBoxColumn cellColumnTimeoutCount = new DataGridViewTextBoxColumn(); cellColumnTimeoutCount.Name = "允许的超时次数"; DataGridViewTextBoxColumn cellColumnReconnectInvertal = new DataGridViewTextBoxColumn(); cellColumnReconnectInvertal.Name = "重连间隔"; DataGridViewTextBoxColumn cellColumnResetVariable = new DataGridViewTextBoxColumn(); cellColumnResetVariable.Name = "复位变量"; DataGridViewDisableButtonColumn buttonColumn = new DataGridViewDisableButtonColumn(); buttonColumn.Name = "通道"; //列标题自适应 dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dataGridView1.Columns.Add(cellColumnID); dataGridView1.Columns.Add(cellColumnName); dataGridView1.Columns.Add(cellColumnSlaveAddr); //dataGridView1.Columns.Add(cellColumnTimeout); dataGridView1.Columns.Add(cellColumnTimeoutCount); dataGridView1.Columns.Add(cellColumnReconnectInvertal); dataGridView1.Columns.Add(cellColumnResetVariable); dataGridView1.Columns.Add(buttonColumn); dataGridView1.RowCount = 1 + masterData_.modbusDeviceList.Count; int i = 0; foreach (DeviceData devData in masterData_.modbusDeviceList) { dataGridView1.Rows[i].Cells[(int)COLUMNNAME.ID].Value = devData.ID; dataGridView1.Rows[i].Cells[(int)COLUMNNAME.NAME].Value = devData.nameDev; // dataGridView1.Rows[i].Cells[(int)COLUMNNAME.SLAVE_ADDR].Value = devData.slaveAddr; //dataGridView1.Rows[i].Cells[(int)COLUMNNAME.REPONSE_TIMEOUT].Value = devData.reponseTimeout; dataGridView1.Rows[i].Cells[(int)COLUMNNAME.PERMIT_TIMEOUT_COUNT].Value = devData.permitTimeoutCount; dataGridView1.Rows[i].Cells[(int)COLUMNNAME.RECONNECT_INTERVAL].Value = devData.reconnectInterval; dataGridView1.Rows[i].Cells[(int)COLUMNNAME.RESET_VARIABLE].Value = devData.resetVaraible; dataGridView1.Rows[i].Cells[(int)COLUMNNAME.CHANNEL].Value = "..." /* + i.ToString()*/; i++; } //dataGridView1.RowCount = /*8*/ 1; dataGridView1.AutoSize = true; dataGridView1.AllowUserToAddRows = false; dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //this.comboBox_transform_channel.Items.Add("COM1"); this.comboBox_transform_channel.Text = masterData_.transformChannel; this.textBox_reponse_timeout.Text = masterData_.responseTimeout.ToString(); //ms if (masterData_.transformMode == 0) { radioButton1.Checked = true; radioButton2.Checked = false; } else if (masterData_.transformMode == 1) { radioButton2.Checked = true; radioButton1.Checked = false; } } catch (Exception t) { MessageBox.Show(t.Message); return; } }
//ttttttttttttttttttttttttttttttt //ttest private void button_add_Click(object sender, EventArgs e) { // 动态添加创建数组刷新 //C: \Users\Public\Documents\MULTIPROG\Projects\ttt13579\DT\datatype // 从文件中读取并显示每行 //string fullName = UserControl1.multiprogApp.ActiveProject.Path + "\\" + UserControl1.multiprogApp.ActiveProject.Name + "\\DT\\datatype\\datatype.TYB"; //; //string path = UserControl1.multiprogApp.ActiveProject.FullName; //FileStream fs1 = new FileStream(fullName, FileMode.Open, FileAccess.Read); //StreamReader sr1 = new StreamReader(fs1, Encoding.Default); //string s; //s = sr1.ReadLine(); //string strSave = ""; //string compare1 = "TYPE"; //string compare2 = "Task_Info_eCLR :"; //string compare3 = "STRUCT"; //string compare4 = "TaskStack : INT;"; //string compare5 = "END_STRUCT;"; //string compare6 = "END_TYPE"; //int count = 0; //while (s != null) //{ // strSave += s + "\r\n"; // s = s.Trim(); // if (compare1 == s) // { // count = 0; // count++; // } // else if (compare2 == s) // { // count++; // } // else if (compare3 == s) // { // count++; // } // else if (compare4 == s) // { // count++; // } // else if (compare5 == s) // { // count++; // } // else if (compare6 == s) // { // count++; // if(count == 6) // { // int a = 5; // a = 6; // break; // } // } // s = sr1.ReadLine(); //} //fs1.Close(); //sr1.Close(); //FileStream fs = new FileStream(fullName, FileMode.OpenOrCreate); //fs.SetLength(0); //StreamWriter sw = new StreamWriter(fs, Encoding.Default); ////sw.WriteLine("TYPE\r\nnimade: ARRAY[0..20] OF BYTE;\r\nEND_TYPE"); //sw.WriteLine(strSave); //sw.Close(); //fs.Close(); ////UserControl1.multiprogApp.ActiveProject.Close(); ////UserControl1.multiprogApp.OpenProject(path, AdeConfirmRule.adeCrConfirm); //UserControl1.multiprogApp.ActiveProject.Compile(AdeCompileType.adeCtMake); //UserControl1.multiprogApp.ActiveProject.Compile(AdeCompileType.adeCtBuild); LocalPLC.ModbusServer.DataManager servermanage = null; serverdata.getservermanage(ref servermanage); LocalPLC.Base.xml.DataManageBase baseData = null; UC.getDataManager(ref baseData); int num = 0; foreach (string serialname in baseData.serialDic.Keys) { for (int k = 0; k < masterManage.modbusMastrList.Count; k++) { if (masterManage.modbusMastrList[k].transformChannel == serialname) { num++; } } for (int j = 0; j < servermanage.listServer.Count; j++) { if (servermanage.listServer[j].dataDevice_.transformportdescribe == serialname) { num++; } } } if (dataGridView1.RowCount >= utility.masterCount) { string err = string.Format("master最大个数是{0}", utility.masterCount); utility.PrintError(err); return; } if (num >= baseData.serialDic.Count) { string err = string.Format("串口已用完"); utility.PrintError(err); return; } int row = dataGridView1.RowCount; dataGridView1.RowCount += 1; // Set the text for each button. int i = row; ModbusMasterData data = new ModbusMasterData(); // for (int i = 0; i < dataGridView1.RowCount; i++) { dataGridView1.Rows[i].Cells["ID"].Value = row; data.ID = row; dataGridView1.Rows[i].Cells[columnConfig].Value = "..." /* + i.ToString()*/; dataGridView1.Rows[i].Cells[columnDetail].Value = "..." /* + i.ToString()*/; //data.device = new DeviceData(); //masterManage.modbusMastrList.Add(data); masterManage.add(data); //utility.addIOGroups(); mastermanege1 = masterManage; data.isready = false; //refreshaddr(); } }