using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TeamAAS_VP.Core.PLCs;
namespace TeamAAS_VP.Models
{
public class MCToPCInfo
{
public string PlcIp { get; set; } = "192.1683.20";
public int PlcPort { get; set; } = 4998;
public bool PlcForwardEnabled { get; set; } = true;
public string PlcPortDevice { get; set; } = "D101";
public string PlcQualityDevice { get; set; } = "D102";
public string PlcDataStartDevice { get; set; } = "D110";
public string PlcReadyBitDevice { get; set; } = "M100";
/// 读 OK 位,填 0 表示不使用
public string PlcOkBitDevice { get; set; } = "0";
/// 读 NG 位,填 0 表示不使用
public string PlcNgBitDevice { get; set; } = "0";
/// Receive 位(PC→PLC),填 0 表示不使用
public string PlcReceiveBitDevice { get; set; } = "M103";
/// PC 心跳地址:M 等位元件翻转,D 等字元件递增;填 0 表示不使用
public string PlcHeartbeatDevice { get; set; } = "M200";
public int PlcHeartbeatIntervalMs { get; set; } = 1000;
/// 连接自检用的位地址(建议用梯形图未占用的 M,如 M3001)
public string PlcBitTestDevice { get; set; } = "M3001";
public int PlcMaxDataBytes { get; set; } = 32;
public PlcRfidMapping ToPlcMapping()
{
return new PlcRfidMapping
{
PortDevice = PlcPortDevice,
QualityDevice = PlcQualityDevice,
DataStartDevice = PlcDataStartDevice,
ReadyBitDevice = PlcReadyBitDevice,
OkBitDevice = PlcOkBitDevice,
NgBitDevice = PlcNgBitDevice,
ReceiveBitDevice = PlcReceiveBitDevice,
MaxDataBytes = PlcMaxDataBytes
};
}
}
}