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); }
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 sbyte GetOperationModeDisplay(string hostIp, int port) { Socket s = ModbusSocket.GetConnection(hostIp, port); ModesOfOperation modesOfOperation = new ModesOfOperation(); var currentMode = modesOfOperation.ReadDisplay(s); return((sbyte)currentMode); }