S7-200模拟量详细教程(共22页)

上传人:cn****1 文档编号:506624360 上传时间:2022-12-19 格式:DOCX 页数:21 大小:963.86KB
返回 下载 相关 举报
S7-200模拟量详细教程(共22页)_第1页
第1页 / 共21页
S7-200模拟量详细教程(共22页)_第2页
第2页 / 共21页
S7-200模拟量详细教程(共22页)_第3页
第3页 / 共21页
S7-200模拟量详细教程(共22页)_第4页
第4页 / 共21页
S7-200模拟量详细教程(共22页)_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《S7-200模拟量详细教程(共22页)》由会员分享,可在线阅读,更多相关《S7-200模拟量详细教程(共22页)(21页珍藏版)》请在金锄头文库上搜索。

1、模拟量比例换算因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。显然两者之间存在比例换算关

2、系。模拟量输出的情况也大致相同。上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换算,只需进行简单的设置。 通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = (Osh - Osl)*(Iv -

3、Isl)/(Ish - Isl) + Osl其中:Ov:换算结果Iv:换算对象Osh:换算结果的高限Osl:换算结果的低限Ish:换算对象的高限Isl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内

4、部数据到模拟量输出的转换。其中scale_I_R程序段例:将4 - 20mA模拟量输入转换为内部百分比值 将内部百分比值转换为4 - 20mA模拟量输出 对于精度要求不高的地方,4-20ma转换成0-20ma可按比例计算公式=(ai-4)/16)*20其程序段实例:发贴者 Memory Of Heart 时间: S7-200 +TD400C显示系统时间、运行时间的程序看见论坛上有些朋友对西门子TD文本显示器显示时钟的问题比较关心,在这个帖子里笔者给出一个已经应用于工程上的程序例子,并作出详细分析,希望对关心这个问题的朋友有些帮助。 这个程序是S7200+TD400C显示系统时间、当班运行时间、

5、累计运行时间的例子。 以下是s7-200 S7200+TD400C显示系统时间、运行时间的程序详解: 系统硬件配置如下: PLC:西门子S7-200 CN;CPU 226 CN REL 02.01;AC100230V电源/DC24V输入/继电器输出;订货号6ES7 216-2BD23-0XB8;固件02.01 Build 2;ASIC:01.00。 文本显示器:TD400C;订货号6AV6 6640-0AA00-0AX0;自带9芯TD/CPU电缆;版本:1.0.0.3。 S7 -200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7

6、-200 CPU之间的距离小于 2.5米时,采用TD/CPU电缆的方式进行供电;当TD400C与S7-200 CPU之间的距离超过2.5米时,使用外部电源供电并使用 PROFIBUS组件连接网络)。 系统软件配置如下: S7-200参数设置:在“系统块”的“断电数据保持”中设置VW1600以后2000个单元为断电数据保持。 TD400C参数设置: TD400C地址:1 CPU地址:2 参数块地址:0 波特率:9.6K HSA:31 GUF:10 键盘声音反馈:开 屏幕保护时间:10分钟 S7-200的系统时钟调整为准确的北京时间。 下面先写一下该程序所用到的存储器的意义,以便于理解程序。 本班

7、运行时间:小时VW1600、分钟VW1604、秒VW1608; 累计运行时间:小时VW1620、分钟VW1624、秒VW1628; 系统时间(BCD码字节):年VB2000、月VB2001、日VB2002、小时VB2003、分钟VB2004、秒VB2005、星期VB2007; 系统时间(整数): 年VW1644、月VW1648、日VW1652、小时VW1656、分钟VW1660、秒VW1664; 本班设备开始运行时间:小时VW1680、分钟VW1684、秒VW1688; 本班设备最后运行时间:小时VW1700、分钟VW1704、秒VW1708; 上班时间设置:小时VW1720、分钟VW1724

8、; 下班时间设置:小时VW1740、分钟VW1744; 本班运行时间复位:VW1760; 本班运行时间被复位的时间:年VW1764、月VW1768、日VW1772、小时VW1776、分钟VW1780; 累计运行时间复位:VW1800; 累计运行时间被复位的时间:年VW1804、月VW1808、日VW1812、小时VW1816、分钟VW1820; EEPROM写入次数:VW3558 ; 因为考虑到编程中可能会用到一些中间存储器,所以在TD400C中定义存储器时留了余量,每两个存储器之间都有1个字的存储器留作备用。 根据相关技术要求,先组态TD400C画面,达到预期目的。 “工具”“文本显示向导”

9、,先配置TD400C: 然后点击“用户菜单”,配置用户菜单。因为该工程的界面要求很简单,所以每个菜单项只配置了1个屏幕(最多可以配置8个屏幕)。 第1个屏幕: 该屏幕中的第1个数据(这里的数据排列顺序为:先按第1排从左至右、再按第2排从左至右的顺序依次排列,下同): 因为版面的问题,该屏幕的其它PLC数据和其它屏幕中的PLC数据就不一一列举了。这些数据都是VW、无符号数类型,具体对应情况请参阅3楼说明。 第2个屏幕: 第3个屏幕: 第4个屏幕: 第5个屏幕: 第6个屏幕: 第7个屏幕: 第8个屏幕: 下面是主程序部分: 首先在主程序中调用子程序: 下面是子程序: 先调用TD向导生成的子程序:

10、TODR指令读到的实时时钟是BCD字节,要想把这个BCD字节显示出来,需要进行转换。 在网上也曾查阅过,一部分人先用BTI指令把这个BCD字节转换整数,然后用ITA指令把整数转换为ASCII字符串,在画面中嵌入这个ASCII字符串用于显示。 笔者也这样试过一下,可能因为其它问题没有测试成功,而又突然想到在程序的多处都需要用到这个实时时钟数据,所以转换为ASCII字符以后对程序其它地方没什么作用。经过考虑,我的转换思想是:先用BTI指令把这个BCD字节转换BCD整数,然后用BCDI指令把BCD整数转换为正常的十进制/十六进制整数,在画面中嵌入这个得到的整数用于显示。在程序的其它地方也可以使用这些实时时钟变量。 下面是该工程的TD400C显示画面:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号