diff --git a/ln.ethercat/controller/remote/StupidSerialRemote.cs b/ln.ethercat/controller/remote/StupidSerialRemote.cs index 91872af..917b187 100644 --- a/ln.ethercat/controller/remote/StupidSerialRemote.cs +++ b/ln.ethercat/controller/remote/StupidSerialRemote.cs @@ -51,6 +51,9 @@ namespace ln.ethercat.controller.remote public double MainTarget { get; set; } public double FeedTarget { get; set; } + public double FeedRatio { get; set; } = 0.5; + public double TorqueRatio { get; set; } = 1.0; + public StupidSerialRemote(Controller controller) :this(controller, SerialPort.GetPortNames()[0]){} public StupidSerialRemote(Controller controller, string serialDevice) @@ -97,7 +100,7 @@ namespace ln.ethercat.controller.remote case FeederOperation.LEFT: if (Controller.ECMaster.DriveControllers[1].DriveMode == DriveMode.SPEED) { - Controller.RemoteUpdateTarget(1, FeedTarget); + Controller.RemoteUpdateTarget(1, FeedTarget * FeedRatio); } else { Controller.ECMaster.DriveControllers[1].DriveMode = DriveMode.SPEED; Controller.RemoteUpdateTarget(1, 0); @@ -106,7 +109,7 @@ namespace ln.ethercat.controller.remote case FeederOperation.RIGHT: if (Controller.ECMaster.DriveControllers[1].DriveMode == DriveMode.SPEED) { - Controller.RemoteUpdateTarget(1, -FeedTarget); + Controller.RemoteUpdateTarget(1, -(FeedTarget * FeedRatio)); } else { Controller.ECMaster.DriveControllers[1].DriveMode = DriveMode.SPEED; Controller.RemoteUpdateTarget(1, 0); @@ -115,7 +118,7 @@ namespace ln.ethercat.controller.remote case FeederOperation.TORQUE: if (Controller.ECMaster.DriveControllers[1].DriveMode == DriveMode.TORQUE) { - Controller.RemoteUpdateTarget(1, FeedTarget); + Controller.RemoteUpdateTarget(1, FeedTarget * TorqueRatio); } else { Controller.ECMaster.DriveControllers[1].DriveMode = DriveMode.TORQUE; Controller.RemoteUpdateTarget(1, 0);