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

PLC網(wǎng)關(guān)采集西門(mén)子S7-200SMART數(shù)據(jù)配置流程

西門(mén)子PLC與labview之間如何通過(guò)OPC實(shí)現(xiàn)通信
如何實(shí)現(xiàn)西門(mén)子PLC-S7-200的數(shù)據(jù)采集

利用物通博聯(lián)工業(yè)網(wǎng)關(guān)實(shí)現(xiàn)西門(mén)子plc數(shù)據(jù)采集和控制

利用Modbus采集網(wǎng)關(guān)采集西門(mén)子S7-1200plc數(shù)據(jù)

西門(mén)子S7-200 SMART/828d PLC數(shù)據(jù)采集、遠(yuǎn)程調(diào)試

西門(mén)子PLC數(shù)據(jù)采集輪詢程序如何實(shí)現(xiàn)
西門(mén)子PLC遠(yuǎn)程監(jiān)控模塊是什么?西門(mén)子PLC遠(yuǎn)程監(jiān)控模塊的功能
西門(mén)子PLC數(shù)據(jù)采集物聯(lián)網(wǎng)平臺(tái)是什么
西門(mén)子數(shù)控機(jī)床數(shù)據(jù)采集方案

西門(mén)子PLC200 SMART的數(shù)據(jù)采集與遠(yuǎn)程調(diào)試解決方案

工業(yè)智能網(wǎng)關(guān)采集西門(mén)子PLC的智能工廠解決方案

PLC邊緣計(jì)算網(wǎng)關(guān)采集西門(mén)子PLC數(shù)據(jù)過(guò)程
西門(mén)子網(wǎng)口PLC數(shù)據(jù)采集如何配置

評(píng)論