13821917697
承接电气自动化项目、电气接线图设计、IO点表、电气元器件选型
级别: 工控侠客
精华主题: 0
发帖数量: 757 个
工控威望: 3143 点
下载积分: 13398 分
在线时间: 1084(小时)
注册时间: 2019-12-26
最后登录: 2024-11-25
查看13821917697的 主题 / 回贴
楼主  发表于: 2023-12-12 11:53
图片:
客户是个西门子1500的PLC,想导出几个指定的数据,存入一个固定的exel模板里面,然后打印出来。
图片里一行就是一个数据,应用办法就是先添加一个空行,双击修改里面的属性,保存设置就能读数据出来了。然后指定excel的行列坐标号,哦模板是文件夹里面有个模板的excel
这里面用到了几个技术点:
1.以太网通讯pingIP的方式 实现断线重连。
2.字典和序列化的搭配使用,存储配置信息。
3.数据的采集一开始一行是一个线程,多线程写的,但是测试的时候发现,如果行数多了,连接个数也会变多,会拖垮PLC变的很慢
后来我想起来西门子 S7连接是有个数限制的。后来就改成了主线程遍历的方式,这样就是一个连接了,但是这样如果你数据多了,整体采集就
会变慢,这个我写的不好,但是好在我的数据都少啊就10几个,赖得改了
4.地址的格式要按照我照片里这种格式写,我没有对数据地址格式进行判断,也是懒的写了哈哈,因为配置的人肯定懂地址格式。哦还有
数据类型我没有写全啊,我就写了我需要的一些,你们可以看源代码里面。
5.调用了一个office的dll 可以导出数据到excel
6.dgv的增删,这里我是用了一个datatable,在这里面弄好之后在放进dgv里面去,后来觉得有点麻烦应该直接在dgv里面操作。

最后,理论上这个软件可以跟300 400 1200 1500以太网通讯,1200 1500记得吧CPU属性里面,连接机制有个putget那个勾选上。
附件: 链接.txt (1 K) 下载次数:132
网站提示: 请不要用迅雷下载附件,容易出错
本帖最近评分记录:
  • 下载积分:+1(gk1234) 感谢分享!
    honggun
    级别: 网络英雄
    精华主题: 0
    发帖数量: 1580 个
    工控威望: 7002 点
    下载积分: 31866 分
    在线时间: 909(小时)
    注册时间: 2009-11-16
    最后登录: 2024-11-25
    查看honggun的 主题 / 回贴
    1楼  发表于: 2023-12-12 19:31
    干的漂亮