最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity開(kāi)發(fā)APP與西門(mén)子SIMATIC系列PLC連接 第三章

2022-11-30 21:35 作者:萬(wàn)影星夢(mèng)  | 我要投稿


魔晶自動(dòng)化機(jī)電工程社團(tuán)原創(chuàng)技術(shù)資料


專(zhuān)欄分類(lèi)

工業(yè),自動(dòng)化,電器,軟件開(kāi)發(fā),C#?


各位們好,我是魔晶自動(dòng)化機(jī)電工程社團(tuán)的團(tuán)長(zhǎng) 萬(wàn)影 星夢(mèng)

這次咕咕咕的有億點(diǎn)點(diǎn)久了,我承認(rèn)我這次更新的速度非常的慢,很抱歉,我來(lái)晚了。

那么直接步入正題

這章是這個(gè)文集的最后一章


あ 正文

あ - 本章標(biāo)題

利用Unity的預(yù)制件功能實(shí)現(xiàn)批量數(shù)據(jù)讀取監(jiān)視

あ - 內(nèi)容

01>前文

如下圖所示,這個(gè)TIA Protal工程中有本期預(yù)制的數(shù)據(jù)塊

和一個(gè)預(yù)制的Unity工程(其中的軟件名稱(chēng)為MJ C R,開(kāi)發(fā)到后期可能會(huì)更名)

02>主要部分

如下圖所示,我們這一章關(guān)鍵是講預(yù)制件的制作

首先在Unity的項(xiàng)目下創(chuàng)建一個(gè)文件夾

如下圖,這個(gè)名為A3的文件夾作為預(yù)制件的放置文件夾


如果想讓預(yù)制件適配場(chǎng)景,就需要在場(chǎng)景下創(chuàng)建


圖中是已經(jīng)創(chuàng)建好了的游戲?qū)ο蟛⒓僭O(shè)它已經(jīng)加了一些控件和必要的代碼,但它現(xiàn)在還不是預(yù)制件,我們需要將它制成預(yù)制件,只需在層級(jí)拖動(dòng)游戲?qū)ο蟮巾?xiàng)目的文件夾即可

其實(shí)這種批量讀取是靠Unity中制作好的預(yù)制件不斷復(fù)制克隆而來(lái)的,代碼基本沒(méi)啥難度,這是目前我整出來(lái)最省事的方法

這是Unity項(xiàng)目里面其中一個(gè)預(yù)制件的代碼,功能是讀取變量并且?guī)挝?寫(xiě)的時(shí)候可以參考一下這個(gè)代碼):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using S7.Net;

public class Console03 : MonoBehaviour
{
	public enum 數(shù)據(jù)類(lèi)型表
	{
		Bool,
		Int,
		DInt,
		Word,
		Dword,
		Real
	};
	public 數(shù)據(jù)類(lèi)型表 數(shù)據(jù)類(lèi)型;
	public string 單位;
	public string 數(shù)據(jù)地址;
	public string 變量名稱(chēng);
	public Plc PLC;
	public Text T0;
	public Text T1;

	void Update()
	{
		PLC = GameObject.Find("Canvas").gameObject.GetComponent<PLCControl>().EPLC;
		T0.text = 變量名稱(chēng);

		if (PLC.IsConnected == true)
		{
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.Bool)
			{
				bool A1 = (bool)PLC.Read(數(shù)據(jù)地址);
				T1.text = A1.ToString();
			}
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.Int)
			{
				int A1 = (ushort)PLC.Read(數(shù)據(jù)地址);
				T1.text = A1.ToString() + 單位;
			}
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.DInt)
			{
				var A1 = (uint)PLC.Read(數(shù)據(jù)地址);
				T1.text = A1.ToString() + 單位;
			}
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.Word)
			{
				var A1 = (ushort)PLC.Read(數(shù)據(jù)地址);
				T1.text = A1.ToString() + 單位;
			}
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.Dword)
			{
				var A1 = (uint)PLC.Read(數(shù)據(jù)地址);
				T1.text = A1.ToString() + 單位;
			}
			if (數(shù)據(jù)類(lèi)型 == 數(shù)據(jù)類(lèi)型表.Real)
			{
				var A1 = ((uint)PLC.Read(數(shù)據(jù)地址)).ConvertToFloat();
				T1.text = A1.ToString() + 單位;
			}
		}
	}
}

結(jié)果如下

03>演示

將預(yù)制件拖入場(chǎng)景后賦予相關(guān)的代碼變量值

這是一個(gè)帶單位數(shù)據(jù)監(jiān)視的預(yù)制件,它已經(jīng)放置在場(chǎng)景中并且代碼已經(jīng)賦值

數(shù)據(jù)類(lèi)型是Int,指向的數(shù)據(jù)地址是DB1.DBW4.0 <數(shù)據(jù)塊:DB1 地址:4.0 地址類(lèi)型:DBW>

地址對(duì)應(yīng)的TIA Protal項(xiàng)目中的數(shù)據(jù)塊數(shù)據(jù)

接下來(lái)啟動(dòng)TIA Protal的PLC仿真并啟動(dòng)NET TO PLCSim,設(shè)置參照第二章

然后啟動(dòng)unity的項(xiàng)目并連接PLC:

Unity預(yù)覽

實(shí)際運(yùn)行

到此,PLC的測(cè)試連接和數(shù)據(jù)的讀寫(xiě)就完成了


后記


????????工業(yè)上位機(jī)控制系統(tǒng)有很多的實(shí)現(xiàn)方式,例如Winform項(xiàng)目。本文集只是個(gè)關(guān)于S7.Net這款開(kāi)源庫(kù)的入門(mén)方式。在這其中,Unity也只是一個(gè)為了將工業(yè)HMI功能移植到手機(jī)運(yùn)行的一種方式。

????????Unity這款3D引擎理論上適用于很多行業(yè),例如游戲、人工智能、3D場(chǎng)景模擬,目前在游戲行業(yè)使用較多,網(wǎng)上關(guān)于這款引擎的教程也很多。這里不多贅述,感興趣的可以去自主學(xué)習(xí)

????????本文集如有任何技術(shù)上的問(wèn)題,歡迎廣大看官指出,本社團(tuán)會(huì)核實(shí)后進(jìn)行修改


本文集到此結(jié)束

在此致謝來(lái)自五湖四海的看官


Thank You For Watching

ありがとうございます


魔晶自動(dòng)化機(jī)電工程社團(tuán)

萬(wàn)影 星夢(mèng)


2021~2022


最后,感謝各位能觀看我的專(zhuān)欄,你們的支持是UP主最大的動(dòng)力


End??


2023年8月8日第一次修改

Unity開(kāi)發(fā)APP與西門(mén)子SIMATIC系列PLC連接 第三章的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
苗栗市| 太湖县| 乡城县| 崇左市| 安顺市| 若羌县| 兴山县| 凤翔县| 绥阳县| 建宁县| 岳西县| 灵武市| 台东县| 弥渡县| 札达县| 云南省| 双鸭山市| 福州市| 天全县| 景德镇市| 当阳市| 贵南县| 张掖市| 岑溪市| 淮滨县| 红安县| 江北区| 民权县| 常德市| 凤冈县| 沂南县| 鄂温| 瓮安县| 盐池县| 商水县| 安阳县| 龙川县| 连州市| 郧西县| 壤塘县| 文山县|