文档详情

S7200SMART通讯问题—以太网设置.docx

pu****.1
实名认证
店铺
DOCX
5.55MB
约195页
文档ID:558697009
S7200SMART通讯问题—以太网设置.docx_第1页
1/195

S7200SMART通讯问题—以太网设置一:TCP协议通信(一)S7200SMART之间的TCP通信TCP是一个因特网中心协议在经过以太网通信的主机上运转的应用程序之间,TCP供给了靠谱、有序并可以进行错误校验的信息发送功能TCP能保证接收和发送的全部字节内容温序次完好同样TCP协议在主动设备(倡导连接的设备)和被动设备(接受连接的设备)之间创立连接一旦连接建立,任一方均可倡导数据传递/181TCP协议是一种"流"协议这意味着信息中不存在结束标记全部接收到的信息均被认为是数据流的一部分S7200SMART与之间的TCP通信可以经过两边调用OUC(开放式用户通信)指令库中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令来实现图1.开放式用户通信库开放式用户通信库需要使用50个字节的V储存器开放式的用户通信连接资源包含8个主动连接和8个被动连接只可从主程序或中断例程中调用库函数,但不行同时从这两个程序中调用所需条件:1、软件版本:STEP7-Micro/WINSMARTV2.22、SMARTCPU固件版本:V2.23、通信硬件:TP电缆(以太网电缆)所完成的通相信务:将作为客户端的PLC(IP地址为)中VB0-VB3的数据传递到作为服务器端的PLC(IP地址为)的VB2000-VB2003中。

S7-200SMART客户端编程1、设置本机IP地址在客户端设置IP地址为图2.设置IP地址2、建立TCP连接调用TCP_CONNECT指令建立TCP连接设置连接伙伴地址为,远端端口为2001,当地端口为5000,连接表记ID为1利用SM0.0使能Active,设置为主动连接图3.调用TCP_CONNECT指令指令的参数输入参数:EN:使能输入Req:沿触发Active:TURE=主动连接(客户端)FALSE=被动连接(服务器)ConnID:连接ID为连接表记符,可能范围为0-65534IPaddr1...IPaddr4:IP地址的四个八位字节节,IPaddr4是IP地址的最低有效字节IPaddr1是IP地址的最高有效字RemPort:远程设备上的端口号远程端口号范围为1到49151对于被动连接,可使用零LocPort:当地设备端口号范围为1-49151,但是存在一些限制当地端口号的规则以下:?有效端口号范围为1到49151不可以使用端口号20、21、25、80、102、135、161、162、443以及34962至34964这些端口拥有特定用途建议采纳的端口号范围为2000到5000。

对于被动连接,当地端口号一定独一(不重复)输出参数:Done:当连接操作完成且没有错误时,指令置位Done输出Busy:当连接操作正在进行时,指令置位Busy输出Error:当连接操作完成但发生错误时,指令置位Error输出Status:假如指令置位详见手册假如指令置位ErrorBusy或输出,Status输出会显示错误代码Done输出,Status为零(无错误)详细错误代码对应3、调用发送数据指令TCP_SEND调用TCP_SEND指令发送以VB0为初步,数据长度为DataLen长度的数据发送到连接ID为1指定的远程设备利用1HZ的时钟上涨沿触发发送央求图4.调用TCP_SEND指令指令的参数输入参数:EN:使能输入Req:沿触发ConnID:连接ID(ConnID)是此发送操作的连接ID号DataLen:DataLen是要发送的字节数(1到1024)DataPtr:DataPtr是指向待发送数据的指针输出参数:Done:当连接操作完成且没有错误时,指令置位Done输出Busy:当连接操作正在进行时,指令置位Busy输出Error:当连接操作完成但发生错误时,指令置位Error输出。

Status:假如指令置位详见手册假如指令置位ErrorBusy或输出,Status输出会显示错误代码Done输出,Status为零(无错误)详细错误代码对应4、停止通信连接用户可经过DISCONNECT指令停止指定ID的连接图5.调用DISCONNECT指令参数说明:输入参数:EN:使能Req:沿触发指令输出参数:Done:当连接操作完成且没有错误时,指令置位Done输出Busy:当连接操作正在进行时,指令置位Busy输出Error:当连接操作完成但发生错误时,指令置位Error输出Status:假如指令置位详见手册假如指令置位ErrorBusy或输出,Status输出会显示错误代码Done输出,Status为零(无错误)详细错误代码对应5、分配库储存区开放式用户通信库需要使用50个字节的V储存器,用户需手动分配在指令树的程序中,以鼠标右键单击程序块,在弹出的快捷菜单中选择库储存器以下列图:图6.库储存器在弹出的选项卡中设置库指令数据区:图7.分配地址S7-200SMART服务器端编程1、设置本机IP地址设置IP地址为图8.设置本机IP地址2、建立TCP连接调用TCP_CONNECT指令建立TCP连接。

设置连接伙伴地址为,远端端口为5000,当地端口为2001,连接表记ID为1利用SM0.0常闭点使能Active,设置为被动连接图9.调用TCP_CONNECT指令3、接收数据调用TCP_RECV指令接收指定ID连接的的数据接收的缓冲区长度为MaxLen,数据接收缓冲区以VB2000为初步图11.调用TCP_RECV指令监控结果此中客户端的VW1000是发送的数据长度,服务器端的vw1000是接收的数据长度图12.监控结果例程为了更好地理解TCP的编程,可参照下边的例程注意:1. 该例程使用STEP7-Micro/WINSMART编写在建立连接时需先触发服务器端的建立连接指令,再触发客户端注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任使用该软件的风险完好由用户自行肩负因为它是免费的,所以不供给任何担保,错误纠正和热线支持,用户不用为此联系西门子技术支持与服务部门二)S7-200SMART与调试助手之间TCP通信TCP协议通信TCP通信为面向连接的通信,需要两方都调用指令以建立连接及交换数据S7-200SMART与TCP&UDPDebug经过TCP通信,在TCP&UDPDebug建立客户端或服务器,在S7-200SMART调用OpenUserCommunication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。

客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从站注意:S7-200SMART在CPU硬件固件及编程软件版本均升级到V2.2以后才开始支持开放式通信编程软件版本低于V2.2,无OpenUserCommunication库指令;硬件固件低于V2.2,硬件不支持开放式通信协议S7-200SMARTTCP连接资源:8个主动连接资源,8个被动连接资源S7-200SMARTTCP通信数据量:1024字节硬件和软件需求及所完成的通相信务硬件:①PC(带以太网卡)(IP地址;子网掩码)S7-200SMARTCPU(固件版本V2.2)(IP地址;子网掩码)③ TP以太网电缆软件:① TCP&UDPDebug②STEP7Micro/WINSMART(软件版本V2.2)所完成的通相信务:①TCP&UDPDebug发送10个字节数据:-->(S7-200SMART侧)VB2000~VB2009②TCP&UDPDebug接收10个字节数据:<--(S7-200SMART侧)VB0~VB9TCP&UDPDebug设置(客户端设置)1.打开TCP&UDPDebug软件右键“客户端模式”---“创立连接”如图1所示,创立连接图1.创立连接①选择连接种类:TCP②填写S7-200SMART的IP地址及端口号③设置PC的端口号④单击创立右键“客户端模式”----“连接”图2.建立连接①蓝色圆点:未建立连接;黄色三角箭头:正在建立连接;绿色三角箭头:连接建立成功;②勾选“自动连接”后,点击连接按钮。

TCP&UDPDebug设置(服务器设置)1.打开TCP&UDPDebug软件2. 右键“服务器模式”---“创立服务器”图3.创立服务器①选择PC的端口号后,点击确立右键“服务器模式”----“启动服务器”图4.启动服务器S7-200SMART侧编程1.打开STEP7Micro/WINSMART>Communication,调用TCP_CONNECT项目树,如图>指令树>库>OpenUser5、图6所示图5.开放式以太网通信指令库图6.TCP连接块表1.引脚说明TCP_CONNECT//调用TCP_CONNECTEN:SM0.0//使能输入//假如Req=TRUE,CPU启动连接操作Req:V6010.0假如Req=FALSE,则输出显示连接的当前状态使用上涨沿触发Active:SM0.0闭点//TRUE=主动连接;FALSE=被动连接ConnID:1//CPU使用连接ID(ConnID)为其余指令IPaddr1~4:0~0RemPort:0LocPort:2000DONE:V6000.0BUSY:V6000.1ERROR:V6000.2STATUS:VB6002表记该连接可能的ConnID范围为0到65534。

下载提示
相似文档
正为您匹配相似的精品文档