• 发文
  • 评论
  • 微博
  • 空间
  • 微信

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

dotNet工控上位机 2022-05-20 13:56 发文

前言

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

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

准备

VS版本升级到最新,至少在v16.8以上。

基于.Net 5或.Net Core的通信库。

Linux环境,这里用的是CentOS的虚拟机,这个虚拟机我也分享给大家,【dotNet工控上位机】公众号里回复关键词:CentOS7虚拟机。

开发

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

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

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、本地运行测试,确保执行结果无误。

部署

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

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

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

sudo yum install dotnet-sdk-5.0

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

sudo yum install dotnet-runtime-5.0

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

dotnet --info

发布

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

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

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

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

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

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

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

运行

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

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

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


声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    dotNet工控上位机

    致力于上位机、运动控制、机器视觉...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码