如何实现两个s7-1200cpu之间的以太网通信
- 格式:pdf
- 大小:836.10 KB
- 文档页数:27
西门子 S7-1200 PLC 与 PLC之间以太网通讯操作心得
1.软件组态:新建两个 CPU,在组态界面的网络视图手绘连结两个 PLC 的以太网口,以下:
2.在两个 CPU以太网口的属性中设置 IP 地点,设置同一网段,方便调试;
3.在PLC_1程序块中增添一个背景数据块,新建接收数组跟发送数组,以方便寄存接收或发送数据,例程以下:
4.在 PLC_1主程序中增添一个“经过以太网发送数据”的指令块(发送使能 REQ以下事例是经过 5HZ的频次触发),并点击属性编写,编写好属性后 CONNET自动产生,将背景数据块的填入 DATA地点, LEN
是数据长度,以下:
4.发送指令的属性编写以下(连结数据能够直接点击新建,系统自动产生对应的数据指针,其他能够采纳默认参数)
5.在 PLC_1主程序中增添一个“经过以太网接收数据”的指令块,并点击属性编写,块参数编写同上,以下:
6.发送指令的属性编写同上发送块的属性编写;
7.以相同的编写方式编写 PLC_2;
8.在程序段中操作发送数组数据内容,使用接收数组数据内容,只需硬件连结正常, PLC_1与 PLC_2可经过对应的数组互换数据。
s7-1200之间通信实验报告一.通信前的准备首先创建新项目,并命名为“s7-1200之间通信”,如下图所示:然后组态设备,选择s7-1200的CPU 1214C DC/DC/RLY,版本号为4.1,如下图所示:打开项目后,选中PLC_1设备视图,选择下面的“属性”选项,再选择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字节的复选框中打上勾,如下图所示:再选中PLC_1设备中以太网口,在以太网地址设置PLC_1的IP地址为:192.168.0.1,如下图所示:然后把PLC_1复制粘贴成PLC_2,同样地在以太网口那里设置PLC_2的IP地址为:192.168.0.2,之前的系统和时钟存储器已经设置好了,PLC_2不用再设了。
具体如下:在设备视图中转到拓扑视图,分别添加交换机和PC端,并将它们按照下图连接起来。
到这里通信前设备设置已经完成了。
二.程序编程在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TSEND_C”指令并拖放到main(OB1)中去并生成背景数据块DB1,名称为:TSEND_C_DB。
如下图所示:选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面。
在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TRCV_C”指令并拖放到main(OB1)中去并生成背景数据块DB2,名称为:TRCV_C_DB,如下所示:选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面:然后添加全局数据块,命名为send,如下图所示:在打开的全局数据块名称列命名为send,在数据类型选择数组并设置为array[0....99]of string,如下图:在选中send[DB5]中单击右键选择属性,将打勾的去掉。
S7-1200集成的以太网接口可以实现下述通信1.用于下载、上载、监控和故障诊断为了实现PLC与计算机的通信,需要用计算机的控制面板的“网络连接”功能来设置以太网接口的连接属性,选中“Internet协议(TCP/IP)”,设置接口的IP地址和子网掩码。
IP地址的前3个字节(子网地址)为192.168.0,第4个字节(子网内设备的地址)可以取任意值,只要不与网络中其他设备的IP地址重叠就行了。
一对一的通信不需要交换机,两台以上的设备通信需要交换机。
CPU可以使用直通的或交叉的以太网电缆进行通信。
2.用于S7-1200 CPU之间的通信采用开放式用户通信,最好使用紧凑型指令TSEND_C和TRCV_C,它们除了发送或接收功能外,还可以建立和断开连接。
开放式用户通信可以使用ISO-On-TCP连接或TCP连接,连接参数采用图形方式组态。
3.S7-1200与S7-300/400采用ISO-on-TCP和TCP连接的以太网通信S7-300/400需要配置以太网模块,或使用有以太网接口的CPU。
S7-1200调用TSEND_C和TRCV_C指令,S7-300/400调用AG_SEND和AG_RCV指令。
双方都需要组态连接,通信伙伴为“未指定”。
4.S7-1200与S7-300/400采用S7连接的以太网通信在S7通信中,S7-1200只能作服务器,不需要对它的S7通信组态和编程。
S7-300/400在通信中做客户机,需要用STEP 7的网络组态工具NetPro建立S7单向连接,调用PUT和GET指令来实现通信。
5.S7-1200与S7-200采用S7连接的以太网通信S7-200需要配以太网模块CP 243-1,S7-1200的以太网接口在S7通信中只能作服务器,在通信中它是被动的,不需要作任何组态和编程的工作。
S7-200 CPU在通信中作客户机,需要用S7-200的以太网向导来组态,并调用组态时生成的指令来实现通信。
通过CM1243-5实现S7-1200之间的S7通信使用STEP7 V12,CM1243-5 的DP 通信口可以做S7 通信的客户端或服务器,S7-1200 仅支持S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只需要准备好通信数据块即可。
以2台S7-1200 PLC 为例,通过CM1243-5 做S7 通信。
硬件和软件需求硬件:①2台S7-1200 CPU②2台CM1243-5 DP-MASTER③DP 接头及DP电缆④PC (带以太网卡)⑤TP以太网电缆软件:①TIA PORTAL V12 SP1 Update2所完成的通信任务:①1215C 将数据块DB3 中的10个字节发送到1214C 的数据块DB1 中。
②1215C 读取1214C 数据块DB2 中的10个字节存储到1215C 的数据块DB4 中。
在1215C 一侧配置、编程1. 使用STEP7 V12 软件新建一个项目并完成硬件配置在项目树“设备和网络”>“网络视图”视图下,创建两个设备的PROFIBUS 连接。
用鼠标点中PLC1 上的CM1243-5 DP 通信口的粉色小方框,然后拖拽出一条线到PLC2 上的CM1243-5 DP 通信口上,松开鼠标,连接建立。
2. 组态S7 连接打开“网络视图”配置网络,首先点中左上角的“连接”图标,选择“S7 连接”,然后选中PLC1 上的CPU,鼠标右键选择“添加新连接”。
如图1所示。
图1. 添加S7 连接然后在“创建新连接”窗口中,选择“PLC2”,并在右侧窗口中选择“CM1243-5,DP 接口”,最后再点击“添加”建立S7 连接。
如图2所示。
图2. 建立S7 连接“S7_连接_1”为建立的连接,选中连接,在属性的“常规”条目中可查看该S7 连接的相关信息。
如图3所示。
图3. S7 连接信息配置完网络连接,编译保存并下载。
在线后可查看通信连接状态。
如图4所示。
图4. 通信连接状态3. 软件编程分别在PLC1 中创建发送数据块DB3 和接收数据块DB4 ,在PLC2 中创建接收数据块DB1 和发送数据块DB2 ,均定义为10字节的长度,并在DB 块的“属性”中取消“优化的块访问”,编译并保存。
S7-1200 和S7-1200 之间TCP 通信S7-1200 与S7-1200 之间的以太网通信可以通过TCP 协议来实现,使用的通信指令是在双方CPU 调用T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,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之间切换的一个位,可以使用它去自动激活发送任务。
两台S7-1200 PLC之间的TCP通信实例一、 TCP通信协议介绍开放式用户通信是套接字(Socket)通信方式,包含TCP通信。
TCP 属于OSI参考模型的第4层(UDP也位于该层),IP位于第3层。
TCP/IP 通信是面向连接的,提供站点之间的可靠通信,具有回传机制,支持路由功能,可用于西门子SIMATIC系统内部及SIMATIC与PC或其他支持TCP/IP的系统通信。
TCP/IP的通信需要设置本地和远程IP地址,以及与进程相关的端口号(Port Number)。
TIA V16编程软件中关于开放式用户通信指令库的截图如图1所示。
图1 开放式用户通信指令库提示:套接字Socket=(IP地址:端口号),例如(192.168.0.5:80)。
二、两台S7-1200 PLC之间的TCP通信S7-1200 PLC与S7-1200 PLC之间的以太网通信可以通过TCP来实现,这里使用图12-14中的TSEND_C和TRCV_C指令来实现。
通信方式为双边通信,即通信双方都要编写程序,一侧编写发送程序,另一侧则必须编写对应的接收程序。
这里要完成的通信任务有:①将PLC_1的通信数据区DB1中100个字节的数据发送到PLC_2的接收数据区DB2中;②将PLC_2的通信数据区DB1中100个字节的数据发送到PLC_1的接收数据区DB2中。
1.硬件组态使用STEP7 V16创建一个名为“1200_1200_TCP”的新项目,并通过“添加新设备”组态两个型号均为CPU 1214C DC/DC/DC V4.4的1200 PLC站点,分别命名为“PLC_1”和“PLC_2”。
设置“PLC_1”的IP地址为192.168.0.1,“PLC_2”的IP地址为192.168.0.2,子网掩码均为255.255.255.0,设置方法参见12.3.2节相关内容。
勾选“PLC_1”和“PLC_2”的“启用时钟存储器字节”复选框,启用时钟存储器字节MB0。
博途S7-1200CPU间两种通讯方法预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制S7 1200 CPU间通讯方法S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPUV2.0及以上版本)。
S7-1200 仅支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。
1.同一个项目中通讯1.如下新建2个PLC,IP地址设置如图2.在网络视图下点击连接,然后添加新连接3.连接属性如下:PLC_1属性如下3图在本地ID中:显示通讯连接的ID 号,这里ID=W#16#100(编程使用)。
在特殊连接属性中:可以选择是否为主动连接,这里PLC_1是主动建立连接。
在地址详细信息中:定义通讯双方的TSAP 号,这里不需要修改。
4.程序编写:分别新建DB块各DB块数据定义DB块的这个选项不能勾选在PLC_1的OB1中添加功能块:发送数据接收数据程序下载到仿真器后,我们给Put_DB的REQ引脚触发一个脉冲,PLC_1中的数据会发送给PLC_2的DB1;给Get_DB的REQ引脚触发一个脉冲,PLC_1会读取PLC_2中的数据PLC1发送给PLC2数据PLC1读取PLC2数据2.不在一个项目中通讯首先新建一个PLC工程,同上一样添加新连接,区别在于选择连接对象“未指定”。
属性如下:PLC_1还是作为主动建立通讯的客户机。
在地址详细信息中:定义伙伴侧的TSAP 号(注意:S7-1200预留给S7连接两个TSAP地址:03.01和03.00),这里设置伙伴的TSAP:03.00。
在PLC_2中,需做如下设置:程序编写如上一样,调用Get,Put指令。
测试效果如下:PLC1发送数据PLC2收到的数据PLC2的数据PLC1读取的数据。
如何实现两个S7-1200 CPU之间的以太网通信How to realize the Ethernet communication between 2 S7-1200 CPUs摘要本文介绍了S7-1200 CPU 通过以太网通信的方法及详细步骤关键词S7-1200,以太网,TCP,ISO on TCPKey Words S7-1200, Ethernet, TCP, ISO on TCP目录1概述 (4)1.1 S7-1200 的PROFINET 通信口 (4)1.2 S7-1200支持的协议和最大的连接资源 (4)1.3 物理网络连接 (5)2S7-1200 CPU通过ETHERNET 与S7-1200 CPU 通信 (6)2.1 硬件和软件需求及所完成的通信任务 (6)2.2 创建新项目及建立逻辑连接 (7)2.3 TCP 通信 (9)2.3.1 在 PLC_1 中调用并配置“TSEND_C”、“T_RCV” 通信指令 (9)2.3.2 在 PLC_2 中调用并配置“TRCV_C”通信指令 (15)2.3.3 下载硬件组态及程序并监控通信结果 (20)2.4 ISO on TCP通信 (20)2.4.1 ISO on TCP 协议通信连接参数的配置 (20)2.4.2 ISO on TCP 动态长度数据传输 (22)2.5 T-block通信块的状态及错误代码 (24)2.5.1 T-block通信块的状态代码 (24)2.5.2 T-block通信块的错误代码 (24)1 概述的PROFINET 通信口1.1 S7-1200S7-1200 CPU 本体上集成了一个 PROFINET 通信口,支持以太网和基于 TCP/IP 的通信标准。
使用这个通信口可以实现 S7-1200 CPU 与编程设备的通信,与HMI触摸屏的通信,以及与其它 CPU 之间的通信。
这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
西门子1200PLC之间的TCP通讯组态编程S7-1200 与 S7-1200 之间的以太网通信可以通过 TCP 协议来实现,使用的通信指令是在双方CPU 调用T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,TRCV) 指令来实现。
通信方式为双边通信,因此 TSEND 和 TRCV 必须成对出现。
1.在网络视图中,创建两个设备的连接2. 调用“TCON”通信指令3. PLC_1 的TCON 指令的连接参数需要在指令下方的属性窗口“Properties”> “Configuration”>“Connection parameter”中设置4.添加T_SEND数据发送指令参数说明:输入接口参数:REQ := M0.3 // 使用2Hz 的时钟脉冲,上升沿激活发送任务ID : = 1 //创建连接ID LEN := 100 //发送数据长度DATA := P#DB3.DBX0.0 BYTE100// 发送数据区的数据,使用指针寻址时,DB块要选用绝对寻址输出接口参数:DONE := M300.0 //任务执行完成并且没有错误,该位置 1BUSY := M300.1 // 该位为1,代表任务未完成,不能激活新任务ERROR := M300.2 //通信过程中有错误发生,该位置 1 STATUS := MW302 //有错误发生时,会显示错位信息号5.添加T_RCV数据接收指令参数说明:输入接口参数:EN_R := TRUE // 准备好接收数据ID := 1 // 连接号,使用的是 TCON 的连接参数中 ID号LEN := 100 // 接收数据长度为 100 个字节DATA := P#DB4.DBX0.0 BYTE100// 接收数据区的地址输出接口参数:NDR := M310.0 // 该位为 1,接收任务成功完成BUSY := M310.1 // 该位为1,代表任务未完成,不能激活新任务ERROR := M310.2 // 通信过程中有错误发生,该位置 1 STATUS := MW312 // 有错误发生时,会显示错误信息号RCVD_LEN := MW314 // 实际接收数据的字节数注意:LEN设置为65535 可以接收变长数据。
S7-1200 和S7-1200 之间TCP 通信S7-1200 与S7-1200 之间的以太网通信可以通过TCP 协议来实现,使用的通信指令是在双方CPU 调用T-block (TSEND_C,TRCV_C,TCON,TDISCON,TSEND,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之间切换的一个位,可以使用它去自动激活发送任务。
如何实现两个S7-1200 CPU之间的以太网通信How to realize the Ethernet communication between 2 S7-1200 CPUs摘要本文介绍了S7-1200 CPU 通过以太网通信的方法及详细步骤关键词S7-1200,以太网,TCP,ISO on TCPKey Words S7-1200, Ethernet, TCP, ISO on TCP目录1概述 (4)1.1 S7-1200 的PROFINET 通信口 (4)1.2 S7-1200支持的协议和最大的连接资源 (4)1.3 物理网络连接 (5)2S7-1200 CPU通过ETHERNET 与S7-1200 CPU 通信 (6)2.1 硬件和软件需求及所完成的通信任务 (6)2.2 创建新项目及建立逻辑连接 (7)2.3 TCP 通信 (9)2.3.1 在 PLC_1 中调用并配置“TSEND_C”、“T_RCV” 通信指令 (9)2.3.2 在 PLC_2 中调用并配置“TRCV_C”通信指令 (15)2.3.3 下载硬件组态及程序并监控通信结果 (20)2.4 ISO on TCP通信 (20)2.4.1 ISO on TCP 协议通信连接参数的配置 (20)2.4.2 ISO on TCP 动态长度数据传输 (22)2.5 T-block通信块的状态及错误代码 (24)2.5.1 T-block通信块的状态代码 (24)2.5.2 T-block通信块的错误代码 (24)1 概述的PROFINET 通信口1.1 S7-1200S7-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的PROFINET 口有两种网络连接方法:•直接连接:当一个S7-1200 CPU与一个编程设备,或是HMI ,或是另一个PLC通信时,也就是说只有两个通信设备时,实现的是直接通信。
直接连接不需要使用交换机,用网线直接连接两个设备即可,如图1所示。
通信设备的直接连接网络连接:当多个通信设备进行通信时,也就是说通信设备为两个以上时,实现的是网络连接,如图2所示。
多个通信设备的网络连接需要使用以太网交换机来实现。
可以使用导轨安装的西门子CSM1277 的 4 口交换机连接其它 CPU 及 HMI 设备。
CSM1277 交换机是即插即用的,使用前不用做任何设置。
图2 多个通信设备的网络连接① CSM1277 以太网交换机2 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 目前只支持 S7 通信的服务器(Sever)端,所以它们之间不能使用 S7 这种通信方式。
2.1 硬件和软件需求及所完成的通信任务硬件:① S7-1200 CPU② PC (带以太网卡)③ TP电缆软件:STEP 7 Basic V10.5所完成的通信任务:①将PLC_1 的通信数据区 DB 块中的 100 个字节的数据发送到 PLC_2 的接收数据区DB 块中。
② PLC_1 的QB0 接收PLC_2 发送的数据IB0 的数据。
2.2 创建新项目及建立逻辑连接①打开STEP 7 Basic 软件并新建项目在STEP 7 Basic 的 “Portal View” 中选择 “Create new project” 创建一个新项目②添加硬件并命名PLC然后进入 “Project view”,在“Project tree” 下双击 “Add new device”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为 PLC_1,如图3所示。
同样方法再添加通信伙伴的S7-1200 CPU ,命名为 PLC_2。
选择所使用的CPU型号图3添加新设备为了编程方便,我们使用 CPU 属性中定义的时钟位,定义方法如下:在 “Project tree” > “PLC_1” > “Device configuration” 中,选中 CPU ,然后在下面的属性窗口中,“Properties” > “System and clock memory” 下,将系统位定义在MB1,时钟位定义在MB0,如图4所示。
时钟位我们主要使用 M0.3,它是以2Hz 的速率在0和1之间切换的一个位。
可以使用它去自动激活发送任务。
使能系统位的使用,放到MB1中。
使能时钟位的使用,放到MB0中。
图4系统位与时钟位③为 PROFINET 通信口分配以太网地址在 “Device View”中点击 CPU 上代表PROFINET 通信口的绿色小方块,在下方会出现PROFINET 接口的属性,在 “Ethernet addresses” 下分配IP 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图5所示。
设置IP地址及子网掩码地址图5分配IP 地址④同样方法,在同一个项目里添加另一个新设备S7-1200 CPU 并为其分配 IP 地址为192.168.0.2⑤创建 CPU之间的逻辑网络连接在项目树 “Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。
用鼠标点中 PLC_1 上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2 上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图6所示。
图6 建立两个 CPU的逻辑连接2.3 TCP通信2.3.1 在 PLC_1 中调用并配置“TSEND_C”、“T_RCV” 通信指令①在 PLC_1 的 OB1 中调用“TSEND_C” 通信指令在第一个 CPU 中调用发送通信指令,进入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,从右侧窗口 “Instructions” > “Extended Instructions” > “Communications” 下调用 “TSEND_C” 指令,并选择 “Single Instance” 生成背景 DB块。
然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数,如图7所示。
图7 调用“TSEND_C”通信指令②定义PLC_1 的“TSEND_C”连接参数PLC_1的 TSEND_C 指令的连接参数需要在指令下方的属性窗口“Properties”> “Configuration”>“Connection parameter”中设置,如图8所示。
图8 定义 TSEND_C 连接参数连接参数说明:End point:可以通过点击选择按钮选择伙伴 CPU :PLC_2 Connection type:选择通信协议为 TCPConnection ID:连接的地址 ID 号,这个 ID 号在后面的编程里会用到Connection data:创建连接时,系统会自动生成本地的连接 DB 块,所有的连接数据都会存在这个 DB 块中。
通信伙伴的连接 DB 块,只有在对方(PLC_2)建立连接后才能生成,然后在本地(PLC_1) 中才能通过选择按钮选择。
Active connection setup:选择本地 PLC_1作为主动连接Address details:定义通信伙伴方的端口号为:2000;如果选用的是ISO on TCP 协议,则需要设定的是 TSAP 地址(ASCII 形式),本地 PLC_1可以设置成“PLC1”,伙伴方PLC_2 可以设置成“PLC2”。
③定义 PLC_1 的“TSEND_C”发送通信块接口参数首先,根据所使用的接口参数定义符号表在“Project tree”> “PLC_1” > “PLC tags”中定义所使用的符号名,如图9所示。