S7200PLC用高速计数器实现测量模拟量信号的方法.docVIP

S7200PLC用高速计数器实现测量模拟量信号的方法.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S7200PLC用高速计数器实现测量模拟量信号的方法

S7-200PLC用高速计数器实现测量模拟量信号的方法 电气自动化技术 2010-05-28 12:58:14 阅读265 评论0 ??字号:大中小?订阅 1、模拟量采集要求信号本身环境要好,包括传感器、仪表的供电良好!模拟量传输线路尽量避开强电电 缆和高、中、低频干扰,例如:高频焊管机、中频加热炉和变频器的输出到电机的电缆等,否则,给你的 真实信号中加点“佐料”,从而污染了信号源; 2、电气系统接地在施工设计中就要特别重视,如果现场接地处理不好,轻者干扰PLC系统正常工作,重者 在带有模拟量的控制回路中根本不能使用或者会损坏传感器、PLC的电源、模拟量等模块。 如果说上面的注意事项仅仅是施工设计中需要注意的话,而下面的情况你就需要花更大的功夫了: 1、PLC的模拟量采集模块,没有采用模拟量与PLC回路隔离方式,因此,模拟量输入、输出回路就需要特 别当心,如果传感器或者输入回路串入高电压信号,当心其损坏PLC主机? 2、PLC模块采用了高速采样方式,可分辨0.25ms的信号变化,这本来是件好事,但实际使用其来却十分讨 厌,因为它太敏感了,以致影响了模拟量信号的正常采集,如果遇到信号回路串入干扰、屏蔽不良,则想 去掉干扰,单靠增加滤波时间是根本无法解决这类问题,我们曾经就遇到此类问题,不得已,将输入信号 经RC滤波回路过滤后才能勉强工作! 由于PLC控制的某些系统,经常要测量各类模拟电压/电流信号,以往通常用电压/电流传感器进行采样, 由PLC的模拟量扩展模块进行运算处理。电压传感器输出是模拟量,在电磁骚扰较强的环境中,容易出现 较大的测量误差;同时,由于占用模拟量扩展模块宝贵的输入点(模拟量扩展模块价格接近中、小型PLC 的价格,且输入点极少),使系统的性价比降低。当用电压/电流/频率转换器进行采样,进而用PLC高速 计数器计数,能较好地解决上述问题,VFC或IFC转换器输出是脉冲信号,该信号在电磁骚扰下变化极小; 另外,该信号是数字量,可直接接入PLC高速计数器的输入点。 CPU224有HSC0-HSC5共6个高速计数器,每个高速计数器都有多种工作模式以完成不同的功能,在使用一个 高速计数器时,根据系统的控制需要,首先要给计数器选定一种工作模式,可用高速计数器定义指令HDEF 来进行设置。只有定义了计数器和计数器模式,才能对计数器的动态参数进行编程。编程时,每个高速计 数器只能使用一条HDEF指令。每个高速计数器都有一个控制字节,包括允许或禁止计数,计数方向的控制 ,要装入的计数器当前值和要装入的预置值。 V/F传感器把测量的模拟电压信号按着固定的比率转换成矩形脉冲信号, 首先,VFC或IFC变送器将输入电压(电流)转换为脉冲信号,再将此信号送入高速计数器HSC1的输入端, 并累计脉冲数。通过设置定时中断0的间隔时间,来控制高速计数器累计脉冲的时间,当预置的间隔时间 到后,根据累计脉冲数,计算出被测电压(电流)值。 编程原理: 主程序在第一个扫描周期调用子程序SBR0; SBR0高速计数器和定时中断的初始化; INT0对高速计数器求值的定时中断程序; ??? 程序和注释 ?? 主程序在第一个扫描周期调用初始化子程序SBR0,仅在第一个扫描周期标志位SM01=1。由子程序 SBR0实现初始化。 ?? 首先,把高速计数器HSC1的控制字节MB47置为16进制数FC,其含义是:正方向计数,可更新预置值 (PV),可更新当前值(CV),激活HSC1。 然后,用定义指令HDEF把高速计数器HSC1设置成工作模式0,即没有复位或启动输入,也没有外部的方向 选择。当前值SMD48复位为0,预置值SMD52置为FFFF(16进制)。定时中断0间隔时间SMB34置为100ms,中 断程序0分配给定时中断0,并允许中断,用指令HSC1启动高速计数器。 ??? 每100ms调用一次中断程序0,读出高速计数器的数值后,将其置零。通过HSC1计数值及变换关系来求 被测的电压值。 以上方法已用于多个自控项目,实践证明,该方法进行模拟电压信号测量,具有精度高,抗干扰性强,运行可靠。

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档