41 lines
1.9 KiB
C#
41 lines
1.9 KiB
C#
using JSMachine.WMS.PLC.ModbusImpl.Elevator.Model;
|
|
|
|
namespace JSMachine.WMS.PLC.ModbusImpl.PaperFeedGroundRack.ModbusIO.Write
|
|
{
|
|
public static class ElevatorWrite
|
|
{
|
|
public async static Task<bool> WriteElevator(ElevatorPlcStatus elevatorStatus)
|
|
{
|
|
IModbusEngine modbusEngine = PLCManager.GetPLC(elevatorStatus.ElevatorNo);
|
|
if (modbusEngine == null)
|
|
return false;
|
|
|
|
if (elevatorStatus.StockInPutdownChanelOne)
|
|
await modbusEngine.WriteUshortOneAsync(1, 10, elevatorStatus.StockInPutdownChanelOne ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockInPutdownChanelTwo)
|
|
await modbusEngine.WriteUshortOneAsync(1, 8, elevatorStatus.StockInPutdownChanelTwo ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockInPickupChannelOne)
|
|
await modbusEngine.WriteUshortOneAsync(1, 15, elevatorStatus.StockInPickupChannelOne ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockInPickupChannelTwo)
|
|
await modbusEngine.WriteUshortOneAsync(1, 13, elevatorStatus.StockInPickupChannelTwo ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockOutPutdownChanelOne)
|
|
await modbusEngine.WriteUshortOneAsync(1, 14, elevatorStatus.StockOutPutdownChanelOne ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockOutPutdownChanelTwo)
|
|
await modbusEngine.WriteUshortOneAsync(1, 12, elevatorStatus.StockOutPutdownChanelTwo ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockOutPickupChanelOne)
|
|
await modbusEngine.WriteUshortOneAsync(1, 11, elevatorStatus.StockOutPickupChanelOne ? (ushort)1 : (ushort)0);
|
|
|
|
if (elevatorStatus.StockOutPickupChanelTwo)
|
|
await modbusEngine.WriteUshortOneAsync(1, 9, elevatorStatus.StockOutPickupChanelTwo ? (ushort)1 : (ushort)0);
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|