西门子S7-与S7-以太网通信
1.概述
1.1S7-的PROFINET通信口S7-CPU本体上集成了一个PROFINET通信口,支持以太网和基于TCP/IP的通信标准。使用这个通信口可以实现S7-CPU与编程设备的通信,与hmi触摸屏的通信,以及与其它CPU之间的通信。这个PROFINET物理接口是支持10/Mb/s的RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
1.2S7-支持的协议和最大的连接资源
S7-CPU的PROFINET通信口支持以下通信协议及服务?TCP?ISOonTCP(RCF6)?S7通信(服务器端)
通信口所支持的最大通信连接数S7-CPUPROFINET通信口所支持的最大通信连接数如下:?3个连接用于HMI(触摸屏)与CPU的通信?1个连接用于编程设备(PG)与CPU的通信?8个连接用于OpenIE(TCP,ISOonTCP)的编程通信,使用T-block指令来实现?3个连接用于S7通信的服务器端连接,可以实现与S7-,S7-以及S7-的以太网S7通信S7-CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
TCP(TransportConnectionProtocol)TCP是由RFC描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别。在多数情况下TCP应用了IP(Internetprotocol),也就是“TCP/IP协议”,它位于ISO-OSI参考模型的第四层。协议的特点:?与硬件绑定的高效通信协议?适合传输中等到大量的数据(=bytes)?为大多数设备应用提供–错误恢复–流控制–可靠性?一个基于连接的协议?可以灵活的与支持TCP协议的第三方设备通信?具有路由兼容性?只可使用静态数据长度?有确认机制?使用端口号进行应用寻址?大多数应用协议,如TELNET、FTP都使用TCP?使用SEND/RECEIVE编程接口进行数据管理需要编程来实现
1.3硬件需求和软件需求硬件:①S7-CPU②S7-CPU+CP-1(支持S7Client)③PC(带以太网卡)④TP以太网电缆软件:①STEP7BasicV10.5②STEP7V5.4
2.ISOonTCP通信S7-CPU与S7-/之间通过ISOonTCP通信,需要在双方都建立连接,连接对象选择“Unspecified”。所完成的通信任务为:①S7-将DB3里的个字节发送到S7-的DB2中②S7-将输入数据IB0发送给S7-的输出数据区QB0。
2.1S7-CPU的组态编程组态编程过程与S7-CPU之间的通信基本相似(见6.3),这里简单描述一下步骤:①使用STEP7BasicV10.5软件新建一个项目在STEP7Basic的“PortalView”中选择“Createnewproject”创建一个新项目②添加新设备然后进入“Projectview”,在“Projecttree”下双击“Addnewdevice”,在对话框中选择所使用的S7-CPU添加到机架上,命名为plc_1。③为PROFINET通信口分配以太网地址在“DeviceView”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses”下分配IP地址为..0.1,子网掩码为...0。④在S7-CPU中调用“TSEND_C”通信指令并配置连接参数和块参数在主程序中调用发送通信指令,进入“Projecttree”“PLC_1”“Programblocks”“Main”主程序中,从右侧窗口“Instructions”“ExtendedInstructions”“Communications”下调用“TSEND_C”指令,并选择“SingleInstance”生成背景DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。然后,创建并定义发送数据区DB块。通过“Projecttree”“PLC_1”“Programblocks”“Addnewblock”,选择“Datablock”创建DB块,选择绝对寻址,点击“OK”键,定义发送数据区为个字节的数组。根据所使用的参数创建符号表,如图1所示。配置连接参数,如图2所示。配置块接口参数,如图3所示。
图1创建所使用参数的符号表图PLCtag
图2配置连接参数
图3配置TSEND_C块参数
⑤调用“TRCV”通信指令并配置块参数如图所示。因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“ConnectionID”号,如图4所示。
图4配置T_RCV块参数
2.2S7-CPU的ISOonTCP通信的组态编程①使用STEP7软件新建一个项目并进行硬件组态创建完新项目,在项目的窗口下,右键菜单里,选择“InsertNewObject”“SIMATICStation”,插入一个S7-站。为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/ClockMemory”中设置,如图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.
1
Jan25
2
02.Mai
5
10
②配置以太网模块进入“HWConfig”中,组态所使用的CPU及“CP-1”模板。并新建以态网Ethernet(1),配置“CP-1”模板IP地址为:..0.2,子网掩码为:...0。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。
图6S7-硬件配置
③网络组态打开“NetPro”配置网络,选中CPU,在连接列表里建立新的连接并选择连接对象和通信协议,如图7所示。
图7创建新的连接并选择ISO-on-TCP协议
这时会跳出通用信息,如图8所示。
图8通用信息
然后,进入“Addresses”配置通信双方的IP地址及TSAP地址,如图9所示。
图9配置通信的IP地址及TSAP地址
配置完连接并编译存盘后,将网络组态下载到CPU中。
④软件编程在OB1中,从“Libraries”“SIMATIC_NET_CP”“CP”下,调用FC5(AG_SEND)、FC6(AG_RECV)通信指令。创建接收数据区为DB2,定义成个字节的数组。CALL“AG_RECV”//调用FC6ID:=1//连接号,要与连接配置列表中一致,见图8LADDR:=W#16#//CP的地址,要与配置中一致,见图8RECV:=P#DB2.DBX0.0BYTE//接收数据区NDR:=M10.0//为1时,接收到新数据ERROR:=M10.1//为1时,有故障发生STATUS:=MW12//状态代码LEN:=MW14//接收到的实际数据长度
CALL“AG_SEND”//调用FC5ACT:=M0.2//为1时,激活发送任务ID:=1//连接号,要与连接配置中一致LADDR:=W#16#//CP的地址,要与配置中一致SEND:=IB0//发送数据区LEN:=1//发送数据的长度DONE:=M10.2//为1时,发送完成ERROR:=M10.3//为1时,有故障发生STATUS:=MW16//状态代码
2.3监控通信结果下载S7-和S7-中的所有组态及程序,监控通信结果,如图10、图11所示。在S7-CPU中向DB3中写入数据:“11”、“22”、“33”,则在S7-中的DB2块收到数据也为“11”、“22”、“33”。在S7-CPU中,将“2#_”写入IB0,则在S7-CPU中QB0中收到的数据也为“2#_”。
图10S7-监控表
图11S7-变量表
3.TCP通信使用TCP协议通信,除了连接参数的定义不同,通信双方的其它组态及编程与前面的ISOonTCP协议通信完全相同。S7-CPU中,使用TCP协议与S7-通信时,PLC_1的连接参数,如图12所示。通信伙伴S7-的连接参数,如图13所示。
图12S7-的TCP连接参数的配置
图13S7-的TCP连接参数的配置
1.概述
1.1S7-的PROFINET通信口S7-CPU本体上集成了一个PROFINET通信口,支持以太网和基于TCP/IP的通信标准。使用这个通信口可以实现S7-CPU与编程设备的通信,与hmi触摸屏的通信,以及与其它CPU之间的通信。这个PROFINET物理接口是支持10/Mb/s的RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。
1.2S7-支持的协议和最大的连接资源
S7-CPU的PROFINET通信口支持以下通信协议及服务?TCP?ISOonTCP(RCF6)?S7通信(服务器端)
通信口所支持的最大通信连接数S7-CPUPROFINET通信口所支持的最大通信连接数如下:?3个连接用于HMI(触摸屏)与CPU的通信?1个连接用于编程设备(PG)与CPU的通信?8个连接用于OpenIE(TCP,ISOonTCP)的编程通信,使用T-block指令来实现?3个连接用于S7通信的服务器端连接,可以实现与S7-,S7-以及S7-的以太网S7通信S7-CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。
TCP(TransportConnectionProtocol)TCP是由RFC描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别。在多数情况下TCP应用了IP(Internetprotocol),也就是“TCP/IP协议”,它位于ISO-OSI参考模型的第四层。协议的特点:?与硬件绑定的高效通信协议?适合传输中等到大量的数据(=bytes)?为大多数设备应用提供–错误恢复–流控制–可靠性?一个基于连接的协议?可以灵活的与支持TCP协议的第三方设备通信?具有路由兼容性?只可使用静态数据长度?有确认机制?使用端口号进行应用寻址
?大多数应用协议,如TELNET、FTP都使用TCP?使用SEND/RECEIVE编程接口进行数据管理需要编程来实现
1.3硬件需求和软件需求硬件:①S7-CPU②S7-CPU+CP-1(支持S7Client)③PC(带以太网卡)④TP以太网电缆软件:①STEP7BasicV10.5②STEP7V5.4
2.ISOonTCP通信S7-CPU与S7-/之间通过ISOonTCP通信,需要在双方都建立连接,连接对象选择“Unspecified”。所完成的通信任务为:①S7-将DB3里的个字节发送到S7-的DB2中②S7-将输入数据IB0发送给S7-的输出数据区QB0。
2.1S7-CPU的组态编程组态编程过程与S7-CPU之间的通信基本相似(见6.3),这里简单描述一下步骤:①使用STEP7BasicV10.5软件新建一个项目在STEP7Basic的“PortalView”中选择“Createnewproject”创建一个新项目②添加新设备然后进入“Projectview”,在“Projecttree”下双击“Addnewdevice”,在对话框中选择所使用的S7-CPU添加到机架上,命名为plc_1。③为PROFINET通信口分配以太网地址在“DeviceView”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses”下分配IP地址为..0.1,子网掩码为...0。④在S7-CPU中调用“TSEND_C”通信指令并配置连接参数和块参数在主程序中调用发送通信指令,进入“Projecttree”“PLC_1”“Programblocks”“Main”主程序中,从右侧窗口“Instructions”“ExtendedInstructions”“Communications”下调用“TSEND_C”指令,并选择“SingleInstance”生成背景DB块。然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数。然后,创建并定义发送数据区DB块。通过“Projecttree”“PLC_1”“Programblocks”“Addnewblock”,选择“Datablock”创建DB块,选择绝对寻址,点击“OK”键,定义发送数据区为个字节的数组。根据所使用的参数创建符号表,如图1所示。配置连接参数,如图2所示。配置块接口参数,如图3所示。
图1创建所使用参数的符号表图PLCtag
图2配置连接参数
图3配置TSEND_C块参数
⑤调用“TRCV”通信指令并配置块参数如图所示。因为与发送使用的是同一连接,所以使用的是不带连接的发送指令“TRCV”,连接“ID”使用的也是“TSEND_C”中的“ConnectionID”号,如图4所示。
图4配置T_RCV块参数
2.2S7-CPU的ISOonTCP通信的组态编程①使用STEP7软件新建一个项目并进行硬件组态创建完新项目,在项目的窗口下,右键菜单里,选择“InsertNewObject”“SIMATICStation”,插入一个S7-站。为了编程方便,我们使用时钟脉冲激活通信任务,在CPU的“Properties”>“Cycle/ClockMemory”中设置,如图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.
1
Jan25
2
02.Mai
5
10
②配置以太网模块进入“HWConfig”中,组态所使用的CPU及“CP-1”模板。并新建以态网Ethernet(1),配置“CP-1”模板IP地址为:..0.2,子网掩码为:...0。如图6所示。配置完硬件组态及属性,编译存盘并下载所有硬件组态。
免责声明:本文系网络转载或改编,版权归原作者所有!
工控资料免费下载(G视频+手册)!
热门工控文章汇总
维控PLC远程模块V-BOX和永宏PLC的组态王监控系统
维控PLC远程模块V-BOX和永宏PLC的组态王监控系统
台湾永宏PLC视频免费赠送...
变频器是否需要加进线、出线电抗器?
PLC与常用设备的连接(图文并茂)
热电偶的原理及构造(值得收藏)
编码器知识问答(值得收藏)
变频器入门宝典(绝对实用)!
作为电气工程师的你必须了解:热电偶测温的15个常见问题!
低压电器基础知识(全)
威纶触摸屏视频免费赠送...
详解西门子PLC间接寻址
PLC工程师必读!详解RS
初学者必读!接近开关NPN和PNP的区别
各种电缆型号的表示方法
值得收藏!电气图样设计规范汇总
世界各国地区电压频率一览表
值得收藏丨最全电气工程符号
干货丨电功率计算公式精编汇总
金牌人机界面专家:威纶触摸屏新手使用宝典!
电气控制柜元件安装接线配线规范(图解)
看图学知识!一文读懂编码器...
脉冲当量与电子齿轮比的计算(图文并茂)
电气工程师必读:电线电缆种类及选型计算!
图文并茂讲解步进电机工作原理
电气工程师也要了解!电磁阀符号及含义详解、中封中泄、中压
值得收藏!三相电动机额定电流应该这么算!
PLC与接近开关接线方法图解
这个很全面:伺服控制中的震动问题...
值得收藏!电工口诀及解释条(增强版)
值得收藏丨变频器选型、安装、使用注意事项!
图说高低压开关柜
编码器图解(值得收藏)
图说丨低压电容补偿柜基本构造及功能
有图有真相:伺服电机计算选择应用实例
10分钟学会光电编码器
常用传感器和信号处理
传感器的组成与分类
漏电开关的原理与使用
变频器相关知识,你知道的有多少?
软启动原理
电磁阀拆解和详解
常用液压元件的结构及原理分析(图文讲解)
电磁阀的原理以及选型运用
接近开关
常用低压电器选型
传感器丨变送器丨控制器丨执行器
单进三出变频器
传感器技术
电抗器经典问答(值得收藏)
西门子S7-之间以太网通信(图文并茂)
如何使用PCaccess访问西门子S7-(图文并茂)
西门子S7-高速计数功能简介(图文并茂)
西门子S7-smart存储卡程序编辑以及使用说明
四十种变频器常见问题解答
NPN和PNP器件与西门子PLC的连接与选型
电工名词解释
伺服电机的调试方法及注意事项
两线制传感器原理(图文)
RS接口问答
西门子S7-smart以太网通信(图文并茂)
各种传感器和PLC连接
步进电机的结构与原理
电气工程师必读:常用电气基本知识!
伺服编码器的分辨率和精度
步进电机的选型方法
伺服原理介绍
西门子S7-PLC存储器说明(图文)
高低压配电知识问答
电气工程师应知丨零线与PE线详解
西门子S7-存储卡使用说明
电线使用平方铝线和铜线的计算方法
电工常见电路实物接线图
西门子S7-下载时存储不足解决方法
高低压配电柜安装规范
果断收藏!电气工程师入门必备知识大全!
收藏备用!各品牌变频器超级密码
电气工程师应知:谐波常用术语!
你知道吗?变频电机与普通电机的区别
两线制、三线制、四线制传感器的区别和原理
永宏PLC在小型盾构机(泥水平衡)系统中的应用
Pt探头原理解释及接线说明(图文)
传感器问答(这个值得收藏)
液压控制元件及应用(图文)
电气工程师应知应会:电气自动化专业基础知识
防爆电机的基本参数和知识(图文)
最全的有关步进电机的基础知识(图文)
伺服电机使用问答(值得收藏)!
成套电气设备知识汇总
如何选择合适的步进电机(图文)
电容补偿柜常见故障及排除
西门子S7-PLC的PID调节(图文视频)
西门子S7-SMART和S7-之间通信(图文)
如何在Win10上安装STEP7V14(图文)
WinCC与西门子PLC的连接设置(图文)
西门子博途V13专业版安装教程(图文)
西门子S7-和S7-SMART以太网通信(图文)
台湾永宏PLC,德国麦索尼克变频器(国产价格),威纶触摸屏,维控触摸屏,西门子,伺服,承接PLC编程。联系