S7以太网协议与编程

关于OPC的相关内容以后再说,我又给自己挖了个坑,,,,,

关于S7和Simulink的连接可以看我CSDN的Matlab的更新,,,,过几天就写,,,

想学C#的可以百度个教程,当然这个篇教程只是配置与介绍,,具体应用后面慢慢更。

一、S7以太网协议

具体介绍内容看以下这篇博客:

http://gmiru.com/article/s7comm/

(1) 西门子通信场景

西门子设备使用多种不同现场总线协议,例如: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设备可以向其他设备发起GETPUT请求。在S400系列中,实现了所谓的循环数据I/O功能,这类似于传统的发布者 - 订阅模型。PC可以订阅某些事件,而不是PLC 定期推送所请求的数据送到网络。还有一个合作伙伴(Partner )点对点模型,当一个活动的合作伙伴请求连接并调用阻止发送(Block Send),与此同时被动合作伙伴调用阻止接收(Block Receive)方法。

简言之,西门子的S7的PLC基本通讯方式有两种第一种是:开放式的TCP\IP,可以用于连接PLC与其他非西门子硬件,第二种是西门子自己开发的S7 Protocol以太网通讯协议,用于西门子内部硬件通讯,这两者的传输报文是不一样的,如下图(引子官方):

PLC数存储到二进制时方式是大端模式(BIG-Endian),而我们的普通电脑常常为小端模式(Liitle-Endian)。大端模式是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中, 小端模式是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

几个通信库的介绍:

(1) Snap7(Snap7 官方网站:http://snap7.sourceforge.net/)是一个基于S7以太网协议的西门子PLC通讯开源库。几乎支持所有的S7系列的PLC(括S7系列的S7-200、S7-200 Smart、S7-300、S7-400、S7-1200以及S7-1500)。几乎适用于所有常见系统和硬件,包括树莓派,Jetson,甚至可以在F767上进行搭载。

(2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦走一口田

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值