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