登录
首页 工控软件 工控软件
回帖 发帖
正文

主题:工业上位机软件开发,PLC通讯,数据监控软件

点击:5654 回复:14

附件 image.jpg
哈喽,大家好,我是来自杭州的Richard.Hu,今天分享我的一个免费开源的项目,HSL组件,可能工控界的很多朋友都认识我,废话不多说,先上干货。
组件叫HslCommunication,开源地址是:https://github.com/dathlin/HslCommunication 欢迎star和fork
这个组件是干什么的?
1. 它可以读写三菱PLC的数据,包含MC协议,编程口协议,专用协议。
2. 它可以读写西门子PLC的数据,包含s7协议和fetch/write协议,PPI协议。
3. 它可以读写modbus设备的数据,包含modbus-tcp,modbus-rtu,modbus-ascii。
4. 它可以读写欧姆龙PLC的数据,fins-tcp协议
5. 它可以读写AB PLC的数据
6. 它可以让两个exe通讯。
7. 它可以让不同的语言通信。
8. 它自带了一些比较好用的控件,可以方便的显示数据信息。
说了这么多,进入实战试试吧。有了这个组件,你就会发现数据交互是一件多么简单方便的事情。
此处以VS2017示例,读取的设备以三菱为示例:
附件 1203682-20170903150134390-406878876.jpg
当我要读取D100的数据的时候,也就是2行代码
// 实例化对象,指定PLC的ip地址和端口号
MelsecMcNet melsecMc = new MelsecMcNet( "设备的ip地址", 6000 );
// 举例读取D100的值
short D100 = melsecMc.ReadInt16( "D100" ).Content;
相当的简单,无论是三菱还是西门子,还是欧姆龙,还是ab plc,还是modbus,都支持这种方便的数据读写。数据的读写支持如下:
bool读写
bool数组读写
byte读写
byte数组读写
Int16读写
Int16数组读写
UInt16读写
UInt16数组读写
Int32读写
Int32数组读写
UInt32读写
UInt32数组读写
Int64读写
Int64数组读写
UInt64读写
UInt64数组读写
float读写
float数组读写
double读写
double数组读写
string读写
部分的支持情况视PLC而定
接下来实战一下,新建VS2017的windorm项目
附件 TIM截图20181117224552.jpg
接下来安装组件
附件 TIM图片20181117224804.jpg
我们在页面上放一个label控件,用于显示的数据值
附件 TIM截图20181117224939.jpg
然后在窗体的载入方法中,读取PLC的数据,然后显示出来。
附件 TIM图片20181117225216.jpg
这样仅仅是显示了打开窗体的时候的值,如果我想要这个值实时的更新显示呢?我们可以做个线程的读取,
附件 TIM图片20181117225216.jpg
如果觉得直接显示文本比较单调,可以使用组件支持的控件创建一些比较丰富的界面,比如下面的:
附件 GIF2.gif
当然基于上述的功能可以开发出功能及界面非常丰富的工业软件,更详细的可以搜索源代码查看详细的信息
18-11-17 23:07
后台线程的图片上传错误,现在重新上传
18-11-17 23:09
附件 TIM截图20181117225850.jpg
18-11-17 23:10
这个很强大呀!支持S7.
18-11-19 00:58
楼主大神,膜拜。目前才刚开始学习高级语言,路途遥远啊表情
18-11-19 08:45
来自杭州的Richard.Hu ?
请阁下自我介绍一下。表示不认识表情
18-11-19 09:07
HSL组件作者,大家认识认识,从事工业软件开发多年。
18-11-24 10:45
分享知识分享快乐。
18-11-24 11:44
不错,请问这么漂亮的控件怎么开发的?WPF吗
18-11-24 13:41
winform开发的,里面支持的更多,可以下载demo测试。
18-11-24 15:54

上一页下一页

工控新闻

更多新闻资讯