Unity開發(fā)APP與西門子SIMATIC系列PLC連接 第一章

魔晶自動化機(jī)電工程社團(tuán)原創(chuàng)技術(shù)資料
專欄分類
工業(yè),自動化,電器,軟件開發(fā),C#
各位們好,我是魔晶自動化機(jī)電工程社團(tuán)的團(tuán)長 萬影 星夢,初次見面,請多多關(guān)照
這是我在嗶哩嗶哩的第一個作品
<后期會考慮為社團(tuán)搞個網(wǎng)站,但現(xiàn)在不是時候>
聲明:
魔晶自動化機(jī)電工程社團(tuán)以該賬號在嗶哩嗶哩發(fā)布文章和視頻等投稿。
ん 前言
Unity目前是大部分游戲的開發(fā)引擎,在一些領(lǐng)域,Unity是非常優(yōu)秀的引擎,雖然UE引擎也非常優(yōu)秀,但UE需要扎實的C++基礎(chǔ),對一些不精通C++編程能力的人并不友好<其實UP主也不是很喜歡C++,話說不會真的有人敢說自己精通C++吧>,所以Unity就成為很多初學(xué)者的優(yōu)選。

あ 正文

あ - 主題
本期,我將為大家講解如何將Unity應(yīng)用到工業(yè)自動化領(lǐng)域。

あ - 內(nèi)容
首先,我們需要一個Csharp的引用,名為S7.Net,文件名為S7.Net.dll,需要的可以在我百度網(wǎng)盤的分享下載
網(wǎng)盤地址:?
鏈接:https://pan.baidu.com/s/1yifTPT_Qz-UCmH9LCJp1NQ?
提取碼:ylim
愿意折騰的也可以去Github搞
S7.Net支持西門子SIMATIC - S7家族的大部分系列
支持的有:200/300/400/1200/1500系列? <但目前還不清楚200系列是200還是200Smart>
支持Profinet S7通訊
支持CPU基本信息讀取
可以做到以一個CPU為中心,控制分布式IO模塊和其他CPU? <未實踐,不敢保證,但理論上可以>
==知識鏈接==
dll文件
dll是應(yīng)用程序拓展,是一些程序運(yùn)行不可缺少的文件,里面存放的或許是代碼,也有可能是圖標(biāo)、光標(biāo)、音頻、位圖、AVI文件,作為程序運(yùn)行不可缺少的文件,盡量不要刪除dll文件
dll文件用途拓展 : 功能動態(tài)修改、將程序本體做小

將下載來的dll文件導(dǎo)入到Unity,具體步驟如下:
在Unity的Assess文件夾下新建一個文件夾,將其命名為:Plugins?<劃重點(diǎn),文件夾的名字?不能錯,否則Unity無法引用dll>,結(jié)果如下圖所示:

2. 將S7.Net導(dǎo)入至該文件夾,如下所示:

3. 在Visual Studio下面添加引用,并在代碼的引用下面添加這行代碼:
using S7.Net;
<導(dǎo)入引用不用我說吧,如有不會的私信我,我專門出一期關(guān)于VS的基礎(chǔ)教程>
結(jié)果如下所示:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using S7.Net;
3. 初始化PLC鏈接,輸入以下代碼:
static Plc PLC = new Plc(CpuType.<S71200/S71500/S7300/S7400/S7200>, ”<IP地址,數(shù)據(jù)格式String>“, 0, 1);
<注意,public和static不能在Void里面用,否則會報錯>
代碼如下:

如上圖所示,要連接PLC就必須要執(zhí)行一個函數(shù)
在上圖中,Void Start()中有一個叫PLC.Open()的函數(shù),它就是PLC連接的啟動函數(shù)
為保證PLC.Open()的錯誤不會影響其他進(jìn)程,建議這樣寫:
<命名空間:using System>
using System;
<主代碼>
try
{
?PLC.Open();
}
catch(Exception e)
{
?Debug.Log(e);
}
輸入以上代碼后,就可以基本實現(xiàn)連接PLC的功能
為檢測PLC是否連接成功,可以使用PLC.IsConnected來判斷PLC的連接情況
使用方法:
當(dāng)PLC.IsConnected = true時,表示為連接成功,反之為未連接成功
判斷語句實例:
if (PLC.IsConnected == true)
{
?//連接成功時執(zhí)行的代碼
}
else
{
?//連接失敗時執(zhí)行的代碼
}
或者可以這樣:
if (PLC.IsConnected == true)
{
?//連接成功時執(zhí)行的代碼
}
else if (PLC.IsConnected == false)
{
?//連接失敗時執(zhí)行的代碼
}
到這,實現(xiàn)與PLC連接的代碼就完成了。

い 下期內(nèi)容預(yù)告
下期,我將教大家完成PLC變量的監(jiān)視和修改
<涉及TIA Protal軟件,沒有的可以準(zhǔn)備好軟件,但先讓你的電腦準(zhǔn)備好,TIA Protal是很吃內(nèi)存和CPU的>
可以到創(chuàng)控教育下載相關(guān)軟件

最后,感謝各位能觀看我的專欄,你們的支持是UP主最大的動力

End