产品描述
西门子6ES7332-5HF00-0AB0
S7-1200 与 S7-300 之间的以太网通信方式比较多,可以采用ISO on TCP、TCP和 S7 的方式进行通信。在S7-1200 CPU 中采用ISO on TCP和TCP这两种协议进行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV ) 指令编程。S7-300 CPU一侧如果使用的是CPU集成的PN接口,连接不在STEP7的NetPro中建立连接,而是使用西门子提供的OPEN IE 的方式来实现。
本文主要介绍了如何实现在S7-1200 和S7-300 CPU集成PN口之间的ISO on TCP通信,包括通信的基本步骤、配置及编程等内容。具体的实现方法有多种,比如在S7-1200中可以使用不带连接的通信指令(TCON, TDISCON, TSEN, TRCV),也可以使用带连接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能块编程的方式来实现,也可以使用Open Communication Wizard工具(OPEN IE向导)的方式来建立OPEN IE的通信。
为了方便理解,本文在S7-1200中使用不带连接的通信指令TCON, TDISCON, TSEN, TRCV,在S7-300侧通过功能块编程的方式来实现
硬件设备
实验的硬件设备:
1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0XB0)
2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7)
3、PC机(带以太网卡)
4、SCALANCE X216交换机,S7-1200、S7-300和PC通过交换机互连起来
5、TP以太网电缆
2.2 软件环境
1、STEP7 Basic V10.5 SP2
2、STEP7 V5.4 SP5
3、通信所需的功能块,请参见附件提供的例程 ”Sample_1 ( 50 KB ) ” 或参考下载中心文档:《A0284 使用西门子PLC集成的PN口实现S5 兼容通信使用入门》提供的程序。下载链接:80490650
2.3 所要完成的通信任务
本例中所要完成的通信任务定义为:
1、 将S7-1200的发送数据块DB3里的8个字节数据发送到S7-300的DB3中。
2、 将S7-300 DB3里接收到的8个字节数据再发送到S7-1200的接收数据块DB4中
不同型号的 PLC ,其输入 / 输出通道的范围是不一样的,应根据所选 PLC 型号,查阅相应的编程手册,决不可“张冠李戴”。必须参阅有关操作手册。
( 2 )部辅助继电器
内部辅助继电器不对外输出,不能直接连接外部器件,而是在控制其他继电器、定时器 / 计数器时作数据存储或数据处理用。
从功能上讲,内部辅助继电器相当于传统电控柜中的中间继电器。
未分配模块的输入 / 输出继电器区以及未使用 1 : 1 链接时的链接继电器区等均可作为内部辅助继电器使用。根据程序设计的需要,应合理安排PLC 的内部辅助继电器,在设计说明书中应详细列出各内部辅助继电器在程序中的用途,避免重复使用。参阅有关操作手册。
( 3 )分配定时器 / 计数器
PLC 的定时器 / 计数器数量分别见有关操作手册。
7.3 PLC 软件系统设计方法及步骤
7.3.1 PLC 软件系统设计的方法
在了解了 PLC 程序结构之后,就要具体地编制程序了。编制 PLC 控制程序的方法很多,这里主要介绍几种典型的编程方法。
变频器日常维护内容及定期更换配件方法二、定期保养定期除尘检查风扇进风口是否堵死,每月清扫空气过滤器冷却风道及内部灰尘。定期检查,应一年进行一次:检查螺丝钉、螺栓以及即插件等是否松动,输入输出电抗器的对地及相间电阻是否有短路现象,正常应大于几十兆欧。
多也只在一个项目中的15个CPU之间建立全局数据
尽量用子程序参数代替全局内存,使用子程序参数,尽量减少库对全局内存的依赖性。可以库指令使用的内存。例如,您可以有一个计算四个数加法的子程序,并将该MT8100IE的输出存储在一个V内存 位置。程序的其余部分则会读取该V内存位置,以便确定计算的结果。如果您希望将该子程序放入库,考虑在子程序中增加一个输出参数,并将计算结果存储在该参 数中。这样就无须V内存位置,并允许您决定存储结果的位置。
使用临时变量进行计算,将临时变量用于计算和临时结果可尽量减少用户库对全局内存的使用。临时变量(在局部变量表中对子程序和中断例行程序进行定义)从西门子plc的局部内存分配,不与项目发生冲突。局部内存并非持久性内存,无法用于在指令调用之间保存数据。其使用期是说明局部内存的子程序或中断例行程序的执行阶 段。
需要使用V内存时,有时必须在包括在指令库中的子程序和中断例行程序中使用全局V内存。此时,为在这些POU中使用的所有V内存说明符号,并在程序中使用符号。当库被编译后,这些符号被用于决定库需要的内存量。
6ES7312-5BF04-0AB0 | CPU312C,32K内存 10DI/6DO |
6ES7313-5BG04-0AB0 | CPU313C,64K内存 24DI/16DO / 4AI/2AO |
6ES7313-6BG04-0AB0 | CPU313C-2PTP,64K内存 16DI/16DO |
6ES7313-6CG04-0AB0 | CPU313C-2DP,64K内存 16DI/16DO |
6ES7 313-6CF03-0AM0 | CPU313C-2DP,64K内存 16DI/16DO组合件(6ES7 313-6CF03-0AB0+6ES7 392-1AM00-0AA0) |
6ES7 314-1AG13-0AB0 | CPU314,96K内存 |
6ES7 314-1AG14-0AB0 | CPU314,128K内存 |
6ES7314-6BH04-0AB0 | CPU314C-2PTP 96K内存 24DI/16DO / 4AI/2AO |
6ES7314-6CH04-0AB0 | CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO |
6ES7 314-6EH04-0AB0 | CPU314C-2PN/DP 192K内存/24DI/16DO/ 4AI/2AO |
6ES7 314-6CG03-9AM0 | CPU314C-2DP 96K内存 24DI/16DO / 4AI/2AO组合件(6ES7 314-6CG03-0AB0+6ES7 392-1AM00-0AA0*2) |
6ES7 315-2AG10-0AB0 | CPU315-2DP, 128K内存 |
6ES7 315-2AH14-0AB0 | CPU315-2DP, 256K内存 |
6ES7315-2EH14-0AB0 | CPU315-2 PN/DP, 256K内存 |
6ES7317-2AK14-0AB0 | CPU317-2DP,512K内存 |
需要I/O地址时,有时必须在包括在指令库中的子程序和中断例行程序中使用实际I/O地址。必要时,这些POU中使用的所有I/O地址符号,并在应用程序中使用这些符号。
2)将POU注释用于文档编制
如果选择用密码保护库指令,库用户则无法看到指令中的源码。但是,他们能够看到构成库的每个子程序和中断例行程序的POU指令。POU注释是记录每条指令功能的优秀位置。请考虑使用POU注释提供下列详细信息:
1.该指令具体执行什么功能?POU注释是给出指令功能说明的优秀位置。
2.如何调用指令?例如,如果指令**在*扫描时调用,或者如果指令依赖于成功地完成另一条指令,应当使用POU注释记录这些指令的详细用法。
3.指令使用何种全局内存?如果指令直接参考全局内存,POU内存应当提醒用户这一用法,以便用户对程序进行设计,以避免内存访问冲突。
4.指令如何指示错误?很多指令需要通过输出参数或全局内存位置指示错误条件。向用户提供可能产生的错误说明以及如何纠正这些错误的说明会很有帮助。
3)分发用户库
库编译输出是一个磁盘文件(mwl文件),该文件包含STEP 7-Micro/WIN识别和使用指令库所需的所有内容。如果希望向其他STEP 7-Micro/WIN用户分发用户库,可以将该文件复制,为用户提供一份文件的拷贝。
产品推荐