
西门子CPU312
发布时间:2018/3/29 9:51:00西门子CPU312
![]() | 6ES7312-1AE14-0AB0SIMATIC S7-300,CPU 312 带 MPI 的中央处理器, 集成电源 24V DC, 内存 32 KByte, 需要微型存储卡 |
1.概述
1.1 S7-1200 的PROFINET 通信口
S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP 的通信标准。使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与HMI触摸屏的通信,以及与其它 CPU 之间的通信。这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
1.2 S7-1200支持的协议和的连接资源
S7-1200 CPU 的PROFINET 通信口支持以下通信协议及服务
? TCP
? ISO on TCP ( RCF 1006 )
? S7 通信 (服务器端)通信口所支持的通信连接数
S7-1200 CPU PROFINET 通信口所支持的通信连接数如下:
? 3个连接用于HMI (触摸屏) 与 CPU 的通信
? 1个连接用于编程设备(PG)与 CPU 的通信
? 8个连接用于Open IE ( TCP, ISO on TCP) 的编程通信,使用T-block 指令来实现
? 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信
S7-1200 CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
TCP(Transport Connection Protocol)
TCP是由 RFC 793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一 条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别 。在多数情况下TCP应用了IP (Internet protocol) ,也就是“TCP/IP 协议”, 它位于 ISO-OSI 参考模型的第四层。
协议的特点:
? 与硬件绑定的高效通信协议
? 适合传输中等到大量的数据 (<=8192 bytes)
? 为大多数设备应用提供
– 错误恢复
– 流控制
– 可靠性
? 一个基于连接的协议
? 可以灵活的与支持TCP协议的第三方设备通信
? 具有路由兼容性
? 只可使用静态数据长度
? 有确认机制
? 使用端口号进行应用寻址
? 大多数应用协议,如TELNET、FTP都使用TCP
? 使用 SEND/RECEIVE 编程接口进行数据管理需要编程来实现
1.3 硬件需求和软件需求
硬件:
① S7-1200 CPU
② S7-300 CPU + CP343-1(支持S7 Client)
③ PC(带以太网卡)
④ TP以太网电缆
软件:
① STEP 7 Basic V10.5
② STEP 7 V5.4
2. ISO on TCP 通信
S7-1200 CPU 与S7-300/400 之间通过ISO on TCP 通信,需要在双方都建立连接,连接对象选择“Unspecified”。
所完成的通信任务为:
① S7-1200将DB3里的100个字节发送到S7-300的DB2中
② S7-300将输入数据IB0发送给S7-1200的输出数据区QB0。
2.1 S7-1200 CPU 的组态编程
组态编程过程与 S7-1200 CPU 之间的通信基本相似 (见 6.3 ),这里简单描述一下步骤:
① 使用STEP 7 Basic V10.5 软件新建一个项目
在STEP 7 Basic 的“Portal View”中选择 “Create new project”创建一个新项目
② 添加新设备
然后进入“Project view”,在“Project tree”下双击“Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 PLC_1。
③ 为 PROFINET 通信口分配以太网地址
在“Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses”下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0。
④ 在 S7-1200 CPU 中调用“TSEND_C”通信指令并配置连接参数和块参数
在主程序中调用发送通信指令,进入“Project tree” > “ PLC_1”>“Program blocks”>“Main”主程序中,从右侧窗口“Instructions”> “Extended Instructions”>“Communications”下调用“TSEND_C”指令,并选择“Single Instance”生成背景 DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。
然后,创建并定义发送数据区 DB 块。通过“Project tree”>“ PLC_1”> “Program blocks” >“Add new block” ,选择 “Data block”创建 DB 块,选择寻址,点击“OK”键,定义发送数据区为 100个字节的数组。
根据所使用的参数创建符号表,如图1所示。
配置连接参数,如图2所示。
配置块接口参数,如图3所示。
图1 创建所使用参数的符号表图PLC tag
图2 配置连接参数
图3 配置 TSEND_C 块参数
⑤ 调用“TRCV”通信指令并配置块参数如图6 47所示。
因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“Connection ID”号,如图4所示。
图4 配置 T_RCV 块参数
2.2 S7-300 CPU 的ISO on TCP通信的组态编程
① 使用STEP 7 软件新建一个项目并进行硬件组态
创建完新项目,在项目的窗口下,右键菜单里,选择“Insert New Object”>“SIMATIC 300 Station” ,插入一个S7-300 站。
为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/Clock Memory”中设置,如图5所示。
图5 设置时钟脉冲
每一个时钟位都按照不同的周期/频率在0和1之间切换变化,见表1。
表1:时钟位频率
位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
周期(S) | 2 | 01. Jun | 1 | 0.8 | 0.5 | 0.4 | 0.2 | 0.1 |
频率(Hz) | 0.5 | 0.625 | 1 | Jan 25 | 2 | 02. Mai | 5 | 10 |
② 配置以太网模块
进入“HW Config”中,组态所使用的 CPU 及“CP343-1”模板。并新建以态网 Ethernet (1) ,配置“CP343-1”模板IP 地址为:192.168.0.2,子网掩码为: 255.255.255.0 。如图6所示。配置完硬件组态及属性,编译存盘并所有硬件组态。
图6 S7-300 硬件配置
③ 网络组态
打开 “NetPro” 配置网络,选中 CPU,在连接列表里建立新的连接并选择连接对象和通信协议,如图7所示。
西门子CPU312图7 创建新的连接并选择 ISO-on-TCP 协议
这时会跳出通用信息,如图8所示。
图8 通用信息
然后,进入“Addresses”配置通信双方的IP 地址及TSAP 地址,如图9所示。
图9 配置通信的IP 地址及TSAP 地址
配置完连接并编译存盘后,将网络组态到CPU300中。
④ 软件编程
在OB1中,从“Libraries”>“SIMATIC_NET_CP”>“CP300”下,调用FC5(AG_SEND)、FC6(AG_RECV)通信指令。创建接收数据区为 DB2,定义成100个字节的数组。
CALL “ AG_RECV” //调用FC6
ID :=1 // 连接号,要与连接配置列表中一致,见图8
LADDR :=W#16#100 //CP的地址,要与配置中一致,见图8
RECV :=P#DB2.DBX 0.0 BYTE 100 //接收数据区
NDR :=M10.0 //为1时,接收到新数据
ERROR :=M10.1 //为1时,有故障发生
STATUS :=MW12 //状态代码
LEN :=MW14 //接收到的实际数据长度
CALL “AG_SEND” //调用FC5
ACT :=M0.2 //为1时,激活发送任务
ID :=1 // 连接号,要与连接配置中一致
LADDR :=W#16#100 //CP的地址,要与配置中一致
SEND :=IB0 //发送数据区
LEN :=1 //发送数据的长度
DONE :=M10.2 //为1时,发送完成
ERROR :=M10.3 //为1时,有故障发生
STATUS :=MW16 //状态代码
2.3 监控通信结果
S7-1200和S7-300中的所有组态及程序,监控通信结果,如图10、图11所示。
在S7-1200 CPU中向DB3中写入数据:“11”、“22”、“33”,则在S7-300中的DB2块收到数据也为“11”、“22”、“33”。
在S7-300 CPU中,将“2#1111_1111”写入IB0,则在S7-1200 CPU中QB0中收到的数据也为“2#1111_1111”。
图10 S7-1200监控表
图11 S7-300 变量表
3. TCP 通信
使用TCP 协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISO on TCP 协议通信完全相同。
S7-1200 CPU中,使用 TCP 协议与S7-300通信时,PLC_1的连接参数,如图12所示。通信伙伴 S7-300 的连接参数,如图13所示。
图12 S7-1200 的TCP连接参数的配置
图13 S7-300 的TCP连接参数的配置
示例程序的说明
STEP 7项目包含从标准库中的通讯功能块 FB14 "GET" 和 FB15 "PUT" 的调用。通信基础是两站之间建立的 S7 连接。FB14 "GET" 从远程CPU读取数据,使用 FB15 "PUT" 向远程CPU写入数据。
示例程序展示如何在建立 S7 连接后如何使用 FB14 "GET" 和 FB15 "PUT"。
首先创建 S7-300 站的硬件配置。
注意:
配置 MB10 为时钟存储器,读、写任务由这个时钟触发。保存并编译硬件配置并到 S7-300 中。
定时器 T10 用于此例中。
在 NetPro 界面中 配置 S7 连接。如果通讯双方在同一个 STEP 7 项目中,那么就能配置指定的 S7 连接。如果 S7-300 站通讯双方不在同一个 STEP 7 项目中,那么配置成非指定的 S7 连接。确定在配置 S7 连接时指定了正确的 IP 地址或者 PROFIBUS 站地址。还需要确定指派的槽架号和链接资源的正确性。这样能明确的识别出通讯双方的 S7 连接。
在通讯块 FB14 "GET" 和 FB15 "PUT" 的输入参数 "ID" 中必须明确的赋值,此值既是 S7 连接属性对话框中的 -> "General"。
图 01
STEP 7 程序中包含 OB100,OB1,FB100,DB100,DB200,DB201, FB14 和 FB15。
OB100
OB100是一个启动OB,当CPU重启时运行。在这个OB中,用于触发次通信的使能信号是 M0.3。
OB1
OB1被循环地调用。FB115 在这个 OB 中被调用(背景数据块:DB15),使能信号是 M0.3。一旦 FB100运行,M1=0.3 被复位。
图. 02
FB115
FB115 在 OB1循环中被调用。这个 FB包含调用 FB14 (“GET”)和 FB15 (“PUT”)。
通讯块输入参数 "ID" 必须指定为在 NetPro 中 S7 连接的连接号,即输入参数 "ID" 的值取自于 S7 连接的属性对话框(见图 01)。
在 FB115 中可以分别改变连接号。在 FB115 的 Network 1 中根据网络配置来改变连接号。连接号保存于静态标签中,即存储于背景数据块 DB115中。
连接号 "1" 如本例中的定义。
图. 03
当 M10.6 出现上升沿并且程序块不忙时,FB14 由输入参数 "REQ" 激活。只有当读取任务成功或者出错完成时,输入参数 "REQ" 复位。这意味着新的读取任务只有当任务完成时才能再次触发。
这个锁定功能是非常重要的。因为该函数的运行是异步的并且持续好几个循环。持续激活该函数块而不等待当前作业结束,将导致通信过载。
参数“ADDR_1”指向远程 CPU 中要写入的或者将读取的数据区域。例如:P#DB201.DBX0.0 BYTE 200。参数“RD_1”包含待读取数据的地址,例如:P#DB200.DBX0.0 BYTE 100。需要输出参数“DONE”、“ERROR”和“ STATUS”用于评估任务,并且仅仅在同一个循环中有效。
图. 04
如果块运行出现错误,输出参数 "STATUS" 保存块的状态字,用于错误分析。
图. 05
当 M10.6 出现上升沿并且程序块不忙时,FB15 由输入参数 "REQ" 激活。只有当发送任务成功或者出错完成时,输入参数 "REQ" 复位。这意味着新的发送任务只有当任务完成时才能再次触发。
这个锁定功能是非常重要的。因为该函数的运行是异步的并且持续好几个循环。持续激活该函数块而不等待当前作业结束,将导致通信过载。
参数“ADDR_1”指向远程 CPU 中要写入的或者将读取的数据区域。例如:P#DB200.DBX0.0 BYTE 20。参数“SD_1”包含待发送数据的地址,例如: P#DB201.DBX0.0 BYTE 20。需要输出参数“DONE”、“ERROR”和“ STATUS”用于评估任务,并且仅仅在同一个循环中有效。
概述
全集成自动化 (TIA) 中的入门级 CPU
用于有中等过程性能需求的小型应用
CPU 运行需要 SIMATIC 微存储卡 (MMC)。
应用
CPU 312,的 S7-300 CPU。满足TIA简单应用的理想套件,实现诸如集成的通讯、数据管理和诊断等优势。可使用MPI或CP组网,但标准应用是单机-非组网运行。I/O通常以一个集中式组态结构进行连接。
设计
CPU 312 安装有:
微处理器;
处理器处理每条二进制指令的时间可达 100 ns。扩展存储器;
与执行相关的程序段的 32 KB 高速 RAM(相当于约 10 K 指令)可以为用户程序提供足够的空间;
SIMATIC 微型存储卡( 4 MB)作为程序的装载存储器,还允许将项目(包括符号和注释)存储在 CPU 中。灵活的扩展能力;
多达 8 个模块,(1排结构)MPI多点接口;
集成的 MPI 接口最多可以同时建立与 S7-300/400 或编程设备、PC、OP 的 6 条连接。在这些连接中,始终为编程器和 OP 分别预留一个连接。通过“全局数据通讯”,MPI可以用来建立最多16个CPU组成的简单网络。
功能
口令保护;
用户程序使用密码保护,可防止非法访问。诊断缓冲;
诊断缓冲区中可存储 500 个错误和中断事件,其中的 100 个事件可以长期保留。免维护的数据后备;
如果发生断电,则可通过 CPU 将所有保持性数据自动写入到 SIMATIC 微型存储卡(MMC 卡)上,且将在再次通电时保持不变。
可参数化的特性
可以使用 STEP 7 对 S7 的组态、属性以及CPU的响应进行参数设置:
MPI多点接口;
定义站地址重启动/循环时间特性;
循环时间以及负载限制,以及自检测功能时钟存储器;
设定地址防护等级;
定义程序和数据的访问权限系统诊断;
定义诊断报警的处理和范围看门狗中断;
周期设定时钟中断;
设定起始日期、起始时间和间隔周期
显示功能与信息功能
状态和故障指示;
发光二极管显示,例如,硬件、编程、定时器或I/O出错以及运行模式,如RUN、STOP、Startup。测试功能;
可使用编程器显示程序执行过程中的信号状态,可以不通过用户程序而修改过程变量,以及输出堆栈内容。信息功能;
您可以使用 PG 以纯文本的形式获取 CPU 存储容量和操作模式、主存储器和装载存储器的当前利用率以及当前循环时间和诊断缓冲区内容的相关信息。
集成的通讯功能
PG/OP 通讯
全局数据通讯
S7 基本通讯
S7 通讯(只是服务器)
系统功能
CPU 具有广泛的系统功能特性,诸如:诊断、参数赋值、报警、定时和测量等。
模拟量模板
6ES7 331-7KF02-0AB0
6ES7 331-7KB02-0AB0
6ES7 331-7NF00-0AB0
6ES7 331-7NF10-0AB0
6ES7 331-7HF01-0AB0
6ES7 331-1KF01-0AB0
6ES7 331-7PF01-0AB0
6ES7 331-7PF11-0AB0
6ES7 332-5HD01-0AB0
6ES7 332-5HB01-0AB0
6ES7 332-5HF00-0AB0
6ES7 332-7ND02-0AB0
6ES7 334-0KE00-0AB0
6ES7 334-0CE01-0AA0
附件
6ES7 365-0BA01-0AA0
6ES7 360-3AA01-0AA0
6ES7 361-3CA01-0AA0
6ES7 368-3BB01-0AA0
6ES7 368-3BC51-0AA0
6ES7 368-3BF01-0AA0
6ES7 368-3CB01-0AA0
6ES7 390-1AE80-0AA0
6ES7 390-1AF30-0AA0
6ES7 390-1AJ30-0AA0
6ES7 390-1BC00-0AA0
6ES7 392-1AJ00-0AA0
6ES7 392-1AM00-0AA0
6ES7 392-1BM01-0AA0
功能模板
6ES7 350-1AH03-0AE0
6ES7 350-2AH00-0AE0
6ES7 351-1AH01-0AE0
6ES7 352-1AH02-0AE0
6ES7 355-0VH10-0AE0
6ES7 355-1VH10-0AE0
6ES7 355-2CH00-0AE0
6ES7 355-2SH00-0AE0
6ES7 338-4BC01-0AB0
6ES7 352-5AH00-0AE0
6ES7 352-5AH00-7XG0
通讯模板
6ES7 340-1AH02-0AE0
6ES7 340-1BH02-0AE0
6ES7 340-1CH02-0AE0
6ES7 341-1AH01-0AE0
6ES7 341-1BH01-0AE0
6ES7 341-1CH01-0AE0
6ES7 870-1AA01-0YA0
6ES7 870-1AB01-0YA0
6ES7 902-1AB00-0AA0
6ES7 902-1AC00-0AA0
6ES7 902-1AD00-0AA0
6ES7 902-2AB00-0AA0
6ES7 902-2AC00-0AA0
6ES7 902-2AG00-0AA0
6ES7 902-3AB00-0AA0
6ES7 902-3AC00-0AA0
6ES7 902-3AG00-0AA0
6GK7 342-5DA02-0XE0
6GK7 342-5DF00-0XE0
6GK7 343-5FA01-0XE0
6GK7 343-1EX30-0XE0
6GK7 343-1EX21-0XE0
6GK7 343-1CX00-0XE0
6GK7 343-1CX10-0XE0
6GK7 343-1GX20-0XE0
6GK7 343-1GX21-0XE0
6GK7 343-1HX00-0XE0
6GK7 343-2AH00-0XA0
6ES7971-1AA00-0AA0
6ES7971-5BB00-0AA0
6ES7314-6EH04-0AB0
西门子CPU312