S7200模拟量详细教程Word文档下载推荐.docx

上传人:b****6 文档编号:21397815 上传时间:2023-01-30 格式:DOCX 页数:25 大小:965.26KB
下载 相关 举报
S7200模拟量详细教程Word文档下载推荐.docx_第1页
第1页 / 共25页
S7200模拟量详细教程Word文档下载推荐.docx_第2页
第2页 / 共25页
S7200模拟量详细教程Word文档下载推荐.docx_第3页
第3页 / 共25页
S7200模拟量详细教程Word文档下载推荐.docx_第4页
第4页 / 共25页
S7200模拟量详细教程Word文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

S7200模拟量详细教程Word文档下载推荐.docx

《S7200模拟量详细教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《S7200模拟量详细教程Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

S7200模拟量详细教程Word文档下载推荐.docx

模拟量的输入/输出都可以用下列的通用换算公式换算:

Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl

其中:

Ov:

换算结果

Iv:

换算对象

Osh:

换算结果的高限

Osl:

换算结果的低限

Ish:

换算对象的高限

Isl:

换算对象的低限

它们之间的关系可以图示如下:

图1.模拟量比例换算关系

 

实用指令库

在Step7-Micro/WINProgrammingTips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。

为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。

在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;

子程序Scale_R_I可用于内部数据到模拟量输出的转换。

其中scale_I_R程序段例:

将4-20mA模拟量输入转换为内部百分比值

将内部百分比值转换为4-20mA模拟量输出

对于精度要求不高的地方,4-20ma转换成0-20ma 

可按比例计算

公式 

=((ai-4)/16)*20

其程序段实例:

发贴者MemoryOfHeart时间:

下午3:

540评论

S7-200+TD400C显示系统时间、运行时间的程序

看见论坛上有些朋友对西门子TD文本显示器显示时钟的问题比较关心,在这个帖子里笔者给出一个已经应用于工程上的程序例子,并作出详细分析,希望对关心这个问题的朋友有些帮助。

这个程序是S7200+TD400C显示系统时间、当班运行时间、累计运行时间的例子。

以下是s7-200S7200+TD400C显示系统时间、运行时间的程序详解:

系统硬件配置如下:

PLC:

西门子S7-200CN;

CPU226CNREL

02.01;

AC100~230V电源/DC24V输入/继电器输出;

订货号6ES7216-2BD23-0XB8;

固件02.01Build

2;

ASIC:

01.00。

文本显示器:

TD400C;

订货号6AV66640-0AA00-0AX0;

自带9芯TD/CPU电缆;

版本:

1.0.0.3。

S7-200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7-200

CPU之间的距离小于2.5米时,采用TD/CPU电缆的方式进行供电;

当TD400C与S7-200CPU之间的距离超过2.5米时,使用外部电源供电并使用

PROFIBUS组件连接网络)。

系统软件配置如下:

S7-200参数设置:

在“系统块”的“断电数据保持”中设置VW1600以后2000个单元为断电数据保持。

TD400C参数设置:

TD400C地址:

1

CPU地址:

2

参数块地址:

0

波特率:

9.6K

HSA:

31

GUF:

10

键盘声音反馈:

屏幕保护时间:

10分钟

S7-200的系统时钟调整为准确的北京时间。

下面先写一下该程序所用到的存储器的意义,以便于理解程序。

本班运行时间:

小时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;

下班时间设置:

小时VW1740、分钟VW1744;

本班运行时间复位:

VW1760;

本班运行时间被复位的时间:

年VW1764、月VW1768、日VW1772、小时VW1776、分钟VW1780;

累计运行时间复位:

VW1800;

累计运行时间被复位的时间:

年VW1804、月VW1808、日VW1812、小时VW1816、分钟VW1820;

EEPROM写入次数:

VW3558

  ;

因为考虑到编程中可能会用到一些中间存储器,所以在TD400C中定义存储器时留了余量,每两个存储器之间都有1个字的存储器留作备用。

根据相关技术要求,先组态TD400C画面,达到预期目的。

  “工具”——“文本显示向导”,先配置TD400C:

  

然后点击“用户菜单”,配置用户菜单。

因为该工程的界面要求很简单,所以每个菜单项只配置了1个屏幕(最多可以配置8个屏幕)。

第1个屏幕:

  该屏幕中的第1个数据(这里的数据排列顺序为:

先按第1排从左至右、再按第2排从左至右的顺序依次排列,下同):

  因为版面的问题,该屏幕的其它PLC数据和其它屏幕中的PLC数据就不一一列举了。

这些数据都是VW、无符号数类型,具体对应情况请参阅3楼说明。

第2个屏幕:

第3个屏幕:

  第4个屏幕:

  第5个屏幕:

   

第6个屏幕:

  第7个屏幕:

  第8个屏幕:

下面是主程序部分:

  首先在主程序中调用子程序:

下面是子程序:

  先调用TD向导生成的子程序:

TODR指令读到的实时时钟是BCD字节,要想把这个BCD字节显示出来,需要进行转换。

在网上也曾查阅过,一部分人先用BTI指令把这个BCD字节转换整数,然后用ITA指令把整数转换为ASCII字符串,在画面中嵌入这个ASCII字符串用于显示。

笔者也这样试过一下,可能因为其它问题没有测试成功,而又突然想到——在程序的多处都需要用到这个实时时钟数据,所以转换为ASCII字符以后对程序其它地方没什么作用。

经过考虑,我的转换思想是:

先用BTI指令把这个BCD字节转换BCD整数,然后用BCDI指令把BCD整数转换为正常的十进制/十六进制整数,在画面中嵌入这个得到的整数用于显示。

在程序的其它地方也可以使用这些实时时钟变量。

下面是该工程的TD400C显示画面:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1