(已结束)工控PLC擂台第5期--在触摸屏上显示设备运行时间。云锋建议删除该贴!!|收藏|回复|2010-09-2610:43:26楼主编写PLC程序,实现对设备运行时间及运行次数的统计,时间包括上次运行时间和总的运行时间。并编辑相应触摸屏(或其他)画面加以显示。要求能自动或人工复位各统计数据。PLC及显示终端品牌不限。工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。总记录数33总页数1当前页11引用|回复|2010-09-2611:43:031楼ILOVEIU楼主要求的可是一个比较系统的项目,还要画面,最好规定PLC和触摸屏型号,这样,比较起来也规范引用|回复|2010-09-2612:09:382楼云锋回复内容:对:ILOVEIU关于楼主要求的可是一个比较系统的项目,还要画面,最好规定PLC和触摸屏型号,这样,比较起来也规范内容的回复:只需要一个项目中的某一小部分,主要涉及到PLC与触摸屏的通讯。触摸屏画面的话,一个画面就可以实现题目要求。PLC和触摸屏品牌不限。引用|回复|2010-09-2613:06:443楼ye_w不一定要使用触摸屏,文本屏也行吧,这样的功能使用触摸屏有点...1、硬件配置使用ABBAC500系列PM581-ETH+DX522(8DI/8DO)+CP502(ABBCP400系列的文本屏)+CAB57(CP502与PM581-ETH的串口通讯线)这里要说明一下,文本屏不使用常规的用法,文本屏只是作为带按键的显示终端使用,这可是少见的。大家走着瞧吧。2、IO说明这里的IO只有1哥DX522这个输入输出模块,该模块8路输入和8路输出。3、串口通讯设置4、主程序TimCou使用任务模式来调用,使用100ms的任务来调用。5、程序部分5.1主程序5.2画面配置与显示画面配置显示效果引用|回复|2010-09-2616:14:044楼云锋回复内容:对:ye_w关于不一定要使用触摸屏,文本屏也行吧,这样的功能使用触摸屏有点...内容的回复:嗯,题目中已指出,其他显示终端也可以。只要能将统计数据显示出来。引用|回复|2010-09-2621:36:375楼老菜鸟这个程序还是有点麻烦的,我记得我以前发过一个TD400C显示当班运行时间、累积运行时间的帖子,还是有些程序步的。下面我把以前工程的程序其中部分贴出来。引用|回复|2010-09-2721:58:156楼老菜鸟系统硬件配置如下:PLC:西门子S7-200CN;CPU226CNREL02.01;AC100~230V电源/DC24V输入/继电器输出;订货号6ES7216-2BD23-0XB8;固件02.01Build2;ASIC:01.00。文本显示器:TD400C;订货号6AV66640-0AA00-0AX0;自带9芯TD/CPU电缆;版本:1.0.0.3。S7-200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7-200CPU之间的距离小于2.5米时,采用TD/CPU电缆的方式进行供电;当TD400C与S7-200CPU之间的距离超过2.5米时,使用外部电源供电并使用PROFIBUS组件连接网络)。系统软件配置如下:S7-200参数设置:在“系统块”的“断电数据保持”中设置VW1600以后2000个单元为断电数据保持。TD400C参数设置:TD400C地址:1CPU地址:2参数块地址:0波特率:9.6KHSA:31GUF: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个字的存储器留作备用。引用|回复|2010-09-2721:59:517楼老菜鸟引用|回复|2010-09-2809:35:248楼云锋先透露一下大奖标准了:PLC程序截图+显示画面编辑截图+画面中的元件变量关联截图。。。引用|回复|2010-09-2817:37:559楼大话东游老菜鸟要夺得大奖了!恭喜引用|回复|2010-09-2819:14:3410楼ye_w老菜鸟的回答与楼主的要求不同,楼主要求的是上次运行时间和总运行时间。另外还有运行次数。引用|回复|2010-09-2822:22:5011楼老菜鸟确实如楼上所说,因为我没有去弄,只是把以前工程上的东东转贴过来,偷懒的,嘿嘿。。。。。。引用|回复|2010-09-3014:17:2612楼云锋节后结帖。大家注意时间。引用|回复|2010-09-3015:04:5713楼lovexp只做个单片机在电脑上显示时钟,PLC还没做过,学习了。引用|回复|2010-09-3021:51:2314楼8803硬件配置:S7-200+TP177A引用|回复|2010-09-3021:53:2815楼8803硬件配置:S7-200+TP177A引用|回复|2010-09-3021:55:5316楼8803硬件配置:S7-200+TP177A引用|回复|2010-10-0323:01:0017楼彩虹TO老菜鸟:你写的显示系统时钟后存储时已经是BCD码了,你还用BCD_I指令,在TD400C上显示系统时钟也不是那样写的吧???引用|回复|2010-10-0323:11:4318楼彩虹TO老菜鸟:你用SM0.0去读取系统时钟,我认为用SM0.5的上升沿去读取好一点(即一秒读取一次系统时钟)引用|回复|2010-10-0415:09:5119楼老菜鸟引用彩虹的回复内容:TO老菜鸟:你写的显示系统时钟后存储时已经是BCD码了,你还用BCD_I指令,在TD400C上显示系统时钟也不是那样写的吧???-------------------------------------------------引用彩虹的回复内容:TO老菜鸟:你用SM0.0去读取系统时钟,我认为用SM0.5的上升沿去读取好一点(即一秒读取一次系统时钟)1、这个程序是工程中在正常使用的程序,几年了,基本没发现什么问题,所以说来应该没有什么原则性的错误。2、当然,该程序可能不是最好的,这需要详细去分析该程序有哪些缺点,怎么去完善。3、条条道路通罗马,采用哪种方案都可以实现,所以程序不是唯一的。引用|回复|2010-10-0500:30:4120楼彩虹引用|回复|2010-10-0500:33:4821楼彩虹引用|回复|2010-10-0500:35:1822楼彩虹引用|回复|2010-10-0500:52:3023楼彩虹这期的擂台我就不打了,其实这期的是很简单的一个题,我以上发的可供大家参考一下,写程序一定要清晰明了,可读性要强才是好程序,没有最好只有更好!!!学习中要多查资料参考参考才能写的更好!!!TO老菜鸟:我说的不对之处还忘见谅!!!技术吗取长补短,才有进步!!!大家相互学习。引用|回复|2010-10-0509:06:2224楼老菜鸟不存在,你太客气了。。。。。。引用|回复|2010-10-0616:39:5225楼碧海引用ILOVEIU的回复内容:楼主要求的可是一个比较系统的项目,还要画面,最好规定PLC和触摸屏型号,这样,比较起来也规范引用|回复|2010-10-0616:42:1426楼碧海这个比较简单,我也来试试PLC用三菱的FX,触摸屏用三菱的G1275.明天应该可以做好引用|回复|2010-10-0616:58:1827楼胡立桦见识学习了!好东西....引用|回复|2010-10-0623:15:0028楼yangjun12580见识了,好东西。学习了。引用|回复|2010-10-0708:28:5329楼ahui885好东西。学习了。希望更多的高手参加引用|回复|2010-10-0709:48:2830楼zyw3166很多高手都来参加吧!要定个标准。引用|回复|2010-10-0721:02:3831楼苏锡好好学习,天天向上。