S7-200SMARTCPU与S7-1200进行TCP通信-SMART做客户端_第1页
S7-200SMARTCPU与S7-1200进行TCP通信-SMART做客户端_第2页
S7-200SMARTCPU与S7-1200进行TCP通信-SMART做客户端_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、S7-200 SMART 与 S7-1200 之间 TCP 通信一S7-200 SMART 作为客户端TCP协议通信TCP通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200 SMART 与 S7-1200 通过 TCP 通信,在 S7-1200 调 用 T-block 扌旨令(TCON, TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 调用 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 字节硬件和软件需求及所完成的通信任务硬件:? PC (带以太网卡) TP以太网电缆?软件: STEP7 V13 SP1 Upd 9 STEP 7 Micro/WIN SMART

3、(软件版本 722)?所完成的通信任务: S7-200 SMART 发送 10 个字节数据:(S7-200 SMART 侧)VB0VB9 -> ( S7-1200 侧)DB4.DBB10DB4.DBB19 S7-200 SMART 接收 10 个字节数据:(S7-200 SMART 侧)VB2000VB2009-?( S7-1200侧)?DB4.DBB0DB4.DBB9S7-200 SMART侧编程(客户机侧组态编程 )1.打开 STEP 7 Micro/WIN SMART 项目树 指令树 库Open UserCommunication ?,调用 TCP_CONNECT,如图 1 所示T

4、CP_CONNEC汀/ 调用 TCP_CONNECTEN:SM0.0/使能输入Req:V6010.0/如果Req = TRUE CPU启动连接操作。 如果Req?=?FALSE则输出显示连接的当 前状态。使用上升沿触发Active:SM0.0/TRUE =主动连接;FALSE =被动连接Co nnlD:1/ CPU使用连接ID (ConnID)为其它指 令标识该连接。可能的ConnID范围为0 到 65534。IPaddr14RemPort:2001/RemPort是远程设备上的端口号。远程 端口号范围为1到49151。LocPort:2000/ LocPort 是本地设备上的端口号。本 地端

5、口号范围为1到49151,但存在一 些限制。DONE:V6000.0/当连接操作完成且没有错误时,指令 置位Do ne输出。BUSY:V6000.1/当连接操作正在进行时,指令置位Busy输出。ERROR:V6000.2/当连接操作完成但发生错误时,指令 置位Error 输出STATUS:VB6002/如果指令置位Error 输出,Status 输出会显示错误代码。如果指令置位Busy或Done输出,Status 为零(无错 误)图1.?指令位置及调用连接指令2.调用TCP_SEND 和TCP_RCV 指令,如图2所示CALL TCP_SEN D调用 TCP_SENDEN:SM0.5/使能输入

6、Req:SM0.5/如果 Req = TRUE , CPU 启动 发送操作。如果Req?二?FALSE , 则输出显示发送操作的当前状态。Conn ID:1/连接ID (ConnID)是此发送操作所用连接的编号。使用您为TCP_CONNECT 操作选择的ConnlD。DataLe n:10/DataLen是要发送的字节数(1 至U 1024 )。DataPtr:&VB0/DataPtr是指向待发送数据的指针。这是指向l、Q、M或V存储器的S7-200 SMART指针(例如,& VB100 )。DoneV6000.6/当连接操作完成且没有错误 时,指令置位Done输出。BusyV

7、6000.7/当连接操作正在进行时,指令 置位Busy输出。Error-/当连接操作完成但发生错误V6001.0时,指令置位Error输出。Status:VB6004/如果指令置位 Error输出,Status输出会显示错误代码。如果指令置位 Busy或Done输出,Status为零(无错误)CALLTCP_REC V/调用 TCP_RECVEN:SM0.0/使能输入,常1接收Conn ID:1/CPU将连接ID (ConnlD)用于此接收操作(连接过程中定义)。MaxLe n:10/ MaxLen是要接收的最大字节 数(例如,DataPt中缓冲区的大 小( 1 至U 1024 )。DataP

8、tr:&VB2000II DataPtr是指向接收数据存储 位置的指针。这是指向l、Q、M或V存储器的S7-200 SMART 指针(例如,& VB100 )Done:V6001.1II当接收操作完成且没有错误时, 指令置位Done输出。当指令置位Done输出时,Length输出有效。Busy:V6001.2/当接收操作正在进行时,指令 置位Busy输出。Error:V6001.3/当接收操作完成但发生错误时,指令置位Error输出Status:VB6005/如果指令置位 Error输出,Status输出会显示错误代码。如果指令置位 Busy或Done输出,Status为零(无

9、错误)。Len gth:VW6006Length是实际接收的字节数。图2?调用发送和接收指令3分配库存储区,如图3所示图3.?分配库存储区丄?注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用的其他 V区地址重叠!S7-1200侧硬件组态和编程?(服务器侧组态编程)1. 使用 TIA V13 SP1 Upd 9 软件 Portal 视图中,创建新项目2. 添加硬件并命名 PLC进入“项目视图”,在“项目树”下双击“添加新设备”,在对话框中选择 所使用的 S7-1200 CPU 添加到机架上,命名为 PLC_1 如图 4 所示图 4.?添加新设备3. 启用时钟位为了编程方便

10、,使用 CPU 属性中定义的时钟位,定义方法如下:在 项目树” > “PLC_1设备组态”中,选中CPU,然后在下面的 属性窗口中, “属性” >系“统和时钟存储器”下,将时钟位定义在 MB0, 如图 5 所示。时钟位我们使用 M0.5 ,它是频率为 1 Hz 的脉冲,可以使用它去自 动激活发送任务。图 5.启用时钟位4. ?为 PROFINET 通信口分配以太网地址图 6.?分配 IP 地址5. 在S7-1200中调用建立连接指令,进入 项目树” >“ PLC_1”程序块” > “0B1主程序中,从右侧窗口 指令” > 通信” >开放式用户 通信”下调用

11、“TCON指令,配置连接参数,如图 7所示。图 7.?调用 TC0N 指令并配置连接参数6. 创建用于交换数据的全局 DB 块及定义变量通过项目树” > “PLC_1程序块” >添加新块”,选择数据块”创建全局 DB 块,点击“确定”生成数据块。如图 8 所示。图 8.添加新块通过 项目树” > “PLC_1程序块”点击生成的 数据块_1” ( DB4 ),右 键属性,取消勾选“优化的块访问”。如图 9 所示。图 9.取消勾选优化的块访问双击生成的“数据块_1” ( DB4 ) ,定义数组, 10 个字节用于发送, 10 个字节用于接收,然后编译数据块。结果如图 10所示。图

12、 10.?定义交换数据区7. 在 OB1 中调用 TSEND 和 TRCV指令块位置及调用方法参考 TCON 指令的调用,调用结果如图 11 所 示。CALL TSEND,DB3调用TSEND,使用背景DB块:DB3REQ:M0.5/使用1Hz的时钟脉 冲,上升沿激活发送 任务ID:1连接号,要与连接配置中一致DATAP#DB4.DBX0. 0 BYTE 10/发送数据区的数据,需要注意DB块要选用绝对寻址DONE:M20.0/任务执行完成并且 没有错误,该位置1BUS Y:M20.1/该位为1,代表任 务未完成,不能激活 新任务ERROR:M20.2/通信过程中有错误发生,该位置1STATU

13、 S:MW22/有错误发生时,会显示错误信息号CALL TRCV,DB5调用TRCV ,使用背景DB块:DB5EN_R:M1.2准备好接受数据,常1接收ID:1连接号,要与连接配置中一致DATAP#DB4.DBX10.0 BYTE 10/接受数据区的数据,需要注意DB块要选用绝对寻址DONE:M30.0/任务执行完成并且没有错误,该位置1BUS Y:M30.1/该位为1,代表任务未完成,不能激活新任务ERROR:M30.2/通信过程中有错误发生,该位置1STATUS:MW32/有错误发生时,会显示错误信息号RCVD_LE N:MW34/实际接受数据的字节数图11.?调用发送和接收指令1 ?接收和发送指令调用需要注意:程序块的ID要与指令TCON中的ID保持一致DATA参数的填写方法(以TRCV程序块为例):1、直接输入:102、打开数据块,点击数据块右上角浮动

温馨提示

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

评论

0/150

提交评论