first commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using JSMachine.WMS.Infrastructure.Helper;
|
||||
using JSMachine.WMS.PLC.ModbusImpl.Elevator.Enums;
|
||||
using JSMachine.WMS.PLC.ModbusImpl.Elevator.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace JSMachine.WMS.PLC.ModbusImpl.Elevator.ModbusIO.Read
|
||||
{
|
||||
public static class ElevatorStatusRead
|
||||
{
|
||||
/// <summary>
|
||||
/// 读取所有提升机状态
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static async Task<List<ElevatorPlcStatus>> ReadAllElevatorStatus()
|
||||
{
|
||||
ElevatorPlcStatus elevatorStatusOne = await ReadElevatorStatus(1);
|
||||
ElevatorPlcStatus elevatorStatusTwo = await ReadElevatorStatus(2);
|
||||
|
||||
elevatorStatusOne ??= new() { ElevatorNo = 1 };
|
||||
elevatorStatusTwo ??= new() { ElevatorNo = 2 };
|
||||
|
||||
return [elevatorStatusOne, elevatorStatusTwo];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 读取指定提升机状态
|
||||
/// </summary>
|
||||
/// <param name="elevatorNo"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<ElevatorPlcStatus> ReadElevatorStatus(int elevatorNo)
|
||||
{
|
||||
IModbusEngine modbusEngine = PLCManager.GetPLC(elevatorNo);
|
||||
if (modbusEngine == null)
|
||||
return null;
|
||||
|
||||
ushort[] data = await modbusEngine.ReadUshortsAsync(1, 0, 20);
|
||||
|
||||
if (data == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
ElevatorPlcStatus elevatorStatus = new()
|
||||
{
|
||||
ElevatorNo = elevatorNo,
|
||||
StockInPutdownChanelOne = data[2] == 1,
|
||||
StockInPutdownChanelTwo = data[0] == 1,
|
||||
StockInPickupChannelOne = data[7] == 1,
|
||||
StockInPickupChannelTwo = data[5] == 1,
|
||||
|
||||
StockOutPutdownChanelOne = data[6] == 1,
|
||||
StockOutPutdownChanelTwo = data[4] == 1,
|
||||
StockOutPickupChanelOne = data[3] == 1,
|
||||
StockOutPickupChanelTwo = data[1] == 1,
|
||||
};
|
||||
|
||||
return elevatorStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user