加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
西门子PLC数据端与Unity用户端的联动通讯
发布时间: 2023-11-04 11:18 更新时间: 2024-05-09 09:10

01

前言

Unity 涉及应用行业广泛。在工业方向有着一定方向的涉足与深入。除构建数据看板等内容,也会有模拟物理设备进行虚拟孪生的需求需要解决。而 SIMATIC(西门子)作为工业通讯其一,需要了解如何在CSharp中实现通讯是本文章所讲述的重点。




02

开发环境准备


我们可以使用SIMATIC PLC设备进行开发环境的搭建,但通常为了节省成本,我们在学习使用时会用到仿真模拟器进行虚拟调试。


需要安装的软件包括:


●   TIA Portal V15及以上版本

●   S7-PLCSIM Advanced 3.0及以上版本

●   Unity 2018及以上版本

●   Visual Studio 2017及以上版本

安装完TIA之后,有两处需要进行设置(重要)



1. 选中组态的PLC设备,常规下找到防护与安全,选择允许从远程伙伴使用PUT/GET通信访问,如图下图1.1所示:



图片

-  图1.1  -



2. 建立的数据块文件,右键属性,需要取消优化的块访问选项,使用juedui地址,如下图1.2所示:



图片


-  图1.2  -


通常我们使用较多的为PLC-1500,因此以此为例,如下图1.3所示:在我们的S7-PLCSIM Advanced中我们需要进行以下操作,选择PLCSIM Virtual → 以太网(多台设备+交换机、如在本机调试则选)→ Virtual虚拟环境IP等配置 → Start。



图片

 -  图1.3  -





03

了解使用-依赖库对象:S7.Net

 对于 Unity 来说,引用 S7.NET 方法需要将 S7.NET.DLL 或 DLL内所有程序文件导入至 Unity Assets 目录下才可使用。如下图1.4所示:

我们仅需要将 S7.NET 文件夹导入至Unity即可。或是生成S7.NET.DLL导入目录下Plugins文件夹下。




图片


-  图1.4  -




04

  数据联动通讯的实现


 OK!完成上述的配置后现在可以进行程序编码了。接下来将重点讲一讲在Unity用户端如何通过S7协议作为桥梁进行数据联动通讯。


1.在我们将S7.Net.dll文件导入至根目录下的Plugins文件夹后,创建一个脚本,并在脚本代码中添加引用:using S7.Net;


2.若要创建驱动程序的实例,需要使用此构造函数:public Plc(CpuType cpu, string ip, Int16 rack, Int16 slot),就可以基本实现连接PLC的功能。







,时长01:16




联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595