ABB PLC 软件Control Builder变量通讯及MMS协议介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ABB PLC 软件Control Builder 变量通讯及MMS 协议介绍
1. 不同模块间通讯
之前介绍过Control Builder 的基本使用,接下来介绍同一应用不同模块的变量通讯以及不同应用下的变量通讯。
首先我们新建一个工程,并在Application_1中添加控制模块,如下:
然后,我们在添加另一个Application_2,同样添加控制模组:
2. 选择添加
1. 添加了2个模块
1. 右击新建
2. 在应用下
插入模组
本文主要内容就是介绍Application_1应用下SM1和SM2之间的变量通讯方
法,以及Application_1和Application_2不同应用下的变量通讯方法。
然后我们打开编辑Application_1的SM1,可以看到有如下4种变量:
不同类型的变量
接下来我们在SM1中插入不同程序并定义3个Variables,如下:
1.选择插入
2.共3个程序,都包
含在SM1模组中
3.在Variables中新
建3个变量
在Variables中新建的变量都是局部变量,只能在SM1模组中使用,如下:
Program1
Program2
Program3
上图就是在线后的状态,其它变量先不用管,从这我们可以看出在SM1下定义的Variables在不同program中都是可以使用的。
除去Variables,还有Parameters,Communication Variables以及External Variables 3种变量,这些变量可以用于不同模块或者PLC间通讯,下面一一介绍。
1.1 Parameters
首先我们新建一个库,然后新建一个数据类型,如下:
1.右击选择New Library
2.创建自己的库Louis
1.新增的2个数
据类型
2.右击新建的
库,选择新增
数据类型
然后我们打开新建的Data_Type2,添加如下变量:
添加了3个不同类型变量
数据类型添加完之后,接下来我们分别在2个模组里添加Parameters变量及简单程序:
1.在SM1模组添加Parameters
2.在SM2模组添加Parameters
添加的Parameters
方便测试,我们把上文中的局部变量
SM1TestData3赋值给APP1_SM1_Test.test3
这个Parameters
同样在SM2中添加的Parameter,
我们可以发现名称Name可以任
意命名,而数据类型大家都是刚
才我们新建的Data_Type2
同样的,我们把App_SM2_Test.test3这个Parameter赋值给SM2中的局部变量
APP1_SM2TestData1
3.连接Parameters
1.双击Application_1,在Variables新建变
量,数据类型为刚才新建的Data_Type2
2.右击SM1,点击连接
3.选此图标
4.在弹出界面选择建立的
App1_SM1_Test
5.此为连接好后的状态
4.SM1和SM2都连接好Parameters
5. 下载程序后如下,成功把SM1的
局部变量传到了SM2的局部变量
SM1局部变量为9,先传至Parameter
Parameter传至SM2局部变量,为9
1.2 Communication Variables
此类型变量不仅可以在SM1和SM2不同模块中通讯,也可以在不同
Application或者不同PLC中通讯,此处介绍不同模组的通讯。
1.在SM1中新建Communication Variables方向为“Out”,代表从SM1中发送出数据,IP
Address此处为Auto就行,因为在同一个PLC
2.在SM2中新建Communication Variables
方向为“in”,代表从SM2接收数据
3.仿真后如下
强制SM1变量数据
我们可以看到SM2变量数据跟着变化,变
量是有方向性的,因此SM2的变量是从
SM1来的,不能强制,只能强制SM1变量
1.3 External Variables
首先我们新建全局变量:
1.右击Application_1,,选择Editor
2.新建全局变量
然后分别在SM1和SM2中添加此全局变量:
3.SM1中添加的全局变量
4.SM2中添加的全局变量
程序下载后如下:
5.SM1和SM2的变量同时改变
2.MMS协议介绍
MMS协议可以用在同一个控制器间通讯或者不同控制器通讯,如下:
同一个控制器是不推荐MMS通讯,并且不同控制器间用MMS通讯也应该只用于少量数据,不要用于2个控制器间的I/O通讯。
此处为了举例,我们就在同一个控制器间用MMS协议进行通讯。
首先,我们连接ABB自带的MMS的库,不然我们在编写程序时候是无法调用MMS的功能块的:
1.右击Librarias,
选择插入块库
3.找到MMS库插入2.可以看到在Libraies
下有了MMS的库
5.在Application_1下选
择连接库
4.在弹出框选择MMS库
6.Application_1 成功连接
MMS库
7.同样方法,为新建的
Application_2连接相关库
接下来为我们刚才新建的数据类型添加变量:
Data_Type1添加一下4个变量
在Application_1添加全局变量,方法同上文:
添加的全局变量,数据类型为新建的Data_Type1
建完全局变量,我们需要在Access Variables中添加MMS变量:
1.点击图标
2.点击此处
3.找到App1_Data
4.插入MMS变量
到此变量添加完成,后面进行程序编写。
此处我们以Application_2读取Application_1数据举例:
1.在Application_2的
SM1中添加如下变量
2.编写如下程序,上文
添加完MMS库后就
有这2个函数了
3.方便测试,我们在
Application_1的
SM1添加局部变
量MMTest
4.们在Application_1
的SM1添加外部变
量App_Data,数据
类型为我们新建的
Data_Type1
5.局部变量传至外部变量
6.程序在线后,我们强制Application_1中变量
值,MMSTest强制为100
7. 可以看到在Application_2
中的变量跟着改变
此处True也表示通讯正常
最后,我们可以通过如下方法查看项目中的MMS变量:
1.选择Tools->Maintance->Remote System
3.选择我们的PLC地址,点击
Show MMS Variables 2.可以看到MMS变量。