工程级的C#上位机项目实例功能预览

[复制链接]
查看55513 | 回复0 | 2024-12-24 17:38:29 | 显示全部楼层 |阅读模式
经过相当一段时间的准备,我们全新的工程级C#上位机项目实例总算准备发布了。在正式发布之前,我们制作了一套功能预览版。感兴趣的同学可以下载预览版进行体验,同时我们也欢迎大家提出建议。C#上位机项目实例在我们的整个C#教学体系中差不多位于中级水平。



这是预览版的下载地址,包含C#上位机可执行文件和PLC程序。



链接:

https://pan.baidu.com/s/1wXJYgFf-FIUVNbC7IHdxEg?pwd=1234

提取码:1234

这个C#上位机实例源自我们早期的一个真实项目。但是因为年代久远,加上当时时间仓促。一些地方处理得不是很好。现在为了满足教学需求,我们对部分功能进行了裁剪,同时也增加了一些功能,比如消息和曲线。整个项目架构也采用四层架构进行重构。实现了UI部分和程序逻辑分离,也就是说我们完全可以把这个程序的UI部分改成WEB或者WPF。驱动、报表、消息和画面等也都全部重写了。另外为了方便大家仿真,我们还提供了一个简单的PLC程序。只要下载这个PLC程序,然后再运行上位机程序,我们就可以看到整个项目的运行效果。

01

基本功能介绍

这个上位机项目实例基本涵盖了一个运行于生产环境的SCADA所具备的全部功能。它的画面结构如下。



左侧是画面导航区。上面是一些信息总览,包含企业Logo、项目标题、设备通信状态、当前登录用户等。中间是画面区域。点击左侧的按钮即可切换画面。



工艺画面展示的是产线的生产状态。这里我们还可以对产线进行控制,比如启动、停止、复位以及设置参数等。在产线生产之前,我们需要先设置订单信息。点击按钮“SETTING”即可打开参数设置页面。



设置完订单参数后,点击按钮启动即可开始生产。点击停止按钮即可停止生产。按钮清除用于清除已经生产的产品数据。

我们可以通过报表按钮查看已经生产的产品信息。



另外还有曲线和消息画面也可以查看,目前预览版还未开放。在系统设置页面我们可以对用户进行管理,也可以设置数据保存时间等。



系统也提供了权限管理。一些功能需要不同的权限才能使用。但是预览版还没有设置权限。



02

技术特点与功能特色

重构后的上位机一方面注重扩展性,我们只需要以它为模板,修修改改就可以用于其它项目。另一方面也注重代码的简洁性,使可读性、可维护性更强。我们汇总了下,这个项目实例涉及到的技术点有下面几个。


    面向对象、接口、抽象类等;

    自定义控件;

    委托与事件;

    数据库;

    ORM;

    驱动封装

    异步编程;

    画面布局;


在项目架构上,它具有下面一些特色。


    基于四层架构;

    业务逻辑和驱动分离。UI以及业务代码通过变量名称进行读写访问,不关心具体驱动实现;

    UI与逻辑分离,可以轻松替换掉UI,比如自己改成WEB或者WPF等;

    采用CodeFirst方式,数据库免维护;

    二次封装的通信驱动模板;

    通信驱动模板化,可以很方便地接入其它驱动;

    报表、曲线和报警,完整的工业上位机功能;

03

如何仿真

这个C#上位机项目实例功能完整,包含了一个上位机必需的工艺画面、报表、报警消息、权限管理、趋势曲线和通信驱动。项目的数据访问使用了ORM框架,采用CodeFirst方式,只要你安装了SQL SERVER数据库,运行上位机程序后它会自动创建所需的数据表。对于系统中有WINCC的同学,因为在WINCC安装时已经自带了SQL SERVER数据库,所以无需再安装。如果电脑中没有SQL SERVER数据库,可以通过下面连接下载安装。

链接:

https://pan.baidu.com/s/1wXJYgFf-FIUVNbC7IHdxEg?pwd=1234

提取码:1234



这两个软件分别是数据库管理工具和EXPRESS版本的SQL SERVER。它们都是免费的,不用担心版权问题,放心下载安装即可。

安装后先下载PLC程序,可以用PLCSIMADV仿真,也可以使用真实PLC。但是PLC的IP地址在上位机里面已经固定了,所以我们首先要按照TIA项目中的地址设置网络。下载PLC程序后,切换PLC到运行模式。

然后运行上位机程序。首先切换到系统设置页面。因为第一次运行,我们的数据库名称还没设置,所以可能启动时间会稍微长一点。



在系统设置页面里,我们修改下数据库实例名称。默认是WINCC。设置完成后,重新启动软件。然后切换到工艺画面。



我们的上位机工艺画面中共有4个站。每个站对应一个独立的PLC。当然为了方便仿真,实际上这4个PLC都是同样的IP地址。也就是这4个站连接的是同一台PLC。

在运行程序之前,我们需要点击SETTING按钮。



在设置窗口中我们需要预先设置一些订单信息。这些信息会体现在报表中。在实际项目中,这些订单信息也可能会是上游系统自动下发过来,比如ERP或者MES等。

配置完订单信息后,我们点击START按钮,程序开始运行。料仓会对下面的袋子进行灌装。当重量达到300KG时,袋子被输送到装卸位。同时产品信息会被记录到数据库。在报表页面中可以查询。



点击按钮STOP即可停止程序。点击按钮CLEAR用于清除当前的一些数据,比如重量等。RESET暂时没有使用。



PLC程序需要TIA Portal V18.0打开。如果你的TIA版本比较低,可以从PLC文件夹中下载db文件导入,然后按照打印出的程序文件手动照搬一下。
HwLib(慧兰博)技术团队专注于高端自动化技术,如果您对我们的技术教程感兴趣的话,可以X宝上搜索店铺“hwlib”或者“慧兰博”




关于HwLib(慧兰博)技术团队的更多信息:www.hwlib.com.cn

HwLib(慧兰博)技术团队技术资料:

https://www.jianguoyun.com/p/DR20ZAEQq_K3CBivk5kD

或者

https://pan.baidu.com/s/1wXJYgFf-FIUVNbC7IHdxEg?pwd=1234

提取码:1234


本帖子中包含更多资源

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

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

本版积分规则