1、I/O分配:
输入元件SB1,输入点假设0.0
输入元件SB2,输入点假设0.1
输出元件灯1~6,输出点1.1~1.6
2、I/O接线图,是指PLC的梯形图吧
这个编程不难,是纯的顺序控制,没有模拟量。
不知道你PLC的品牌,思路如下:
问题A:
首先按下SB1按钮时,1.1、1.3.、1.5输出灯亮2秒,然后1.2、1.4、1.6输出灯亮2秒,如此循环。
编程的思路之一:
当0.0有输入时,2秒计数器CNT1开始计时,同时1.1-3-5产生输出。CNT1的完成标志常闭点串入1.1、1.3、1.5的输出(这3个输出可以并联同时动作)回路,当CNT1计时结束后,将自动切断1.1-3-5。同时CNT1的完成标志常开点启动1.2、1.4、1.6的输出(这3个输出也并联在一起同时动作),再同时启动CNT2也是2秒的计数器,当CNT2计数器结束后,切断1.2-4-6输出的同时,复位CNT1。就是说由CNT2完成标志复位CNT1,CNT1完成标志复位CNT2。
编程的思路之二:
建立一个计数器,时间设定值为4秒,按下按钮开始计时的同时启动1.1-3-5,判定计时器当前值为2时,停止1.1-3-5,同时启动1.2-4-6,当前值为0时停止1.2-4-6,同时自复位计数器,也可以实现循环。
问题B:
按下SB2时,6个灯分三组,2秒顺序闪亮,这个用问题A的思路2很容易解决,时间设定值为6秒,当前值为4、2时做判断。
SB1 SB2是输放其它都是输出