首页 > 其他分享 >西门子PLC与上位机通信方案梳理

西门子PLC与上位机通信方案梳理

时间:2024-12-07 11:43:40浏览次数:4  
标签:S7 西门子 通信 上位 PLC OPC

一、前言

大家好!我是付工。

西门子PLC是工控领域使用非常多的一种PLC品牌,对于上位机开发人员来说,对于西门子PLC的通信,我们一般可以采取哪些通信方式呢?

今天跟大家分享一下上位机实现与西门子PLC的通信方案。

二、串口通信

西门子PLC早期主要以S7-200、S7-300/400为主,后面逐步被S7-200Smart、S7-1200/1500所替代。

目前只有S7-200与S7-200Smart是自带串口,接口标准为RS485。

如果是其他型号,想要实现串口通信,需要增加相应的串口通信模块。

西门子PLC的串口通信协议主要有2种,一种是西门子的PPI协议,另一种是ModbusRTU协议。

  • 西门子PPI协议是一个不开放的协议,可以通过抓包来进行报文分析,但是一般不推荐使用,因为PPI协议是一个需要二次确认的协议,使用时比较麻烦。
  • 西门子PLC也支持ModbusRTU协议,提供Modbus库指令,直接调用即可,但是会涉及到一定的编程。
  • 如果选择ModbusRTU协议,需要区分主站从站,一般来说,上位机与PLC通信,上位机作为主站,PLC作为从站。

三、以太网通信

以太网是西门子PLC主要的通信方式,目前主流的S7-200Smart、S7-1200/1500都内置以太网接口,上位机与西门子PLC实现以太网通信主要有S7通信、ModbusTCP通信、开放式TCP通信以及OPCUA通信。

  • S7协议是西门子PLC的私有协议,虽然不开放,但是目前有很多开源免费的通信库可以使用,.Net框架下比较推荐使用s7netPlus、sharp7。如果想要实现标签通信,S7协议有个升级版叫做S7Plus协议,可以实现标签通信,目前尚未成熟,项目上使用较少。
  • 西门子PLC同样支持ModbusTCP通信,会有对应的Server和Client库指令,一般来说,上位机与PLC通信,西门子PLC作为ModbusTCPServer,上位机作为ModbusTCPClient。
  • 开放式TCP通信,就是我们常说的自由口通信,这个主要是针对一些自定义协议的情景,自由度较高,但是对开发人员的要求也较高。上位机与PLC之间进行开放式TCP,上位机可以作为TCPClient或者TCPServer,PLC需要编写对应的TCPServer和TCPClient程序。
  • OPCUA通信,对于S7-1200、S7-1500的部分型号,可以支持OPCUA通信,一般来说,PLC作为OPCUA服务器,上位机作为OPCUA客户端,OPCUA也是一种基于标签名称的通信方式。

四、OPC通信

OPC通信是工业控制中常用的一种通信方式,OPC相当于是中间件,由OPC软件对接PLC,然后开放一个OPC接口给上位机进行使用。西门子PLC常用的OPC通信方案有以下几种:

  • PC Access系列:西门子针对S7-200提供PC-Access软件,针对S7-200 Smart提供PC-Access Smart软件,可以直接通过这些软件实现OPC通信。
  • Simatic Net系列:Simatic Net是西门子主推的OPC软件,支持西门子全系列,通过Simatic Net可以支持OPCUA和OPCDA通信接口。
  • KepServer软件:KepServer同样作为一款商业OPC软件,在国内使用率非常高,同样也支持西门子全系列,通过KepServer也可以支持OPCUA和OPCDA通信接口。

五、如何选择

在以上众多的通信方式中,我们该如何选择?

如果我们要实现串口通信,优先选择ModbusRTU,其次考虑PPI,最后考虑OPC方式。

如果我们要实现以太网通信,优先选择S7协议,其次考虑ModbusTCP和开放式TCP,最后考虑OPC方式。

S7通信协议最大的优势在于不用编写PLC程序,且覆盖面较广,只要是西门子PLC,无论是S7-200/300/400,还是S7-200Smart/1200/1500,只要PLC具备以太网接口,均支持S7通信协议。

虽然S7通信协议不需要编写PLC程序,但仍然需要进行一定的配置,具体如下:

  • 勾选允许Put/Get:PLC侧需要设置勾选允许来自远程对象的Put/Get通信访问
  • DB块去除优化访问:如果要与DB块数据通信,需要要去除DB的优化的块访问
  • 务必保证通信地址是有效地址:如果你要读取DB存储区,必须要提前创建好DB存储区,必须保证读取的必须是有效地址,其他存储区也不能超过范围。
  • 调整通信负载:如果以上均没问题,可以适当调整一下通信负载参数。

标签:S7,西门子,通信,上位,PLC,OPC
From: https://www.cnblogs.com/xiketangedu/p/18591954

相关文章

  • 用于 PLC 与以太网建立无线连接的模块
     随着科技的发展,智慧工厂、智慧物流等各种厂房升级需求,但由于生产线的不断改造、新老流程的不断更新,这些PLC系统或者其它设备往往是由不同的制造商提供的。常会遇到不同品牌PLC或设备之间需要进行相互通讯的情况。由于场地和生产能效的原因,在后期的系统改造中,告别走线繁琐,通......
  • Profinet转EtherNet/IP网关是如何解决西门子S7-1500PLC与AB PLC的通讯问题的
    一、案例背景在一个工业现场,一端是AB的PLC,IP地址192.168.1.20;另一端西门子是S7-1500系列,IP地址192.168.2.248。AB的PLC内有B3、N7、F8三个寄存器文件涉及到通讯,分别对应西门子PLC的M、DB1、DB2三个存储区域。通过捷米特网关的参数设置软件进行配置,配置完成后下载重启,再......
  • Profibus DP转Profinet网关解决称重仪表与西门子1200PLC的通讯案例
    一、案例背景客户现场有40多台ProfibusDP协议的称重。现需要把这些仪表统一接到西门子1200PLC上面,并进行实时监控。通过使用捷米特JM-DPM-PN网关将两边的设备进行连接。DP从站和西门子PLC配置完成后下载重启,读取参数后根据实时状态进行调试。二.设备介绍1.西门子12......
  • Qt上位机是什么
    一、什么是QT上位机QT上位机是连接到下位机(如嵌入式设备、传感器、执行器等物理设备)的计算机系统软件,通过串口、以太网、无线通信等方式与下位机进行数据交换和控制命令传递。在嵌入式系统中,下位机通常是指嵌入式设备、传感器、执行器等物理设备,而上位机则是连接到下位机......
  • 采集倍福PLC 转 profinet IO项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 设置倍福PLC 25 配置网关参数采集倍福PLC数据 46 用PROFINETIO协议转发数据 77 案例总结 101 案例说明设置倍福PLC,开通ADS通信设置网关采集倍福PLC数据把采集的数据转成profinetIO从站协议转发给其他系统。2 ......
  • Winform窗体控件双向绑定数据模拟读写PLC数据
    1.用Modbus工具模拟PLC2.创建一个实体类点击查看代码internalclassData:INotifyPropertyChanged{ushort[]ushorts=newushort[10];publicushortD0{get=>ushorts[0];set{ushorts[0]=value;OnPropertyChanged(nameof(D0));}}publicushor......
  • 宝信软件推出全栈自主可控PLC
    2024年9月20日,宝信软件在上海隆重发布了历时十余年自主研发的工业控制系统核心部件——全栈自主可控PLC的T3、T4系列产品。宝信软件的全栈自主可控PLC具有以下特点和优势:该系列产品的推出是基于国家对工业安全和自主可控的战略需求,特别是在钢铁等关键基础产业......
  • 【西门子S200驱动器】一文包含所有资源,全部干货,速收藏
    概述本文为大家汇总了全新版本的资料链接,内容涵盖:S200文件及手册,包括:产品样本、操作手册、固件、产品认证文件及调试软件等下载链接S200跟我学系列视频课程链接S200常问问题汇总S200常用功能操作指南S200微信推文链接1.文件、手册下载1.1产品操作手册SINAM......
  • CMC-MES-Relation上位机与MES数据交互的常用方案
    随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与MES进行数据交互。上位机与MES(ManufacturingExecutionSystem,制造执行系统)之间的数据交互,大多数情况下都是MES提供数据接口,上位机按照MES的要求进行实施。今天跟大家分享一下上位机与MES交互的常用方案。......
  • [C语言]使用联合体和结构体 巧妙处理寄存器数据上位机读写的方法
    最近有在研究陀螺仪,里面就有对不同寄存器做配置,然后在读取一定地址的寄存器数据;发现这种逻辑工程上经常有;但是我接触到的代码基本都是通过一大堆宏定义去给他们寄存器地址命名,然后再自己读手册去搞配置;其实在性能上这个操作挺好的,但是我们似乎也没那么在意这几十个字......