S7以太网协议介绍
Posted anhongning
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了S7以太网协议介绍相关的知识,希望对你有一定的参考价值。
关于OPC的相关内容以后再说,我又给自己挖了个坑,,,,,
关于S7和Simulink的连接可以看我CSDN的Matlab的更新,,,,过几天就写,,,
想学C#的可以百度个教程,当然这个篇教程只是配置与介绍,,具体应用后面慢慢更。
具体介绍内容看以下这篇博客:
http://gmiru.com/article/s7comm/
西门子通信场景
西门子设备使用多种不同现场总线协议,例如:MPI、Profibus、IE 、Profinet 等。Profinet用于将PLC连接到IO模块,而不是设备的管理协议。S7以太网通信协议,主要用于将PLC连接到(i)pc站(PG/PC - PLC 通信)。大多数情况下,西门子通信遵循传统的主从模式(master-slave)或者CS模式(client-server )。其中PC(master/client)将S7请求发送到现场设备(slave/server)。这些请求用于从设备查询或向设备发送数据或发出某些命令。当PCL作为通信主站时(master)有一些例外,通过FB14/FB15设备可以向其他设备发起GET和PUT请求。在S400系列中,实现了所谓的循环数据I/O功能,这类似于传统的发布者 - 订阅模型。PC可以订阅某些事件,而不是PLC 定期推送所请求的数据送到网络。还有一个合作伙伴(Partner )或点对点模型,当一个活动的合作伙伴请求连接并调用阻止发送(Block Send),与此同时被动合作伙伴调用阻止接收(Block Receive)方法。
简言之,西门子的S7的PLC基本通讯方式有两种第一种是:开放式的TCPIP,可以用于连接PLC与其他非西门子硬件,第二种是西门子自己开发的S7 Protocol以太网通讯协议,用于西门子内部硬件通讯,这两者的传输报文是不一样的,如下图(引子官方):
PLC数存储到二进制时方式是大端模式(BIG-Endian),而普通电脑端常常为小端模式(Liitle-Endian)。大端模式是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中, 小端模式是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。
几种常用通信库的对比介绍:
通信库 | 是否收费 | 拓展性 | 备注 | |
1 | Prodave | 是 | 加密性高但是应用性并不高, 对S7系列的PLC兼容性极高, 对其他PLC的兼容性不好 | 西门子的版权方,目前依旧应用 |
2 | S7.Net | 否 | 可以个人开发使用,兼容性好, 支持性高 | 目前停止更新,在GIT上有相关源码 |
3 | S7.NetPlus | 否 | 应用性极高,支持多种语言,对C#支持良好 | S7.Net的升级版本 |
4 | Sharp7 | 否 | Snap7的C#实现,调用简单 | |
5 | Snap7 | 否 | 应用性极高,支持多种语言,兼容多系统,几乎适用于所有常见系统和硬件,包括树莓派,Jetson,甚至可以在F767上进行搭载。 |
以上是关于S7以太网协议介绍的主要内容,如果未能解决你的问题,请参考以下文章