基于 C# 的 PLC 转 Web API 服务器框架实现
本文介绍一款基于 C# 编写的 PLC 转 Web API 服务器框架,利用 IOCP 技术实现高性能高并发。框架集成了 IoT 服务和 Web API,支持多种数据库及工业协议,适用于物联网应用开发。
核心功能
- 数据库支持:集成 EF6,支持 MSSQL、MySQL 或 SQLite。例如在 EF6 中连接 MSSQL 数据库:
using (var context = new YourDbContext()) {
var data = context.YourTable.ToList();
}
- 独立 Web API 服务:无需 IIS 支持,可直接通过 Web 前端读取远程设备数据及下发指令。包含日志查询、用户认证、设备注册管理等功能。示例接口定义:
[HttpGet]
public IHttpActionResult GetServerLog() {
var logData = LogService.GetServerLog();
return Ok(logData);
}
- 协议支持:原生支持 Modbus、Modbus RTU,可定制集成 Modbus TCP、西门子 S7、OPC、三菱 PLC 及 MQTT 服务。处理 Modbus RTU 协议示例:
ModbusRtuMaster master = new ModbusRtuMaster(new SerialPort("COM1", 9600));
ushort[] data = master.ReadHoldingRegisters(1, 0, 10);
- MVC 服务:自带 MVC 架构,开发 API 便捷,内置硬件协议驱动。控制器示例:
public class YourAPIController : Controller {
[HttpPost]
public ActionResult SendCommandToDevice(CommandModel model) {
var result = DeviceCommandService.SendCommand(model);
return Json(result);
}
}



