S7-200SMART的ISO-ON-TCP通信(下)

200SMART的开放式通信(Open User Communication)包括TCP通信,UDP通信以及ISO-on-ISO-ON-TCP通信,支持CPU固件版本V2.2以上,常用于与第三方支持相同协议的设备通信。

上次为大家介绍了200SMART的ISO_ON_TCP_CONNECT指令,这次继续介绍TCP_SEND指令和TCP_RECV指令。

TCP_SEND指令和TCP_RECV这两个指令比较简单,就放在一起介绍

EN:使能,对于接收指令,建议常1触发。

Req:发送指令触发发送指令,建议使用上升沿触发。

ConnID:连接标识,与各自的ISO_ON_TCP_CONNECT的ConnID相同。

DataLen:发送数据的长度,最多1024个字节。

MaxLen:接收数据的最大长度,最多1024个字节。

Length:实际接收数据的长度。

DataPtr:发送/接收数据的地址指针,发送/接收数据的首地址。

其他的Done,Busy等与ISO_ON_TCP_CONNECT指令相同。

接下来对这些参数进行一个详细的解释:

如图,是ISO_ON_TCP_SEND的调用时序图,蓝色为Req上升沿触发,红色为Req电平触发。

使用Req上升沿触发→Busy=1→完成后DONE=1(一个扫描周期)→Error=1且Status=24,然后等待下一次上升沿触发信号进行循环,这里Status=24表示指令调用但是未触发操作,并不代表错误。

使用Req电平触发→Busy=1→完成后DONE=1(一个扫描周期),然后不停循环Busy和Done。

这里建议使用上升沿触发ISO_ON_TCP_SEND指令。

如图,是ISO_ON_TCP_RECV的调用时序图,蓝色为EN上升沿触发,红色为EN电平触发。

EN上升沿触发,需要两次触发才可以接收数据,DONE保持为1,直至下次上升沿的到来;而EN电平触发,有数据就接收,大部分时间处于Busy,Done为1一个周期,所以建议EN使用电平触发ISO_ON_TCP_RECV指令。

对于ISO_ON_TCP_RECV的MaxLen:

MaxLen:填写变量,当前值为0,EN触发后报错1:

Status=1:数据长度输入参数大于允许的最大值1~1024字节。

EN端接通时,不允许修改MaxLen的参数值,否则报错7:

Status=7:实例不符,保存的数据与输入数据不同。

所以建议MaxLen=发送方数据的长度,如果发送方的长度是变化的,则MaxLen按照最大长度进行填写。

最后以下题为例:本地客户端IP为192.168.0.100,ConnID为10,RemTsap 为”ABCD”,LocTsap为”DCBA”;远程服务器IP为192.168.0.101,ConnID为20,emTsap 为” DCBA”,LocTsap为” ABCD”,将本地站从VB200开始的10个字节发送到远程站的VB100开始的10个字节。

首先我们在系统块中设置本地站和远程站的IP地址

然后设置ISO_ON_TCP_CONNECT参数,如图

接着分别设置ISO_ON_TCP_SEND和ISO_ON_TCP_RECV

导通M0.0,启动客户端ISO_ON_TCP_CONNECT的连接

SM0.5不断触发SEND的Req,

如图所示,数据成功发送,通讯成功

S7-200SMART的ISO_ON_TCP通信就这些啦,下期为大家讲解S7-200SMART的PROFINET通讯

今天腊八节,大家记得和腊八粥哦

(0)

相关推荐

  • 40.200SMART PLC 逻辑运算指令详解1

    40.200SMART PLC 逻辑运算指令详解1

  • 西门子s7-200smart modbus-tcp通信实例编程详细指导

    西门子S7-200Modbus-TCP通信例子[]绝密[]NDA[X]公开一. 组网概述本文以 ZKA-4488-ETH 为例介绍西门子PLC与深圳市综科智控科技开发有限公司的IO设备进行Modbus ...

  • 200smart

    ST60自身集成36DI,需要扩展2个DI扩展模块:自身集成24个DO,需要扩展1个-2个DO模块,根据预留裕量统筹考虑,至少还能扩展2个其他模块.1个扩展卡. M点32字节,共256个BOOL位,5 ...

  • STC51(LCD1602全解析.上)

    首先把今天主角看看,一块显示器~ 对一个显示器,现在这种的屏幕好像不是多普遍了,很多年前. 泛滥~~~ 不管怎么说,还是极具性价比的东西,值得我们学习! 那1602是个啥意思?一行可以显示16个字符 ...

  • 图文详解|S7-200SMART的TCP通信(下)

    上次为大家介绍了200SMART的TCP_CONNECT指令,这次继续介绍TCP_SEND指令和TCP_RECV指令. TCP_SEND指令和TCP_RECV这两个指令比较简单,就放在一起介绍. EN ...

  • TCP通信接收数据不完整的解决方法

    一.TCP协议.Socket编程流程 TCP/IP协议及socket封装 套接字的编程流程: 二.Send 和 Recv的基本介绍 2.1 Send函数 int send( SOCKET s, con ...

  • 西门子S7-1200/1500PLC工业以太网TCP通信的其他指令

    上一文章,简要说明了西门子S7-1200/1500PLC工业以太网TCP通信的两个主要通信指令的组态.基本可以满足常用的通信需要.还有其他的一些通信指令,如TCON建立通信连接.TDISCON断开通信 ...

  • 【图文精讲教程】200SMART PLC之间的PN通信

    准备工具 1.STEP7-MicroWIN SMARTV2.5软件 2.200SMARTST20PLC两台 3.交换机 一个 实现方式 1.打开STEP7-MicroWIN SMARTV2.5软件,在 ...

  • 200SMART与G120的PROFINET通信(3)

    上次为大家介绍了通过博途软件对G120进行参数设置,这次为大家介绍200SAMRT通过PROFINET通信对G120变频器进行控制. 首先添加GSD文件,如图 通过查找PROFINET设备对G120进 ...

  • 200SMART与G120的PROFINET通信(2)

    上次为大家介绍了G120变频器的报文格式以及1号报文的用法,这次为大家介绍通过博途软件对G120进行参数设置. 要根据订货号和版本号添加G120变频器的控制单元,如图. 然后根据订货号,在硬件目录中添 ...

  • 200SMART与G120的PROFINET通信(1)

    上次为大家介绍了200SMART与S7-1200之间的PROFINET通信,这次为大家介绍S7-200SMART与西门子驱动器G120之间的PROFINET通信. 首先要了解一下G120的PROFIN ...

  • 200SMART与S7-1200的PROFINET通信(2)

    上次为大家介绍了S7-1200作为控制器,200SMART作为IO设备的PROFINET通信.这次介绍200SMART作为控制器,S7-1200作为IO设备的PROFINET通信. 首先要在博途软件中 ...

  • 200SMART与S7-1200​的PROFINET通信(1)

    上次为大家介绍了200SMART通过PROFINET通信控制ET200SP分布式IO,这次介绍S7-200SMART的PROFINET通信S7-1200. 200SMART和S7-1200都支持PRO ...

  • S7-200SMART的UDP通信(下)

    200SMART的开放式通信(Open User Communication)包括TCP通信,UDP通信以及ISO-on-TCP通信,支持CPU固件版本V2.2以上,常用于与第三方支持相同协议的设备通 ...