unity使用 MQTT复现plant simulate仿真
一、plant simulate端配置
1、plant simulate MQTT组件配置,该组件在类库的信息流类目下,端口不变,填写ip即可;
2、设备配置界面,在控件入口和出口处各挂一个脚本,当物料出入该设备时会分别触发执行这两个脚本,粘贴如下代码;
EventController.AbsTimeFormat := true
var workstation: json
workstation[“Name”] := self.~.name
workstation[“State”] := self.name
workstation[“CycleTime”] := datetime_to_str(EventController.AbsSimTime )
var message:string:=workstation.asString
print message
MQTT.publish(self.~.name,message)
3、MQTT客户端订阅plant simulate设备名称,即可收到该设备的节拍信息,即当物料出入该设备时会收到消息;
二、unity端配置
1、首先unity端得支持MQTT,参考如下链接https://blog.51cto.com/u_39037/10209775
2、将plant simulate的模型文件导入到unity端并进行简单贴图。
3、运行plant simulate,收到MQTT发来的节拍消息,根据节拍消息在unity端进行相关响应即可。
4、对于六轴机械臂来说,plant simulate能给到两个位姿的各6个旋转数据及旋转时间,在这两个位姿之间根据观察plant simulate端的动画可以确定几个关键位姿,确定之后进行插值即可,目前是线性插值。point1、point7(实际和point1重合)、point4是plant simulate端给到的,point2、point3、point5、point6是观看动画确定的。ticks是时间戳,plant simulate端point1到point4是6s,本demo对应ticks相差6000。