首页 功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据

举报
开通vip

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据 功能与样例,通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据 显示订货号 问题: 如何利用通讯功能FC5“AG_SEND”和FC6 “AG_RECV”,通 过TCP协议传送具有可变消息长度的数据, 解答: TCP协议的性能, 当通过TCP传送数据时,该传送是基于数据流的形式。在这种情况下,不给出与消息长度、开 始和结束有关的信息。发送消...

功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据
功能与样例:通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据 功能与样例,通过TCP协议(利用FC5 “AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据 显示订货号 问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : 如何利用通讯功能FC5“AG_SEND”和FC6 “AG_RECV”,通 过TCP协议传送具有可变消息长度的数据, 解答: TCP协议的性能, 当通过TCP传送数据时,该传送是基于数据流的形式。在这种情况下,不给出与消息长度、开 始和结束有关的信息。发送消息时,这并不是问题,因为发送者知道要传送多少数据字节。然而,接收者无法分辨消息在数据流中的何处结束,下 一个消息在何处开始。因此,对于通过纯TCP建立的链接只有两个选项可选, 1. 使用固定消息长度,也就是说,发送者和接收者都使用预定义的数据长度。这意味着要始终明确定义消息限制。 2. 使用可变消息长度。在这种情况下,接收端和发送端都需要更多的时间,因为在开始字节中必须输入起始分隔 符和要发送数据的数据长度。这样,> 接收者就可以正确地解释已接收的消息。 下面的实例程序包含一个TCP连接,通过该连接,具有可变消息长度的数据可以利用FC5发送给一个站,并利用FC6接收。 实例程序,通过TCP协议(利用FC5“AG_SEND”和FC6“AG_RECV”) 传送具有可变消息长度的数据 常规描述, STEP 7项目包括两个S7-300站,它们均具有用于工业以太网通讯的CPU 315-2DP和CP 343-1。这两个站之间的通讯基础是TCP连接。如果在NetPro中通过“右键单击>对象属性”打 开TCP连接属性, 则可以查看通讯功能块的块参数“ID”。在调用FC5和FC6时,要注意该规范,以便可以通过TCP连接传送数据。< /p> 图1,TCP连接的属性 为了利用TCP协议传送数据,要传送的数据必须具有指定的结构。消息必须包括起始分隔符(以便接收者可以识别消息从何处开始),数 据长度规范(定义接收缓冲区)和数据本身。在此实例中,定义了消息的4个字节的起始分隔符(预置值为,0x11, 0x12, 0x13, 0x14)和一个S7串。该S7串包括两个字节的长度信息和实际的数据串。 使用S7串可以传送所有的ASCII字符。 图2,消息的结构 注意事项 软件开发合同注意事项软件销售合同注意事项电梯维保合同注意事项软件销售合同注意事项员工离职注意事项 , 该实例程序基于如图2所示的消息结构,但也可以自行定义消息结构。如果希望使用不同的消息结构(例如,h 起始分隔符只有3个字节),则可以依照用户的特定需求 ,简单地改变该实例程序。 因此,希望利用FC5(AG_SEND)传送的数据,必须在数据块(DB220)中按照预定义的结构准备好。随后,该 数据可以利用FC6(AG_RECV)按如下 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 接收, 1. 接收起始分隔符(逐字节地)并识别消息 2. 接收S7串的长度信息 3. 接收数据 STEP 7程序描述 STEP 7程序包括如下块,OB100,OB1,FB100,DB100(FB100的背景DB),F B101(DB100中的多重背景),DB220,DB221,FC5,FC6。 OB100 OB100是启动OB,当CPU重启(暖重启)时,运行该OB。在此OB中,发送的首个通讯触发器 的版本为M1.0 和M0.1。 图3,OB100 , OB1 周期性调用OB1。该OB包括具有M1.0和M0.1的FB100(背景OB,OB100)的调用。一 旦运行FB100,则 复位M1.0。 --------------- 图4, OB1 , FB100: 在OB1周期中调用FB100。该FB包括FC5“AG_SEND”和FB101“ AG_RECV_VARIABLE”的调用。 发送块FC5“AG_SEND” 当时钟标记M10.7为上升沿,且未置位“SND_BUSY”时,输入参数“ACT”h 可以激活FC5。当作业运行时,置 位“SND_BUSY”,并且,在此期间不能触发任何功能。 该功能块特别重要,因为该功能是异步的,且占有多个周期。如果对该功能持续激活,而不是等待其中止,则 会导致通讯过载。 输入参数“ID”和“LADDR”只能从NetPro(图1)中的TCP连接属性对话框中获取。在“SEND”参数中,需 要指定 要发送数据的地址(P#DB220.DBX0.0 BYTE 48)。在“LEN”参数中,输入要发送的字节数(48)。输出参数 “ DONE”,“ERROR”和“STATUS”对于作业评估是必需的,而且只在同一个周期内有效。 图5,FB100,调用FC5 如果块运行无错误,则复位“SND_BUSY”,并再次调用FC5。如果该块因出错而终止,则保存块的状 态字用于错误 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,同样复位“ SND_BUSY”。 图6,FB100,FC5调用的评估 接收块FB101“AG_RECV_VARIABLE” 当调用FB101“AG_RECV_VARIABLE”时,必须从NetPro(图1)中的连接属性对话框中获取参数“ID”和 “LADDR”h 。在“RECV_BUF”中, 需要指定要接收数据的存储位置(P#DB221.DBX0.0 BYTE50)。输 出参数“NDR”,“ ERROR”和“STATUS”对于作业评估是必需的,而且只在同一个周期内有效。 图7,FB100,调用FB101 如果块运行无错误,则保存接收到的数据长度。如果该块因出错而终止,则保存块的状态字用于错误分 析。 图8,FB100 ,FB101调用的评估 , FB101(“AG_RECV_VARIABLE”), 状态机, 通过变量“STATE_CNT”来定义FB101中程序的输入点。 根据变量“STATE_CNT”的状态,跳 过与程序的进一 步的处理相关的程序段。 按照“STATE_CNTP”的程序处理, , "STATE_CNT" 描述 0 已收到起始分隔符的第一个字节 (从NW9 跳至 NW13) 1 已收到起始分隔符的第二个字节 (从NW10跳至NW14) 2 已收到起始分隔符的第三个字节 (从NW11跳至NW15) 3 已收到起始分隔符的第四个字节 (从NW12跳至NW16) 4 已识别起始分隔符。正在接收数据信息 (从NW3跳至NW17) 5 已创建接收缓冲区且数据已接收 (从NW4跳至NW20) , , 接收起始分隔符(逐字节)并识别消息(程序段5,16) 使用FC6“AG_RECV”,逐字节地接收起始分隔符(4 字节)。 , 当调用FC6“AG_RECV”时,参数“ID” 和“LADDR”来自FB101的输入参数。在“RECV”中,需 要指定已接收字 节的存储位置(SD缓冲区,字节变量)。输出参数“NDR”,“ERROR”和“STATUS”对于作业 评估是必需的,而 且 只在同一个周期内有效。 , 如果块运行无错误,则保存接收的字节,用于进一步的处理。如果该块因出错而终止,则保存块的状态字用于 错误分析。 , 已接收字节后,检验已定义的起始信息。(Byte0 = 11,Byte1 = 12,Byte2 = 13,Byte3 = 14)。< /p> , 图 9,通过起始分隔符识别消息 接收S7串的长度信息(程序段3,17,20) 如果已接收的信息被识别为起始分隔符,那么利用FC6“AG_RECV”接收S7串的长度信息(两个字节)。 当调用FC6“AG_RECV”时,参数“ID” 和“LADDR”来自FB101的输入参数。在“RECV”中,需 要指定两个长度信息字节的存储位置(VAR_LEN,由两个字节构成)。输出参数“NDR”,“ERROR”和“STATUS”对于作业 评估是必需的,而且只在同一个周期内有效。 如果块运行无错误,则已接收数据的实际长度用于接收缓冲区(ANY指针)。如果该块因出错而终止,则 块的状态字作 为FB101的输出参数显示。 图10,接收长度信息 在创建接收缓冲区(ANY指针)时,有关串(VAR_LEN.ACT_LEN)的实际长度的信息是必需的。在此,当调用FB101时,使 用数据的实际长度来检验已指定的接收缓冲区(ANY指针),并将其存储在临时的ANY指针(VAR_BUF)。 图11,创建接收缓冲区 接收数据(程序段4,21,23) 随后,利用FC6接收数据。 当调用FC6“AG_RECV”时,参数“ID” 和“LADDR”来自FB101的输入参数。在“RECV”中,需 要指定数据的存储位置 (VAR_BUF,临时ANY指针)。输出参数“NDR”,“ERROR”和“STATUS”对于作业 评估是必需的,而 且只在同一个周期内有效。 如果块运行无错误,则保存已接收数据的长度,并将其作为输出参数发送给FB101。如果该块因出错而终止, 则块的状态字作为FB101的输出参数显示。 图12,接收数据 , DB220: 与FC5一起使用的数据结构位于DB220。 图13,DB220,发送数据结构 , DB221: 与FC6一起接收的数据存储在DB221。 该下载包括已描述的实例程序,通 过STEP 7 V5.3和SIMATIC NET V6.2创建。 T_cp_data.exe 将“Tcp_data.exe”文件复制到一个单独的目录中,然后通过双击来启动该文件。STEP 7项目将自动解压所有的子目录。 随后,p 可以使用SIMATIC管理器来打开并处理该项目。 过滤 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 : 硬件平台: Industrial Ethernet, SIMATIC S7-300/S7-400 软件: STEP 7 up to V5.x 帖子内容: 功能组件/工具 条目号:8707570 日期:2005-06-23
本文档为【功能与样例:通过TCP协议&#40;利用FC5 “AG_SEND”和FC6“AG_RECV”&#41; 传送具有可变消息长度的数据】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321575
暂无简介~
格式:doc
大小:285KB
软件:Word
页数:14
分类:工学
上传时间:2018-04-15
浏览量:82