西门子S7-1200PLC数据日志功能的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西门子S7-1200PLC数据日志功能的应用
栾亮亮
【摘要】通过西门子S7-1200 PLC的数据日志功能,对设备仪表测量数据进行记录.目前,常用数据记录方法以单片机记录、上位机记录、触摸屏记录为主,但在可靠性、易用性以及成本方面,尚不能满足小型控制系统的使用要求,因此需要一种有较大优势的新方法,来解决小型控制系统的数据记录问题.
【期刊名称】《水泥技术》
【年(卷),期】2018(000)004
【总页数】5页(P53-57)
【关键词】数据日志;可靠性;存储容量;易用性
【作者】栾亮亮
【作者单位】中材装备集团有限公司,天津300400
【正文语种】中文
【中图分类】TP273
1 前言
PLC(Programmable Logic Controller)—可编程逻辑控制器是设备控制柜中的核心部件,用于控制设备工艺与采集仪表测量数据。
其中,仪表测量数据是设备使用状况评估、故障预判、生产运行情况分析的重要依据。
随着PLC的广泛应用,其控制系统的设计越来越复杂,所需要采集和记录的测量数据量不断增加,有些基
于PLC的设备控制系统,需要存储一年甚至几年的运行数据。
因此,如何长期、可靠地通过PLC采集和记录仪表测量数据,是控制柜设计和使用过程中需要解决的重要问题。
2 数据记录的几种常用方法
目前,采集和记录设备生产数据的方法主要有以下几种:
2.1 单片机记录
单片机虽然成本相对较低,但其运算速度慢,硬件抗干扰能力差,可靠性低,信号采集过程滤波能力有限。
2.2 触摸屏或上位机记录
触摸屏的数据记录功能局限性较大,主要体现在:存储容量低,只适合记录较少的数据,无法长时间大规模记录数据;查阅不便,屏幕画面较小,记录读取速度慢,调阅不方便;可靠性较低,断电引起的设备关闭可能会造成数据丢失。
因此,触摸屏更适于作为就地实时显示使用。
上位机的数据记录功能强,存储容量大,但其综合成本高,一般只有大型控制系统才会配备上位机,小型控制系统仅采用触摸屏做为人机界面。
2.3 PLC记录
PLC——可编程逻辑控制器,是一种用于工业自动化的控制装置,功能强大,集成度、可靠性高,使用灵活等,已广泛应用于各行业。
利用PLC的相关功能进行编程组态,直接记录仪表测量数据,有以下几方面特点:成本低,存储容量大;数据安全有保障,断电后数据不会丢失;记录读取、上传方便,与PC采用网线连接,通过网络浏览器即可读取数据,不需安装编程软件,操作简便。
基于此,我们设计了一种以PLC作为数据记录装置的自动控制系统,实现了对数据的长期、可靠记录。
3 PLC数据记录控制系统的组成
PLC数据记录控制系统主要由触摸屏、PLC模块(包括CPU模块与模拟量输入扩展模块)、变送器、测量仪表组成。
测量仪表的输出信号通过变送器转换成标准4~20mA信号,送至PLC的扩展模块,经过A/D转换,变为数字量传送给PLC 的CPU模块;CPU将数据以相应格式存储在闪存(CPU或存储卡)中,并为触摸屏显示提供数据,对触摸屏的输入信息进行相应的处理;触摸屏通过以太网口与CPU通讯,实现参数设置、数据实时观察、报警信息处理等功能。
我们选用了西门子S7-1200系列PLC,其价格低廉,但功能强大,具有集成以太网接口、集成工艺功能强大和可扩展性灵活等特点,可为各种工艺任务提供简单的通信和有效的解决方案,尤其可满足多种应用中完全不同的自动化需求。
与S7-300/400系列相比,在能够实现相应功能的前提下,S7-1200的价格优势及简单易用性十分明显,而且其组态软件操作简便、功能强、集成度高。
因此,S7-1200 PLC是系统控制器的最佳选择。
4 PLC数据记录功能的实现
如图1所示,PLC硬件配置采用CPU1214C+SM1231(8×13Bit)+SM1231(4×13Bit)。
图1 PLC硬件配置
S7-1200 PLC提供了数据日志功能,可以使用Data logging系列指令,将运行数据值存储在永久性日志文件中。
CPU将数据日志文件以标准CSV格式,存储在S7-1200 CPU的装载存储器中。
CPU按大小预定的循环日志文件形式组织数据记录。
启用S7-1200 CPU Web服务器功能管理数据日志文件,可以实现数据日志文件的下载、清除和删除等操作;或将数据日志文件传送到PC,使用标准电子表格工具(如Excel)分析数据。
4.1 数据日志文件大小计算
S7-1200系列PLC中,数据日志与用户程序、程序数据、PLC系统数据共享装载存储器空间。
装载存储器又分为内部装载存储器与外部装载存储器,可根据情况需要选择其中一个使用,但不可同时使用。
内部装载存储器,即CPU内部闪存。
本文所使用的CPU 1214C以及更高级别的1215C、1217C,其内部装载存储器容量均只有4MB,如果所需存储数据量较大,且要求长时间记录,则无法满足要求。
外部装载存储器,即西门子的SIMATIC存储卡(可选件,非必需),可插入CPU 代替内部装载存储器使用,目前有4MB、12MB、24MB、256MB、2GB五种规格。
数据日志文件中需要系统分配存储空间的部分包括:记录索引标头(记录文件中各行的序号);时间戳标头(每条记录形成的日期时间);数据日志标头(所记录数据的名称,即文件中每列数据的标题);数据记录(仪表数据测量值)。
为方便计算,我们把需要记录的数据数量及类型设定为10个REAL型变量,每个变量的标题为2个字符,记录频率为1min/次,文件记录时间为1年,由此,数
据日志文件大小计算如下:
4.1.1 标头部分
数据日志标头字节=标头字符字节+2字节
(1)
其中:
标头字符字节=所有列数据标题文本(包括分隔符逗号)的字符字节数+21字节(2)
10个变量共有10个标题,每个标题为2个字符,10个标题分隔逗号数量为9个,根据式(1)、(2)
计算,结果如下:
数据日志标头字节=10×2+9+21+2=52字节(3)
4.1.2 数据部分
根据西门子PLC技术规范,数据日志数据字节计算公式如下:
数据日志数据字节=(一条记录中的数据字节+时间戳字节+12字节)×记录数(4)
(1)一条记录中的数据字节
将给出的数据类型的出现次数乘以该数据类型所需的字节数。
对一条记录中的每个数据类型重复该过程,并对所有数据类型求和得到一条记录中所有数据元素的总计字节。
本文中的数据类型为REAL,出现次数为10次,存储REAL类型变量,每个变量需要16个字节,则:
一条记录中的数据字节=10×16=160字节(5)
(2)数据日志文件中的记录数
记录数不能超过Data logging系列指令里用于设置数据日志文件中可存储的最大可能数值4、294、967、295,实际最大值取决于单个记录文件的大小、其他数据日志的大小及装载存储器的可用资源。
此外,Excel对工作表中允许的行数及列数也有一定限制。
本文中,记录频率为1min/次,文件记录时间为1年,则:
记录数为60×24×365=525 600 (6)
(3)一个数据记录中的时间戳字节
有时间戳的情况下,时间戳字节=20字节(7)
将式(5)~(7)计算所得3个参数值代入式(4),计算可得:
数据日志数据字节=(160+20+12)×525 600=100 915 200字节(8)
由式(3)、(8)可得,数据日志总大小=100 915 200+52=100 915 252字节
≈96MB。
西门子PLC技术规范中规定,单个数据日志文件的大小最大不可超过可用装载存储器大小或500MB(二者之中的较小值)。
如果记录条数达到程序参数设置的最大记录数,写入的下一条记录将覆盖最早的记录,之后再写入的记录将覆盖下一条最早的数据记录,依此类推。
根据上文的计算结果,并参考技术规范可知,如果我们选择2GB规格的外部装载存储器,即西门子的SIMATIC存储卡,并且在程序中只生成1个数据日志文件,则至少可以保存从查询之日起向前5年之内的数据记录,并且不断循环更新。
4.2 程序设计
PLC程序的主要功能是初始化系统、控制设备工艺、采集仪表测量信息、记录数据、故障报警等。
我们利用西门子TIA Portal V13 SP1软件,采用梯形图语言进行编程,其中数据记录是程序的关键部分。
4.2.1 创建数据日志名称、标题和Data结构
先建立DB块(图2),数据日志的名称、列标题文本和记录的所有数据元素的数据类型,分别由Name、Header参数和Data分配。
图2 创建DB块
4.2.2 创建和初始化数据日志文件
执行DataLogCreate操作后,系统会自动打开数据日志文件(图3)。
完成数据日志的创建需多个扫描周期,且DONE位仅在一个扫描周期内有效,因此可通过编程捕获“DataLogCreate”指令的DONE信号位(图4)。
如果日志创建过程中存在错误,则保存状态输出(图5)。
4.2.3 以固定频率触发写入指令(图6)
图3 日志文件的初始化
图4“DatalogCreate”指令的DONE信号位
图5 错误状态的保存
图6 定期触发写入指令
4.2.4 将新过程值存储在MyDatalog结构中(图7)
4.2.5 将数据写入日志文件(图8)何时开始执行写入命令取决于何时完成
Data⁃LogCreate操作。
数据日志的创建操作将跨越多个扫描周期,并且必须在执行写入操作之前完成。
REQ输入的上升沿信号是创建操作已完成的信号。
4.2.6 打开已有数据日志文件必须先将数据日志文件打开后,才能执行
Dat⁃aLogWrite操作。
执行DataLogCreate操作后,系统会自动打开数据日志文件。
但如果PLC执行RUN-STOP切换或PLC循环,上电后会自动关闭数据日志文件,所以为保证系统每次上电后,可正常执行数据写入操作,故采用了DataLogOpen命令(图9)。
4.2.7 启用PLC Web服务器功能(图10)
4.2.8 通过S7-1200 CPU Web服务器查看所创建的数据日志文件(图11)
5 结语
我们采用西门子S7-1200系列PLC作为控制器,利用其数据日志功能,实现了对仪表测量数据的记录,这种方法具有成本低、存储容量大、记录时间长、可靠性高等特点。
图7 存储新过程值
图8 数据的写入
图9 打开已有数据日志
图10 启用Web服务器功能
图11 查看日志文件
参考文献:
【相关文献】
[1]李兵尚,吴非,张磊,杜冬菊.存储环境监测与数据记录系统设计[J],电子应用技术,2013,39(1),76-82.
[2]李建海,王成刚,杨帆,毕涛.基于PLC和触摸屏的应变监测系统设计[J],兵器装备工程学报,2017,2(2),105-108.
[3]冯博,徐淑华,基于S7-1 200 PLC的电加热器模糊PID控制[J],青岛大学学报(工程技术版),2011,3(1),14-18.■。