当前位置:首页 > 新型工业化 >上位机和组态软件(上位机和组态的区别)

上位机和组态软件(上位机和组态的区别)

应用

首先我认为C#上位机并不是要取代组态软件,而是对组态软件的补充。 C#上位机和组态软件都有各自的应用场合。

上位机和组态软件(上位机和组态的区别)

如果您懂配置,不懂C#编程,愿意购买配置License,并且项目没有特殊要求,比如自定义协议、复杂业务、对接第三方系统等,配置软件可以如果功能和接口都满足了需求,那么,组态软件无疑是合适的。

如果你能够独立开发上位机,并且不愿意购买组态软件,那么你一定会选择独立开发上位机。

技术本身并没有好坏之分。技术是为项目服务的。根据自身情况、不同情况选择合理的技术方案,这就是作为一个技术人的意义。

那么,有没有什么场合可以将C#上位机和组态软件一起使用呢?我们以西门子的WinCC为例,讲一下上位机如何配合组态软件实现通讯。

我打算从两个方面来讲解,一是上位机通过WinCC获取数据,二是上位机如何弥补WinCC的一些功能缺陷。

上位机读取WinCC

我们先看看上位机是如何通过WinCC获取数据的。有几种解决方案供您参考:

前提是WinCC项目已经开发并处于运行状态。运行WinCC 画面。这里连接了一台S7-1500 PLC,如下图所示:

第一个选项:通过WinCC运行库

WinCC安装目录下有两个dll,分别是CCHMIRuntime.dll和CCHMITags.dll。默认位置为C:\\Program Files (x86)\\Common Files\\Siemens\\Bin。将这两个dll 复制到调试根目录。目录并手动添加引用,然后创建通信对象。

CCHMIRUNTIME.HMIRuntime hmi=new CCHMIRUNTIME.HMIRuntime();通过调用read方法可以实现读取。

hmi.Tags['data1'].Read()

第二个选项:通过WinCC 的OPC 服务器

WinCC从V7.2版本开始支持OPC服务器,并且可以支持OPCDA和OPCUA。让我们直接通过OPC 客户端连接并测试它:

第三种选择:通过WinCC 数据库

WinCC的数据库使用SQL Server。 WinCC 变量归档数据以压缩形式存储在数据库中。第三方开发的应用程序可以通过WinCC提供的OLE-DB接口解压缩并访问这些数据。

上位机嵌入WinCC

我们来看看上位机如何弥补WinCC的一些功能缺陷,比如自定义协议或者WinCC不支持的一些协议。 WinCC从7.0版本开始支持.NET自定义控件,因此我们可以将一些业务和通信封装在自定义控件中,然后嵌入到WinCC中,以实现一些WinCC无法实现的功能。

这里我们以ModbusRTU协议为例。其他自定义协议类似。我们都知道WinCC不能直接支持ModbusRTU通讯。

这里我做了一个测试,开发了一个自定义控件,集成了串口连接和ModbusRTU通信协议来读取温湿度。只是用于测试,所以功能很简单:

我将该控件集成到WinCC中,将其连接到微控制器,并成功读取温度和湿度数据。

最新资讯

推荐资讯