首页 理论教育 MSG指令:服务性操作编程教程

MSG指令:服务性操作编程教程

时间:2023-10-26 理论教育 版权反馈
【摘要】:以上讨论的都是Logix控制器之间数据传送的MSG指令的运用,MSG指令用途很广,常见的还有服务性指令操作。图13-24 确保MSG指令唯一操作的梯级逻辑图13-25 对设备复位的服务性指令操作查看一下通信组态页面,如图13-26所示,通信路径指向了被操作的模块或设备。这条MSG指令的执行将送出Array_UCB_

MSG指令:服务性操作编程教程

以上讨论的都是Logix控制器之间数据传送的MSG指令的运用,MSG指令用途很广,常见的还有服务性指令操作。下面我们再来讨论MSG指令的另外一种运用。

针对控制器所在的系统中任何一个具有通信能力的设备或模块,都可以通过MSG指令来执行服务性指令操作,如图13-24所示。正如我们一贯的做法,为确保指令只执行一次,采用ONS指令限定梯级条件为短脉冲。

MSG指令组态页面如图13-25所示,这是一个对设备复位的操作。一旦选中服务操作内容,服务代码等参数自动显示在下面。如果某个设备需要控制器通过MSG指令来发送某个服务性指令,在CIP Generic信息类型下选择Custom服务类型执行,并键入由设备厂家的技术手册提供的相应的服务代码等参数。

978-7-111-36030-8-Chapter13-30.jpg

图13-24 确保MSG指令唯一操作的梯级逻辑

978-7-111-36030-8-Chapter13-31.jpg

图13-25 对设备复位的服务性指令操作

查看一下通信组态页面,如图13-26所示,通信路径指向了被操作的模块或设备。同时,可以在有关连接的设置中看到,这样的指令是不会占用缓存连接的。

978-7-111-36030-8-Chapter13-32.jpg

图13-26 通信组态页面

不占用缓存连接的操作,又被称为非连接性操作,通过非连接缓冲区进入或发送,这就是非连接缓冲区通信资源的运用。

在讨论Logix控制器通信资源时,有如图13-27所示的示意图,每个控制器的非连接缓冲区有3个接收排队(Incoming)和10个发送排队(Outgoing),这是通信交换缓冲区的限量,是为数不多的连接资源。接收排队的3个是无可更改的,但是发送排队却是可更改的,默认的值是10个,通过MSG指令可以更改为40个。修改这个值可以很好地改善控制器的对外通信能力(如果有需求的话)。注意非连接限量这个值并不是从10~40之间的任意值,而是设置为10或40,两种选择必居其一。

978-7-111-36030-8-Chapter13-33.jpg

图13-27 Logix控制器通信资源示意图

在一个升级改造项目中,为了兼容传统产品,一个Logix控制器需要用MSG指令给PLC5发送大量的信息,经过一段时间的测试运行,信息数据传送经常失败,但凡发送失败的MSG指令提供的错误信息如图13-28所示,查阅在线帮助文件,扩展错误代码16#0002_0301的提示是:No buffer memory,这是告知非连接缓冲区空间不够使用,默认值10显然不能满足需要大量数据传输的需求,必须通过MSG指令的执行发送改变缓冲区大小的执行动作。

978-7-111-36030-8-Chapter13-34.jpg

图13-28 发送失败的MSG指令提供的错误信息

这里要留意,Logix控制器与PLC5处理器之间的数据块传送不同于Logix控制器之间的数据块传送,Logix控制器之间的数据传送操作是缓存连接(Cache Connections),受限于32个;Logix控制器与PLC5之间发送数据块却是非连接缓冲,受限于10个或40个。我们这里要做的是如何从默认的10个增加到40个。

下面是专为修改非连接缓冲区大小而编制的一段梯级逻辑,很有实用价值。

首先,在控制器区域数据库中为MSG指令的执行创建4个短整字数组标签,如图13-29所示,这是MSG指令的服务性操作,访问控制器通信缓冲区需要用到的数据标签,里面将存放发送的设置信息或操作后读回的结果信息。

数据标签Array_UCB_Set_Source中设定更改非连接缓冲区发送连接限量大小的执行动作的数据;数据标签Array_UCB_Get_Source中设定获取非连接缓冲区发送连接限量大小的执行动作的数据,在数据表中分别应该设置的数据值如图13-30所示。这个访问对象所需要的执行代码须由专用的资料提供,不是任意设想的,只有指定的服务性代码数据才能让被操作对象识别并接受。

978-7-111-36030-8-Chapter13-35.jpg

图13-29 创建4个短整字数组标签

978-7-111-36030-8-Chapter13-36.jpg

图13-30 在两个标签中设定要发送的数据

创建短整字标签UCB_Set_Value和UCB_Get_Value,将Array_UCB_Set_Source数组的第4个元素别名给UCB_Set_Value,此为设置的非连接缓冲区发送连接限量的数值;将Ar-ray_UCB_Get_Destination数组的第6个元素别名给UCB_Get_Value,此为读取的非连接缓冲区发送连接限量的数值,如图13-31所示,这两个量将用于比较判定是否相同,从而了解是否设置成功。

978-7-111-36030-8-Chapter13-37.jpg

图13-31 设置和读取发送连接限量的两个标签

考虑到数组标签Array_UCB_Set_Source和Array_UCB_Get_Source初始数据设置的可靠性,如前面章节所介绍的,不妨执行MOV指令传送要设置的立即数来实现设定,编写的梯级逻辑如图13-32所示,将图13-30数据表中要设置的数据编程设定。

可以利用程序初次扫描来预设非连接缓冲区发送连接限量的大小,也可以由操作员在操作界面修改,如图13-33所示的梯级逻辑是为人机界面PB操作而编制的。当PB按下选择非连接缓冲区发送连接限量大小的按钮时,计时器开始计时,且计数器计数,有关操作延时并设置固定值我们曾在第5章讨论过,这里可以看到只有两个数据的设置,10或40,由计数器的奇偶数决定。如果将这个设定值反馈到人机界面,操作员可通过屏幕当即得知操作的结果。(www.xing528.com)

978-7-111-36030-8-Chapter13-38.jpg

图13-32 发送设定值的梯级逻辑

978-7-111-36030-8-Chapter13-39.jpg

图13-33 为人机界面PB操作而编制设定发送连接限量的梯级逻辑

梯级逻辑的编写如图13-34所示。当在人机界面PB上确认选定设置的数据是10或40之后,操作员按下设置的操作按钮,操作按钮UCB_Set_PB作为MSG的梯级条件,令设置非连接缓冲区发送连接限量值的MSG指令执行,MSG指令执行后,完成预定的设置工作,完成位UCB—_et.DN置位,作为计时器UCB_Get_TON的梯级条件,在延时0.2s之后,计时器完成位UCB_Get_TON.DN激发第二条MSG指令,即读取非连接缓冲区发送连接限量的值。

978-7-111-36030-8-Chapter13-40.jpg

图13-34 编写的梯级逻辑

执行设置非连接缓冲区发送连接限量值的MSG指令UCB_Set,组态界面如图13-35所示,这是一个服务性代码的操作,请留意设定的服务类型代码等信息,这是相关资料提供的操作代码,为此才能被识别和接收。这条MSG指令的执行将送出Array_UCB_Set_Source,这个之前设置好的数组数据将送出新组态的非连接缓冲区发送连接限量的数值,然后通过数组标签Array_UCB_Set_Destination返回设置信息。

UCB_Set的MSG通信组态页面设置如图13-36所示,这是通过背板访问控制器自己的一条路径。

设置非连接缓冲区发送连接限量值的MSG指令UCB_Set完成之后,延时0.2s,执行MSG指令UCB_Get,其组态界面如图13-37所示,这是一个服务性代码的操作,请留意设定的服务类型代码等信息,这是相关资料提供的操作代码,为此才能被识别和接受。这条MSG指令的执行将送出Array_UCB_Get_Source的操作,并通过数组标签Array-UCB_Get_Destination读回新组态的非连接缓冲区发送连接限量的数值。

UCB_Get的MSG通信组态页面设置如图13-38所示,这是通过背板访问控制器自己的一条路径。

最后一个梯级的执行,将非连接缓冲区发送连接限量值的设定值UCB_SetUCB_Set_

978-7-111-36030-8-Chapter13-41.jpg

图13-35 设置发送连接限量值的组态

978-7-111-36030-8-Chapter13-42.jpg

图13-36 设置发送连接限量值的通信组态

978-7-111-36030-8-Chapter13-43.jpg

图13-37 读取发送连接限量值的组态

Value和非连接缓冲区发送连接限量值的返回值UCB_Get_Value进行比较,确认它们相等,且两条MSG指令都已完成,核实正确后给出信息显示,标签UCB_Display_Value被置位,提示设置成功完成。

完整的梯级逻辑如图13-39所示,运行测试结果正常,将非连接缓冲区发送排队连接的10个限量成功地改为40个限量。

978-7-111-36030-8-Chapter13-44.jpg

图13-38 读取发送连接限量值的通信组态

978-7-111-36030-8-Chapter13-45.jpg

图13-39 发送连接限量设定完整的梯级逻辑

978-7-111-36030-8-Chapter13-46.jpg

图13-39 发送连接限量设定完整的梯级逻辑(续)

978-7-111-36030-8-Chapter13-47.jpg

图13-39 发送连接限量设定完整的梯级逻辑(续)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈