- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
S7―400系统温度测量显示异常解决方案
S7―400系统温度测量显示异常解决方案 【摘 要】日益先进的PLC控制器技术,在大型火电机组辅机系统自动化控制中占有着巨大的份额。尤其是S7-400H冗余系列PLC控制器,解决了传统PLC控制不能实现控制器冗余的问题,大大提高了PLC控制的安全性和可靠性。本文中所论述温度故障修复,成功得将此缺陷进行了修复,使得该控制器的可靠性得到了进一步的完善与加固。
【关键词】S7-400;温度显示故障;补码;类型转换
1 引言
随着计算机技术和通讯技术的飞速发展,大型火电机组辅机控制系统的自动化水平已有了飞速的发展。在目前阶段,PLC控制将是辅机控制系统的主要实现方式。德国西门子公司生产的S7-300和S7-400系列PLC产品因其优越的性价比在全球PLC市场取得了巨大的份额。近年来S7-400H冗余系列不但在辅机程控项目中得到广泛应用,而且在中小型发电机组也开始代替DCS实现主控系统的控制功能,莱城电厂二期脱硫系统即是S7-400H系列在这方面应用的成功范例。美中不足的是莱城电厂二期脱硫系统自投运以来#1#2机组所有温度测点在测量零下温度时显示异常。给运行人员监控设备带来极大的不便。
2 故障时系统运行方式
莱城电厂二期脱硫硬件方面cpu采用s7-414-4H,温度测量卡件全部使用模拟输入模块SM 331; AI 8 x RTD;(6ES7 331-7PF01-0AB0)该卡件有以下特点:(1)4个通道组中8点输入;(2)在每个通道组,测量类型可编程;(3)每个通道组的分辨率均可编程(15 位 + 符号位);(4)每个通道组的任意测量范围;(5)可编程诊断和诊断中断;(6)8 个通道的可编程限制值监视;(7)越限时的硬件中断可编程;(8)高速更新多达 4 个通道的测量值;(9)周期结束时的硬件中断可编程;(10)对 CPU 的电气隔离。
此卡件在系统配置方面,测量类型选择RTD-3L,测量范围选择PT100标准型,温度系数选择0.003850(IPTS-68)。编程模式是组织块OB33循环调用负责采样转换的FC6,FC6是当时厂家自定义的FC。当被测温度低于零摄氏度时,系统监视画面显示10000摄氏度。
3 故障处理过程及原因分析
在西门子S7-400系列产品中,温度的显示过程是首先测量卡件将就地热电阻的电阻值转换为工程值以二进制代码的形式放在cpu的内存中,然后cpu通过内部的转换FC将工程值的二进制代码转换为对应的可以识别的十进制数。通过查阅西门子资料可知热电阻 Pt 100 (0.003850) 标准型在SM 331 AI 8 x RTD卡件的额定量程应该是-200到850摄氏度。而此系统自投运以来如果温度变为负数时,系统显示10000度。为了找出故障原因,我们首先用电阻箱对此卡件的一个通道加阻值,将在线查出的热电阻输入测点的实时工程值与输入的阻值相对应,发现卡件工作是正常的。例如当外输入温度为-10摄氏度时对应的工程值二进制代码是16#ff9c。所以原因就出在热电阻信号转换的FC模块上。此模块为厂家自定义模块。其内部负责转换的代码内容如下图1所示。
输入点#AI 定义为word类型,它还使用了一个数据块DB1中的32位DB1.DBD24作为数据转换中间量的临时存储。通过研究西门子内部材料发现,负数在cpu中以补码的形式存在。负数的补码等于其源码的符号位不变,数值部分的各位取反,然后整个数加1。同一个数字在不同的补码表示形式里是不同的。比方说-15的补码,在8位2进制里头然而在16位2进制补码表示的情况下,就成了1111111111110001。
接下来我们分析这个FC的主要代码;AI为word类型,所以其长度只有16位。为了能进行转换运算首先要将16位的#AI转换为32位,然后再转换为实型以方便运算。热电阻信号转换功能块代码中的前两句 L #AI ;T DB1.DBD 24,将#AI直接传送给了DB1.DBD24。完成了16位到32位的转换。然后通过L DB1.DBD 24;DTR;T DB1.DBD 24直接将DB1.DBD24作为一个长整型转换为实型。
在s7-400系列cpu中,不论#AI的数据类型是INT还是WORD,在cpu中都是以补码的形式存在的,所以在进行16位到32位的转换时,要进行符号扩展,将int型数的16位送到Dint型低16位中,如果int型数据位正值(符号位为0),则Dint型变量的高16位补0,如果int型变量为负值(符号位为1),则Dint型变量的高16位补1,以保持数值不改变。而此功能块中只是进行了传送,所以不管#AI是正数还是负数,cpu对高16位的处理都是补0。所以会导致当温度是负数是无法正常显示。举例
文档评论(0)