S7-1200基本以太网通信怎么使用
西门子S7-12001500PLC工业以太网TCP通信的其他指令

西门子S7-12001500PLC工业以太网TCP通信的其他指令上一文章,简要说明了西门子S7-1200/1500PLC工业以太网TCP 通信的两个主要通信指令的组态。
基本可以满足常用的通信需要。
还有其他的一些通信指令,如TCON建立通信连接、TDISCON断开通信连接、TSEND通过现有通信连接发送数据、TRCV通过现有通信连接接收数据、TUSEND通过UDP以太网发送数据、TURCV通过UDP 以太网接收数据、T_RESET复位连接、T_DIAG检查连接、T_CONFIG 组态通信接口和TMAIL_C发送电子邮件指令。
▼开放式用户通信指令如用TRCV指令接收数据,如上图一样该指令没有连接参数的组态画面,只有块参数的组态画面,则需要用TCON或TSEND_C建立通信连接。
本例要接收PLC2的数据,则可共用TSEND_C建立的通信连接。
在TSEND_C指令块上右击,点击“属性”,查看该块的“组态”→“连接参数”→找到“常规”→“本地”→“连接ID(十进制)→可以看到此PLC的ID为“1”。
▼查找PLC_1的ID可以在接收指令TRCV的ID引脚处输入ID值为“1”。
▼ TRCV指令中ID的输入还要建立一个新的数据块,用于接收到数据的存放。
格式与PLC2的发送数据存放的数据块格式一致。
如建立的数组元素、数据类型是否一致等。
▼通信数据块属性修改建立好数据块,在项目树(导航栏)中找到块,右击选择“属性”把块属性中的“优化的块访问的勾去掉,建立一个与PLC2中一致的数据类型的变量,如数组。
在TRCV指令的“块参数”组态中,用于激活接收的控制参数可设为“1”,请求发送的最大字节数可设为“0”,接收区域可设定为刚才建立的数据块起始地址“P#DB5.DBX0.0”、长度为“10”、Byte单位。
如用优化的块访问,则不能在这里直接设定数据长度。
▼设定接收数据的区域在PLC2中,可以用不带连接的,通过其他连接发送数据指令TSEND与带连接的,建立连接并接收数据指令配合使用。
s7-1200之间通信

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-1200PLC与昆仑通态触摸屏以太网通信的具体方法和步骤

S7-1200PLC与昆仑通态触摸屏以太网通信的具体方法和步骤具体方法和步骤可参考如下:1.新建一个工程,如下图所示,这里以TPC1061Ti为例进行说明,2.点击“设备窗口”,双击“设备窗口”,如下图所示,3.点击“设备管理”,如下图所示,4.在可选设备中,找到西门子S7-1200PLC的驱动文件,如下图所示,双击添加到右侧的“选定设备”中,点击确定,5.如下图所示,可以看到已经成功添加了设备,双击进入属性设置界面,可以设置本地IP地址,即触摸屏的IP地址;远端IP地址,即PLC的IP地址;本地端口号和远端端口号可以保持默认。
这两个IP地址必须要设置在同一网段!6.打开博途软件,如下图所示,新建一个项目,添加一个1200的CPU,7.设置1200CPU的IP地址,要和MCGS软件中远端IP地址相同,如下图所示,这里IP地址设置为:200.200.200.1808.在程序块中添加一个DB块,并取消“优化的块访问”,如下图所示,9.在该DB块中添加几个变量,并编译,如下图所示,编译无误后,DB块中会显示变量对应的地址偏移量,10.点击“增加设备通道”,通道类型中可以选择I、Q、M和V区,其中这里的V区即对应1200PLC中的DB块,11.举例:选择“I区”,通道地址为0,通道个数为8个,如下图所示,点击确认,12.I0.0-I0.7添加完成后,如下图所示,13.如下图所示,若程序中有DB1.DBX0.3这个地址,那么如何将该地址添加到MCGS触摸屏中呢,具体步骤如下:点击“增加设备通道”,如下图所示,通道类型选择“V数据寄存器”,通道地址设置为1.0,数据类型选择“通道的第03位”,这样即可添加该变量地址,如下图所示,同理,只要知道DB块中变量的偏移地址,就可以在MCGS中对应的添加该变量的地址,这里就不再进行重复的演示,大家感兴趣的可以自行尝试。
S71200PLC之间TCP通信实例步骤

西门子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集成的以太网接口可以实现下述通信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的以太网向导来组态,并调用组态时生成的指令来实现通信。
【案例讲解】S7-1200与S7-200SMART之间的以太网通信

【案例讲解】S7-1200与S7-200SMART之间的以太网通信S7-200 SMART系列固件版本为V2.2版本以上且CPU使用以太网通信时,可以支持S7通信,TCP/IP通信,IS-on-TCP通信,UDP 通信,也包括MODBUS TCP通信。
在这里给大家介绍下S7-1200与S7-200SMART系列PLC之间的以太网通信如何实现,由于两者同为西门子的产品,所以这里主要以S7通信为例给大家做一个简单介绍。
在这里使用1200的PLC作为本地站(即客户端),S7-200SMART系列PLC作为远程站(服务器),通信组态及程序只需要在本地站(即客户端)中进行设计。
1、在TIA Portal软件中建立一个项目名称为“S7-1200与S7-200SMARTPLC之间的通信”的项目,同时分别添加一个S7-1200的PLC,并对其以太网端口属性及IP地址进行设置,如下图所示:注:若使用了路由器连接,需要启用“使用路由器”,并设置路由器的地址即网关。
2、网络配置:(1)点击软件中的“网络视图”选项进入网络视图界面,鼠标左键点击左上角的“连接”按钮,此时PLC会出现蓝绿色,鼠标右键点击PLC,然后选择里面的添加新连接按钮。
如图所示:(2)添加一个新的S7连接点击添加新连接后,在弹出的创建新连接对话框中的右上角处的类型里面把HMI的连接改成“S7连接”,然后选择左侧出现的“未指定”,然后点击添加按钮,然后关闭创建新连接对话框,此时在网络视图中可以看到PLC出现一个S7连接,如下图所示:(注:本地ID在程序中需要用到,需要记住ID号)(3)点击网络视图,进入网络数据配置对话,设置好连接的未指定的IP地址(即S7-200SMARTPLC的IP地址)等参数,如图所示:注:S7-200SMART的TSAP支持03.00或是03.01.(4)程序设计:通信程序只需要在1200PLC处编写,S7-200SMARTPLC处无需编写任何通信程序,这里我们以把S7-1200PLC中DB1.DBB0的数据写入到S7-200SMART的VB0中,以读取S7-200SMART系列PLC 中的VB1的数据放到S7-1200PLC的DB1.DBB1中为例,说明程序的设计。
西门子S7-1200通信教程

S7通信 :S7-200访问S7-1200
Page 4/47
S7-200 (客户端)
S7-1200 (服务器)
组态数据 用户数据
以太网端口 以太网端口
IP: 192.168.0.1 TSAP: 10.00
ETH_XFR ETH_CTRL
SBR
SBR
变量
VB0
. . .
Port 21
Communication
应用层
Port 80
TCP
TSAP
Port 102
Port 161
Port 123
UDP
Port 67
IP: 192.168.2.1
以太网
For internal use only / © Siemens AG 2009. All Rights Reserved. Industry Sector
8个连接 TCP 本地协议 ISO-on-TCP UDP (设计中)
S7-通信
S7-1200 作为服务器 客户端: PUT/GET (设计中)
PROFINET I/O (设计中)
Page 3/47
Communication
For internal use only / © Siemens AG 2009. All Rights Reserved. Industry Sector
S7-1200 & STEP7 Basic V10.5
第 7 章: 通信
For internal use only / © Siemens AG 2009. All Rights Reserved.
S7-1200 and STEP7 Basic V10.5
S7-1200 CPU通过ETHERNET 与FX5UCPU 通信的方式

S7-1200 CPU通过ETHERNET 与FX5UCPU 通信的方式S7-1200 与FX5UCPU之间的以太网通信可以通过TCP 或ISO on TCP 协议来实现。
CPU1215C 使用的通信指令是在双方CPU 调用T-block (TSEND_C, TRCV_C, TCON, TDISCON, TSEND, TRCV) 指令来实现。
通信方式为双边通信,因此TSEND 和TRCV 必须成对出现。
FX5UCPU使用添加socket通信采用TCP通讯格式进行通信,设置号IP地址与端口号,通过添加Active和Unpassive,通过通讯指令SP.SOCOPEN/SP.SOCRCV/SP.SOCSND指令来是实现双方数据的交换。
硬件和软件需求及所完成的通信任务硬件配置:①S7-1200 CPU②PC (带以太网卡)③TP电缆(以太网电缆)3根④工业交换机1个⑤FX5U-64MR/ES CPU⑥开关电源AC220V转24V软件:西门子编程软件STEP 7 Professional V14三菱编程软件GX WORK3以太网调试工具TCP&UDPDebug所完成的通信任务:IQFCPU主动建立连接,将三菱PLC地址D300开始的8个字节地址的数据发送到西门子1215CCPU 的接收数据区DB2 块中。
判定通讯连接建立成功之后,将西门子1215CCPU的发送数据区DB7 块中的数据发送到三菱PLC地址D500开始的8个字节地址的数据,首地址存储字节长度,之后8位地址顺序存储DB7当中的数据。
STEP 7 Professional V14的通信编程,连接参数及通信参数的配置1.打开STEP7 v11 软件并新建项目在STEP7 v14的“项目视图” 中选择“创建新项目” 创建一个新项目2.添加硬件并命名PLC然后进入“项目视图”,在“项目树” 下双击“添加新设备”,在对话框中选择所使用的S7-1200 CPU添加到机架上,命名为(S7_1215C_AND_IQF_contest),如图1.所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-1200基本以太网通信使用指南目录1.概述 (3)2.两种协议的特点 (3)2.1传输控制协议: TCP (3)2.2基于TCP的ISO传输服务的协议: ISO-on-TCP (3)3.传输数据长度与协议的应用 (4)3.1对于TCP协议 (4)3.2对于ISO on TCP协议 (4)4.通信连接的参数 (5)4.1连接描述数据块 (5)4.2 IP地址 (8)4.3端口号的分配 (9)4.4 TSAP结构 (9)5.回读连接描述参数功能 (11)5.1更改连接描述中的参数值 (11)5.2回读各个连接参数的功能 (12)6.开放式用户通信的指令 (12)6.1连接建立 (13)6.2连接参数分配 (13)6.3启动连接参数分配 (15)6.4创建和分配连接参数 (16)6.5删除连接 (17)6.6 TSEND_C (18)6.7 TRCV_C (19)6.8 TCON (20)6.9 TDISCON (21)6.10 TSEND (21)6.11 TRCV (22)7.S7-1200以太网通信连接数 (22)1.概述S7-1200 CPU具有一个集成的以太网接口,支持面向连接的以太网传输层通信协议。
协议会在数据传输开始之前建立到通信伙伴的逻辑连接。
数据传输完成后,这些协议会在必要时终止连接。
面向连接的协议尤其适用于注重可靠性的数据传输。
一条物理线路上可以存在多个逻辑连接(8个)。
开放式用户通信支持以下连接类型:·TCP·ISO-on-TCP对于不支持 ISO-on-TCP连接的通信伙伴,应使用 TCP连接。
对于诸如第三方设备或PC这些类型的通信伙伴,请在分配连接参数时,为伙伴端点输入“未指定”。
2.两种协议的特点2.1传输控制协议: TCPTCP是由 RFC 793描述的一种标准协议:传输控制协议。
TCP的主要用途是在过程之间提供可靠、安全的连接服务。
该协议有以下特点:·由于它与硬件紧密相关,因此它是一种高效的通信协议;·它适合用于中等大小或较大的数据量(最多 8K字节);·它为应用带来了更多的便利,比如错误恢复,流控制,可靠性,这些是由传输的报文头进行确定的;·一种面向连接的协议;·非常灵活地用于只支持 TCP的第三方系统;·有路由功能;·应用固定长度数据的传输;·发送的数据报文会被确认;·使用端口号对应用程序寻址;·大多数用户应用协议(例如 TELNET和 FTP)都使用 TCP。
2.2基于TCP的ISO传输服务的协议: ISO-on-TCPISO on TCP是一种能够将 ISO应用移植到 TCP/IP网络的机制。
该协议有以下特点:·与硬件关系紧密的高效通信协议;·适合用于中等大小或较大的数据量(最多 8K字节);·与 TCP相比,它的消息提供了数据结束标识符并且它是面向消息的;·具有路由功能;可用于 WAN;·可用于实现动态长度数据传输;·由于使用 SEND/RECEIVE编程接口的缘故,需要对数据管理进行编程;·通过传输服务访问点 (TSAP, Transport Service Access Point),TCP协议允许有多个连接访问单个 IP地址(最多 64K个连接),借助 RFC 1006,TSAP可唯一标识与同一个 IP地址建立通信的端点连接。
3.传输数据长度与协议的应用3.1对于TCP协议如果要接收的数据的长度(参数 LEN,指令TRCV/TRCV_C)大于要发送的数据的长度(参数 LEN,指令 TSEND/TSEND_C):仅当达到所分配的长度后,TRCV/TRCV_C才会将接收到的数据复制到指定的接收区(参数 DATA)。
达到所分配的长度时,已经接收了下一个作业的数据。
因此,接收区包含的数据来自两个不同的发送作业。
如果不知道第一条消息的确切长度,将无法识别第一条消息的结束以及第二条消息的开始。
如果要接收的数据的长度(参数 LEN,指令TRCV/TRCV_C)小于要发送的数据的长度(参数 LEN,指令 TSEND/TSEND_C):TRCV/TRCV_C将 LEN参数中指定字节的数据复制到接收数据区(参数 DATA)。
然后,将 NDR状态参数设置为 TRUE(作业成功完成)并将 LEN的值分配给 RCVD_LEN(实际接收的数据量)。
对于每次后续调用,都会接收已发送数据的另一个块。
3.2对于ISO on TCP协议如果要接收的数据的长度(参数 LEN,指令TRCV/TRCV_C)大于要发送的数据的长度(参数 LEN,指令 TSEND/TSEND_C):TRCV/TRCV_C将所有发送数据复制到接收数据区(参数 DATA)。
然后,将 NDR状态参数设置为 TRUE(作业成功完成)并将所发送数据的长度分配给 RCVD_LEN(实际接收的数据量)。
如果要接收的数据的长度(参数 LEN,指令TRCV/TRCV_C)小于要发送的数据的长度(参数LEN,指令 TSEND/TSEND_C):TRCV/TRCV_C并不会将任何数据复制到接收数据区(参数 DATA),而是提供以下错误信息: ERROR=1,STATUS=W#16#8088(目标缓冲区太小)。
总结:可以根据传输数据的长度选择使用的通信协议。
数据长度比较没TSEND_C/TSEND TRCV_C/TRCV支持协议>TCP<ISO-on-TCP=TCP/ISO-on-TCP表1:传输数据长度与支持协议关系4.通信连接的参数4.1连接描述数据块结构符合 TCON_Param的连接描述数据块用于分配 TCP和 ISO-on-TCP的通信连接参数。
TCON_Param的固定数据结构包含了建立连接所需的全部参数。
使用 TSEND_C、TRCV_C或 TCON指令时,将根据开放式用户通信的连接参数分配情况自动为新连接创建连接描述数据块。
TSEND_C、TRCV_C或 TCON相应背景数据块中的 CONNECT连接参数包含对所用数据块的引用。
字节参数数据类型初始值描述0 … 1 block_length UINT64长度: 64个字节(固定)2 …3 id CONN_OUC1对该连接的引用(取值范围: 1 -4095)。
对于 TSEND_C、TRCV_C或TCON指令,在 ID中指定该参数的值。
4connection_type USINT17连接类型:17: TCP18: ISO-on-TCP5active_est BOOL TRUE 建立连接的方式所对应的 ID:FALSE:被动连接建立TRUE:主动连接建立6local_device_id USINT2本地 PN/IE接口的 ID。
7local_tsap_id_len USINT0所用参数 local_tsap_id的长度(字节);可能值:0或 2(连接类型 = 17 (TCP)时)主动端只允许使用值 0。
2到 16(连接类型 = 18 (ISO-on-TCP)时)8rem_subnet_id_lenUSINT0该参数未使用。
9rem_staddr_len USINT4伙伴端点的地址长度(字节):0:未指定,即参数 rem_staddr不相关。
4:参数 rem_staddr中有效的 IP地址10rem_tsap_id_len USINT2所用参数 rem_tsap_id的长度(字节);可能值:0或 2(连接类型 = 17 (TCP)时)被动端只允许使用值 0。
2到 16(连接类型 = 18 (ISO-on-TCP)时)11next_staddr_len USINT0该参数未使用。
12 …27local_tsap_idBYTE类型的 ARRAY[1..16]-连接的本地地址部分:17 (TCP):本地端口号(可能值:1到 49151;建议值: 2000...5000);local_tsap_id[1] =端口号的高位字节(十六进制表示);local_tsap_id[2] =端口号的低位字节(十六进制表示);local_tsap_id[3-16] =不相关18 (ISO-on-TCP):本地 TSAP ID:local_tsap_id[1] = B#16#E0;local_tsap_id[2] =本地端点的机架和插槽(位 0到 4:插槽号;位 5到7:机架号);local_tsap_id[3-16] = TSAP扩展(可选)注意:请确保 local_tsap_id的每个值在 CPU中都是唯一的。
28 …33rem_subnet_idUSINT类型的 ARRAY[1..6]-该参数未使用。
34 …39rem_staddrUSINT类型的 ARRAY[1..6]-伙伴端点的 IP地址,例如,192.168.002.003:rem_staddr[1] = 192rem_staddr[2] = 168rem_staddr[3] = 002rem_staddr[4] = 003rem_staddr[5-6]=不相关40 …55rem_tsap_idBYTE类型的 ARRAY[1..16]-连接的伙伴地址部分17 (TCP):伙伴端口号(可能值:1到 49151;建议值: 2000...5000);rem_tsap_id[1] =端口号的高位字节(十六进制表示);rem_tsap_id[2] =端口号的低位字节(十六进制表示);rem_tsap_id[3-16] =不相关18 (ISO-on-TCP):伙伴 TSAP-ID:rem_tsap_id[1] = B#16#E0;rem_tsap_id[2] =伙伴端点的机架和插槽(位 0到 4:插槽号;位 5到7:机架号);rem_tsap_id[3-16] = TSAP扩展(可选)56 …61next_staddrBYTE类型的 ARRAY[1..6]-该参数未使用。
62 …63spare WORDW#16#0000保留。
表2:符合 TCON_Param的连接描述结构4.2 IP地址如果具有通信功能的模块支持 TCP/CP协议,则 IP参数可见。
通常对于所有以太网模块都是这样。
IP地址由 4个 0到 255之间的十进制数字组成。
各十进制数字相互之间用点隔开。
例如: 140.80.0.2IP地址包括·(子)网的地址·节点的地址(通常也称为主机或网络节点)子网掩码将这两个地址拆分。
它确定 IP地址的哪一部分用于网络定址,哪一部分用于节点定址。
子网掩码的设置位确定 IP地址的网络部,例如:子网掩码: 255.255.0.0 = 11111111.11111111.00000000.00000000在针对上述 IP地址给出的实例中,此处显示的子网掩码具有以下含义: IP地址的前 2个字节标识子网 -即 140.80。