SIEMENS西门子安康授权代理商
OSI模型的设计目的是成为一个开放网络互联模型,来克服使用众多网络模型所带来的互联困难和低效性;OSI参考模型很快成为计算机网络通信的基础模型。在设计时遵循了以下原则:
各个层之间有清晰的边界,便于理解;
每个层实现特定的功能,且相互不影响;
每个层是服务者又是被服务者,即为上一层服务,又被下一层服务;
层次的划分有利于**标准协议的**;
层次的数目应该足够多,以避免各个层功能重复。
OSI参考模型具有以下优点:
简化了相关的网络操作;
提供即插即用的兼容性和不同厂商之间的标准接口;
使各个厂商能够设计出互操作的网络设备,加快数据通信网络发展;
防止一个区域网络的变化影响另一个区域的网络,因此,每一个区域的网络都能单*快速升级;
把复杂的网络问题分解为小的简单问题,易于学习和操作。
OSI七层模型中,给每一个对等层数据起一个统一的名字为: 协议数据单元(PDU,Protocol Data Unit)。相应地:
应用层数据称为应用层协议数据单元(APDU,Application Protocol Data Unit),
表示层数据称为表示层协议数据单元(PPDU,Presentation Protocol Data Unit),
会话层数据称为会话层协议数据单元(SPDU,Session Protocol Data Unit)。
传输层数据称为段(Segment),
网络层数据称为数据包(Packet),
数据链路层称为帧(frame),
物理层数据称为比特流(Bit)。
封装(Encapsulation)是指网络节点(Node)将要传送的数据用特定的协议头打包,来传送数据,同样在某些层进行数据处理时,也会在数据尾部加上报文,这时候也称为封装。OSI七层模型的每一层都对数据进行封装,以保证数据能够正确无误的到达目的地,被终端主机接受、执行。
数据到达目的地后需要进行解封装。解封装与封装的过程恰好相反。
OSI的对等层之间的通信是每一层利用下一层提供的服务与对等层通信。
1、物理层
物理层涉及到在通信信道(channel)上传输的原始比特流,是OSI参考模型的基础,它实现传输数据所需要的机械、电气功能特性。它不关心每一bit(0,1)所代表的含义( 如代表地址还是应用数据),只关注如何把bit流通过不同物理链路传输至对端。典型的象中继器、集线器(hub)就属于物理层设备。
2、数据链路层
数据链路层主要任务是提供对物理层的控制,检测并纠正可能出现的错误,使之对网络层显现一条无错线路,并且进行流量调控。
3、网络层
网络层检查网络拓扑,以决定传输报文的较佳路由,转发数据包。其关键问题是确定数据包从源端到目的端如何选择路由。网络层设备通过运行路由协议(Routing Protocol)来计算到目的地的较佳路由,找到数据包应该转发的下一个网络设备,然后利用网络层协议封装数据包,利用下层提供的服务把数据发送到下一个网络设备。
4、传输层
传输层位于OSI参考模型四层,较终目标是向用户(一般指应用层的进程),提供有效、可靠的服务。
5、在会话层
在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
6、表示层
表示层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。
7、应用层
应用层为操作系统或网络应用程序提供访问网络服务的接口。
OSI参考模型的建立是网络技术发展的一个里程碑,它为网络的标准化提供了一致的框架和前景。但由于OSI参考模型的庞大,所以在建立网络时,并没有依赖OSI参考模型。事实上,基于TCP/IP协议的Internet网络有着自己的网络体系结构—TCP/IP网络体系结构。这种体系结构,目前已经成为事实上的网络标准。
TCP/IP协议体系结构与OSI参考模型类似,也为分层体系结构,但比OSI参考模型的层数要少,一般指的四层结构,从低到高,依次为数据链路层、网络层、传输层和应用层,
1、数据链路层
数据链路层在TCP/IP协议结构的较底层。该层中的协议提供了一种数据传送的方法,使得系统可以通过直接的物理连接的网络,将数据传送到其他设备,并定义了如何利用网络来传送IP数据报。TCP/IP网络接口层一般包括OSI参考模型的物理层和数据链路层的全部功能,因此这一层的协议很多,包括各种局域网、广域网的各种物理网络的标准。
2、网络层
网络层在网络接口的上一层。网络层协议IP是TCP/IP的**协议,也是网络层中较重要的协议。IP可提供基本的分组传输服务,这是构造TCP/IP的基础。网络层上、下层中的所有协议都使用IP协议传送数据;所有的TCP/IP数据,无论是进来的还是出去的,都流经IP,并与它的较终目的地无关。另外,网络层还有两个协议,地址转换协议(ARP)和网间控制报文协议(ICMP),其中ICMP协议具有测试网络链路和检测网络故障的功能,是IP协议不可分割的一部份。
3、传输层
传输层在网络层的上一层,又称主机到主机传输层。传输层有两个重要的协议是传输控制协议TCP和用户数据报文协议UDP,用以提供端到端的数据传输服务,即从一个应用程序到另一个应用程序之间的信息传递。TCP利用端到端的错误检测与纠正功能,提供可靠的数据传输服务。而UDP则提供低开销、无链接的数据报文传输服务。
4、应用层
TCP/IP协议体系结构的**层是协议较多的一层。应用层的协议大多数都为用户提供直接的服务,而且还在不断地增加新的服务。
图6 “MOVE”指令控制程序
2、SFC14和SFC15系统功能块进行数据传送:
SFC14(“DPRD_DAT”)用于读取SINAMICS G150 过程数据,SFC15 (“DPWR_DAT”)用于将过程数据发送到SINAMICS G150 。
(1)控制SINAMICS G150 运行:
通过先发送控制字047E然后发送047F来启动SINAMICS G150 ,控制字1在 DB1.DBW20中**,主设定值在DB1.DBW22中设定,参看图7;所有的这些变量在变量 表“SINAMICS G150 start_up”中设定及监控,图8是变量表的内容,图9是程序内容。
(2)停止SINAMICS G150 :
发送控制字047E至SINAMICS G150 ,使SINAMICS G150 停止运行。
(3)读取SINAMICS G150 状态字及速度实际值:
S7-300/400 接收SINAMICS G150 状态字1,存放在DB1.DBW30中;接收SINAMICS G150 传来的速度实际值,存放在DB1.DBW32中,参看图7,在变量表“SINAMICS G150 start_up”中能监控到SINAMICS G150 状态和速度实际值。
西门子S7-400存储卡6E
型号:6ES7952-1KT00-0AA0
货品编号:6ES7952-1KT00-0AA0 SIMATIC S7,存储卡,用于S7-400,长型,5V闪存,32 MB西门子S7-400存储卡6E
型号:6ES7952-1KY00-0AA0
货品编号:6ES7952-1KY00-0AA0 SIMATIC S7,存储卡,用于S7-400,长型,5V闪存,64 MB西门子S7-400同步模块
型号:6ES7960-1AA00-0xA0
货品编号:6ES7960-1AA00-0xA0 S7-400H同步模块
S7 1200 PLC进行USS通信的编程
1.USS通信接口参数功能块的编程
USS通信接口参数功能块的编程如下图所示。
图7: USS通信接口参数功能块的编程
USS_PORT功能块用来处理USS网络上的通信,它是S71200 CPU与变频器的通信借口。每个CM1241 RS485模块有且必须有一个USS_PORT功能块。
PORT:指的是通过哪个通信模块进行USS通信。
BAUD:指的是和变频器进行通行的速率。 变频器的参数P2010种进行设置。
USS_DB:指的是和变频器通信时的USS数据块。每个通信模块多可以有16个USS数据块,每个CPU多可以有48个USS数据块,具体的通信情况要和现场实际情况相联系。每个变频器与S7-1200进行通信的数据块是唯一的。
ERROR:输出错误。
STATUS:扫描或初始化的状态。
S7-1200 PLC与变频器的通信是与它本身的扫描周期不同步的,在完成一次与变频器的通信事件之前,S7-1200通常完成了多个扫描。
USS_PORT通信的时间间隔是S7-1200与变频器通信所需要的时间,不同的通信波特率对应的不同的USS_PORT通信间隔时间。下图列出了不同的波特率对应的USS_PORT小通信间隔时间。
图8:不同的波特率对应的USS_PORT小通信间隔时间
USS_PORT在发生通信错误时,通常进行3次尝试来完成通信事件,那么S7-1200与变频器通信的时间就是USS_PORT发生通信超时的时间间隔。例如:如果通信波特率是57600,那么USS_PORT与变频器通信的时间间隔应当大于小的调用时间间隔,即大于36.1Ms而小于109Ms。S7-1200 USS 协议库默认的通信错误超时尝试次数是2次。
基于以上的USS_PORT通信时间的处理,我们建议在循环中断OB块中调用USS_PORT通信功能块。在建立循环中断OB块时,我们可以设置循环中断OB块的扫描时间,以满足通信的要求。循环中断OB块的扫描时间的设置如下图所示:
图9:循环中断OB块的扫描时间的设置
2.USS_DRV功能块的编程
USS_DRV功能块的编程如下图所示。
图10: USS_DRV功能块的编程
USS_DRV功能块用来与变频器进行交换数据,从而读取变频器的状态以及控制变频器的运行。每个变频器使用唯一的一个USS_DRV功能块,但是同一个CM1241 RS485模块的USS网络的所有变频器(多16个)都使用同一个USS_DRV_DB。
USS_DRV_DB:指定变频器进行USS通信的数据块。
RUN: 指定DB块的变频器启动指令。
OFF2: 紧急停止,自由停车。 该位为0时停车。
OFF3: 快速停车,带制动停车。 该位为0时停车。
F_ACK: 变频器故障确认。
DIR : 变频器控制电机的转向。
SPEED_SP: 变频器的速度设定值。
ERROR: 程序输出错误。
RUN_EN: 变频器运行状态指示。
D_DIR: 变频器运行方向状态指示。
INHIBIT: 变频器是否被禁止的状态指示。
FAULT: 变频器故障。
SPEED: 变频器的反馈的实际速度值。
DRIVE: 变频器的USS站地址。变频器参数P2011设置。
PZD_LEN: 变频器的循环过程字。 变频器参数P2012设置。
注意:变频器的PKW的长度在这里是特殊需要注意的,在使用USS通信时必须是4,如果改成3或者127都将不能读取反馈回来的过程值。
3.USS_RPM功能块的编程
USS_RPM功能块的编程 如下图所示。
图11:USS_RPM功能块的编程
USS_RPM功能块用于通过USS通信从变频器读取参数。
REQ: 读取参数请求。
DRIVE: 变频器的USS站地址。
PARAM: 变频器的参数代码。
INDEX: 变频器的参数索引代码
USS_DB: 指定变频器进行USS通信的数据块。
DONE: 读取参数完成。
ERROR: 读取参数错误。
STATUS: 读取参数状态代码。
VALUE: 所读取的参数的值。
注意:进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量读取参数时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
4.USS_WPM功能块的编程
USS_WPM功能块的编程如下图所示。
图12:USS_WPM功能块的编程
USS_WPM 功能块用于通过USS通信设置变频器的参数。
REQ: 读取参数请求。
DRIVE: 变频器的USS站地址。
PARAM: 变频器的参数代码。
INDEX: 变频器的参数索引代码。
EEPROM:把参数存储到变频器的EEPROM。
VALUE: 设置参数的值。
USS_DB: 指定变频器进行USS通信的数据块。
DONE: 读取参数完成。
ERROR: 读取参数错误状态。
STATUS: 读取参数状态代码。
注意:对写入参数功能块编程时,各个数据的数据类型一定要正确对应。如果需要设置变量进行写入参数值时,注意该参数变量的初始值不能为0,否则容易产生通信错误。
5. 3 S7 1200 PLC进行USS通信的调试
S7-1200 PLC 通过CM1241 RS485模块与变频器进行USS通信时,需要注意如下几点:
当同一个CM1241 RS485 模块带有多个(多16个)USS变频器时,这个时候通信的USS_DB是同一个,USS_DRV功能块调用多次,每个USS_DRV功能块调用时,相对应的USS站地址与实际的变频器要一致,而其它的控制参数也要一致。
当同一个S7-1200 PLC 带有多个CM1241 RS485模块(多3个)时,这个时候通信的USS_DB相对应的是3个,每个CM1241 RS485模块的USS网络使用相同的USS_DB,不同的USS网络使用不同的USS_DB。
当对变频器的参数进行读写操作时,注意不能同时进行USS_RPM和USS_WPM的操作,并且同一时间只能进行一个参数的读或者写操作,而不能进行多个参数的读或者写操作。
在S7-1200 PLC 与变频器的USS通信的实际使用过程中,需要根据网络的现场情况,对问题进行具体的解决