Your comments

vedio:

https://imgur.com/wrUQm03


As you can see from the video, Path alone can be fully executed at first, but once I execute Path A and then Path B, PathB can't complete all the actions.

Can you tell me under what circumstances Value, status.Value, status.ValueOverride will change to true respectively?

here is my code 


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using game4automation;
using NaughtyAttributes;

public class PickBlank1A : ControlLogic
{
public bool PickProduct1A_On = false;


[Header("Signals")]
public PLCOutputBool StartPathPick; //初始态移动机械臂抓取
public PLCOutputBool StartPathReturn; //成功抓取后返回标准位置

public PLCOutputBool Pick;
public PLCOutputBool Place;
public PLCInputBool RobotSensorOccupied;
public PLCInputBool PathEnded;

private void Start()
{
PickProduct1A_On = false;
}

private void Update()
{
//当开启时,启动机器人路径
//Starts the robot path when turned on
if (PickProduct1A_On)
{
StartPathPick.Status.ValueOverride = true;
}
//当路径动作结束时 => 夹取传感器被占据 => 开启信号未复位时,进行夹取
//Clamping when the path action is finished => Clamping sensor is occupied => Clamping is performed when the open signal is not reset
if (PathEnded.Status.Value && RobotSensorOccupied.Status.Value && PickProduct1A_On)
{
StartPathPick.Status.ValueOverride = false; //路径信号复位 Path signal reset
//夹取 这里注意Grip夹取时使用的是Value而不是ValueOverride
Pick.Status.ValueOverride = true;
Pick.Status.Value = true;
}


//当夹取的路径走完后,判断是否夹取成功,成功夹取了再执行返回标准位置的路径
//When the clamping path is completed, determine whether the clamping is successful, successful clamping and then execute the path back to the standard position.
if (PathEnded.Status.Value == true && Pick.Status.ValueOverride == true && Pick.Status.Value == true )
{
StartPathReturn.Status.ValueOverride = true;
//返回标准位置后,该单步任务结束
//After returning to the standard position, this single-step task ends
PickProduct1A_On = false;
}
}

private void SwitchPick(PLCOutputBool pick)
{
pick.Status.ValueOverride = !pick.Status.ValueOverride;
}
}

Almost all the models I export via CADLink have this problem

Image 1032

My fixture model was imported as a .STEP format file via CADLink and then exported as .FBX via the Unity plugin.

I'm assuming it's because it's center point shifted when generating the model causing the mesh to not overlap with the model when I add the Group component.

Can you tell me any good way to solve this problem? If I can't solve it myself I'll upload my project for help.

Image 1030


thank u for your reply !

The reason I can't see the UI in the Scene is because the UI objects are all under UI Layers, and the objects under the UI layer are filtered by the layer filter.

Thanks for letting me know, I achieved what I wanted!

Your package is amazing!

I currently have a sensor placed on a vertical conveyor belt, and when the cube occupies the sensor it passes that signal to SignalStart to control the robot arm to start moving. After the cube is placed on the horizontal conveyor, I use a loop to bring the arm back to the position where it was gripping the cube on the vertical conveyor to repeat the gripping action. The requirement I want now is to have the robot arm return to grab the cube only when the vertical conveyor is occupied to repeat the gripping action.

Image 1022

Thank you for your reply !

There's something I don't understand about what SignalEnded specifically does. Does this attribute indicate that a signal is output at the end of the path or do I input a signal to end it?