基于.net core3.1的工业控制系统(二)

基于.net core3.1的工业控制系统框架说明

在这里插入图片描述

PRISM框架

本项目采用的是prism7.2的框架,后期升级到8.0的版本需要更新单独的behaviors文件:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
//替换为
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

全局画面介绍

在这里插入图片描述

1.下面主要分为左中右布局,
2.最左边一栏是属于隐藏区域,进行左右滑动,来切换主菜单;
3.中间放置每个页面来进行画面切换;
4.右边显示主要的操作按钮,以及曲线趋势等参数;
5.曲线使用的库主要是LiveCharts曲线库;

PLC通讯

1.大多数PLC控制器的协议;
2.codesys通讯能使用共内存通讯的方式等协议;
3.mqtt协议;
下面介绍其中一款plc通讯链接方式:

//连接三菱5u的mc二进制通讯协议
melsec_net = new MelsecMcNet(ConfigurationManager.ConnectionStrings["ip_plc"].ConnectionString, Convert.ToInt32(ConfigurationManager.ConnectionStrings["port_plc"].ConnectionString));
melsec_net.ConnectClose();
melsec_net.ConnectTimeOut = Convert.ToInt32(ConfigurationManager.ConnectionStrings["timeout_plc"].ConnectionString);// 网络连接的超时时间
connect = melsec_net.ConnectServer();

数据库支持类型

1.此处使用ORM连接到3类数据库存储数据记录,可以供选择

//通过app.config配置数据库文件
try
{
    /*fsql = new FreeSql.FreeSqlBuilder()
        .UseConnectionString(FreeSql.DataType.SqlServer, ConfigurationManager.ConnectionStrings["sqlconnect"].ConnectionString)
        .UseAutoSyncStructure(true) //自动同步实体结构到数据库
        .Build(); //请务必定义成 Singleton 单例模式*/
    if (ConfigurationManager.ConnectionStrings["selectsql"].ConnectionString.ToLower() == "sqlserver")
    {
        fsql = new FreeSql.FreeSqlBuilder()
            .UseConnectionString(FreeSql.DataType.SqlServer, ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString)
            .UseAutoSyncStructure(true) //自动同步实体结构到数据库
            .Build(); //请务必定义成 Singleton 单例模式
    }
    else if (ConfigurationManager.ConnectionStrings["selectsql"].ConnectionString.ToLower() == "mysql")
    {
        fsql = new FreeSql.FreeSqlBuilder()
            .UseConnectionString(FreeSql.DataType.MySql, ConfigurationManager.ConnectionStrings["mysql"].ConnectionString)
            .UseAutoSyncStructure(true) //自动同步实体结构到数据库
            .Build(); //请务必定义成 Singleton 单例模式
    }
    else if (ConfigurationManager.ConnectionStrings["selectsql"].ConnectionString.ToLower() == "postgresql")
    {
        fsql = new FreeSql.FreeSqlBuilder()
            .UseConnectionString(FreeSql.DataType.PostgreSQL, ConfigurationManager.ConnectionStrings["postgresql"].ConnectionString)
            .UseAutoSyncStructure(true) //自动同步实体结构到数据库
            .Build(); //请务必定义成 Singleton 单例模式
    }
    else
    {
        MessageBox.Show("The configuration file config selects the database error, please check!");
    } 
}
catch (Exception e)
{
    MessageBox.Show(e.ToString());
    throw new Exception(e.ToString());
    //return;
}

参考

Prism

下一章节介绍主画面的布局以及功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灬辛敏灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值