大家好,用C#开发的菜谱管理系统相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于用C#开发的菜谱管理系统和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
控制系统采用西门子PCS7系统,AS站采用冗余架构。
项目特点
1、设备多、配方多、各种数据块数百个、数据量大;
2、冗余PLC,主备自动切换;
3、多个岗位可能需要在RMS系统上工作;
针对这些需求,我们确定该项目将采用C/S架构。数据采集和归档服务由服务器完成,客户端提供配方管理、报表查询等任务。同时,通过权限管理,为各个岗位分配不同的职能。
网络图
RMS部署在独立的服务器上,允许局域网内的客户端链路访问。在OS SERVER上部署PCS7系统用于生产操作。
项目架构
RMS系统采用传统的三层架构。基础设施包括项目中用到的Models和一些常用的操作库。 DAL 包括对PLC 的操作和数据库访问。业务逻辑层比较简单,直接写入服务端MicroFramework。 UI层是客户端。
一些技术点
整个项目基于WinForm开发,没有太复杂的技术。对于专业IT从业者来说可能无关紧要,但对于对C#开发感兴趣的自动化工程师来说却值得一提。
窗体
尽管WinForm技术比较古老,但在工业控制领域仍然广泛应用。微软最新的.NET6也支持它,所以大家并不担心它的前景。另外,也有人抱怨WinForm界面丑陋。事实上,即使使用WPF,如果没有第三方库也很难创建漂亮的图像。
如果你愿意关注或者使用一些第三方库,WinForm也可以创建非常漂亮的图片。比如下图,你能看出它是用WinForm开发的吗?
PLC通讯
PLC通讯采用Sharp7,Sharp7是网上开源的S7协议库。不用担心它的稳定性。根据我们之前在其他项目中的经验,其质量值得信赖。
虽然Sharp7质量不错,但我们通常不会直接在项目中使用,因为效率太低。为了提高开发效率,我们对Sharp7进行封装。比如我们的HwLib.Commucation中的S7通信就是对Sharp7的二次封装,实现了C#项目中基于变量的访问。然而,这个项目有点特殊。首先,因为变量太多,如果按照变量配置,效率太低,所以项目是基于Model-DB批量访问。其次,该项目是冗余PLC,因此额外增加了主备PLC自动切换功能。
数据库
为了方便项目的部署,我们这里使用SQLite来代替MySQL或者SQL SERVER等网络数据库。不用担心SQLite 的性能。对于这种量级的数据,SQLite的性能已经足够了。在数据表规划方面,我们将配方、生产批次、实时数据分库分表进行管理,进一步避免了SQLite的性能问题。
操作/管理
我们使用的ORM框架是SqlSugar,一个古老的.NET开源ORM框架。完美支持SQLite和CodeFirst,让开发效率更高。
UI界面库
WinForm的UI库有很多,其中最著名的是DevExpress,但它是付费的。当然,也有一些免费的UI库,比如CSkin。另外,GitHub上也有不错的开源UI库。
服务器
SERVER主要负责与PLC的数据交互、配方上传下载、批量结果归档、数据库管理以及为Client提供Http接口服务。 SERVER的界面比较简单,如下图
客户
Client负责人机交互,主要对配方进行一些操作,如添加、修改、删除等维护工作,同时也提供生产批次的查询。客户端和服务器通过HTTP进行通信,传输的消息是JSON格式的字符串。
C#与工业自动化+项目套装
如果您遇到同样的问题,并且不知道真正的C#项目是如何开发的,您可以参考我们的C#和工业自动化+项目示例包。本教程以一个应用于生产环境的实际项目为例,一步步介绍如何开发上位机软件。它不是一个DEMO,而是一个在生产环境中实际运行的实际项目。在学习的时候,我建议你按照教程一步步做一遍,因为这样会加深你对整个项目的理解,也有利于你以后在其他项目中熟练运用各个知识点。毕竟每个项目都不一样,机械复制可能行不通。经过。另外,在做的时候,尽量用手敲击,而不是直接从项目中复制源代码,这对于提高你的编码能力也有好处。关于第一个问题,我们有专门的C#技术组供大家日常学习和交流。
本项目涉及以下技术:
1、通用型;
2.反思;
3、数据库(SQL封装);
4、S7通讯;
5、文件操作;
6、异步;
7.自定义控件;
8. 重新加载
9、正则表达式;
该项目具有以下特点:
1、PLC断线自动重连;
2、数据库自动维护;
3、PLC操作封装;
4、数据库操作类封装;
5、O/RM;
6.MVVM;
7、自动更新;
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/186042.html
用户评论
丢了爱情i
这真是太赞了!做烘焙的人来说,一个可以记录食谱和成分的软件简直是救命神器. <br> 特别是它可以用 C# 开发,说明安全性很高,数据也能更可靠地保存.
有18位网友表示赞同!
あ浅浅の嘚僾
对于我这种只喜欢用Python编程的小伙伴来说,C# 不是很容易上手啊. 但是看到这个配方管理系统的功能还挺实用的,也许可以借此机会学习一下 C#.
有12位网友表示赞同!
一别经年
终于不用再把食谱塞满笔记本啦! 我最喜欢的就是它能自动生成购物清单,省时又方便.
有16位网友表示赞同!
巷雨优美回忆
感觉 这个软件的功能还是挺有限的, 比如能不能添加图片和视频教程呢? 再加上一些搜索功能和配方分享功能就更好了.
有9位网友表示赞同!
我家的爱豆是怪比i
之前一直用记事本记录食谱,真是太不科学了。 这个 C# 开发的配方管理系统看起来就很专业可靠,希望能试用一下!
有5位网友表示赞同!
栀蓝
C# 这种语言我听说过,但用的不多,感觉用它开发的软件应该会有比较高的性能吧。
有15位网友表示赞同!
↘▂_倥絔
对烘焙没什么体验,主要想找一个简单记录食谱的功能。这个管理系统里有没有预设一些常用的菜式分类呢?
有14位网友表示赞同!
无寒
对于程序员来说,C# 开发的配方管理系统或许是一个很好的实践项目, 还可以开发出更高级的功能.
有12位网友表示赞同!
权诈
如果能把数据同步到手机端, 就完美了!经常在厨房做饭的时候需要查食谱,这样太方便了!
有12位网友表示赞同!
£烟消云散
我觉得这个软件界面设计上还有待改进, 希望能更加直观易用
有13位网友表示赞同!
焚心劫
作为一个资深 C# 开发者,看到这个配方管理系统的开发思路非常不错。期待后续的功能更新。
有13位网友表示赞同!
残留の笑颜
我一直在寻找一个能组织好我食谱的软件,这个 C# 开发的系统看起来很适合我! 期待它的使用体验!
有20位网友表示赞同!
拥菢过后只剰凄凉
虽然是一个小型应用,但我不得不赞赏开发者的用心。 用 C# 确实能够提升系统的稳定性和安全性.
有16位网友表示赞同!
心安i
这款软件的功能是不是比较单一?我希望它能与其他厨房类设备联动,比如智能烤箱等.
有10位网友表示赞同!
灬一抹丶苍白
能不能支持多用户登录呢? 我想和家人一起分享食谱!
有7位网友表示赞同!
安之若素
感觉这个配方管理系统对于专业烘焙师来说可能有些局限性, 希望能加入更多进阶的功能!
有13位网友表示赞同!
╯念抹浅笑
C# 开发的应用程序效率很高,相信这款系统的性能也不会让人失望。
有10位网友表示赞同!
暮染轻纱
我很喜欢它简洁易懂的界面设计!作为 C# 开发爱好者, 我也比较欣赏这种干净精简的代码风格.
有20位网友表示赞同!