西门子NCU571.5B

发布时间:2018/5/23 9:13:00

西门子NCU571.5B

6FC5357-0BB15-0AB0SINUMERIK 840D/DE CNC 硬件 NCU 571.5B,900 MHz,128 MB 不带系统软件 存储器:NC 3MB,PLC 128KB PROFIBUS-DP 准备

CPU自带的以太网接口可以使用OPEN IE的方式实现如下协议,分别介绍如下:
? TCP
? UDP
? ISO-on-TCP
注意:以下内容任何用户可以使用,复制和传递他人,程序的作者及拥有者不负责软件的功能性和兼容性,使用者须自己承担责任,由于内容,所以不保证错误的更正和热线支持!


1. TCP通信

1.1通信程序块的准备
如下的通信块可以用来建立TCP通信,您需要把这些程序块拷贝到您的项目中:
1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
2) FB66 "TDISCON" 用于断开连接
3) FB63 "TSEND" 用于发送数据到S7站点、S5站点、PC站或者第三方设备
4) FB64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
5) UDT65 "TCON_PAR"存放用户通信参数
6) FC97 "SET_TCP_ENDPOINTx" 用于修改UDT65类型变量内通信对象参数
FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到:



图 01: FB63,64,65,66

FC97与UDT65需要从如下项目中打开获得:

 ( 42 KB )



图 02: FC97与UDT65

首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

1.2通信程序编写

1.2.1 生成数据块
在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65



图 03: 生成UDT65类型变量

1.2.2在OB1中编程
首先调用FC97 "SET_TCP_ENDPOINTx"



图 04: 调用FC97

FC97参数说明如下:
? ID: 连接ID
? DEV_ID
DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为 CPU319-3PN/DP
DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为 CPU41x-3PN/DP
? ACTIVE: 主动或是被动建立连接,通信双方必须一个主动,一个被动
? LOC_PORT: CPU本地的TCP端口
? REM_PORT: 通信伙伴的TCP远程端口
? IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址
? V23:本机是否是CPU31x-2PN/DP FIRMWARE 版本为2.3或以下版本
? CON_DB:用UDT65生成的变量



图05: 调用FB65 "T_CON"

调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

1.2.3 调用发送和接收程序



图06: 调用 FB63,64发送接收数据

FB63 "TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。
FB64 "TRECV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。

1.2.4断开连接
调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。



图 07: 调用FB66 "TDISCON"


2. UDP通信

2.1通信程序块的准备
如下的通信块可以用来建立UDP通信,您需要把这些程序块拷贝到您的项目中:
1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
2) FB66 "TDISCON" 用于断开连接
3) FB67 "TUSEND"用于发送数据到S7站点、S5站点、PC站或者第三方设备
4) FB68 "TURCV"用于从S7站点、S5站点、PC站或者第三方设备接收数据
5) UDT65 "TCON_PAR"存放用户通信参数
6) UDT66 "TADDR_PAR"存放用户通信参数
7) FC95"SET_UDP_ENDPOINT"用于建立本地UDP通信参数
8) FC96"SET_UDP_REMOTE"用于建立远程UDP通信参数
FB65,66,67,68这四个功能块可以在Standard Library -> Communication Blocks里得到:

西门子NCU571.5B
图 08: FB65,66,67,68

FC95,96与UDT65,66需要从如下项目中打开获得:

 ( 41 KB )



图 09: FC95,96与UDT65,66

首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

2.2通信程序编写

2.2.1 生成数据块
然后在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65



图 10: 生成UDT65类型变量

然后在程序中生成另一个DB块,块号不限(本例为db102),在块中建立变量DB_VAR,类型为UDT66



图 11: 生成UDT66类型变量

2.2.2在OB1中编程
首先调用FC95,96


图 12:调用FC95,96

定义的本地UDP端点连接参数:
通过FC95 "SET_UDP_ENDPOINT"设置,下列参数需要考虑:
? ID: 连接ID
? DEV_ID
DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为CPU319-3PN/DP
DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为CPU41x-3PN/DP
? LOC_PORT: CPU本地的TCP端口
通过FC96 "SET_UDP_REMOTE"定义远端的UDP端点. 下列参数需要考虑:
REM_PORT: 通信方端口号
IP_ADDR1 ... IP_ADDR4: 通信方IP地址



图 13: 调用FB65 "T_CON"

调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

2.2.3 调用发送和接收程序



图 14: 调用FB67,68接收和发送数据

FB67 "TUSEND"发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。"ADDR"填写UDT66生成的变量。
FB68 "TURCV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。"ADDR"填写UDT66生成的变量。

2.2.4断开连接
调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。



图 15: 调用FB66 "TDISCON"


3. ISO ON TCP通信

3.1通信程序块的准备
如下的通信块可以用来建立ISO ON TCP通信,您需要把这些程序块拷贝到您的项目中:
1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
2) FB66 "TDISCON" 用于断开连接
3) FB63 "TSEND" 用于发送数据到S7站点、S5站点、PC站或者第三方设备
4) FB64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
5) UDT65 "TCON_PAR"存放用户通信参数
6) FB420 "SET_ISO_ENDPOINT" 用于修改UDT65内通信对象参数
7) FC21 被FB420调用
FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到:



图 16: FB63,64,65,66

FB420 FC21与UDT65需要从如下项目中打开获得:

 ( 50 KB )



图 17: FB420 FC21与UDT65

首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

3.2通信程序编写

3.2.1 生成数据块
在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65



图 18: 生成UDT65类型变量

3.2.2在OB1中编程
首先生成一个FB块,本例为FB400:
在静态变量区建立一个结构“T_TSAP“,包含如下变量:
1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有两个前导字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-3PN/DP规定)和 0x02(CPU槽号)


本地 TSAP远程TSAP
ASCIITCP-1TCP-1
HexadecimalE0.02.54.43.50.2D.3154.43.50.2D.31

2) LOC_TSAP(STRING14)= 本地用户定义的ASCII字符 (默认 -> 'TCP-1')
3) REM_RACK_SLOT(BYTE)= B#16#0 不使用两个前导符,只适用于第三方设备!如果是西门子PLC作为通信对象,则需要根据实际情况填写CPU 槽号,例如B#16#2
4) REM_TSAP (STRING16)= 远程用户定义的ASCII字符(默认 -> 'TCP-1'):



图 19: 生成T_TSAP结构

调用FB420


图 20: 调用FB420

? ID: 连接ID
? DEV_ID
DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为CPU319-3PN/DP
DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为CPU41x-3PN/DP
? ACTIVE: 主动或是被动建立连接, 通信双方必须一个主动,一个被动
? T_TSAP: 静态变量区的结构变量,用于ISO ON TCP 通信的TSAP地址
? IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址
? CON_DB:用UDT65生成的变量



图21: 调用FB65 "T_CON"

调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

3.2.3 调用发送和接收程序



图22: 调用 FB63,64发送接收数据

FB63 "TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。
FB64 "TRECV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。

3.2.4断开连接
调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。


图 23: 调用FB66 "TDISCON"

说明

有一系列从入门级CPU直到高性能CPU,用于配置控制器。所有CPU控制大量结构;多个CPU可以在一个多值计算配置中一起工作以提高性能。由于CPU的高处理速度和确定性的响应时间,可缩短机器的循环周期。

不同的CPU具有不同性能,例如,工作存储器,地址范围,连接数量和执行时间。十款款标准的CPU,集成PROFIBUS、PROFINET 总线接口。



To the top of the page

应用

  • S7- 400尤其适合于加工工业中的数据密集型任务。高处理速度和确定性的响应时间,缩短高速机械制造业设备控制的循环周期。

  • S7 - 400用于整体协调各种设备,控制低级别的系统。这是由高速通讯能力和集成接口来保证的。

  • 在S7- 400的许多器件也可用于极端环境条件下的SIPLUS版本。


S7-400 的成功应用如下:

  • 汽车工业

  • 标准机械设备制造包括定制的机械设备制造

  • 仓储系统

  • 建筑工程

  • 钢铁行业

  • 发电和配电

  • 造纸和印刷业

  • 木工

  • 纺织业

  • 医药制品

  • 食品和饮料行业

  • 处理工程,例如水和废水处理设施

  • 化工和石化


To the top of the page

效益

  • 由于采用各种级别的CPU,S7-400可以灵活扩展升级;I/O能力几乎是无限的。

  • 强大的CPU允许集成新的功能,无需额外硬件投资,例如处理质量数据,用户友好的诊断,到更高层次的MES解决方案或通过总线系统的高速通讯。

  • 可以以模块化的方式构建S7 - 400,有各种用于集中配置和分布式结构的模块,以实现处理备件方面的低成本。

  • 在操作过程中可以修改S7- 400 的分布式I/O配置(在运行中配置)。另外在工作时还可以删除和插入信号模块(热插拔)。这使得很容易扩展系统或出现故障时替换模块。

  • 项目的完整数据存储包括CPU上的符号和注释,简化了服务和维护过程。

  • 可以将安全技术和标准自动化集成到一个单一的S7- 400控制器,可以通过S7- 400的冗余结构增加设备的可用性。

  • S7- 400的许多器件也可用于外部环境条件SIPLUS版本,例如:扩展温度范围(-25+60°C)和在恶劣环境/冷凝条件下使用。

  • S7- 400的高速背板总线确保集中式I/ O模块的高速通讯。


To the top of the page

设计和功能

模块化

S7 - 400的一个重要特点是它的模块化。S7- 400的高速通讯背板总线和允许直接插入CPU集成的DP接口,允许多条通讯线路的高性能运行。例如,把一根总线用于HMI通讯和编程任务,一根总线用于高性能运动控制,一根总线用于普通I / O现场总线通讯。
此外,也可以实现另外连接到MES-/ERP系统或通过SIMATIC IT连接到互联网的需要。根据任务情况,可对S7 – 400进行集中扩展或分布式配置。附加设备和接口模块也可集中用于此目的。在CPU中集成的PROFIBUS或PROFINET接口上也可实现分布式扩展。如果需要,也可以使用通讯处理器(CP)。

设计

设计一个S7 - 400系统基本上包括机架,电源,和中央处理单元。它可以以一个模块化的方式安装和扩展。所有的模块都可以自由地放置在左侧插入的电源旁边。S7- 400具有无风扇的坚固设计。信号模块可以热插拔。一个多层面的模块范围可用于中央扩展以及具有ET200的分布式拓扑结构的简单配置。
在集中式扩展中,额外安装机架直接连接到中央控制器。

除了标准的安装机架,也提供9槽和18槽铝合金安装机架。这些铝机架可以很高地耐受不利环境条件,紧固耐用,重量轻25%左右。

多值计算

多值计算,也就是在一个S7- 400中央控制器中的几个CPU的同时操作,为用户提供不同的益处:

  • 可通过多值计算共享的S7 - 400的整体性能。例如,在技术复杂的任务中,如开环控制,可以将计算机或通讯分割和分配给不同的CPU每个CPU分配给自己的,用于此目的本地输入/输出。

  • 有些任务也可以从每个多值计算方式中断开,一个CPU处理关键时间的处理任务,另一个处理非关键时间的任务。

在多值计算操作中,所有的CPU的运行行为像一个CPU,也就是说,当一个CPU进入STOP状态,其他的也停止。几个CPU的动作可以通过同步指令选择性地协调调用。此外,CPU之间的数据交换通过高速的全局数据通讯机制。

数据/程序存储器

从精细分级的各种CPU中选择合适的CPU取决于集成工作存储区的大小。集成装载存储器(RAM)足以满足中小型企业方案。对于大型程序,通过插入RAM或FEPROM存储卡增大装载内存(64 KB到64 MB)。

特殊功能

S7- 400 CPU有一些非常有用的特殊功能:

  • 从工程工作站通过网络更新固件实现更简单和快速的升级

  • 通过一个系统功能实现额外的写保护(例如没有从PC器件到CPU)

  • 通过读取存储卡的序列号获得保护,因此,保证了程序只与特定的存储卡一起运行


集成的路由功能允许在不同总线系统和网络上访问数据记录,例如控制级PC可以通过S7 -400控制器与连接在PROFINET或者PROFIBUS接口上的现场设备进行通讯。


西门子NCU571.5B