-Begin-
前言
.NET很早可以跨平臺了,從早期的Mono到.Net Core,再到現(xiàn)在的.NET 5,以及下個月即將發(fā)布的.NET 6,.NET也是在一直穩(wěn)步發(fā)展。
今天跟大家分享一下,基于Linux系統(tǒng)實現(xiàn)西門子PLC的數(shù)據(jù)采集。
準(zhǔn)備
- VS版本升級到最新,至少在v16.8以上。
- 基于.Net 5或.Net Core的通信庫。
- Linux環(huán)境,這里用的是CentOS的虛擬機,這個虛擬機我也分享給大家,公眾號里回復(fù)關(guān)鍵詞:CentOS7虛擬機。
開發(fā)
1、使用VS2019創(chuàng)建一個.NET 5框架的項目。
2、引入通信庫,確保通信庫是基于.Net 5開發(fā)的。
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、本地運行測試,確保執(zhí)行結(jié)果無誤。
部署
CentOS系統(tǒng)默認(rèn)是沒有.NET 5環(huán)境的,所以需要提前安裝一下.NET 5環(huán)境。
安裝 .NET 5 之前,請運行以下命令,將 Microsoft 包簽名密鑰添加到受信任密鑰列表,并添加 Microsoft 包存儲庫。打開終端并運行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安裝 SDK:NET SDK 使你可以通過 .NET 開發(fā)應(yīng)用。如果安裝 .NET SDK,則無需安裝相應(yīng)的運行時。若要安裝 .NET SDK,請運行以下命令:
sudo yum install dotnet-sdk-5.0
安裝運行時:在終端中,運行以下命令:
sudo yum install dotnet-runtime-5.0
檢查安裝結(jié)果:在終端中,運行以下命令:
dotnet --info
發(fā)布
1、回到VS2019中,解決方案,右擊,選擇發(fā)布。
2、發(fā)布頁面選擇選項——文件夾。
3、下一步中繼續(xù)選擇——文件夾。
4、文件夾位置使用默認(rèn),點擊完成。
5、完成后點擊可移植,在彈出的界面中,根據(jù)情況設(shè)置。
6、最后點擊一下發(fā)布按鈕即可。
7、查看發(fā)布結(jié)果,根據(jù)發(fā)布路徑查看是否發(fā)布完成。
運行
1、將發(fā)布的文件夾拷貝到Linux系統(tǒng)中即可,由于是虛擬機,如果安裝了VMware Tools,是可以直接復(fù)制的,如果是其他的系統(tǒng),可能需要通過遠(yuǎn)程工具或者Xshell來實現(xiàn)。
2、進(jìn)入Publish文件夾,右擊打開命令行Open in Terminal,輸入dotnet Net5CrossPlateDemo.dll,執(zhí)行。
3、執(zhí)行結(jié)果如下,大功告成。
-END-
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208716 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5808瀏覽量
113423 -
西門子PLC
+關(guān)注
關(guān)注
13文章
139瀏覽量
16856
發(fā)布評論請先 登錄
相關(guān)推薦
評論