2025-08-25 16:24:16
勇哥注:下面是对于大型项目做nx mcd仿真时的一些经验分享。读者如果对mcd非常了解,应该从本文本中读到一些共鸣的经验。欢迎大家补充。准备工作仿真场景的步骤:(1)删除不需要的组件(真空阈、气管嘴、一些不需要展示的内部的细节部件等) 不需要的料盘删除,保留部分料盘用于测试。 对箱子内的部件删除。 对于料盘的感应器调整高度。 拖链删除,电磁阈...
2025-08-20 08:39:13
输出信号:动点,原点就是输出信号。其它像轴的原点 、正负限位也是输出信号。这里以“左前推气缸动点”来说明。为啥我要写成 Parameter_1>12-1,而不写成Parameter_1>=12?这是因为如果你写成>=,会看见很奇怪的现象,有些气缸的位置明明是0,但是不满足>=0的条件,值就是为false,而不为true。而且还可能出现几个不同气缸之差的状态互相有干扰。这个让...
2025-08-19 09:31:17
勇哥注:设备中真空和破真空很常见,但是在mcd中我们并没有这样的mcd对象,下文中勇哥是使用固定幅来实现的。真空还是有必要的,不然像下图中的料盘,在随着轴的载盘移动时,速度一快就会甩下去。解决这个问题的办法大家可能都会想到用固定副。先对x轴添加“碰撞传感器”再对x轴添加固定副,连接体空出来,一会有用。然后在仿真序列中设置一下。选择刚才设置的固定幅,然后勾选运行时参数的“连接体”和“基本体”。这个时...
2025-08-18 22:21:13
如果下图,这是“握爪”的定义。在信号适配器中,“握爪”有两个动作:抓握、释放这个时候一个问题是,你怎么用一个bool量来控制两个动作:抓握、释放 ?如果你想像下面这样写,是错误的(虽然不报错):if 夹爪 then Parameter_4=true&Parameter_5=false else Parameter_4=false&Parameter_5=true正确的写法如下:效...
2025-08-13 18:10:13
勇哥注:下面的自动化测试的python代码,使用winappDriver和selenium进行,运行后会打开计算器程序,然后进行自动点击。如果你用的是pycharm写代码,可以很方便的选择包的版本。如果用AI编程环境Trae.cn或者cursor的话,你得告诉它们:请在虚拟环境中安装下面说的版本。否则他一定自由发挥,乱搞一通。先要启动winappdriver:winAppDriver.exe 12...
2025-08-07 21:42:58
勇哥注:这节研究一下仿真序列的并行动作。(一)时间序列的并行这种比较简单。因为起始时间一样,所以“左前推”和“右前推”两个气缸的动作是并行的。(二)同时夹,同时抬起但是还是有个问题,它是基于时间的并行。当你仿真后到了时间就会执行。(三)事件和链接模式第12步是事件模式(注意它的甘特图是绿色的)接下来3步都是链接模式。这种方式以事件开始,然后是依次顺序执行。有了严格的先后次序。由于所有步都不是基于时...
2025-08-01 16:13:29
机电概念设计首选项对话框常规节点重力加速度指定全局 X、Y 和 Z 方向上的重力值。地面用于在仿真中添加地平面,以防止碰撞体无休止地坠落。可以将平面从原点偏置,以在仿真环境中定位平面。材料参数用于设置材料的碰撞参数的值。阻尼用于设置线性和角度阻尼值来降低振动幅值。检测时高亮显示用于选择可在对象处于活动状态时在图形窗口中高亮显示的 每个机电对象类型:碰撞体胶合区握爪不属于机电对象的对象在功能区上打...
2025-07-31 19:05:22
勇哥注:需求:弄一个输入信号,它在true或者false切换时,产生随机摆放的物料。同时演示一下输出调试信息的办法。代码比较简单,没什么好解释的。C#代码:using NXOpen;
using NXOpen.CAE;
using System;
public class UserBehavior : BehaviorDef
{
RigidBody m_RigidBody...
2025-07-31 14:44:38
有关NXObject和MCD运行时对象的详细信息a) NXObject是所有可在NX中建模并支持NXOPEN API的对象的基类,例i如:直线、实体、曲线或坐标系。在MCD中建模的刚体、碰撞体和接头也是NXObject。b) RuntimeObject是NXMCD运行时对象的基类,运行时对象仅在MCD仿真过程中可访问。用户可以在MCD运行时检查器中观察运行时对象属性的值。c) 关于MCD对象和MC...
2025-07-31 14:30:20
(一)nx端的使用方式(二)使用vs来调试运行时代码创建.net framework类库程序。nx也提供了vs2019的一个开发环境插件,安装后也可以使用nxopen的模板来创建项目。这个插件在本文的下载里提供了。C#代码:using System;
using NXOpen;
public class UserBehavior : BehaviorDef
{
MCDSignal...
2025-07-31 10:25:51
1.运行时行为的概念运行时行为(Runtime Behavior)是通过C#代码对机电一体化系统的对象进行控制以及定义其行为,适用于运动控制比较复杂的控制要求中。2.创建运行时行为打开运行时行为对话框的方式有三种。如图所示。(1) 方式一(2) 方式二(3) 方式三3.运行时行为参数含义4.编辑器结构介绍①引用命名空间。②定义全局变量。③数据连接,将程序的变量与MCD中的参数进行相互连接。④初始化...
2025-07-30 20:28:20
将仿真序列转换为顺序函数逻辑本示例将演示如何将仿真序列从机电概念设计导出至 SIMATIC STEP7 程序。 在导出过程中,仿真序列会转换为顺序函数逻辑,以用于使用真实或虚拟 PLC 对 SIMATIC STEP7 程序进行仿真。注释:要导出仿真序列,必须创建并链接要导出的仿真序列。在资源条上,单击序列编辑器 选项卡以显示仿真序列。在序列编辑器表中,通过将一个仿真序列的末尾拖到另一个仿真序列的...
2025-07-30 20:25:48
本例将展示如何为自动导引车 (AGV) 概念模型选择其他路线。将使用信号、点在线上副、代理对象以及相关操作。前提条件必须创建装配的基本机电对象,如刚体、碰撞体和执行器。要使用此工作流程,创建以下各项:曲线 - 用于应用点在线上副。碰撞体 - 用于确定哪些体与地面碰撞和交互。速度控制 - 用于为连接到点在线上副的体的运动提供动力。视频步骤创建可用于触发曲线选择的信号。选择主页选项卡→电气组→信号 。...
2025-07-30 20:19:58
定义基于时间的行为和基于事件的行为定义运动学并创建执行器以移动系统中的运动副后,可以使用仿真序列命令定义基于时间的基本行为和基于事件的基本行为。 使用示例包括:在特定时间段内激活传输面。创建条件语句,以在碰撞传感器激活时让速度控制执行器停止。在刚体接触传感器时更改刚体的质量。可以像甘特图一样在序列编辑器中管理仿真序列的序列。要创建序列,可以使用链接器,以使第一个仿真序列必须进行之后才能进行下一个工...
2025-07-30 20:07:52
序列编辑器序列编辑器是类似甘特图的导航器,用于显示系统中的仿真序列及其序列。可以查看有关仿真序列的信息,包括参考的机电对象、开始时间、持续时间、结束时间和一些运行时参数。使用序列编辑器可执行以下操作:将新仿真序列添加到系统。从表中修改仿真序列的开始时间和持续时间。使用 AND 和 OR 逻辑链接仿真序列。修改仿真序列的序列并创建按功能组织仿真序列的组。激活或停用单个或多个仿真序列。使用机电一体化或...
2025-07-30 19:56:23
运行时行为使用运行时行为命令可将用户编写的 C# 代码对象链接到机电系统的对象。可以使用 C# 代码定义系统中对象的行为,例如:在仿真过程中随机放置体。在仿真中生成点和轴。显示运行时消息。在仿真过程中从外部文件读取数据。可以在 NX 安装文件中访问更多机电概念设计集成示例和信息。使用 %USER_BASE_DIR%\mechatronics\RuntimeBehavior 文件夹查看运行时行为示例...
2025-06-25 22:52:04
接上篇:三菱fx3u plc的指令仿真的研究(一)这一节写C#程序,它做下面几件事:(1)指令转逻辑表达式(2)逻辑表达式放入二叉树,以方便指令仿真时进行解析。其原理见论文:http://www.skcircle.com/?id=2663 下面是生成的二叉树效果。源码如下:using System;
using System.Collections.Generic;
using System....
2025-06-04 21:58:38
先来看代码:LD X000LD X001AND X002ORBOR X003AND M0OUT Y000END对应的梯图为:我们来逐步分析这段三菱 PLC 代码对应的逻辑表达式,按照 串联为 “与”(用 * 表示 )、并联为 “或”(用 + 表示 ) 的规则推导:1. 拆分分支逻辑第一分支:LD X000单独的常开触点,逻辑为 X000 。第二分支:LD X001 + AND X002LD X00...
2025-05-28 21:53:44
我的意思是,你unity的场景是个exe,我的教学程序也是个exe,最终是两个程序。unity的界面也没办法跟教学程序合在一起呀方案一:窗口嵌入 + IPC通信(推荐方案)技术原理:将Unity的EXE窗口作为子窗口嵌入到教学程序主界面中,通过进程间通信实现双向数据交互。实现步骤:窗口嵌套csharpCopy Code// 获取Unity窗口句柄[DllImport("u...