初识Emulate3D(Demo3D)

一、E3D介绍

Demo3D细分为四个版本Demo3D、Sim3D、Emulate3D与Emulate3D Ultimate。

Demo3D • 侧重物流仓储系统设计、仿真、展示,并扩展到制造、加工等行业的设计、仿真展示通用平台。

Sim3D • 基于Demo3D功能,添加了数据分析功能。

Emulate3D •结合PLC,在Demo3D基础上增加了控制与测试功能,用于物流设备的逻辑验证与控制。

Emulate3D Ultimate •具备Demo3D,Sim3D与Emulate3D的所有功能的最高版本。

二、E3D界面

对我来说常用的几个位置如下图所示:

帮助文档:Welcome (sim3d.com)

2.1选择模式和浏览模式

选择模式可以选择并修改模型实体,浏览模式只可以查看模型,不能对模型进行修改。实体的鼠标右键弹窗、地面渲染等都不一样

选择模式:

浏览模式

2.2编辑定制属性

点击该按钮会弹出以下弹窗:

每个实体都可以创建独有的属性,该属性可以用以关联PLC变量,同时该属性的变化也可以引起Updated事件的发生。

界面常用的是Name和Type列,Type列定义该属性的类型。

Type里面可选的类型非常多,除了常见的Int/Float/String等,还有E3D内部的一些数据类型,比如Visual/VisualList/Script等等,在 案例1:自创组件,可以一键自动连接场景中的其他相关组件 中可以看到能够实现较为复杂的应用。

也可以通过代码进行属性的添加

2.2.1代码添加方法一

function AddCustomProperty( name : String, type : Type, value : Object, description :String )
Parameters
name 属性名称
type 属性的类型
value 属性的初始值
Description 对此属性的描述

function 气动开关DN40阀1_OnReset( sender : Demo3D.Visuals.Visual )
{
if(!sender.HasProperty(“kState”)) //判断是否存在State属性
{
sender.AddCustomProperty(“kState”,Int32,0,”阀门开启状态”);//定义State属性 默认值为0//系统自动识别为int类型
}
sender.kState = 0; // 重置后计数为0
}

2.2.2代码添加方法二

function AddSimpleProperty( name : String, value : Object, description : String )
Parameters
name 属性名称
value 属性的初始值
Description 对此属性的描述

function 气动开关DN40阀1_OnReset( sender : Demo3D.Visuals.Visual )
{
if(!sender.HasProperty(“kState”)) //判断是否存在State属性
{
sender.AddsimpleProperty(“kState”,0,”阀门开启状态”);//定义State属性 默认值为0//系统自动识别为int类型
}
sender.kState = 0; // 重置后计数为0
}

2.3动画运行以及重置功能

重置为回复初始状态,为开始运行,为停止运行,为运行速度调整。

重置按钮会引发实体的OnReset事件的发生。

2.4IO Brower

点击IO Brower会打开以下界面:

在此界面上点击Add按钮,弹出添加驱动界面,可选的驱动有常用的Modbus/EtherNetIP/S7/TCP/UDP/OPC DA/OPC UA等等。

这里我们可以选OPC DA的方式,在OPC选项卡选择响应的OPC服务。

点击OK后,在左侧的树状栏内就会刷新出该OPC服务下所有的标签。

在上侧的工具栏中将Monitor按钮选中,如下图所示

在右侧进行标签的关联,此处先填写Name,再填写其他信息。另外Property中的属性名称即为[2.2编辑定制属性]中创建的属性。

这样PLC中的变量就与该属性进行了绑定。

2.5层级窗口

2.5.1快速区分每个模型实体的归属和组合信息

如下图所示”气动开关DN40阀1″为父级parent,”阀体””螺栓”等为该父级的子级children,了解实体的组合状态能更方便后续编程。

也可以将实体从一个父级拖到另一个父级中。

2.5.2快速选择

可以在每个单独的实体上进行选择,以便查看该实体的属性窗口;右键单击,弹出该实体的操作菜单等。

2.5.3.区分实体类型

每种实体类型对应的属性、事件、方法都不太一样,需要注意区分。比如导入的模型Visual类型就不能通过编程进行颜色变化。

2.6组件库

若无Robots组件库,在组件库的任一位置右击弹出菜单选择”Open Catalog “,在Demo3D的安装目录下,Catalogs文件夹里打开Robots。

用户自定义组件库采用同样方法加载(自定义组件的保存目录)。

2.7属性窗口

工具栏-排序,简单属性,搜索,编辑定制属性,加入属性复制,添加/删除简单属性,脚本名称等

  • 排列顺序:属性按照字母顺序排列。默认为按照分组排列
  • 简单属性: 切换简单属性。默认为被选中状态(命 令被选中时,该命令有背景颜色),属性窗口显示简易属性 (常用属性)。
  • 搜索 :搜索属性的名称快速查找属性。
  • 编辑定制属性:用户添加自定义属性,与[2.2编辑定制属性]功能一致
  • 加入复制属性:把属性添加至”批量复制属性”窗口中,此命令不常用,修改属性在属性窗口中修改即可
  • 添加/删除简单属性:添加/移除简单属性窗口的某个属性
  • 脚本名称:切换至编程代码属性名称,方便编写程序事更准 确的调用某个属性的名称
  • 添加实验属性:在数据分析选择属性加入实验分析
  • 自定义功能:点击后弹出该对象的自定义功能。运用时鼠标 点击某个功能即可。

2.8连接点窗口

端口或触点是指对象两端的Start与End或 两侧Left,Right等,用于定位比如输送机自动连接下一 个输送机是两个端口相连接。

端口具有方向性,如果定义完成后,看不到端口,查看端口窗口是否该端口方向为反方向。属性Normal 为端口的方向,由于在Z轴的负方向定义的端口,Normal的Z轴为-1,X,Y为0,Normal的数值仅表示方向,不是大小。一般连接点的方向都是从实体内部指向外部。

同时需要注意属性Start和End的位置,两者之间的距离定义了连接点的宽度,如无特殊需求可以设置成相同的内容。

2.8.1鼠标右键创建

右击实体弹出菜单选择Add New Connector,在New ConnectorName 中输入端口名称,如输入IN

2.8.2代码创建

定义端口的函数为Visual.FindCreateConnector(“ConnectorName”);

与定义属性一样,端口程序代码可写于OnRest事件中。创建好连接点后,建议将连接点的属性Auto Connect手动改为True。

function 气动开关DN40阀1_OnReset( sender : Demo3D.Visuals.Visual )
{
var conn : Connector = sender.FindCreateConnector(“IN”);
conn.Start = conn.End = vector(0.195/2,0,-0.07);//端口定位conn.Normal = vector(1,0,0); // 端口方向,X轴正向
var conn1 : Connector = sender.FindCreateConnector(“OUT”);
conn1.Start = conn1.End = vector(-0.195/2,0,-0.07);//端口定位conn1.Normal = vector(-1,0,0): // 端口方向,X轴负向
}

2.8.3CAD IS THE MODLE创建

在CAD IS THE MODLE的连接触点窗口编辑,如下图所示,新建连接点需要在搜索栏内输入Connector,选中后添加。

2.9事件窗口

如下图所示,OnkStateUpdated事件就是前面创建的kState属性的变化事件。

如果没创建过响应方法,需要New Jscript…。

选择JScript并点击Create&Edit按钮,进入JS编辑器[2.10]。API帮助文档:Demo3D Namespaces (sim3d.com)

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据