- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
S7200+TD400C
显示系统时间、运行时间的程序详解
老菜鸟
楼主 发帖时间: 2007-7-21 15:46:00 博客 播客 收藏 回
复 加为好友 发送消息 建议删除该贴 !!
看见论坛上有些朋友对西门子 TD文本显示器显示时钟的问题比较关心,在这个
帖子里笔者给出一个已经应用于工程上的程序例子, 并作出详细分析, 希望对关
心这个问题的朋友有些帮助。
这个程序是 S7200+TD400C显示系统时间、当班运行时间、累计运行时
间的例子。
1 楼 回复时间: 2007-7-21 16:02:00
系统硬件配置如下:
PLC:西门子 S7-200 CN;CPU 226 CN REL ; AC100~230V电源
/DC24V输入 / 继电器输出;订货号 6ES7 216-2BD23-0XB8;固件 Build 2;
ASIC:。
文本显示器: TD400C;订货号 6AV66640-0AA00-0AX0;自带 9 芯 TD/CPU
电缆;版本: 1.0.0.3 。
S7-200 与 TD400C通过 TD400C随机配置的 TD/CPU通信电缆连接, 实现电源供给和通信(因为当 TD400C与 S7-200 CPU之间的距离小于 米时,采用TD/CPU电缆的方式进行供电;当 TD400C与 S7-200 CPU之间的距离超过米时,
使用外部电源供电并使用 PROFIBUS组件连接网络)。
2 楼 回复时间: 2007-7-21 16:12:00
系统软件配置如下:
S7-200 参数设置:在“系统块”的“断电数据保持”中设置
VW1600以
后 2000 个单元为断电数据保持。
TD400C参数设置:
TD400C地址: 1
CPU地址: 2
参数块地址: 0
波特率:
HSA:31
GUF:10
键盘声音反馈:开
屏幕保护时间: 10 分钟
S7-200 的系统时钟调整为准确的北京时间。
3 楼 回复时间: 2007-7-21 16:15:00
下面先写一下该程序所用到的存储器的意义,以便于理解程序。
本班运行时间:小时 VW1600、分钟 VW1604、秒 VW1608;
累计运行时间:小时 VW1620、分钟 VW1624、秒 VW1628;
系统时间( BCD码字节):年 VB2000、月 VB2001、日 VB2002、小时 VB2003、分钟 VB2004、秒 VB2005、星期 VB2007;
系统时间(整数): 年 VW1644、月 VW1648、日 VW1652、小时
分钟 VW1660、秒 VW1664;
本班设备开始运行时间:小时 VW1680、分钟 VW1684、秒 VW1688;
本班设备最后运行时间:小时 VW1700、分钟 VW1704、秒 VW1708;
VW1656、
上班时间设置:小时 VW1720、分钟 VW1724;
下班时间设置:小时 VW1740、分钟 VW1744;
本班运行时间复位: VW1760;
本班运行时间被复位的时间:年 VW1764、月 VW1768、日 VW1772、小时 VW1776、分钟 VW1780;
累计运行时间复位: VW1800;
累计运行时间被复位的时间:年 VW1804、月 VW1808、日 VW1812、小时 VW1816、分钟 VW1820;
EEPROM写入次数: VW3558;
因为考虑到编程中可能会用到一些中间存储器,所以在 TD400C中定义存储器时留了余量,每两个存储器之间都有 1 个字的存储器留作备用。
4 楼 回复时间: 2007-7-21 16:27:00
根据相关技术要求, 先组态 TD400C画面,达到预期目的。 “工具”——“文本显示向导”,先配置 TD400C:
然后点击“用户菜单”, 配置用户菜单。 因为该工程的界面要求很简单, 所以每个菜单项只配置了 1 个屏幕(最多可以配置 8 个屏幕)。
第 1 个屏幕:
该屏幕中的第 1 个数据 (这里的数据排列顺序为:
右的顺序依次排列,下同):
先按第
1 排从左至右、 再按第
2 排从左至
因为版面的问题, 该屏幕的其它 PLC数据和其它屏幕中的 PLC数据就不一一列举了。 这些数
据都是 VW、无符号数类型,具体对应情况请参阅 3 楼说明 。
第 2 个屏幕:
第 3 个屏幕:
第 4 个屏幕:
第 5 个屏幕:
第 6 个屏幕:
第 7 个屏幕:
第 8 个屏幕:
下面是主程序部分:首先在主程序中调用子程序:
下面是子程序:先调用 TD向导生成的子程序:
31 楼 回复时间: 2007-7-27 17:14:00
TODR指令读到的实时时钟是 BCD字节,要想把这个 BCD字节显示出来,需要进行转换。
在网上也曾查阅过,一部
文档评论(0)