Beispiel #1
0
        public void SetOperationMode(string hostIp, int port, [FromBody] sbyte operationMode)
        {
            Socket           s = ModbusSocket.GetConnection(hostIp, port);
            ModesOfOperation modesOfOperation = new ModesOfOperation();

            modesOfOperation.Write(s, (ModesOfOperation.ModesEnum)operationMode);
        }
        public bool Homing(string hostIp, int port)
        {
            Socket           s = ModbusSocket.GetConnection(hostIp, port);
            ModesOfOperation modesOfOperation = new ModesOfOperation();

            modesOfOperation.Write(s, ModesOfOperation.ModesEnum.Homing);
            while (modesOfOperation.ReadDisplay(s) != ModesOfOperation.ModesEnum.Homing)
            {
                Thread.Sleep(100);
            }
            ControlWord controlWord = new ControlWord();

            // Byte 19: 31
            controlWord.Bit00 = true; // 1
            controlWord.Bit01 = true; // 2
            controlWord.Bit02 = true; // 4
            controlWord.Bit03 = true; // 8
            controlWord.Bit04 = true; // 16
            controlWord.Write(s);

            StatusWord statusWord = new StatusWord();

            while (!(statusWord.Bit00 && statusWord.Bit01 && statusWord.Bit02 && statusWord.Bit05 && // 39
                     statusWord.Bit09 && statusWord.Bit10 && statusWord.Bit12)) // 22
            {
                statusWord.Read(s);
                Thread.Sleep(100);
            }
            return(true);
        }
Beispiel #3
0
        public sbyte GetOperationModeDisplay(string hostIp, int port)
        {
            Socket           s = ModbusSocket.GetConnection(hostIp, port);
            ModesOfOperation modesOfOperation = new ModesOfOperation();
            var currentMode = modesOfOperation.ReadDisplay(s);

            return((sbyte)currentMode);
        }
Beispiel #4
0
        public ControlWord GetControlWord(string hostIp, int port)
        {
            Socket      s           = ModbusSocket.GetConnection(hostIp, port);
            ControlWord controlWord = new ControlWord();

            controlWord.Read(s);
            return(controlWord);
        }
        public StatusWord GetStatusWord(string hostIp, int port)
        {
            Socket     s          = ModbusSocket.GetConnection(hostIp, port);
            StatusWord statusWord = new StatusWord();

            statusWord.Read(s);
            return(statusWord);
        }
Beispiel #6
0
        public bool Init(string hostIp, int port)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            ShutDown(s);
            SwitchOn(s);
            EnableOperation(s);
            return(true);
        }
        public void SetShaftRevolutions(string hostIp, int port, [FromBody] uint shaftRevolutions)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            byte[] data     = BitConverter.GetBytes(shaftRevolutions);
            var    telegram = new Telegram();

            telegram.Length = 23;
            telegram.Set(1, AddressConst.ShaftRevolution, 4, data[0], data[1], data[2], data[3]);
            var response = telegram.SendAndReceive(s);
        }
        public uint GetShaftRevolutions(string hostIp, int port)
        {
            Socket s        = ModbusSocket.GetConnection(hostIp, port);
            var    telegram = new Telegram();

            telegram.Set(0, AddressConst.ShaftRevolution, 4);
            var response = telegram.SendAndReceive(s);
            var result   = BitConverter.ToUInt32(new byte[] { response.Byte19, response.Byte20, response.Byte21, response.Byte22 }, 0);

            return(result);
        }
        public void SetMethod(string hostIp, int port, [FromBody] sbyte homingMethod)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            byte[] data     = BitConverter.GetBytes(homingMethod);
            var    telegram = new Telegram();

            telegram.Length = 20;
            telegram.Set(1, AddressConst.HomingMethod, 4, 0, data[0]);
            var response = telegram.SendAndReceive(s);
        }
Beispiel #10
0
        public sbyte GetMethod(string hostIp, int port)
        {
            Socket s        = ModbusSocket.GetConnection(hostIp, port);
            var    telegram = new Telegram();

            telegram.Set(0, AddressConst.HomingMethod, 4);
            var response = telegram.SendAndReceive(s);
            var result   = (sbyte)response.Byte19;

            return(result);
        }
Beispiel #11
0
        public void SetZeroSearchVelocity(string hostIp, int port, [FromBody] uint zeroSearchVelocity)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            byte[] data     = BitConverter.GetBytes(zeroSearchVelocity);
            var    telegram = new Telegram();

            telegram.Length = 23;
            telegram.Set(1, AddressConst.HomingZeroSearchVelocity, 4, data[0], data[1], data[2], data[3]);
            var response = telegram.SendAndReceive(s);
        }
Beispiel #12
0
        public int GetActualPosition(string hostIp, int port)
        {
            Socket s        = ModbusSocket.GetConnection(hostIp, port);
            var    telegram = new Telegram();

            telegram.Set(0, AddressConst.PositionActualValue, 4);
            var response = telegram.SendAndReceive(s);
            var result   = BitConverter.ToInt32(new byte[] { response.Byte19, response.Byte20, response.Byte21, response.Byte22 }, 0);

            return(result);
        }
Beispiel #13
0
        public void SetTargetPosition(string hostIp, int port, [FromBody] int targetPosition)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            byte[] data     = BitConverter.GetBytes(targetPosition);
            var    telegram = new Telegram();

            telegram.Length = 23;
            telegram.Set(1, AddressConst.TargetPosition, 4, data[0], data[1], data[2], data[3]);
            var response = telegram.SendAndReceive(s);
        }
Beispiel #14
0
        public ushort GetPositionWindowTime(string hostIp, int port)
        {
            Socket s        = ModbusSocket.GetConnection(hostIp, port);
            var    telegram = new Telegram();

            telegram.Set(0, AddressConst.PositionWindowTime, 2);
            var response = telegram.SendAndReceive(s);
            var result   = BitConverter.ToUInt16(new byte[] { response.Byte19, response.Byte20 }, 0);

            return(result);
        }
Beispiel #15
0
        public void SetControlWord(string hostIp, int port, [FromBody] ControlWord controlWord)
        {
            Socket s = ModbusSocket.GetConnection(hostIp, port);

            controlWord.Write(s);
        }