我目前正在撰写我的学士论文,尝试为我们大学拥有的一个 Festo CP 工厂实现一个简单的数字孪生。
输送机和挡停器(你可以看到载具停靠的那个金/黄色部件,然后因为连接器而再次停止)通过 OPC UA 获取启动/释放信息。然后,它会从现实中的载具撞击传感器那里获得信号,以激活输送机或给出挡停器释放信号。
所以,我面临的问题是,载具在两个输送机之间的实际连接器(传输点)之前很远就停下了。随着仿真时间的推移,这个距离会越来越大。你可以在我附上的视频中看到我的意思(我只用手机录的,因为大学电脑上没有录屏软件),你在挡停器(金/黄色物体)处看到的第一次停止是载具在等待现实中的对应设备也清除停止信号。
我尝试将停止点移到另一个位置,但这根本没有影响,只是改变了停止的位置。我还尝试通过 Python 进行连接,但也没有改变任何东西。
我真的不知道该如何解决这个问题。任何帮助都将不胜感激!
输送机传输中载具停止位置偏移与 OPC UA 同步问题的解决方案- General Questions - visual compents 疑难解答
输送机传输
那么你是在使用组件路径传感器行为,然后从该传感器向 OPC UA 服务器发送信号吗?这些传感器基于在运动路径上移动的组件的边界框进行操作,你可以选择触发点。
https://help.visualcomponents.com/4.9/Premium/en/English/Component%20Modeling/Behaviors/Sensors/Component_Path_Sensor.htm
如果传感器在奇怪的位置触发,那么你的组件可能有一个奇怪或意外的边界框。尝试删除不必要的框架,并检查所有可能影响组件边界的其他特征。
我使用 OPC UA 服务器来接收现实中对等输送机是否在运动的信号。我没有使用任何组件路径传感器。我通过 Python 脚本将“载具”抓取到输送机上,然后根据从服务器接收到的信号来打开/关闭路径。而对于连接输送机,我使用 OneToOne 接口,以便在 PnP 中使用它们。它们不是在输送机的末端(我放置接口和路径终点的地方)停止,而是在那之前就停下了。
那么你在 VC 中完全没有使用任何传感器来在零件到达时触发输送机停止?
那么我怀疑你的现实输送机必须以与仿真输送机不同的速度运动。例如,它是否会加速和减速,而仿真路径只是瞬间启动和停止?
我认为这种同步永远不可能完美,除非你做一些事情,比如从现实输送机读取编码器值,然后在 VC 中使用脚本计算并相应地更新零件的位置。在这种情况下,我认为你基本上不能使用 VC 的运动路径,因为它们无法由“行进距离”驱动,只能基于仿真时间。
现实中的输送机以恒定速度运行,只有在物体离开皮带几秒钟后才停止,一旦载具再次回到皮带上,又以恒定速度重新启动。
我没有用于激活路径的传感器,这一切都是通过服务器完成的。目前,我使用挡停器作为同步手段:让 VC 中的载具运行得稍快一些,使其始终领先于现实中的载具,然后在挡停器处等待另一个到达,然后释放挡停器。但随后我遇到了一个问题:我的载具不是停在输送带末端的路径终点处,而是停在它之前,并且仿真运行的时间越长,它在路径上停得越早。因此,经过一次循环后,它会停在当前路径的中间位置,即使路径是激活的,并且它在等待另一条路径激活,即使它离路径终点或连接器还很远。就像图片中看到的那样,我希望载具停在皮带的末端,在那里等待另一条路径打开,但是……
另外,我很想更新零件的位置,但遗憾的是我无法弄清楚如何在仿真运行时改变对象的位置。
嘿 Aaron
希望你的学士论文进展顺利
我很喜欢你的 Festo CP 工厂数字孪生,不知道你是否可以分享这个模型?
此致
Helge Grøn
丹麦奥尔堡 UCN
你好 Helge,
首先,感谢你关心我的学士论文,它进展顺利,我现在正在攻读硕士学位。
关于 Festo 模型,很遗憾我无法分享它,因为我使用了 Festo 公司自己的 CAD 模型,我们不被允许分发它们,我们需要先与 Festo 沟通。
此致
Aaron Broel
德国科特布斯 BTU


微信扫一扫,打赏作者吧~