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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }