『7x24小时有问必答』

有没有这样的时候:
想要监控一些PLC变量,一般是打开 TIA Portal切换到监控表。
切来切去很不方便,一个窗口只能看到一个值。
想自己做一个上位机,但是不知道从哪里开始。
协议怎么连接、界面怎么绘制、数据怎么更新,一连串的问题堵在门口。
最近发现了一个开源项目,把PLC上位机监控的全过程都实现了。
从连接配置到数据读写,从周期监控到日志记录,全部都有。
可以直接连接到PLC上进行数据读写,不需要打开TIA Portal。
普通的串口工具只能收发数据,而该项目把 PLC 监控的全过程都搭建起来了。
从连接配置、数据读写、周期监控、日志记录等各个方面都有。
代码结构为Models/Services/UI三层,用来学习也很不错。
下面我们看看它有哪些独特功能。
PLC 连接配置清晰,IP、机架号、槽号都能调。
连接区直接填 IP 地址,默认为 192.168.0.1。
机架号和槽号使用NumericUpDown控件,Rack为0-7,Slot为0-31。
有一个圆状的状态灯,连接上是绿色的,断开就是灰色的,一目了然就知道通不通。
var plc = new Plc(CpuType.S71200, "192.168.0.1", 0, 1);

await plc.OpenAsync();

数据读取支持多种地址格式,从Int16到String都可以读。
输入区(I)、输出区(Q)、中间继电器(M)、数据块(DB)这四种地址格式都可以识别。
S7-1200 常用的数据区。
比如要读取DB1.DBW0,就在地址框中输入,选择好数据类型后点击读取按钮,数据就会回来。
数据类型支持 Int16、Float、Bool、Byte、String 五种常用格式。
结果就显示在下面的文本框中,不需要切换到TIA Portal监控表。
调参数的时候方便了很多。
数据写入也可以,向PLC写值不需要切换软件,调参数效率直接翻倍。
地址格式和读取一样,支持 DB 块、输出线圈、中间继电器。
数据类型选 Int16、Float、Bool、Byte 都行。
在数值框中输入数值,点击写入,数据就会被发送到PLC中。
以前修改PLC变量的时候要打开TIA Portal找到变量表来修改数值。
现在直接在上位机界面上操作,几秒钟就可以完成,不需要来回切换软件。
周期监控功能最实用,多个变量会自动刷新,做产线监控已经足够了。
DataGridView 里列出变量名称、地址、类型、当前值、单位、描述。
一行一个变量,很直观,想看几个就看几个。
刷新间隔可以调节,从200毫秒到60000毫秒之间都可以调节,想快就快,想慢就慢。
默认是 1000 毫秒。
从开始监控起,表格中的数据就会自动更新。
可以关注到一些重要的参数变化,设备状态采集很方便,不需要人工抄表。
点击一下就可以开始监控,数据会自动更新。
日志系统自带,所有操作都有记录,出问题翻日志就能查。
黑底绿字,仿终端风格,使用Consolas字体9pt,经典的黑客风。
看上一天也不觉得累。
所有的读写操作、连接状态的变化、错误信息都会被自动记录下来。
不需要自己写日志代码,RichTextBox 控件已经帮你做好了。
状态栏还有连接状态指示以及实时时钟,界面底部可以显示当前时间。
不需要把桌面切到桌面看时间。
安装方法非常简单,直接从 GitHub 下载代码。
git clone https://github.com/agentthink/scada-monitor

用 VS2022 打开 PLC_Monitor.slnx,双击 MainForm.cs 就可以看到可视化设计器。

写在最后

注意一点,想要正确采集到数据。
要打开 TIA Portal 开启PUT/GET访问权限。
DB块要关闭“优化访问”,否则上位机读不到数据。
这套代码做单机监控是够用了,但是不能指望它来代替WinCC。
没有历史数据存储、报警设置、多用户权限等高级功能。
适合小项目、学习S7.Net Plus、做原型验证。
有需要的朋友可以下载试用一下。
开源地址:https://github.com/agentthink/scada-monitor

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码