你现在位置:首页>技术论文>经验技巧>西门子PLC>正文
S7200+TD400C显示系统时间、运行时间的程序详解
日期:2008-3-22 15:22:52 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
S7200+TD400C显示系统时间、运行时间的程序详解
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
   看见论坛上有些朋友对西门子TD文本显示器显示时钟的问题比较关心,在这个帖子里笔者给出一个已经应用于工程上的程序例子,并作出详细分析,希望对关心这个问题的朋友有些帮助。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    这个程序是S7200+TD400C显示系统时间、当班运行时间、累计运行时间的例子。
 
    系统硬件配置如下:
WWW_PLCJS_COM-PLC-技.术_网

    PLC:西门子S7-200 CN;CPU 226 CN REL 02.01;AC100~230V电源/DC24V输入/继电器输出;订货号6ES7 216-2BD23-0XB8;固件02.01 Build 2;ASIC:01.00。
——可——编——程——控-制-器-技——术——门——户

    文本显示器:TD400C;订货号6AV6 6640-0AA00-0AX0;自带9芯TD/CPU电缆;版本:1.0.0.3。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

    S7-200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7-200 CPU之间的距离小于 2.5米时,采用TD/CPU电缆的方式进行供电;当TD400C与S7-200 CPU之间的距离超过2.5米时,使用外部电源供电并使用PROFIBUS组件连接网络)。
 
    系统软件配置如下:
WWW_PLCJS_COM-PLC-技.术_网

    S7-200参数设置:在“系统块”的“断电数据保持”中设置VW1600以后2000个单元为断电数据保持。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    TD400C参数设置:
WW.W_PLCJS_COM-PLC-技.术_网

        TD400C地址:1
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        CPU地址:2
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        参数块地址:0
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

        波特率:9.6K
WWW_PL※CJS_COM-PLC-技.术_网

        HSA:31
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        GUF:10
WWW_PLC※JS_COM-PmLC-技.术_网

        键盘声音反馈:开
WWW_P※LCJS_COM-PLC-)技.术_网

        屏幕保护时间:10分钟
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

S7-200的系统时钟调整为准确的北京时间。
 
    下面先写一下该程序所用到的存储器的意义,以便于理解程序。
W1WW_P4LCJS_COM-PLC-技.术_网

本班运行时间:小时VW1600、分钟VW1604、秒VW1608;
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

累计运行时间:小时VW1620、分钟VW1624、秒VW1628;
WWW_PLCJS@_COM%-PLC-技.术_网

系统时间(BCD码字节):年VB2000、月VB2001、日VB2002、小时VB2003、分钟VB2004、秒VB2005、星期VB2007;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

系统时间(整数):     年VW1644、月VW1648、日VW1652、小时VW1656、分钟VW1660、秒VW1664;
——可——编——程——控-制-器-技——术——门——户

本班设备开始运行时间:小时VW1680、分钟VW1684、秒VW1688;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

本班设备最后运行时间:小时VW1700、分钟VW1704、秒VW1708;
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

上班时间设置:小时VW1720、分钟VW1724;
WWW_PLCJS_COM-PLC-技.术_网

下班时间设置:小时VW1740、分钟VW1744;
plcjs.技.术_网

本班运行时间复位:VW1760;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

本班运行时间被复位的时间:年VW1764、月VW1768、日VW1772、小时VW1776、分钟VW1780;
W1WW_P4LCJS_COM-PLC-技.术_网

累计运行时间复位:VW1800;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

累计运行时间被复位的时间:年VW1804、月VW1808、日VW1812、小时VW1816、分钟VW1820;
WWW_PL※CJS_COM-PLC-技.术_网

EEPROM写入次数:VW3558
W1WW_P4LCJS_COM-PLC-技.术_网

  ;
WWW_PL※CJS_COM-PLC-技.术_网

因为考虑到编程中可能会用到一些中间存储器,所以在TD400C中定义存储器时留了余量,每两个存储器之间都有1个字的存储器留作备用。
 
    根据相关技术要求,先组态TD400C画面,达到预期目的。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  “工具”——“文本显示向导”,先配置TD400C:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  
P.L.C.技.术.网——可编程控制器技术门户

  
WWW_PL※CJS_COM-PLC-技.术_网

  
WWcW_PLCJS_COM-PLC-技.术_网

  
WWW_P※LCJS_COM-PLC-)技.术_网

  
WWW_P※LCJS_CO※M-PLC-技-.术_网

  
 
    然后点击“用户菜单”,配置用户菜单。因为该工程的界面要求很简单,所以每个菜单项只配置了1个屏幕(最多可以配置8个屏幕)。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  
 
    第1个屏幕:
WW.W_PLCJS_COM-PLC-技.术_网

  
WWW_PLCJS@_COM%-PLC-技.术_网

  该屏幕中的第1个数据(这里的数据排列顺序为:先按第1排从左至右、再按第2排从左至右的顺序依次排列,下同):
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  因为版面的问题,该屏幕的其它PLC数据和其它屏幕中的PLC数据就不一一列举了。这些数据都是VW、无符号数类型,具体对应情况请参阅3楼说明。
 
    第2个屏幕:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  
 
    第3个屏幕:
WWW_PLCJS@_COM%-PLC-技.术_网

  
WWW_PLC※JS_COM-PmLC-技.术_网

  第4个屏幕:
P.L.C.技.术.网——可编程控制器技术门户

  
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  第5个屏幕:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  
 
    第6个屏幕:
——可——编——程——控-制-器-技——术——门——户

  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  第7个屏幕:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

  第8个屏幕:
WWcW_PLCJS_COM-PLC-技.术_网

  
 
    下面是主程序部分:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

  首先在主程序中调用子程序:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  
 
    下面是子程序:
P.L.C.技.术.网——可编程控制器技术门户

  先调用TD向导生成的子程序:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

  
 
    
plcjs.技.术_网

  
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  
WWcW_PLCJS_COM-PLC-技.术_网

  
 
    TODR指令读到的实时时钟是BCD字节,要想把这个BCD字节显示出来,需要进行转换。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

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

    笔者也这样试过一下,可能因为其它问题没有测试成功,而又突然想到——在程序的多处都需要用到这个实时时钟数据,所以转换为ASCII字符以后对程序其它地方没什么作用。经过考虑,我的转换思想是:先用BTI指令把这个BCD字节转换BCD整数,然后用BCDI指令把BCD整数转换为正常的十进制/十六进制整数,在画面中嵌入这个得到的整数用于显示。在程序的其它地方也可以使用这些实时时钟变量。
 
    
WW.W_PLCJS_COM-PLC-技.术_网

  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

  
WWW_PLC※JS_COM-PmLC-技.术_网

  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  
 
    下面是该工程的TD400C显示画面:
P.L.C.技.术.网——可编程控制器技术门户

  
 
    
 
    这个程序在我的FTP上可以下载:
WW.W_PLCJS_COM-PLC-技.术_网

ftp://gk:gk@deshengwu.vicp.net/工控/S7200+TD400C显示系统时间、运行时间的程序.mwp
 
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行