本篇我们来介绍一下西门子S7-1200 PLC的上升沿和下降沿指令的应用,通过一个具体案例来演示这些指令的运作方式。
首先,我们提到的上升沿/下降沿指令主要包括P型触点和N型触点、P型线圈和N型线圈、P型触发器和N型触发器。
P型触点和N型触点的工作原理如下:两者均检测一个BOOL型变量(bit)的跳变沿。其中,M_bit是一个BOOL型变量,用于存储前一个输入状态。当P型触点检测到bit的位数据值从0变为1的正跳变时,该触点会在一个扫描周期内闭合;而N型触点则是在检测到bit的位数据值从1变为0的负跳变时,同样在一个扫描周期内闭合。
P型线圈和N型线圈的工作机制类似:bit变量指示了检测到跳变沿的输出位,而M_bit用于存储前一个输入状态。P型线圈在检测到其前面逻辑状态由0变为1的正跳变时,会将bit的位数据值在一个扫描周期内设置为1;N型线圈则在检测到逻辑状态由1变为0的负跳变时,将bit的位数据值在一个扫描周期内设置为1。
至于P型触发器和N型触发器,M_bit变量存储了前一个输入状态。P型触发器在检测到CLK输入的逻辑状态由0变为1的正跳变时,会在一个扫描周期内将Q输出设置为1;而N型触发器则在检测到CLK输入的逻辑状态由1变为0的负跳变时,将Q输出设置为1。
现在,我们通过一个实例来展示这些指令的实际应用。假设我们有一个瞬动按钮I0.6,每当我们按下它时,Q0.0会接通,再次按下时,Q0.0会断开,如此往复。
第一步是编写程序。我们打开PLC下的程序块文件夹,并在主程序块中使用SR指令。我们为置位或复位的结果设置了一个地址M0.0,并为其生成了变量名称TAG_1。然后,在Q输出端添加了一个输出线圈,其地址为Q0.0。在S输入端,我们使用了P型触点来捕捉I0.6的正跳变,并与Q0.0的常闭触点串联,以确保在Q0.0为0时,按下I0.6会使Q0.0置位为1。类似地,在R1输入端,我们使用P型触点来检测I0.6的正跳变,但这次是与Q0.0的常开触点串联,以实现当Q0.0为1时,按下I0.6会使Q0.0复位为0。完成这些步骤后,我们保存了项目。
第二步是编译并下载程序到PLC。我们选择PLC_1,点击编译按钮进行编译,然后点击下载按钮将程序下载到PLC。
最后一步是检查程序的运行情况。通过点击监控按钮,我们可以观察程序的执行情况。当我们按下按钮I0.6时,Q0.0会接通;再次按下时,Q0.0会断开,如此反复。