PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 41329|回复: 0

[西门子] 开源工业数据采集平台分享:支持西门子、三菱、AB等PLC主流工业协议

[复制链接]
发表于 2024-3-9 11:57:09 | 显示全部楼层 |阅读模式
以下文章来源于智能制造产业圈 ,作者产业君



会员可进入会员下载专区获取相关资料~

写在前面

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-4-27 17:54 , Processed in 0.049409 second(s), 27 queries .

快速回复 返回顶部 返回列表