关于PLC与触摸屏实现翻页
近段时间开发一种机器系统,其中有一项功能是将每天的机器工作数目在触摸屏中显示出来,天数要两年;并且只要输入日期,触摸屏上就可以将任意时间的数目进行统计。我自己设计了一个程序,愿与大家分享。如有问题请指正。
l 画面讲述
本系统用的是OMRON的CQM1H-51的PLC,触摸屏用的是Pro-face的GP577R。其画面如下图1-A所见。
GUB0412VHF
图中所示的B1按下后,就可以设置统计日期;设置完后,再按一下B2,就会统计两年内任意日期内的工件数。A1下的是指示数,从1~730,A2下的是年月日,如(030528)指的是03年05月28日。A3即每天的工件数。C1是向上翻页键,C2是向上翻行键,C3是向下翻页键,C4是向下翻行键。
l 地址分布
触摸屏的系统地址从DM500开始。
A1下的数字用的是一个触摸屏中的N标签,其功能如图2-A所示。地址是触摸屏的内部地址区域,我用的是LS2000; N标签上有一个运算,从上到下分别是LS2000+1~LS2000+10。
A2下的数字用的是一个触摸屏中的两位E标签,其功能如图2-B所示。地址是PLC的内部地址区域,我用的是DM1000~1001。从上到下分别是DM1000~DM1018。
A3下的数字用的也是一个触摸屏中的两位E标签,其功能如图2-C所示。地址是PLC的内部地址区域,我用的是DM2000~2001。从上到下分别是DM2000~DM2018。
B1是触摸键,用来设定起始日期和终止日期日期。B2=22915,用来触发统计的工件数。
C1~C4用的是一个触摸屏中的T标签,其功能如图2-D所示。地址是触摸屏的内部地址区域,C1=LS50102,C2=LS50103,C3=LS50100 ,C4=LS50101。
GUB0412VHF
2-A
2-B
2-C
2-D
限于篇幅,我就不详细说明以上的图;请大家仔细看以上的图
l 触摸屏程序
Pro-face的触摸屏有D-Script Editor功能,请大家看以下的程序。
ID : 0000
Trigger : Bit Rising , Edge Bit Address : LS050100
Formula :
if ([w:LS1000]<=758)
{[w:LS1000]=[w:LS1000]+2
}
endif
Date Type : BCD Data Length : 16 Bit
此程序的是用来向下翻行,即指示值(A1)小于758时,将画面向下翻一行。
ID : 0001
Trigger : Bit Rising , Edge Bit Address : LS050101
Formula :
if ([w:LS1000]<=720)
{[w:LS1000]=[w:LS1000]+40
FFB1224SHE-BR00 EFB0812HHE 109R1248H102 M4Q045-DA05-01 109R0824E4D01 D2E140-AI09-19
AFB0412VH EFB1212SHE 9A0624H408 M4Q045-CF07-01 109S074UL 2218F/2TDHHP
BAFB0512MD AFC0812D 9S0912F4021 R2E190-A026-57 109E1724K501 6448/2PU 4
EFB0812HHE EFB1212HH-ROO 109G1212H103 R2E280-AE52-17 109P0424H6D14 TIFAN8314S
EFB0424VHD AFB0812GHE 109P0405F307 6318/2TDH4P 109P1224H102 4114N/2H3
AFB0712HB BFB03505HHA 109P0424H6D10 W2G115-AG71-12 109R0612H474 W2E200-HK38-01
AFB0624 QFR0812DE 9S0912F4021 G2E120-AR77-01 9GV1512P5M051 TYP-4656N
AFC0712DB FFB0824SHE 109P0424H320 TYP614N 109P0412H9D01 6248/19TDP
AFB0512LB AFB0612EH-F00 109P0424H3D01 624/2HH 109P0424H7D03 W2E142-BB01-01
GFC0812DW KFB1748SHT 9GV1212G403 R3G400-AK53-05 W2S130-AA03-87 109P0424H7D06 D2E097-BI56-48
AFC0612DE EFB1212SHE 109P0812H701 R2E190-A026-57 109P0405H702 W2E208-BA86-01
Date Type : BCD Data Length : 16 Bit
此程序的是用来向下翻页,即指示值(A1)小于720时,将画面向下翻一页。
ID : 0002
Trigger : Bit Rising , Edge Bit Address : LS050102
Formula :
if ([w:LS1000]>=40)
{[w:LS1000]=[w:LS1000]-40
}
endif
Date Type : BCD Data Length : 16 Bit
此程序的是用来向上翻页,即指示值(A1)大于等于40时,将画面向上翻一页。
ID : 0003
Trigger : Bit Rising , Edge Bit Address : LS050103
Formula :
if ([w:LS1000]>=2)
{[w:LS1000]=[w:LS1000]-2
}
endif
Date Type : BCD Data Length : 16 Bit
此程序的是用来向上翻行,即指示值(A1)大于等于2时,将画面向上翻一行。
ID : 0004
Trigger : Timer Fn , Timer Duration : 1
Formula :
[w:LS2000]=[w:LS1000]/2
Date Type : BCD Data Length : 16 Bit
此程序的显示指示数A1。
l PLC程序
[NETWORK]
Name="calendar"(本段是将每天的日期转换到触摸屏中)