另外时间变量如果需要使用首先要如下设置,在Tools中勾选Step Elapsed Time:
激活后,可以使用以下时间变量:
SequenceName.MaxStepTime: time类型,定义每步最大允许时间
SequenceName.Check:bool类型,激活/取消当前步时间
SequenceName.StepTimedOut: bool类型,步骤超时,只有在
SequenceName.Ckeck激活才有效
SequenceName.T:Time类型,每步运行时间
SeqReady:条件满足接下来编写顺控逻辑(FBD格式): 后可以启动顺控
Startbutton:启动按钮 Stopbuttonn:停止按钮 S2.X:第2步,等待时间 S3.X:第3步,满足条件后执行动作1 S4.X:第4步,满足条件后执行动作2
S5.X:第5步,满足条件后执行动作3 动作3完成后结束顺控 8
指令输出:
硬件连接如下:
动作1,连接到硬件比如电磁阀 动作2 动作3 启动和停止按钮 3个输出指令 8
4. 脉冲发生器及定时器
有时候程序中需要用到闪烁信号,可以用定时器来实现(西门子可以通
过CPU设置时钟),也可以直接用功能块pulsegenerator,以下为脉冲发生器说明:
当enable为1时启用,PluseTime为ture时间,PeriodTime为false时间,out为输出,此时为周期4秒持续1秒的脉冲。
时序图
常用定时器:
Ton(延时启动)和Tof(延时断开):常用于传感器异常时做的延时处理。
如下,当TestBoolIn触发时,由于Ton,必须等待TestTime时间后才会导通,同理TestBoolOut1也需等待时间后信号消失。
而TestBoolOut2则只要当输入TestBoolIn来一下脉冲后,后续不管输入状态,都输出TestTPTime的时间,然后TestBoolOut2信号消失
8
5. 单按钮启停
原理图如下,需要2个中间继电器和1个接触器;当第一次按下SB1时,KA1通,KM通;当第二次按下SB1时,由于KM线圈得电,此时KM常开触点导通,因此KA1不会得电,KA2得电,断开KM;依次循环实现单按钮启停。
上图全靠继电器就显得电路比较复杂,我们可以通过PLC程序实现。 基本原理:通过累加器储存按键次数,当按第一次输出1,第二次复位,同时清零计数;依次循环,如下: 按钮 按一次,TestOut置1,再按一次,TestOut置0,依次循环
8
输出
当然,ABB有自带的库函数使用,如下: 此功能块同样实现按一下Out为1,再按一下Out为0 通过PLC实现单按钮启停,电路图就十分简单了:
在硬件通道强制值,查看效果 8