作者 | 主题 |
---|---|
zunzhi 侠圣 经验值: 2748 发帖数: 120 精华帖: 5 |
楼主 2021-02-17 15:45:30
主题:C#改的一个监控IO的小程序 浏览论坛发现一个C#写的与PLC通信的程序,链接为http://www.ad.siemens.com.cn/club/bbs/post_like.aspx?b_id=7&a_id=1564378 但每次只能读写一个点,于是想能不能加个IO监控功能,直接将IO点写入一个EXCEL表格,然后导入程序,这样我们在办公室就可以直接监控PLC的IO了,不必安装博途,博途确实太大了,对电脑要求太高。由于本人基础太差,只能实现初步的一个简单的功能,抛转引玉,希望大牛门能多多指点! 本文读取excel用了System.Data.OleDb类,使用前需要下载安装支持文件,下载时注意区分32或64位。 程序测试画面如下: 软件经过测试与1500连接正常,只是打开EXCEL读取时有点慢 这是打开excel的方法 public DataSet getData() { var path = "IO.xlsx"; string filesuffix = System.IO.Path.GetExtension(path); if (string.IsNullOrEmpty(filesuffix)) return null; using (DataSet ds = new DataSet()) { string connString = ""; connString = "Provider = Microsoft.ACE.OLEDB.12.0;" + "Data Source =" + path + ";" + "Extended Properties = \"Excel 12.0; HDR = YES; IMEX = 1 \""; //请注意,Extended Properties 所需的双引号字符还必须包含在双引号中 DataTable alldata = null; string sql_select = "SELECT* FROM[Sheet1$]"; using (OleDbConnection conn = new OleDbConnection(connString)) using (OleDbDataAdapter cmd = new OleDbDataAdapter(sql_select, conn)) { NewMethod1(conn); cmd.Fill(ds); } if (ds == null ds.Tables.Count <= 0) return null; alldata = ds.Tables[0]; RowMax = alldata.Rows.Count; return ds; } 下面是添加到ListView的方法 private void button1_Click(object sender, EventArgs e) { listView1.Items.Clear();//清空listView this.listView1.BeginUpdate(); getData(); if (Form1.lianjie == 0) { MessageBox.Show("请连接PLC!"); } for (int i = 0; i < RowMax; i++) { ListViewItem lvi = new ListViewItem(); lvi.Text = "" + i; lvi.SubItems.Add(NewMethod().Tables[0].Rows[i].ItemArray[0].ToString()); lvi.SubItems.Add(NewMethod().Tables[0].Rows[i].ItemArray[1].ToString()); lvi.SubItems.Add(NewMethod().Tables[0].Rows[i].ItemArray[2].ToString()); if (Form1.lianjie == 1)//判断连接状态 { //这句是添加读取PLC的值 lvi.SubItems.Add(S7.Form1.plc.Read(NewMethod().Tables[0].Rows[i].ItemArray[1].ToString()).ToString()); } this.listView1.Items.Add(lvi); } this.listView1.EndUpdate(); } } } 程序需要改进的地方有很多,比如显示方式只有十进制的,后续有时间会增加16进制的,还有就是打开EXCEL读取太慢等等 源码与程序我已打包上传,希望大家多多指点,同时希望大家可以出更好的作品,让西门子论坛百花齐放,每个人都能在此找到自己想要的知识,谢谢!
努力工作,好好学习!
|
Mists97 侠圣 经验值: 2130 发帖数: 166 精华帖: 0 |
1楼 2021-02-17 16:32:11
主题:回复:C#改的一个监控IO的小程序 厉害了,学习学习! |
云山雾绕 至圣 经验值: 16579 发帖数: 2415 精华帖: 0 |
2楼 2021-02-17 16:57:05
主题:回复:C#改的一个监控IO的小程序 学习了,谢谢分享!
开心每一天,懂得包容、感恩!
|
20211111 奇侠 经验值: 8067 发帖数: 1209 精华帖: 1 |
3楼 2021-02-17 21:21:52
主题:回复:C#改的一个监控IO的小程序
,,
|
天芯 至圣 经验值: 20030 发帖数: 2182 精华帖: 0 |
4楼 2021-02-17 21:23:11
主题:回复:C#改的一个监控IO的小程序 先下载学习 |
JL4_207 侠圣 经验值: 4787 发帖数: 860 精华帖: 2 |
5楼 2021-02-17 21:26:28
主题:回复:C#改的一个监控IO的小程序
暂无
|
henry.wang 至圣 经验值: 11019 发帖数: 998 精华帖: 31 |
6楼 2021-02-17 23:08:01
主题:回复:C#改的一个监控IO的小程序 IT和自动化的融合来了。。。
Chance favors the prepared mind.
|
sph123 侠圣 经验值: 2678 发帖数: 79 精华帖: 2 |
7楼 2021-02-18 09:17:21
主题:回复:C#改的一个监控IO的小程序 就需要楼主这样的,大家多分享经验
别低估专业,别高估自己,精进的人生,从敬畏专业开始。
|
CCC@CCC 侠士 经验值: 1758 发帖数: 379 精华帖: 0 |
8楼 2021-02-18 09:53:57
主题:回复:C#改的一个监控IO的小程序
路漫漫其修远
|
Hery_Han 侠圣 经验值: 2933 发帖数: 225 精华帖: 1 |
9楼 2021-02-18 10:41:54
主题:回复:C#改的一个监控IO的小程序 感谢楼主分享 |
某C 新手 经验值: 23 发帖数: 1 精华帖: 0 |
10楼 2021-02-18 15:34:26
主题:回复:C#改的一个监控IO的小程序 |
泮灿锋 侠圣 经验值: 2469 发帖数: 190 精华帖: 0 |
11楼 2021-02-19 08:09:45
主题:回复:C#改的一个监控IO的小程序 谢谢分享!
1112让人
|
mengquanshui 至圣 经验值: 11436 发帖数: 3335 精华帖: 4 |
12楼 2021-02-19 08:21:19
主题:回复:C#改的一个监控IO的小程序 谢谢楼主,先下载学习了
喜欢用SIEMENS,乐水工控生活 打造工业智能家居生活!
|
ZD_JY 至圣 经验值: 13303 发帖数: 1083 精华帖: 8 |
13楼 2021-02-19 08:31:28
主题:回复:C#改的一个监控IO的小程序
做最好的自己!活出自我!
|
知乎者也 游侠 经验值: 529 发帖数: 46 精华帖: 0 |
14楼 2021-02-19 08:34:48
主题:回复:C#改的一个监控IO的小程序
唯有努力,不负光阴。
|
zhcwos 侠圣 经验值: 3109 发帖数: 440 精华帖: 0 |
16楼 2021-02-19 09:38:00
主题:回复:C#改的一个监控IO的小程序
云淡风轻
|
工控菜鸡 游民 经验值: 129 发帖数: 12 精华帖: 0 |
19楼 2021-02-19 13:50:14
主题:回复:C#改的一个监控IO的小程序
有时候正是那些无人看好之人,成就了无人能及的成就。
|
nufangdeqingnian 侠客 经验值: 878 发帖数: 83 精华帖: 0 |
20楼 2021-02-19 14:23:12
主题:回复:C#改的一个监控IO的小程序 |
Mr.小孙 侠客 经验值: 778 发帖数: 151 精华帖: 0 |
26楼 2021-02-20 11:04:52
主题:回复:C#改的一个监控IO的小程序 博图有调试工具能看到整个网络及IO点状态 软件很小
QQ群:336416617
|
heshili 侠圣 经验值: 4273 发帖数: 386 精华帖: 0 |
27楼 2021-02-20 13:54:31
主题:回复:C#改的一个监控IO的小程序 你这不是小弟能做到的,厉害。
醉心自动化,开开心心工作
|
Rossi84 侠圣 经验值: 3977 发帖数: 380 精华帖: 1 |
31楼 2021-02-21 14:23:42
主题:回复:C#改的一个监控IO的小程序 s7net类库挺好用的,虽然我没在实际项目上应用过,论坛里大神门也发过相关的帖子,下载使用200smart也做过了测试,还是很好用的
无法改变之前,努力改变之后
|
薛辉 游士 经验值: 179 发帖数: 12 精华帖: 0 |
47楼 2021-02-27 16:22:13
主题:回复:C#改的一个监控IO的小程序 |