37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using JSMachine.WMS.Common;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace JSMachine.WMS.PLC.ModbusImpl.Elevator
|
|
{
|
|
/// <summary>
|
|
/// 电梯 PLC 通信实现,初始化时将连接实例注册到 PLC 管理器供后台任务使用。
|
|
/// </summary>
|
|
public class ElevatorPlc : ModbusEngineBase, IModbusEngine
|
|
{
|
|
/// <summary>
|
|
/// 初始化并连接
|
|
/// </summary>
|
|
/// <param name="ip"></param>
|
|
/// <param name="port"></param>
|
|
/// <param name="plc_key"></param>
|
|
/// <returns></returns>
|
|
public override IModbusEngine Init(string ip, int port)
|
|
{
|
|
int elevatorNo = Global.AppSettings.ElevatorConfig.First(p => p.IP == ip).ElevatorNo;
|
|
|
|
IModbusEngine modbus = base.Init(ip, port);
|
|
|
|
//必须先将PLC实例添加到字典,否则job先执行后无法拿到实例会导致无法重连
|
|
PLCManager.AddPLC(elevatorNo, modbus);
|
|
|
|
modbus.Connet();
|
|
|
|
return modbus;
|
|
}
|
|
}
|
|
}
|