public IAction CreateAction(bool enable) { var registers = new ModbusRegister[1]; registers[0] = new ModbusRegister { DeviceId = devid, RegisterId = register, RegisterValue = (UInt16)(enable ? 1 : 0) }; var command = new ModbusCommand { Registers = registers, Delay = 0 }; return(new ModbusAction(command, sender)); }
public IAction Configure() { var registers = new ModbusRegister[2]; registers[0] = new ModbusRegister { DeviceId = devid, RegisterId = maxSpeedRegister, RegisterValue = ConvertSpeed(maxspeed) }; registers[1] = new ModbusRegister { DeviceId = devid, RegisterId = baseSpeedRegister, RegisterValue = ConvertSpeed(basespeed) }; var command = new ModbusCommand { Registers = registers, Delay = 0 }; return(new ModbusAction(command, sender)); }
public IAction CreateAction(SpindleState.SpindleRotationState rotation, decimal speed) { var registers = new ModbusRegister[2]; int delay = 0; switch (rotation) { case SpindleState.SpindleRotationState.Off: registers[0] = new ModbusRegister { DeviceId = devid, RegisterId = runRegister, RegisterValue = runNone }; delay = 0; break; case SpindleState.SpindleRotationState.Clockwise: registers[0] = new ModbusRegister { DeviceId = devid, RegisterId = runRegister, RegisterValue = runForward }; delay = 3000; break; case SpindleState.SpindleRotationState.CounterClockwise: registers[0] = new ModbusRegister { DeviceId = devid, RegisterId = runRegister, RegisterValue = runReverse }; delay = 3000; break; } registers[1] = new ModbusRegister { DeviceId = devid, RegisterId = speedRegister, RegisterValue = ConvertSpeed(speed) }; var command = new ModbusCommand { Registers = registers, Delay = delay }; return(new ModbusAction(command, sender)); }