SSMART通讯问题以太网设置_第1页
SSMART通讯问题以太网设置_第2页
SSMART通讯问题以太网设置_第3页
SSMART通讯问题以太网设置_第4页
SSMART通讯问题以太网设置_第5页
已阅读5页,还剩245页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PTCP证接收和发送的所有字节内容和顺序完全相同。TCP协议在主动设备(发起连接的设备)和被动设备(接受连接的设备)之间创建连接。一旦连接建立,任一方均可发起数据传送。TCP协议是一种"流"协议。这意味着消息中不存在结束标志。所有接收到的消息均被认为是数据流的一部分。开放式用户通信库需要使用50个字节的V存储器。所需条件:3、通讯硬件:TP电缆(以太网电缆)所完成的通讯任务:将作为客户端的PLC(IP地址为)中VB0-VB3的数据传送到作为服务器端的PLC(IP地址为)的VB2000-VB2003中。指令的参数SS7-200SMART客户端编程Active:TURE=主动连接(客户端)IPaddr4是IP地址的最低有效字节。•对于被动连接,本地端口号必须唯一(不重复)。Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。指令的参数DataLen:DataLen是要发送的字节数(1到1024)。?Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。4、终止通讯连接输入参数:Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。开放式用户通信库需要使用50个字节的V存储器,用户需手动分配。在指令树的程序中,以鼠标右键单击程序块,在弹出的快捷菜单中选择库存储器。如图所示:在弹出的选项卡中设置库指令数据区:SS7-200SMART服务器端编程监控监控结果VW00是发送的数据长度,服务器端的vw1000是接收的数据长度。例程例程更好地理解TCP的编程,可参考下面的例程。2.在建立连接时需先触发服务器端的建立连接指令,再触发客户端。此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。TCP协议通讯(二)S7-200SMART与调试助手之间TCPTCP协议通讯TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与TCP&UDPDebug通过TCP通信,在TCP&UDPDebug建立客户端或服务器,在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP连接资源:8个主动连接资源,8个被动连接资源S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①PC(带以太网卡)(IP地址;子网掩码)②S7-200SMARTCPU(固件版本(IP地址;子网掩码)③TP以太网电缆?①TCP&UDPDebug?②STEP7Micro/WINSMART(软件版本)?①TCP&UDPDebug发送10个字节数据:-->(S7-200SMART侧)VB2000~VB2009②TCP&UDPDebug接收10个字节数据:<--(S7-200SMART侧)?VB0~VB9TCPTCP&UDPDebug设置(客户端设置)2.右键“客户端模式”---“创建连接”SSMARTIP端口号③设置PC的端口号④单击创建3.右键“客户端模式”----“连接”①蓝色圆点:未建立连接;黄色三角箭头:正在建立连接;绿色三角箭头:连接建立②勾选“自动连接”后,点击连接按钮。TCPTCP&UDPDebug设置(服务器设置)2.右键“服务器模式”---“创建服务器”器①选择PC的端口号后,点击确定3.右键“服务器模式”----“启动服务器”SS7-200SMART侧编程1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUser图5.开放式以太网通讯指令库TCPTCP_CONNECTTCPSENDTCP_RCV指令,如图7、图8所示。TCP_SENDALLTCP_RECV配库存储区,如图9所示。?注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!通通信结果以S7-200SMART做服务器为例。将S7-200SMART项目编译,下载并触发建立连 (三)S7-200SMART与S7-1200之间TCP通信—S7-2200SMART作为服务器TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-1200通过TCP通信,在S7-1200调用T-block指令(TCON,TDISCON,TSEND,TRCV),在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-1200CPU(IP地址;子网掩码)②S7-200SMARTCPU(固件版本(IP地址;子网掩码)③PC(带以太网卡)④TP以太网电缆?①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-1200发送10个字节数据:(S7-1200侧)~-->(S7-200SMART侧)VB2000~VB2009②S7-1200接收10个字节数据:(S7-1200侧)~<--(S7-200SMART侧)?VB0~VB9SS7-1200侧硬件组态和编程?(客户机侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-1200CPU添加到机架上,命名为PLC_1如图1所示3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_1”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“系统和时钟存储器”下,将时钟位定义在MB0,如图2所示。时钟位我们使用,它是频率为1Hz的脉冲,可以使用它去自动激活发送任务。4.?为PROFINET通信口分配以太网地址在“设备视图”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配S7-1200CPU的IP地址为,子网掩码为,如图3所示IP地址5.在S7-1200中调用建立连接指令,进入“项目树”>“PLC_1”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“开放式用户通信”下调用“TCON”指令,配置连接参数,如图4所示。6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_1”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图5所示。通过“项目树”>“PLC_1”>“程序块”>点击生成的“数据块_1”(DB4),右键属性,取消7.在OB1中调用TSEND和TRCV指令块位置及调用方法参考TCON指令的调用,调用结果如图8所示。,DB3TSEND调用发送和接收指令发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:P#BYTE10TRCV指令DATA参数处,该区域排显示,选中数据块变量名称“TCd_RCV”拖拽到显示为绿色,释放鼠标即可。?SS7-200SMART侧编程(服务器侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图10所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图11所示。?注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!通通信结果将S7-1200和S7-200SMART项目编译,下载;S7-1200侧触发TCON指令的REQ(置位为1),S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连接; (四)S7-200SMART与S7-1200之间TCP通信—S7-2200SMART作为客户端TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-1200通过TCP通信,在S7-1200调用T-block指令(TCON,TDISCON,TSEND,TRCV),在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-1200CPU(IP地址;子网掩码)②S7-200SMARTCPU(固件版本)(IP地址;子网掩码)③PC(带以太网卡)④TP以太网电缆?①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-200SMART发送10个字节数据:(S7-200SMART侧)VB0~VB9-->(S7-1200侧)~②S7-200SMART接收10个字节数据:(S7-200SMART侧)VB2000~VB2009<--?(S7-1200侧)?~SS7-200SMART侧编程(客户机侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图2所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图3所示。??注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!SS7-1200侧硬件组态和编程?(服务器侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-1200CPU添加到机架上,命名为PLC_1如图4所示3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_1”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“系统和时钟存储器”下,将时钟位定义在MB0,如图5所示。时钟位我们使用,它是频率为1Hz的脉冲,可以使用它去自动激活发送任务。4.?为PROFINET通信口分配以太网地址在“设备视图”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配S7-1200CPU的IP地址为,子网掩码为,如图6所示IP地址5.在S7-1200中调用建立连接指令,进入“项目树”>“PLC_1”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“开放式用户通信”下调用“TCON”指令,配置连接参数,如图7所示。6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_1”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图8所示。通过“项目树”>“PLC_1”>“程序块”>点击生成的“数据块_1”(DB4),右键属性,取消7.在OB1中调用TSEND和TRCV指令块位置及调用方法参考TCON指令的调用,调用结果如图11所示。,DB3TSEND22、打开数据块,点击数据块右上角浮动按钮,移动数据块与OB1并调用发送和接收指令发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:P#BYTE10排显示,选中数据块变量名称“TCd_RCV”拖拽到TRCV指令DATA参数处,该区域显示为绿色,释放鼠标即可。通通信结果将S7-1200和S7-200SMART项目编译,下载;S7-1200侧触发TCON指令的REQ(置位为1),S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连接; (五)S7-200SMART与S7-300集成PN口之间TCP通信通信—S7-200SMART作为服务器TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-300通过TCP通信,在S7-300调用T-block指令(TCON,TDISCON,TSEND,TRCV),在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-300CPU(IP地址;子网掩码)②S7-200SMARTCPU(固件版本(IP地址;子网掩码)③PC(带以太网卡)④TP以太网电缆?①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-300发送10个字节数据:(S7-300侧)~-->(S7-200SMART侧)VB2000~VB2009②S7-300接收10个字节数据:(S7-300侧)~<--(S7-200SMART侧)?VB0~VB9SS7-300侧硬件组态和编程?(客户机侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2如图1所示。3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_2”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“时钟存储器”下,将时钟位定义在MB0,如图2所示。时钟位我们使用,它是频率为Hz的脉冲,可以使用它去自动激活发送任务。4.?为PROFINET通信口分配以太网地址在“设备视图”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配S7-300CPU的IP地址为,子网掩码为,如图3所示。IP地址5.在S7-300中调用建立连接指令,进入“项目树”>“PLC_2”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“开放式用户通信”下调用“TCON”指令,配置连接参数,如图4所示。6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图5所示。S7-300生成的数据块都是非优化的数据块,不用单独设置。7.在OB1中调用TSEND和TRCV指令块位置及调用方法参考TCON指令的调用,调用结果如图7所示。CCALL,DB3TSEND调用发送和接收指令发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:P#BYTE1022、打开数据块,点击数据块右上角浮动按钮,移动数据块与OB1并排显示,选中数据块变量名称“TCP_RCV”拖拽到TRCV指令DATA参数处,该区域显示为绿色,释放鼠标即可。?SS7-200SMART侧编程(服务器侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图9所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图10所示。??注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!通通信结果将S7-300和S7-200SMART程序编译,下载;S7-300侧触发TCON指令的REQ(置位为1),S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连接;(六(六)S7-200SMART与S7-300集成PN口之间TCP通信—S7-200SMART作为客户端TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-300通过TCP通信,在S7-300调用T-block指令(TCON,TDISCON,TSEND,TRCV),在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-300CPU(IP地址;子网掩码)②S7-200SMARTCPU(固件版本(IP地址;子网掩码)③PC(带以太网卡)④TP以太网电缆①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-200SMART发送10个字节数据:(S7-200SMART侧)VB0~VB9-->(S7-300侧)~②S7-200SMART接收10个字节数据:(S7-200SMART侧)VB2000~VB2009<--?(S7-300侧)?~SS7-200SMART侧编程(客户机侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图2所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图3所示。??注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!SS7-300侧硬件组态和编程?(服务器侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2如图4所示3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_2”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“时钟存储器”下,将时钟位定义在MB0,如图5所示。时钟位我们使用,它是频率为Hz的脉冲,可以使用它去自动激活发送任务。4.?为PROFINET通信口分配以太网地址在“设备视图”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配S7-300CPU的IP地址为,子网IP地址5.在S7-300中调用建立连接指令,进入“项目树”>“PLC_2”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“开放式用户通信”下调用“TCON”指令,配置6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图8所示。S7-300生成的数据块都是非优化的数据块,不用单独设置。7.在OB1中调用TSEND和TRCV指令块位置及调用方法参考TCON指令的调用,调用结果如图10所示。CALCALL,DB3TSEND调用发送和接收指令发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:P#BYTE1022、打开数据块,点击数据块右上角浮动按钮,移动数据块与OB1并排显示,选中数据块变量名称“TCd_RCV”拖拽到TRCV指令DATA参数处,该区域显示为绿色,释放鼠标即可。通通信结果将S7-300和S7-200SMART程序编译,下载;S7-300侧触发TCON指令的REQ(置位为1),S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连接; (七)S7-200SMART与S7-300CP卡之间TCP通信—SS7-200SMART作为服务器TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-300CP卡通过TCP通信,CP343-1侧在网络视图中组态TCP连接,调用AG_SEND和AG_RECV指令,在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指令必须成对出现。客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-300CPU?②CP343-1(IP地址;子网掩码)③S7-200SMARTCPU(固件版本(IP地址;子网掩码)④PC(带以太网卡)⑤TP以太网电缆?①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-300CP卡发送10个字节数据:(S7-300侧)~-->(S7-200SMART侧)VB2000~VB2009②S7-300CP卡接收10个字节数据:(S7-300侧)~<--(S7-200SMART侧)VB0~VB9SS7-300侧硬件组态和编程?(客户机侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2如图1所示3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_2”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“时钟存储器”下,将时钟位定义在MB0,如图2所示。时钟位我们使用,它是频率为Hz的脉冲,可以使用它去自动激活发送任务。4.?组态CP343-1并为通信口分配以太网地址在“项目树”>“PLC_2”>设备视图>硬件目录>通信模块>PROFINET/以太网>CP343-1,选中并拖拽6GK7343-1EX30-0XE0到相应插槽,点击CP343-1上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配CP343-1的IP地址为,子网掩码为,如图3所示图3.为CP343-1分配IP地址TCP置通信参数打开网络视图,检查连接类型为TCP连接,鼠标点中PLC_2上CP343-1的PROFINET通信口的绿色小方框,拖拽出一条浅绿色的虚线,松开鼠标;再次回到CP343-1的通信口上出现可建立连接图标,双击通信口,连接已创建,高亮显示连接图标?,如图4所示6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图5所示。S7-300生成的数据块都是非优化的数据块,不用单独设置。7.在OB1中调用AG_SEND和AG_RECV进入“项目树”>“PLC_2”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“通信处理器”>“SimaticNETCP”下调用AG_SEND和AG_RECV指令,调用结果发送指令调用需要注意:程序块的ID要与网络视图建立TCP连接中设置的ID保持一致SEND和RECV为交换数据缓冲区参数的填写方法(以AG_RECV程序块为1、直接输入:P#BYTE1022、打开数据块,点击数据块右上角浮动按钮,移动数据块与OB1并排显示,选中数据块变量名称“TCd_RCV”拖拽到AG_RECV指令RECV参数处,该示为绿色,释放鼠标即可。?SS7-200SMART侧编程(服务器侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图9所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图10所示。??注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!通通信结果将S7-300和S7-200SMART程序编译,下载;S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连 (八)S7-200SMART与S7-300CP卡之间TCP通信—SS7-200SMART作为客户端TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200SMART与S7-300CP卡通过TCP通信,CP343-1侧在网络视图中组态TCP连接,调用AG_SEND和AG_RECV指令,在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发送和接收指令必须成对出现。客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从S7-200SMART在CPU硬件固件及编程软件版本均升级到之后才开始支持开放式通信。编程软件版本低于,无OpenUserCommunication库指令;硬件固件低于,硬件不支持开放式通信协议。S7-200SMARTTCP通信数据量:1024字节硬硬件和软件需求及所完成的通信任务①S7-300CPU?②CP343-1(IP地址;子网掩码)③S7-200SMARTCPU(固件版本(IP地址;子网掩码)④PC(带以太网卡)⑤TP以太网电缆?①STEP7V13SP1Upd9②STEP7Micro/WINSMART(软件版本)?①S7-200SMART发送10个字节数据:(S7-200SMART侧)VB0~VB9-->(S7-300侧)~②S7-200SMART接收10个字节数据:(S7-200SMART侧)VB2000~VB2009<--(S7-300侧)~SS7-200SMART侧编程(客户机侧组态编程)1.打开STEP7Micro/WINSMART>项目树>指令树>库>OpenUserTTCPTCP_CONNECT指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图2所示。TCP_SEND调用发送和接收指令3.分配库存储区,如图3所示。??注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他V区地址重叠!!SS7-300侧硬件组态和编程?(服务器侧组态编程)1.使用TIAV13SP1Upd9软件Portal视图中,创建新项目进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC_2如图4所示3.启用时钟位为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:在“项目树”>“PLC_2”>“设备组态”中,选中CPU,然后在下面的属性窗口中,“属性”>“时钟存储器”下,将时钟位定义在MB0,如图5所示。时钟位我们使用,它是频率为Hz的脉冲,可以使用它去自动激活发送任务。4.?组态CP343-1并为通信口分配以太网地址在“项目树”>“PLC_2”>设备视图>硬件目录>通信模块>PROFINET/以太网>CP343-1,选中并拖拽6GK7343-1EX30-0XE0到相应插槽,点击CP343-1上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“以太网地址”下分配CP343-1的IP地址为,子网掩码为,如图6所示图6.为CP343-1分配IP地址TCP置通信参数打开网络视图,检查连接类型为TCP连接,鼠标点中PLC_2上CP343-1的PROFINET通信口的绿色小方框,拖拽出一条浅绿色的虚线,松开鼠标;再次回到CP343-1的通信口上出现可建立连接图标,双击通信口,连接已创建,高亮显示连接图标?,如图7所示6.创建用于交换数据的全局DB块及定义变量通过“项目树”>“PLC_2”>“程序块”>“添加新块”,选择“数据块”创建全局DB块,点击“确定”生成数据块。如图8所示。S7-300生成的数据块都是非优化的数据块,不用单独设置。7.在OB1中调用AG_SEND和AG_RECV进入“项目树”>“PLC_2”>“程序块”>“OB1”主程序中,从右侧窗口“指令”>“通信”>“通信处理器”>“SimaticNETCP”下调用AG_SEND和AG_RECV指令,调用结果发送指令调用需要注意:程序块的ID要与网络视图建立TCP连接中设置的ID保持一致。SEND和RECV为交换数据缓冲区参数的填写方法(以AG_RECV程序块为1、直接输入:P#BYTE1022、打开数据块,点击数据块右上角浮动按钮,移动数据块与OB1并排显示,选中数据块变量名称“TCd_RCV”拖拽到AG_RECV指令RECV参数处,该示为绿色,释放鼠标即可。通通信结果将S7-300和S7-200SMART程序编译,下载;S7-200SMART侧触发TCP_CONNECT指令的Req(置位为1)以建立连((九)开放式以太网常见问题常见问题IP地址的连接。(1)任何广播IP地址(例如,)(2)任何多播地址(3)本地CPU的IP地址此时服务器端显示Busy置位,直到连接建立。设备连接,您的程序必须执行另一个TCP_CONNECT指令以重新连接设备。主动连接和PTCP协议。ISO-on-TCP仅使用102端口,并利用TSAP(传输服务访问点)将消息路由至适当接收方(而非TCP中的某个端口)。开放式用户通信库需要使用50个字节的V存储器。只可从主程序或中断例程中调用库函数,但不可同时从这两个程序中调用。指令的参数将作为服务器端()的V3000-VB3003的数据传送到客户端()的VB3000-VB3003SS7-200SMART客户端编程2、建立ISO-on-TCP连接Active:TURE=主动连接(客户端)FALSE=被动连接(服务器)IPaddr4是IP地址的最低有效字节。Done:当连接操作完成且没有错误时,指令置位Done输出。见手册?。如果指令置位Busy或Done输出,Status为零(无错误)。指令的参数MaxLen:接收的最大字节数(1到1024)。LengthDoneErrorLength有效。如果指令置位Done输出,则指令接收整条消息。如果指令置位Error输出,则消息4、终止通讯连接输入参数:Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。开放式用户通信库需要使用50个字节的V存储器,用户需手动分配。在指令树的程序中,以鼠标右键单击程序块,在弹出的快捷菜单中选择库存储器。如图所示:在弹出的选项卡中设置库指令数据区:SS7-200SMART服务器端编程2、建立ISO-on-TCP连接数据指令的参数DataLen:DataLen是要发送的字节数(1到1024)。Done:当连接操作完成且没有错误时,指令置位Done输出。手册?。如果指令置位Busy或Done输出,Status为零(无错误)。监监控结果例程例程?2.在建立连接时需先触发服务器端的建立连接指令,再触发客户端。意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。 (二)S7-200SMARTCPU与S7-1200CPU集成PN口的ISOISOonTCP通信S7-200SMARTCPU与S7-1200CPU通过ISOonTCP通信,需要在双方都建立连接。在S7-1200调用T-block指令(TCON,TDISCON,TSEND,TRCV)、在S7-200SMART调用OpenUserCommunication库指令(ISO_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)来实现。通信方式为双边通须成对出现。?S7-200SMARTPLC版本才开始支持ISOonTCP通信,早期版本的CPU需要升硬硬件和软件需求及所完成的通信任务①?S7-1200CPU?(IP地址:子网掩码:②S7-200SMARTCPU(固件(IP地址:子网掩码:③PC(带以太网卡)④TP以太网电缆①STEP7V13SP1?②STEP7Micro/WINSMART①S7-1200将通信数据区DB11中的200个字节发送到S7-200SMART的VB数据区。?②S7-1200读取S7-200SMART中的VB数据区存储到S7-1200的数据区DB12SS7-1200侧硬件组态和编程TIAVS00站点并为其分配网络和IP地为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置"系统和时2.在S7-1200中调用建立连接指令,进入"项目树">"PLC_1">"程序块">"OB1"主程序中,从右侧窗口"指令">"通信">"开放式用户通信"下调用"TCON"指令,配置连表指令参数说明建发送数据块DB11(接收区数据块DB12类似),数据块中定义200个字节的数组,数据块的属性中需要取消"优化的块访问"选项。如图4.所示。表指令参数说明表指令参数说明ENEN_RS表指令参数说明表5.TCP_RECV指令参数说明ConConnID表6.TCP_SEND指令参数说明器。如图10所示?监监控通信结果 (三)S7-200SMARTCPU与S7-300CPU集成PN口的ISOISOonTCP通信S7-200SMARTCPU与S7-300CPU集成PN口通过ISOonTCP通信,需要在双方都建立连接。在S7-300调用T-block指令(TCON,TDISCON,TSEND,TRCV)、n(ISO_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)来实现。通信方式为双边通须成对出现。?S7-200SMARTPLC版本才开始支持ISOonTCP通信,早期版本的CPU需要升OonTCP硬硬件和软件需求及所完成的通信任务①S7-300PNCPU(IP地址:子网掩码:②S7-200SMARTCPU(固件(IP地址:子网掩码:③PC(带以太网卡)④TP以太网电缆①STEP7V13SP1?②STEP7Micro/WINSMART①S7-300将通信数据区DB11中的200个字节发送到S7-200SMART的VB数②S7-300读取S7-200SMART中的VB数据区存储到S7-1200的数据区DB12。TIAVS网络和IP地为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置时钟存储2.在PLC_1的OB1中调用建立连接指令,进入"项目树">"PLC_1">"程序块">"OB1"主程序中,从右侧窗口"指令">"通信">"开放式用户通信"下调用"TCON"指令,表指令参数说明PLC_1中创建发送数据块DB11(接收区数据块DB12类似),数据块中定义200个字节的数组,如图4.所示。表指令参数说明表指令参数说明ENEN_RS表指令参数说明表5.TCP_RECV指令参数说明ConConnID表6.TCP_SEND指令参数说明器。如图10所示监监控通信结果 (四)S7-200SMARTCPU与S7-300CP343进行ISOonTCPTCP通信S7-200SMARTCPU与S7-300CP343通过ISOonTCP通信,需要在双方都建立SAGSENDAGRECVS200SMART调用OpenUserCommunication库指令(ISO_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)来实现。通信方式为双边通须成对出现。?S7-200SMARTPLC版本才开始支持ISOonTCP通信,早期版本的CPU需要升硬硬件和软件需求及所完成的通信任务①S7-300CPU和CP343(IP地址:子网掩码:?②S7-200SMARTCPU(固件(IP地址:子网掩码:③PC(带以太网卡)④TP以太网电缆①STEP7V13SP1?②STEP7Micro/WINSMART①S7-300将通信数据区DB11中的200个字节发送到S7-200SMART的VB数②S7-300读取S7-200SMART中的VB数据区存储到S7-1200的数据区DB12。为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置时钟存储SISOonTCP开"设备组态">"网络视图",在窗口左上CPUISOonTCP图3所示。4.创建发送数据块DB11(接收区数据块DB12类似),数据块中定义200个字节的5.在OB1中,在"指令树">"通信">"通信处理器">"SimaticNETCP"下,调用AGSEND发送数据,如图6.所示表指令参数说明ACACTOB1中,在"指令树">"通信">"通信处理器">"SimaticNETCP"下,调用AGRECV接收数据,如图7.所示表2.AG_RECV指令参数说明S表指令参数说明表4.TCP_RECV指令参数说明ConConnID表5.TCP_SEND指令参数说明器。如图11所示监监控通信结果 S7200SMART与之间的UDP通讯用户数据报协议(UDP)使用一种协议开销最小的简单无连接传输模型。UDP协议中没有握手机制,因此协议的可靠性仅取决于底层网络。无法确保对发送、定序或重复消息提供保护。对于数据的完整性,UDP还提供了校验和,并且通常用不同的端口号来寻址不开放式用户通信库需要使用50个字节的V存储器。只可从主程序或中断例程中调用库函数,但不可同时从这两个程序中调用。图LocPort:本地CPU上的端口号,对于所有被动连接,本地端口号必须唯一。•对于被动连接,本地端口号必须唯一(不重复)。Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。利用1HZ的时钟上升沿触发发送请求。如果远程设备未接收到发送的信息,不会报DataLen发送的字节数(1到1024)。Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。4、终止通讯连接输入参数:Done:当连接操作完成且没有错误时,指令置位Done输出。见手册。如果指令置位Busy或Done输出,Status为零(无错误)。?、分配库存储区开放式用户通信库需要使用50个字节的V存储器,用户需手动分配。在指令树的程序中,以鼠标右键单击程序块,在弹出的快捷菜单中选择库存储器。如图所示:在弹出的选项卡中设置库指令数据区:UDP_RECV指令通过现有连接接收数据。该指令仅用于UDP协议以及通过例程例程为了更好地理解UDP的编程,可参考下面的例程。意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。 (二)S7-200SMARTCPU与S7-1200进行UDP通信S7-200SMARTCPU与S7-1200CPU通过UDP通信,需要在双方都注册服务。S7-1200侧调用T-block指令(TCON、TDISCON、TUSEND、TURCV),S7-200CTDISCONNECTUDP_SEND、UDP_RECV)来实现。通信方式为双边通信,因此双方的发送和接收指令必硬件和软件需求及所完成的通信任务①S7-1200CPU(固件②S7-200SMARTCPU(固件③PC(带以太网卡)④TP以太网电缆?①STEP7V13SP1?②STEP7Micro/WINSMART①S7-1200②S7-1200MBSSMARTVBB1.使用TIAV13软件新建一个项目,添加硬件并命名为PLC_1,如图1所示。备为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置系统和时钟2为PROFINET通信口分配以太网地址,如图3所示。分配以太网地址12001200侧调用并配置"TCON"、“TUSEND”、“TURCV”通信指令CALLCALLTUSEND%DB3备为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置系统和时钟2为PROFINET通信口分配以太网地址,如图3所示。分配以太网地址300300侧调用并配置"TCON"、“TUSEND”、“TURCV”通信指令CALLCALLTUSEND%DB3备为编程方便,使用CPU属性中定义的时钟位,在设备视图双击CPU设置系统和时钟2在S7-300中添加UDP连接,打开"设备组态">"网络视图",在窗口左上角选中"出一条线,然后再回到CP343-1的PROFINET通信口的绿色小方框,双击鼠标,连接建配置UDP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论