现场有20套PLC(具体型号待确定,初选S7200),运用于汽车流水生产线,每一个工位需要一套PLC,所有PLC需要通过网络连接起来,最后将信号传到总控室MES系统,现场每一个工位都有一个七段数码显示屏,前面两位是工位显示(数字0---20),当任何一个工位按下将显示相应的数字,按下多个就交替显示相应的数字,后面还有四位数码显示00:00---99:99,为倒计时显示,为流水线工位运行时间和工位间隔时间倒计时,后四位将交替显示剩余工位时间和剩余间隙时间来提醒操作人员加紧安装和注意设备将再次自动运行的时间,老板为了省钱,用最简单的七段数码管来实现倒计时和工位显示的数字,原来做的一套设备只做工位显示(0---8)都已经很复杂了,因为所有的七段数字显示对应到了8个中间继电器,通过控制中间继电器来实现数字交替显示,现在这么庞大的数据如果通过中间继电器动作来实现倒计时或则工位交替显示我觉得难以实现了,各位高手有没好的方法,比如PLC有没将模拟数字直接转换成数字输出信号来实现七段数码管数字显示的这种功能呢,比如我直接将VW100里面的数据由触摸屏设定好后,只要VW100实现倒计时或者工位显示,通过什么功能指令或者其他的方式PLC直接就能转换成七段码数字输出的通断来实现相应的数字显示。望高手指点,不甚感激。
问题补充:
我需要的不是要把每种情况都列出来,而是达到效果,例如当地址VW100数据为8(或则是VB100为8时),对应到的QB0就能直接控制相应的输出位来显示出8来,而不是根据每一个数字来对应显示哪一段,那样的方法太古板而且复杂,我以前做过,我不可能把00:00----99:99中每一个数据对应哪些位一个亿的排出来控制,那不现实,我希望大家可以给一个实际的切实可行方法出来,或则偶谁做过类似的,给个方法。西门子不知道有没这种功能块。
图片说明:
最佳答案
这是我做的一个自增的数码管显示的 你可以参考一下 如果有问题可以联系我
TITLE=程序注释
Network 1 // 制作一个自增的数据 m0.0启动运行 m0.1 复位自增值
// 网络注释
LD M0.0
AN T40
AN M0.1
TON T40, VW200
Network 2 // 时间到加一
LD T40
AN M0.1
INCW VW100
Network 3 // 复位
LD M0.1
MOVW 0, VW100
Network 4 // 自增数据 除以100 把百位的值放到七段码里面去 如果需要千位万位显示则 自增值需要除以 1000 10000 等
LD SM0.0
MOVW VW100, VW104
AENO
/I +100, VW104
AENO
ITB VW104, VB60
Network 5 // 自增值 计算十位数上的值
LD SM0.0
MOVW VW104, VW106
AENO
*I +100, VW106
AENO
MOVW VW100, VW130
-I VW106, VW130
Network 6 // 十位数的值放到七段码上显示
LD SM0.0
MOVW VW130, VW108
AENO
/I +10, VW108
AENO
ITB VW108, VB70
Network 7 // 个位数在七段码上显示
LD SM0.0
MOVW VW108, VW110
AENO
*I +10, VW110
AENO
MOVW VW130, VW112
-I VW110, VW112
Network 8
LD SM0.0
ITB VW112, VB50
Network 9
LD SM0.0
SEG VB50, QB0
SEG VB70, QB1
SEG VB60, QB2
参考资料:http://wenku.baidu.com/view/81b7702b915f804d2b16c17d.html
提问者对于答案的评价:
感谢你的方法,看了之后有了思路了
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc302841.html