以下文章来源于智能制造产业圈 ,作者产业君
会员可进入会员下载专区获取相关资料~
写在前面
IoTClient是一个实现了多种主流工业通讯协议的物联网设备通讯组件。它基于.NET Standard 2.0构建,支持Windows、Linux等多种平台,甚至可以在树莓派上运行(但请在商业使用前做好充分的评估和测试),源码链接可以点击文末阅读原文直接跳转~
支持的通讯协议
ModBus协议
ModBusTcp:用于TCP网络上的ModBus通讯。
ModBusRtu:用于串行线路上的ModBus RTU通讯。
ModBusAscii:用于串行线路上的ModBus ASCII通讯。
ModbusRtuOverTcp:用于TCP网络上的ModBus RTU封装通讯。
PLC通信读取
SiemensClient:用于西门子PLC的读写操作。
MitsubishiClient:用于三菱PLC的读写操作。
OmronFinsClient:用于欧姆龙PLC的读写操作。
AllenBradleyClient:用于罗克韦尔(Allen-Bradley)PLC的读写操作。
实际案例
作为IoTClient库的一部分,目前已经应用于各种实际项目中,比如能源管理系统,电能管理系统,智能分拣系统,行业管理团建等:
IoTClient Tool:一个开源的桌面程序工具,用于测试和验证通讯协议。
iotgateway:一个开源的物联网网关项目。
智能分拣系统:用于物流行业的智能分拣解决方案。
电表监控系统:用于电表数据的实时监控和管理。
人造板行业生产管理软件:针对人造板行业的生产管理和优化软件。
开发工具与环境
开发工具:Visual Studio 2019
目标框架:.NET Standard 2.0
兼容平台:Windows、Linux、树莓派等
代码示例
引用组件:将本组件添加到您的.NET项目中作为依赖项。
ModBus操作:根据所使用的ModBus协议(Tcp、Rtu、Ascii、RtuOverTcp),初始化相应的客户端,并执行读写操作。
PLC操作:针对不同的PLC品牌(西门子、三菱、欧姆龙、罗克韦尔),初始化相应的客户端,并执行读写操作。请注意西门子PLC的地址格式和最佳实践。
//1、Instantiate the client-enter the model, IP and port
//Other models:SiemensVersion.S7_200、SiemensVersion.S7_300、SiemensVersion.S7_400、SiemensVersion.S7_1200、SiemensVersion.S7_1500
SiemensClient client = new SiemensClient(SiemensVersion.S7_200Smart, "127.0.0.1",102);
//2、Write operation
client.Write("Q1.3", true);
client.Write("V2205", (short)11);
client.Write("V2209", 33);
//3、Read operation
var value1 = client.ReadBoolean("Q1.3").Value;
var value2 = client.ReadInt16("V2205").Value;
var value3 = client.ReadInt32("V2209").Value;
//4、If there is no active Open, it will automatically open and close the connection every time you read and write operations, which will greatly reduce the efficiency of reading and writing. So it is recommended to open and close manually.
client.Open();
//5、Read and write operations will return the operation result object Result
var result = client.ReadInt16("V2205");
//5.1 Whether the reading is successful (true or false)
var isSucceed = result.IsSucceed;
//5.2 Exception information for failed reading
var errMsg = result.Err;
//5.3 Read the request message actually sent by the operation
var requst = result.Requst;
//5.4 Read the response message from the server
var response = result.Response;
//5.5 Read value
var value4 = result.Value;
工业软件行业分析:数字化工厂“智慧大脑”APS
2024-03-07
2023工业互联网产业链全景解析
2024-03-06
262页超全制造业信息化总体架构、数字化工厂建设方案
2024-03-05
2023年全球PLC市场分析:西门子占比最高,国产plc崛起
2024-03-04
超炫酷的西门子TIA Portal的大神级操作~
2024-03-01
PLC与PLC跨网段通讯的4种方法:数字化车间组网实践
2024-02-29
中国工业HMI市场概览:西门子排行第一,国产品牌紧随其后!
2024-02-27
灯塔工厂最全解读:架构规划设计与案例分析
2024-02-28
PLC再也不是当年的PLC
2024-02-24
185页,智能工厂总体建设方案合集
2024-02-14
|