0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

聊聊上位机与组态软件之间的那些事儿

冬至子 来源:dotNet工控上位机 作者:新阁教育付工 2023-06-02 17:46 次阅读

应用

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

如果你懂组态,不会C#编程,愿意购买组态授权,项目没有特殊的需求,比如自定义协议、复杂业务、对接第三方系统等,组态软件从功能和界面上能够满足需求,那么,组态软件无疑是适合的。

如果你可以独立开发上位机,不愿意购买组态软件,那么你肯定会选择自主开发上位机。

技术本质上没有好坏之分,技术是为了服务于项目,结合自身情况,结合不同场合选择合理的技术方案,才是技术人的意义所在。

那么,有没有一种场合,可以将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复制到debug根目录下并手动添加引用,然后创建通信对象。

CCHMIRUNTIME.HMIRuntime hmi = new CCHMIRUNTIME.HMIRuntime();

通过调用读取方法即可实现读取。

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

图片

第二种方案:通过WinCC的OPC服务器

WinCC从V7.2版本开始支持OPC服务器,可以支持OPCDA和OPCUA,我们直接通过一个OPC客户端来连接测试一下:

图片

第三种方案:通过WinCC的数据库

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

上位机嵌入WinCC

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

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

这里我做了一个测试,开发了一个自定义控件,里面集成了串口连接及ModbusRTU通信协议读取温湿度,仅为测试使用,因此功能做的很简单:

图片

我将这个控件集成到WinCC中,和一个单片机连接,成功读取到了温湿度数据。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PLC控制
    +关注

    关注

    9

    文章

    232

    浏览量

    27008
  • OPC
    OPC
    +关注

    关注

    7

    文章

    263

    浏览量

    45735
  • 上位机
    +关注

    关注

    26

    文章

    861

    浏览量

    54049
  • WinCC
    +关注

    关注

    5

    文章

    195

    浏览量

    47645
  • SQL数据库
    +关注

    关注

    0

    文章

    24

    浏览量

    6832
收藏 人收藏

    评论

    相关推荐

    组态软件上位开发对比

    上位
    学习电子知识
    发布于 :2023年07月26日 21:56:41

    组态型工控(嵌入式工业电脑)、上位组态软件

    `组态型工控(嵌入式工业电脑)、上位组态软件——“高性价比”、“高清”、“高品质”、“高速”、“超低功耗”、 “大分辨率”
    发表于 02-26 01:02

    上位组态软件Intouch10入门手册

    上位组态软件Intouch10入门手册
    发表于 02-19 14:38 18次下载

    电源选型的那些事儿

    电路教程相关知识的资料,关于电源选型的那些事儿
    发表于 10-10 14:34 0次下载

    Linux的那些事儿之我是Sysfs

    Linux的那些事儿之我是Sysfs
    发表于 10-29 09:28 5次下载
    Linux的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之我是Sysfs

    Linux的那些事儿之我是SCSI硬盘

    Linux的那些事儿之我是SCSI硬盘
    发表于 10-29 09:32 19次下载
    Linux的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之我是SCSI硬盘

    Linux的那些事儿之我是PCI

    Linux的那些事儿之我是PCI
    发表于 10-29 09:35 10次下载
    Linux的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之我是PCI

    Linux的那些事儿之我是Hub

    Linux的那些事儿之我是Hub
    发表于 10-29 09:37 7次下载
    Linux的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之我是Hub

    Linux的那些事儿之我是Block层

    Linux的那些事儿之我是Block层
    发表于 10-29 09:43 9次下载
    Linux的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之我是Block层

    组态软件的变量类型

    组态软件上位软件的一种。组态软件《=上位
    的头像 发表于 04-09 15:36 9713次阅读

    MOS管的那些事儿.课件下载

    MOS管的那些事儿.课件下载
    发表于 12-06 15:14 0次下载

    PLC和上位组态软件通讯方式

    PLC和上位组态软件不在同一个地方,那PLC如何远程和上位机通讯呢。现在物联网技术快速发展,PLC通过互联网就能实现和上位机通讯。
    的头像 发表于 06-27 08:05 1.1w次阅读
    PLC和<b class='flag-5'>上位</b>机<b class='flag-5'>组态</b><b class='flag-5'>软件</b>通讯方式

    C#上位机是为了取代组态软件

    首先我认为,C#上位机并不是为了取代组态软件,而是对组态软件的补充,C#上位机与
    的头像 发表于 02-22 15:47 1679次阅读
    C#<b class='flag-5'>上位</b>机是为了取代<b class='flag-5'>组态</b><b class='flag-5'>软件</b>?

    聊聊Netty那些事儿之从内核角度看IO模型

    从今天开始我们来聊聊Netty的那些事儿,我们都知道Netty是一个高性能异步事件驱动的网络框架。
    的头像 发表于 05-23 10:27 1097次阅读
    <b class='flag-5'>聊聊</b>Netty<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>之从内核角度看IO模型

    RFID和NFC之间那些事儿,你真的了解吗?

    RFID和NFC之间那些事儿,你真的了解吗?
    的头像 发表于 12-15 09:38 613次阅读
    RFID和NFC<b class='flag-5'>之间</b>的<b class='flag-5'>那些</b><b class='flag-5'>事儿</b>,你真的了解吗?