S7-200SMARTCPU与S7-300PN口进行TCP通信-SMART做服务器_第1页
S7-200SMARTCPU与S7-300PN口进行TCP通信-SMART做服务器_第2页
S7-200SMARTCPU与S7-300PN口进行TCP通信-SMART做服务器_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、S7-200 SMART与S7-300 集成PN 口之间 TCP通信一S7-200 SMART作为服务器TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200 SMART 与S7-300 通过TCP通信,在S7-300 调用T-block 扌旨令(TCON, TDISCON, TSEND, TRCV ) ,在 S7-200SMART 调用 Open User Communication库指令(TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV)。双方的发 送和接收指令必须成对出现。客户端:主动建立连接,可以理解为主站;服务器

2、:被动建立连接,可以理解为从站。注意:S7-200 SMART 在CPU硬件固件及编程软件版本均升级到V2.2之后才开始支持开放式通信。编程软件版本低于V2.2,无Open UserCommunication库指令;硬件固件低于 V2.2,硬件不支持开放式通信协议。S7-200 SMART TCP 连接资源:8个主动连接资源,8个被动连接资源S7-200 SMART TCP 通信数据量:1024 字节硬件和软件需求及所完成的通信任务硬件: S7-300 CPU ( IP 地址 ;子网掩码 ) S7-200 SMART CPU (固件版本 V2.2) ( IP 地址 ;子网掩码 ) PC (带以

3、太网卡) TP以太网电缆软件: STEP7 V13 SP1 Upd 9 STEP 7 Micro/WIN SMART (软件版本 V2.2 )所完成的通信任务: S7-300 发送 10 个字节数据:(S7-300 侧)DB5.DBB0DB5.DBB9 ->( S7- 200 SMART 侧)VB2000VB2009 S7-300 接收 10 个字节数据:(S7-300 侧)DB5.DBB10DB5.DBB19 <- ( S7-200 SMART 侧)VB0VB9S7-300侧硬件组态和编程(客户机侧组态编程)1. 使用 TIA V13 SP1 Upd 9 软件 Portal 视图

4、中,创建新项目2. 添加硬件并命名PLC 进入“项目视图”,在“项目树” 下双击“添加新设备”,在对话 框中选择所使用的 S7-300 CPU 添加到机架上,命名为PLC_2如图1 所示。图1.添加新设备3. 启用时钟位为了编程方便,使用 CPU属性中定义的时钟位,定义方法如下:在“项目树” > “PLC_2” > “设备组态” 中,选中CPU,然 后在下面的属性窗口中,“属性” > “时钟存储器” 下,将时钟位定 义在MBO,如图2所示。时钟位我们使用 M0.7 ,它是频率为0.5 Hz的脉冲,可以使用它去 自动激活发送任务。图2.启用时钟位4. 为PROFINET通信口分

5、配以太网地址在 “设备视图”中点击 CPU上代表PROFINET通信口的绿色小方 块,在下方会出现 PROFINET接口的属性,在 “以太网地址” 下分配S7-300 CPU 的IP地址为,子网掩码为,如图 3 所示。图3.分配IP地址5. 在S7-300中调用建立连接指令,进入“项目树” > “ PLC_2 ” >“程序块” > “0B1 ”主程序中,从右侧窗口 “指令” > “通信” >“开放式用户通信”下调用“TCON ”指令,配置连接参数,如图4所示。图4.调用TCON指令并配置连接参数6. 创建用于交换数据的全局 DB块及定义变量通过“项目树” >

6、 “PLC_2” > “程序块” > “添加新块”,选择“数据 块”创建全局DB块,点击“确定”生成数据块。如图5所示。S7-300 生成的数据块都是非优化的数据块,不用单独设置。图5.添加新块10个字节用于发送,6.所示。双击生成的 “数据块_1 ”( DB5 ),定义数组,10个字节用于接收,然后编译数据块。结果如图图6.定义交换数据区7. 在OB1中调用 TSEND禾口 TRCV指令块位置及调用方法参考 TCON指令的调用,调用结果如图7所示CALLTSEND,DB3/调用TSEND,使用背景DB 块:DB3REQ:M0.7/使用0.5Hz的时钟脉冲,上升沿激活发送任务ID:

7、1/连接号,要与连接配置中一致DATAP#DB5.DBX0.0 BYTE 10/发送数据区的数据,需要注意DB块要选用绝对寻址DONE:M20.0/任务执行完成并且没有错误,该位置1BUS Y:M20.1/该位为1,代表任务未完成,不能激活新任务ERROR:M20.2/通信过程中有错误发生,该位置1STATUS:MW22/有错误发生时,会显示错误信息CALL TRCV,DB4/调用TRCV,使用背景DB块:DB4EN_R:M10.0/准备好接受数据ID:1/连接号,要与连接配 置中一致DATAP#DB5.DBX10.0 BYTE 10/接受数据区的数据,需要注意DB块要选用绝对寻址DONE:M

8、30.0/任务执行完成并且没有错误,该位置1BUS Y:M30.1/该位为1,代表任务未完成,不能激活新任务ERROR:M30.2/通信过程中有错误发生,该位置1STATUS:MW32/有错误发生时,会显示错误信息号RCVD_LEN:MW34/实际接受数据的字节数图7.调用发送和接收指令接收和发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:102、打开数据块,点击数据块右上角浮动按钮,移动数据块与0B1并排显示,选中数据块变量名称 “ TCP_RCV ”拖拽到 TRCV指令DATA参数处,该区域显示为绿色,释放鼠标

9、 即可。S7-200 SMART 侧编程(服务器侧组态编程)1.打开 STEP 7 Micro/WIN SMART > 项目树 > 指令树 > 库 >Open UserCommunication,调用 TCP_CONNECT ,如图 8 所示。TCP_CONNECT/ 调用 TCP_CONNECTEN:SM0.0/使能输入ReqV6010.0/女口果 Req = TRUE , CPU启动连 接操作。如果 Req = FALSE,则输 出显示连接的当前状态。使用上升沿 触发Active:SMO.O闭点/TRUE = 主动连接;FALSE =被动连接Conn ID:1/ C

10、PU 使用连接ID (ConnID) 为其它指令标识该连接。可能的ConnlD 范围为 0 到 65534。IPaddr14:00IPaddr1是IP地址的最高有效字节,IPaddr4是IP地址的最低有 效字节。服务器侧IP地址写0 ,表示 接收所有请求RemPort:0/RemPort 是远程设备上的端口号。远程端口号范围为 1到49151。对于被动连接,使用零。LocPort:2000/ LocPort是本地设备上的端口号。本地端口号范围为1到49151,但存在一些限制。DONEV6000.0/当连接操作完成且没有错误时,指令置位Done输出。BUS YV6000.1/当连接操作正在进行时

11、,指令置位Busy输出。ERRORV6000.2/当连接操作完成但发生错误时, 指令置位Error输出STATUS:VB6002/如果指令置位 Error输出,Status输出会显示错误代码。如果指令置位Busy或Done输出,Status为零(无错误)图8.指令位置及调用连接指令2.调用TCP_SEND和TCP_RCV指令,如图9所示CALL/ 调用 TCP_SENDTCP_SENDEN:SM0.5/使能输入Req:SM0.5/女口果 Req = TRUE , CPU启动发 送操作。如果Req = FALSE ,则输 出显示发送操作的当前状态。Conn ID:1/连接ID (ConnID)

12、是此发送操作所用连接的编号。使用您为TCP_CONNECT 操作选择的ConnlD。DataLe n:10/DataLe n是要发送的字节数(1至U 1024 )。DataPtr:&VB0/DataPtr 是指向待发送数据的指 针。这是指向1、Q、M或V存储器的S7-200 SMART 指针(例如,&VB100)。DoneV6000.6/当连接操作完成且没有错误时,指令置位Done输出。BusyV6000.7/当连接操作正在进行时,指令置位Busy输出。ErrorV6001./当连接操作完成但发生错误时, 指令置位Error输出。0Status:VB6004/如果指令置位 Er

13、ror输出,Status输出会显示错误代码。如果指令置位Busy或Done输出,Status为零(无错误)CALLTCP_RECV/ 调用 TCP_RECVEN:SM0.0/使能输入,常1接收Conn ID:1/CPU将连接ID (ConnlD) 用于此接收操作(连接过程中定义)。MaxLe n:10/ MaxLe n是要接收的最大字节数(例如,DataPt中缓冲区的大小(1 至y 1024 )。DataPtr:&VB2000/ DataPtr 是指向接收数据存储位 置的指针。这是指向1、Q、M或V存储器的S7-200 SMART 指针(例如,& VB100 )Done:V6001.1/当接收操作完成且没有错误时,指令置位Done输出。当指令置位Done输出时,Length 输出有效。Busy:V6001.2/当接收操作正在进行时,指令置位Busy输出。Error:V6001.3/当接收操作完成但发生错误时,指令置位Error输出Status:VB6005/如果指令置位Error输出,Status输出会显示错误代码。如果指令置位Busy或Done输出,Status为零(无错误)。Len gth:VW6006Le ngth 是实际接收的字节数。图9调用

温馨提示

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

评论

0/150

提交评论