目的:用plc和触摸屏(威纶通)控制8个指示灯。
要求:8个指示灯无序动作,也可以是4个指示灯无序动作,动作的顺序可以在触摸屏上设置,动作的时间间隔也可以设置。
示例:如果是8个灯动作,比如最常见的是1-2-3-4-5-6-7-8-1.这种是简单明显的,但是可以通过PLC和触摸屏我可以把顺序控制成1-3-4-2-5-6-7-8,也可以5-6-7-1-2-3-4-8.。。。。。。。依次规律进行。如果是4个灯动作,顺序也是可以设置,动作如上规律。
回复:编程思路是这样:
在触摸屏内设置8个字节存储器:VB100~VB107和1个字存储器CW20,且与PLC通讯。
1、其VB100~VB107这8个字节存储器分别作为8个灯泡的选中标志区:VB100为第1灯泡的选中标志区,VB101为第2个点亮灯泡的选中标志区,……VB107为第8个点亮灯泡的选中标志区。这8个灯的标志存储器的置数内容分别置数为0~7这8个数字(互不重复):旗置数=0的存储器对应的灯为第1个点亮,置数=1的存储器对应的灯为第2个点亮 ……置数=7的存储器对应的灯为第8个点亮。触摸屏可对VB100~VB107随意设定0~7这8个数,就可实现对这8个灯动作顺序的随意改变。
2、用定时器T101作自振荡器,其定时时间不设为具体数值,而用VW20代替,其VW20可由触摸屏设定,这样就可实现动作的时间间隔也可以随时设置的作用。
3、顺序随意控制的构思:为实现8个灯能按各自标示区(即VB100~VB107)置数的大小依次点亮,实现的办法是采用一个计数器(MB10),计数器由0开始,按给定的间隔进行加1计数,加到数=8立即请0,重新由0作加1计数。这样:MB10的值将在0~7这8个数字变化,在计数过程中,又时时用计数器的计数值(MB10)与VB100~VB107的值进行比较,与MB10值相等的标示区对应的灯亮,如:当MB10=0时,如VB103=0,则使VB103对应灯(Q0.3)为第一个点亮,接着MB10=1,如 VB00=1,则使VB100对应灯(Q0.0)为第二个点亮……从而实现按8个标示区的数由0、1、2…7,依次点亮。按上述2、3二点思路进行编程就是本程序的编程技巧之处。下面用S7-200编程如下,供你参考: