LED大屏电子看板 点击:1064 | 回复:4



ASCIL01

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:1059
  • 注册:2018年3月13日
发表于:2018-09-07 13:10:46
楼主

基于STEP7-200SMART PLC在凤凰冲压设备 在线实时数据LED显示系统程序设计的心得

                                                       

本系统设计原理,看似非常简单,原理上,只是在原设备的启动、停止按钮开关上增加一对触点,用此与原设备启停的同步信号输入PLC,获知设备所处的状态:运行或停止状态;另增加一个光电接近开关,用于计数产量,再根据运行时间计算设备的生产速度、计划完成率。

从硬件上,PLC选择的6ES7-288-1ST30-0AA0,数据转换选择仰邦的BX-6QX-M控制器,对PLC输出的数据进行D/A转换,以及将数字信号载波到视频信号上,支持LED显示。

然而,本程序的难点恰恰在这两点上,首先,因为第一次使用仰邦控制器,对它信心不足(事实上,在调试时,多次求证仰邦工程师),由于它只支持MODBUS RTU 232数据格式,在调试时用了一周时间,不断求证它对MODBUS RTU协议的支持度,最后终于成功通信,其关键在于设置控制器地址,与MODBUS RTU协议地址的一一对应。

其次,时间的准确读取和记录,是本程序设计的又一关键。将采集到的启停信号进行处理,然后输出显示其状态,好象很简单,但是,如何准确地记录本系统启动、停止的时间,在线设备任意时刻的启动、停止时间呢?在线设备启动、停止时,读取系统时钟,并把它存储备用,设备运行时长、设备生产速度,计划完成率,都需要这个时间作为计算依据。

其三,在线设备任意时刻启动时,是否对上一次运行参数进行清零操作,也是需要各设备上一次停止时间,与本次启动时间的间隔时长来计算和判断。

其四,因在线设备的数量较多,编写程序时,不可能对每个设备都去写一段相同的程序来运行,这样也不符合结构化编程的原则,只能自己编写通用的子程序来处理,

我曾考虑过用中断程序来处理子程序调用,但设备数量限制了中断程序的使用,上升沿中断和下降沿中断同时用,ST30 PLC只支持几个输入点的沿中断(I0.0~I0.3),不够用。

在子程序编写中,我们又不能使用沿触发、定时器、计数器,如何解决同一时刻发生设备启动、停止事件时,都能调用子程序来处理上述时间记录和计算相关运行数据呢?最后对“同一时间”的概念,进行细分,以毫秒级来看待是不是同一时刻启动、停止,采用状态步计数和轮询方式有效解决这个问题。

本设计中有两个地方使用了这种轮询进行处理,一是设备产量计算子程序的调用,另一个是设备任意时刻启动、停止时刻,运行数据的清零判断子程序的调用。
   考虑不与被监视设备发生电气联接,没有采集原设备的输入信号和其PLC输出信号。
   本设计的成功应用,感谢技成培训曾鑫老师的耐心指导,感谢技成陈紫利老师的支持,谢谢您们的帮助!

以上,只是本次实践中的一点心得,欢迎工程师们指正,如果有更好的设计思想和解决方法,请一定赐教。





秋凌绝

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:90
  • 历史总积分:247
  • 注册:2018年9月07日
发表于:2018-09-07 20:44:13
1楼

说的太详细了,哈哈。。。有用

水浒英豪

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2011年12月21日
发表于:2018-09-11 23:23:53
2楼

我就是做LED看板的,走通讯就很简单的。

eastsun2018

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 127回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2018年8月29日
发表于:2018-09-21 14:43:50
3楼

看看了对了。

henryma

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 104回
  • 年度积分:21
  • 历史总积分:235
  • 注册:2003年12月06日
发表于:2019-09-29 13:56:36
4楼

可以任意接入DCS、PLC、传感器数据,LED屏动态实时显示文字、数值、图形






热门招聘
相关主题

官方公众号

智造工程师