Linux系统实现西门子PLC的数据采集

描述

-Begin-

前言

.NET很早可以跨平台了,从早期的Mono到.Net Core,再到现在的.NET 5,以及下个月即将发布的.NET 6,.NET也是在一直稳步发展。

今天跟大家分享一下,基于Linux系统实现西门子PLC的数据采集。

准备

  • VS版本升级到最新,至少在v16.8以上。
  • 基于.Net 5或.Net Core的通信库。
  • Linux环境,这里用的是CentOS的虚拟机,这个虚拟机我也分享给大家,公众号里回复关键词:CentOS7虚拟机。

开发

1、使用VS2019创建一个.NET 5框架的项目。

Linux

2、引入通信库,确保通信库是基于.Net 5开发的。

Linux

3、编写几行简单的代码。

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Let's Begin!");

            if (siemens.Connect("192.168.1.200", xktComm.Common.CPU_Type.S71200, 0, 0))
            {
                Console.WriteLine("Connect Success");

                while (true)
                {
                    var val = siemens.Read("DB1.DBD0", xktComm.Common.VarType.Real);

                    Console.WriteLine(val.ToString());     

                    Thread.Sleep(1000);
                }
            }
            else
            {
                Console.WriteLine("Connect Fail");
            }
            Console.ReadLine();
        }

        private static xktComm.PLC.Siemens.SiemensS7 siemens = new xktComm.PLC.Siemens.SiemensS7();

    }

4、本地运行测试,确保执行结果无误。

Linux

部署

CentOS系统默认是没有.NET 5环境的,所以需要提前安装一下.NET 5环境。

安装 .NET 5 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。打开终端并运行以下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

安装 SDK:NET SDK 使你可以通过 .NET 开发应用。如果安装 .NET SDK,则无需安装相应的运行时。若要安装 .NET SDK,请运行以下命令:

sudo yum install dotnet-sdk-5.0

安装运行时:在终端中,运行以下命令:

sudo yum install dotnet-runtime-5.0

检查安装结果:在终端中,运行以下命令:

dotnet --info

Linux

发布

1、回到VS2019中,解决方案,右击,选择发布。

Linux

2、发布页面选择选项——文件夹。

Linux

3、下一步中继续选择——文件夹。

Linux

4、文件夹位置使用默认,点击完成。

Linux

5、完成后点击可移植,在弹出的界面中,根据情况设置。

Linux

6、最后点击一下发布按钮即可。

Linux

7、查看发布结果,根据发布路径查看是否发布完成。

Linux

运行

1、将发布的文件夹拷贝到Linux系统中即可,由于是虚拟机,如果安装了VMware Tools,是可以直接复制的,如果是其他的系统,可能需要通过远程工具或者Xshell来实现。

2、进入Publish文件夹,右击打开命令行Open in Terminal,输入dotnet Net5CrossPlateDemo.dll,执行。

3、执行结果如下,大功告成。

Linux

-END-

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分