湖南 西门子 6ES7214-1AG40-0XB0 详细使用说明
PROFINET 通信口
S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP和UDP 的通信标准。这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与HMI触摸屏的通信,以及与其它 CPU 之间的通信。
支持的协议和最大的连接资源
S7-1200 CPU 的PROFINET 通信口支持以下通信协议及服务
TCP ISO on TCP ( RCF 1006 ) UDP(V1.0 不支持)S7 通信
注意:S7-1200 CPU 只支持S7 通信的服务器(Sever)端,(使用PORTAL V10.5软件)
S7-1200 CPU 支持S7 通信的服务器与客户端,(使用 STEP7 V11软件)
硬件版本 V4.1 支持的协议和最大的连接资源:
S7-1200的连接资源
分配给每个类别的预留连接资源数为固定值;您无法更改这些值。 但可组态 6个"可用自由连接"以按照应用要求增加任意类别的连接数。
● 示例1: 1 个 PG 具有 3 个可用连接资源。 根据当前使用的 PG 功能,该 PG 实际可能使用其可用连接资源的 1、2 或 3。 在 S7-1200 中,始终保证至少有 1 个 PG,但不允许超过 1 个 PG。
在CPU属性>常规>连接资源显示:
HMI连接资源
● 示例2:HMI 具有 12 个可用连接资源。 根据您拥有的 HMI 类型或型号以及使用的 HMI 功能,每个 HMI 实际可能使用其可用连接资源中的 1 个、2 个或 3 个。 考虑到正在使用的可用连接资源数,可以同时使用 4 个以上的 HMI。 HMI 可利用其可用连接资源(每个 1 个,共 3 个)实现下列功能:
读取 写入 报警和诊断
HMI 1 | HMI 2 | HMI 3 | HMI 4 | HMI 5 | HMI | |
使用的连接资源 | 2 | 2 | 2 | 3 | 3 | 12 |
以上示例共有5个HMI设备访问S7-1200,占用了S7-1200的12个HMI连接资源。
对于S7-1200 V4.1以上版本,有6个动态连接资源可以用于HMI连接。所以它们的最大HMI连接资源数可以达到18个。对于之前的版本只能用预留的HMI连接资源用于HMI访问。
HMI设备占S7-1200的HMI连接资源个数
基于 WinCC TIA Portal的组态:
资源数(默认) | 简单通讯 | 系统诊断 | 运行系统报警记录 | |
基本面板 | 1 | 1 | 1 | - |
多功能面板 | 2 | 1 | - | - |
精智面板 | 2 | 1 | 2 | - |
WinCC RT Advanced | 2 | 1 | 2 | - |
WinCC RT Professional | 3 | 2 | 2 | 3 |
注:“资源数(默认)”是当HMI与S7-1200在一个项目中组态HMI连接时,会占用S7-1200的组态的HMI连接个数。
如图:示例中HMI_2 为精智面板。
这个连接个数是这个HMI设备所能占用S7-1200的最大HMI连接个数,可以作为选型参考。
目前Smart pannel不支持S7-1200 可以访问S7-1200的HMI面板的其他信息请参考:https://support.industry.siemens.com/cs/ww/en/view/109475049
硬件版本 V3.0 支持的协议和最大的连接资源:
3个连接用于操作面板 1个连接用于编程设备(PG)与 CPU 的通信 8个连接用于Open IE ( TCP, ISO on TCP, UDP) 的编程通信,使用T-block 指令来实现 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信 8个连接用于S7 通信的客户端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信连接数是固定不变的,不能自定义。
注意:建立被动的TCP 、ISO on TCP 和UDP的连接时,建议使用端口范围: 2000~5000。一些端口号和TSAP 号是受到限制不能被使用的。 下列端口号和TSAP号不能使用:
ISO TSAP (passive): 01.00, 01.01, 02.00, 02.01, 03.00, 03.01 TCP/UDP port (passive): 20, 21, 25, 80, 102, 135, 161, 34962 … 34964,53, 80, 162, 443, 520, 9001硬件版本 V2.0~V2.2 支持的协议和最大的连接资源:
3个连接用于非 Comfort pannel触摸屏或2个连接用于Comfort pannel与 CPU 的通信 1个连接用于编程设备(PG)与 CPU 的通信 8个连接用于Open IE ( TCP, ISO on TCP, UDP) 的编程通信,使用T-block 指令来实现 3个连接用于S7 通信的服务器端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信 8个连接用于S7 通信的客户端连接,可以实现与S7-200,S7-300以及 S7-400 的以太网S7 通信硬件版本 V1.0 S7-1200
3个连接用于非 Comfort pannel触摸屏或2个连接用于Comfort pannel与 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的PROFINET 口有两种网络连接方法:
直接连接:当一个S7-1200 CPU与一个编程设备,或是HMI ,或是另一个PLC通信时,也就是说只有两个通信设备时,实现的是直接通信。直接连接不需要使用交换机,用网线直接连接两个设备即可,如图1. 所示。
图1. 通信设备的直接连接
网络连接:当多个通信设备进行通信时,也就是说通信设备为两个以上时,实现的是网络连接,如图2. 所示。
多个通信设备的网络连接需要使用以太网交换机来实现。可以使用导轨安装的西门子 CSM1277 的 4 口交换机连接其它 CPU 及 HMI 设备。CSM1277 交换机是即插即用的,使用前不用做任何设置。
图2. 多个通信设备的网络连接(图:network connection)
① CSM1277 以太网交换机
PLC与PLC之间通信的过程
实现两个CPU 之间通信的步骤① 建立硬件通信物理连接:由于S7-1200 CPU 的PROFINET 物理接口支持交叉自适应功能,因此连接两个 CPU 既可以使用标准的以太网电缆也可以使用交叉的以太网线。两个CPU的连接可以直接连接,不需要使用交换机。
② 配置硬件设备:在 “Device View” 中配置硬件组态。
③ 配置永久IP 地址:为两个CPU 配置不同的永久IP 地址
④ 在网络连接中建立两个 CPU 的逻辑网络连接
⑤ 编程配置连接及发送、接收数据参数。在两个 CPU 里分别调用TSEND_C或TSEND、TRCV_C或TRCV 通信指令,并配置参数,使能双边通信。
配置 CPU之间的逻辑网络连接
配置完 CPU 的硬件后,在项目树 “Project tree”>“Devices & Networks” >“Networks view”视图下,创建两个设备的连接。
要想创建PROFINET 的逻辑连接,用鼠标点中第一个 PLC 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图3. 所示。
图3. 建立两个CPU之间的连接
S7-1200 CPU通过ETHERNET 与S7-1200 CPU 通信的方式
S7-1200 与 S7-1200 之间的以太网通信可以通过 TCP 或 ISO on TCP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV) 指令来实现。通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。
硬件和软件需求及所完成的通信任务
硬件:
① S7-1200 CPU
② PC (带以太网卡)
③ TP电缆(以太网电缆)
软件:
STEP7 V11 or Higher
所完成的通信任务:
① 将PLC_1 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_2 的接收数据区 DB4 块中。
② 将PLC_2 的通信数据区 DB3 块中的 100 个字节的数据发送到 PLC_1 的接收数据区 DB4 块中。
通信的编程,连接参数及通信参数的配置
1. 打开 STEP7 v11 软件并新建项目
在 STEP7 v11的 “Portal View” 中选择 “Create new project” 创建一个新项目
2. 添加硬件并命名PLC
然后进入 “Project view”,在“Project tree” 下双击 “Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 PLC_1,如图1.所示。
同样方法再添加通信伙伴的S7-1200 CPU ,命名为 PLC_2。
图1. 添加新设备
为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下:
在 “Project tree” > “PLC_1” > “Device configuration” 中,选中 CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图2.所示。
时钟位我们主要使用 M0.3,它是以2Hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2. 系统位与时钟位
3. 为 PROFINET 通信口分配以太网地址
在 “Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses” 下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3. 所示。
图3. 分配IP 地址
同样方法,在同一个项目里添加另一个新设备S7-1200 CPU 并为其分配 IP 地址为192.168.0.2
4. 创建 CPU之间的逻辑网络连接
在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图4.所示。
图4. 建立两个 CPU的逻辑连接
在 PLC_1 中调用并配置“TCON”、“TSEND”、“TRCV” 通信指令
1.在 PLC_1 的 OB1 中调用“TCON” 通信指令
① 在第一个 CPU 中调用发送通信指令,进入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,从右侧窗口 “Instructions” > “Communications” > “OPEN User Communications”下调用 “TCON” 指令,创建连接,如图1.所示。
图1. 调用“TCON”通信指令
② 创建DB2 分配连接参数,见图2所示
图2. 创建连接数据块 DB2(Con_DB)
③ 定义PLC_1的 “TCON”连接参数
PLC_1 的 TCON 指令的连接参数需要在指令下方的属性窗口“Properties”> “Configuration”>“Connection parameter”中设置,如图3.所示。
图3. 定义 TCON 连接参数
连接参数说明:
End point | :可以通过点击选择按钮选择伙伴 CPU :PLC_2 |
Connection type | :选择通信协议为 TCP(也可以选择 ISO on TCP 或UDP协议) |
Connection ID | :连接的地址 ID 号,这个 ID 号在后面的编程里会用到 |
Connection data | :创建连接时,生成的Con_DB块。见图2所示 |
Active connection setup | :选择本地 PLC_1作为主动连接 |
Address details | :定义通信伙伴方的端口号为:2000;如果选用的是 ISO on TCP 协议,则需要设定的TSAP 地址(ASCII 形式),本地 PLC_1可以设置成“PLC1”,伙伴方 PLC_2 可以设置成“PLC2”。 |
2.定义 PLC_1 的“TSEND”发送通信块接口参数
① 调用 “TSEND” 在OB1内调用 发送100个字节数据到PLC2中
进入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,从右侧窗口 “Instructions” > “Communications” > “OPEN User Communications”下调用 “TSEND” 指令,,如图4.所示。
图4. 调用 TSEND
② 创建并定义PLC_1的发送数据区 DB 块。
通过“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,选择“Data block” 创建 DB 块,选择绝对寻址,点击“OK”键,定义发送数据区为 100个字节的数组,如图4.及图5.所示。
图5. 创建发送数据区 DB 块
注意:对于双边编程通信的 CPU ,如果通信数据区使用 DB 块,既可以将 DB 块定义成符号寻址,也可以定义成绝对寻址。使用指针寻址方式,必须创建绝对寻址的 DB 块。
图6. 定义发送数据区为字节类型的数组 图 PLC1_TSENDC_DATA
③ 定义 PLC_1 的“TSEND”发送通信块接口参数,如图7.所示。
图7. 定义 TSEND 接口参数
参数说明:
输入接口参数:
REQ | := M0.3 | // 使用 2Hz 的时钟脉冲,上升沿激活发送任务 |
ID | : = 1 | //创建连接ID |
LEN | := 100 | //发送数据长度 |
DATA | := P#DB3.DBX0.0 BYTE 100 | // 发送数据区的数据,使用指针寻址时,DB块要选用绝对寻址 |
输出接口参数:
DONE | := M300.0 | //任务执行完成并且没有错误,该位置 1 |
BUSY | := M300.1 | // 该位为 1,代表任务未完成,不能激活新任务 |
ERROR | := M300.2 | //通信过程中有错误发生,该位置 1 |
STATUS | := MW302 | //有错误发生时,会显示错位信息号 |
3.在 PLC_1 的OB1中调用接收指令T_CV 并配置基本参数
为了实现 PLC_1 接收来自 PLC_2 的数据,则在 PLC_1 中调用接收指令T_RCV 并配置基本参数。
① 创建并定义PLC_1的接收数据区 DB 块。
通过“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,选择“Data block” 创建 DB 块,选择绝对寻址,点击“OK”键,定义发送数据区为 100个字节的数组,如图7.及图8.所示。
图8. 创建接收数据区 DB 块
注意:对于双边编程通信的 CPU ,如果通信数据区使用 DB 块,既可以将 DB 块定义成符号寻址,也可以定义成绝对寻址。使用指针寻址方式,必须创建绝对寻址的 DB 块。
图9. 定义接收数据区为字节类型的数组
② 调用 “TRCV” 在OB1内调用
进入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,从右侧窗口 “Instructions” > “Communications” > “OPEN User Communications”下调用 “TRCV” 指令,配置接口参数,,如图10.所示。
图10. 调用 TRCV 指令并配置接口参数
参数说明:
输入接口参数:
EN_R | := TRUE | // 准备好接收数据 |
ID | := 1 | // 连接号,使用的是 TCON 的连接参数中 ID号 |
LEN | := 100 | // 接收数据长度为 100 个字节 |
DATA | := P#DB4.DBX0.0 BYTE 100 | // 接收数据区的地址 |
输出接口参数:
NDR | := M310.0 | // 该位为 1,接收任务成功完成 |
BUSY | := M310.1 | // 该位为 1,代表任务未完成,不能激活新任务 |
ERROR | := M310.2 | // 通信过程中有错误发生,该位置 1 |
STATUS | := MW312 | // 有错误发生时,会显示错误信息号 |
RCVD_LEN | := MW314 | // 实际接收数据的字节数 |
注意:LEN设置为 65535 可以接收变长数据。
TCP 通信
使用TCP 协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISO on TCP 协议通信完全相同。但注意:主动连接方强烈建议选择S7-300 CP卡。
S7-1200 CPU中,使用 TCP 协议与S7-300通信时,PLC_1的连接参数,如图1.所示。通信伙伴 S7-300 的连接参数,如图2.所示。
图1.S7-1200 的TCP连接参数的配置 TCP1200_Connection.BMP
图2. S7-300 的S7-300 CP卡创建TCP连接参数的配置
图3.S7-300 的S7-300 CP卡创建TCP连接参数的配置,设置连接伙伴
图3. S7-300 CP卡创建TCP连接参数的配置,设置连接伙伴地址及端口
特别注意(不建议使用)
如果一定要创建S7-1200主动连接,那么在S7-300 CP卡,创建连接,一定不能填写对方IP与端口如图4
图4. S7-300 CP卡创建TCP连接参数的配置,一定不能设置对方IP与端口
湖南 西门子 6ES7214-1AG40-0XB0