设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
AB PLC | RSLogix/Studio 5000编程之数据篇
返回列表
发新帖
[西门子]
AB PLC | RSLogix/Studio 5000编程之数据篇
[复制链接]
80272
|
0
|
2024-1-8 00:10:29
|
显示全部楼层
|
阅读模式
前言:当今时代是数字信息时代,是互联网时代,很多高大上的云计算、雾计算、边缘计算应运而生,它们究竟在计算什么?答案很明确,是数据。数据又来自哪里呢,主要来自于传感器、采集器、控制器等,离开了这些底层的数据,这些所谓的计算,都无异于空中楼阁、海市蜃楼,如梦幻泡影,如露亦如电。那么,今天,我们来看看AB的LOGIX5000控制器编程软件是如何存储与应用数据的.
数据处理原则
1. 在LOGIX5000控制器内部,标签(即变量,下同)的最小内存为4个字节,即使建立一个BOOL数据,其占用内存也为4个字节。常用的几种数据类型以及其结构、大小范围详见下图.
2. RSLogix/Studio 5000最优的数据类型为DINT或REAL,其默认数据类型为DINT,不建议修改。所以,创建变量时尽量使用DINT或REAL,尽可能少的使用BOOL、SINT、INT.
3. Studio 5000数据类型主要为有以下5种:
(1)User-Defined:用户自定义数据类型,即编程者根据需要创建的数据类型;
(2)String:字符串数据类型,用于存储ASCII字符;
(3)Add-On-Defined:AOI数据类型,当创建了AOI程序,就会生成AOI数据;
(4)Predefined:预定义的数据类型,比如常用的BOOL、DINT、REAL、TIMER、COUNTER等;
(5)Module-Defined:模块数据类型,当组态了硬件模块,就会生成模块数据类型.
4.RSLogix/Studio 5000编程是基于标签寻址,且数据内存最小单位为4个字节,运算时无需数据类型之间先进行转换,这大大的提高了编程效率.
标签和常用数据类型
1. 硬件组态,根据需求及设计顺序组态配置硬件模块,详见下图,当完成时,在Module-Defined自动生成模块数据,以及在控制器标签域内生成基于地址寻址的I/O数据.
2. I/O数据,在控制器标签域内,I/O数据格式为Local:x:C、Local:x:I、Local:x:O,
其中Local表示本地机架,x(=2,3,4,5)表示模块所在机架上的槽号,C表示模块配置数据,I表示DI/AI模块的输入数据,O表示DO/AO模块输出数据.
3. 模块配置数据,以1756-IB32为例,来说明模块配置数据的存储情况,当使用默认配置时,其配置数据均为1,详见下图.
4. 当修改了1756-IB32某些配置项,其相应的配置数据变为为0,详见下图.
5. 别名标签,为I/O数据创建别名标签,详见下图。何为别名标签,即已经存在的标签,再给它取一个别的名称,用它来映射原标签,这两者的数据完全一样。前面已经讲过,Studio 5000是基于标签编程的,而使用基于地址寻址的I/O数据就不太友好,例如,直接使用I/O地址编程,当某个点位损坏,需更换其他点位时,程序中所有涉及该点的指令都需修改,不仅工作量比较大,还容易出错,如果使用了别名标签,无需修改程序,直接将现有标签映射到新的I/O地址即可.
6. 控制器标签,也叫全局标签,即在控制器域内创建的标签,其名称唯一,在所有程序均能使用,且适用于所有的数据类型。下图为在控制器标签域创建了几个常用数据类标签.
7. 本地标签,也叫局部标签,即在程序域内创建的标签,通常情况只能在当前程序中使用(特殊应用时,通过设置,也可在其他程序中使用),不同程序域里的本地标签名称可以相同。不是所有的数据类型都适应于本地标签,例如Message结构体,只能在控制器域里创建。本地标签可以通过别名映射控制域标签,例如下图中M01和M02程序域中的Motor标签,映射了控制标签MO1和M02,其显示方式为M01(C)和M02(C).
字符串数据
1. 字符串(STRING)数据用于存储ASCII字符,系统默认单个字符串数据最大能存储82个字符。
2. 如果需要存储的字符长度大于82,可创建新的字符串数据类型,如下图,创建了一个长度为200的字符串数据类型STRING_200.
3. 创建字符串标签时,数据类型选择STRING_200即可,其可存储200个字符,见下图.
用户自定义数据
1. 编程者可以根据需要创建用户自定义数据类型,其通常是由多种数据类型组合而成,如下图,有BOOL、DINT、REAL、结构体、数组(只能是一维数组)。创建时,建议使用UDT_前缀,这样可读性更强。用户自定义数据类型非常适用于多个同一类型的设备,因为它们的数据属性一样,如本文创建的电机数据,适用于同一属性的电机M01、M02.
2. 创建用户自定义数据类型时,建议BOOL数据连续,且位置在前面,因为根据数据原则,这样创建的UDT数据,不仅占用内存适当,且使用效率更高。如下图,根据这一原则创建的电机数据UDT,其内存大小为80个字节.
3. 如果BOOL数据不连续,中间间隔其他数据类型,其占用内存就较前者大,使用效率就低些。如下图,其内存大小为84个字节,比前者多了4个字节.
结构体数据类型
1. RSLogix/Studio 5000预定义了很多结构体数据类型,如常用的定时器(TIMER)、计数器(COUNTER)结构体.
2. 当然,还有很多的结构体数据,如MESSAGE、AXIS_CIP_DRIVE、PID等.
数组数据类型
1. 数组支持使用常用数据类型、结构体、用户自定义数据等类型来创建,其维度又分为一维数组、二维数组、三维数组.
2. 创建数组时,其大小不能超过2MB,否则会报错,且无法创建。
结束语:综上所述,LOGIX5000控制器编程软件RSLigox/Studio5000数据类型结构清晰,运算方便,且基于标签,使用效率高,可读性超强,使编程者摆脱I/O地址的束缚,我的标签我做主。
【AB PLC工作室】
微信公众号ID:abseme
坚持原创 注重实用
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
zxm1
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』