-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框架的项目。
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 包存储库。打开终端并运行以下命令:
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
发布
1、回到VS2019中,解决方案,右击,选择发布。
2、发布页面选择选项——文件夹。
3、下一步中继续选择——文件夹。
4、文件夹位置使用默认,点击完成。
5、完成后点击可移植,在弹出的界面中,根据情况设置。
6、最后点击一下发布按钮即可。
7、查看发布结果,根据发布路径查看是否发布完成。
运行
1、将发布的文件夹拷贝到Linux系统中即可,由于是虚拟机,如果安装了VMware Tools,是可以直接复制的,如果是其他的系统,可能需要通过远程工具或者Xshell来实现。
2、进入Publish文件夹,右击打开命令行Open in Terminal,输入dotnet Net5CrossPlateDemo.dll,执行。
3、执行结果如下,大功告成。
-END-
-
Linux
+关注
关注
87文章
11292浏览量
209318 -
数据采集
+关注
关注
38文章
6053浏览量
113618 -
西门子PLC
+关注
关注
13文章
141浏览量
16924
发布评论请先 登录
相关推荐
评论