S7-1200的指令

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章S7-1200的指令3.1位逻辑指令1.常开触点与常闭触点打开项目“位逻辑指令应用”,常开触点在指定的位为1状态时闭合,为0状态时断开。常闭触点反之。两个触点串联将进行“与”运算,两个触点并联将进行“或”运算。2.取反RLO触点RLO是逻辑运算结果的简称,中间有“NOT”的触点为取反RLO触点,如果没有能流流入取反RLO触点,则有能流流出。如果有能流流入取反RLO触点,则没有能流流出。3.线圈线圈将输入的逻辑运算结果(RLO)的信号状态写入指定的地址,线圈通电时写入1,断电时写入0。可以用Q0.4:P的线圈将位数据值写入过程映像输出Q0.4,同时立即直接写给对应的物理输出点。如果有能流流过M4.1的取反线圈,则M4.1为0状态,其常开触点断开,反之M4.1为1状态,其常开触点闭合。4.置位、复位输出指令S(置位输出)、R(复位输出)指令将指定的位操作数置位和复位。如果同一操作数的S线圈和R线圈同时断电,指定操作数的信号状态不变。置位输出指令与复位输出指令最主要的特点是有记忆和保持功能。如果I0.4的常开触点闭合,Q0.5变为1状态并保持该状态。即使I0.4的常开触点断开,Q0.5也仍然保持1状态。在程序状态中,用Q0.5的S和R线圈连续的绿色圆弧和绿色的字母表示Q0.5为1状态,用间断的蓝色圆弧和蓝色的字母表示0状态。5.置位位域指令与复位位域指令“置位位域”指令SET_BF将指定的地址开始的连续的若干个位地址置位,“复位位域”指令RESET_BF将指定的地址开始的连续的若干个位地址复位。7.扫描操作数信号边沿的指令中间有P的触点的名称为“扫描操作数的信号上升沿”,在I0.6的上升沿,该触点接通一个扫描周期。M4.3为边沿存储位,用来存储上一次扫描循环时I0.6的状态。通过比较I0.6前后两次循环的状态,来检测信号的边沿。边沿存储位的地址只能在程序中使用一次。不能用代码块的临时局部数据或I/O变量来作边沿存储位。中间有N的触点的名称为“扫描操作数的信号下降沿”,在M4.4的下降沿,RESET_BF的线圈“通电”一个扫描周期。该触点下面的M4.5为边沿存储位。6.置位/复位触发器与复位/置位触发器SR方框是置位/复位(复位优先)触发器,在置位(S)和复位(R1)信号同时为1时,方框上的输出位M7.2被复位为0。可选的输出Q反映了M7.2的状态。RS方框是复位/置位(置位优先)触发器,在置位(S1)和复位(R)信号同时为1时,方框上的M7.6为置位为1。可选的输出Q反映了M7.6的状态。8.在信号边沿置位操作数的指令中间有P的线圈是“在信号上升沿置位操作数”指令,仅在流进该线圈的能流的上升沿,该指令的输出位M6.1为1状态。其他情况下M6.1均为0状态,M6.2为保存P线圈输入端的RLO的边沿存储位。中间有N的线圈是“在信号下降沿置位操作数”指令,仅在流进该线圈的能流的下降沿,该指令的输出位M6.3为1状态。其他情况下M6.3均为0状态,M6.4为边沿存储位。上述两条线圈格式的指令对能流是畅通无阻的,这两条指令可以放置在程序段的中间或最右边。在运行时改变I0.7的状态,可以使M6.6置位和复位。9.扫描RLO的信号边沿指令在流进“扫描RLO的信号上升沿”指令(P_TRIG指令)的CLK输入端的能流(即RLO)的上升沿,Q端输出脉冲宽度为一个扫描周期的能流,方框下面的M8.0是脉冲存储位。在流进“扫描RLO的信号下降沿”指令(N_TRIG指令)的CLK输入端的能流的下降沿,Q端输出一个扫描周期的能流。方框下面的M8.2是脉冲存储器位。P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。10.检测信号边沿指令R_TRIG是“检测信号上升沿”指令,F_TRIG是“检测信号下降沿”指令。它们是函数块,在调用时应为它们指定背景数据块。这两条指令将输入CLK的当前状态与背景数据块中的边沿存储位保存的上一个扫描周期的CLK的状态进行比较。如果指令检测到CLK的上升沿或下降沿,将会通过Q端输出一个扫描周期的脉冲。在输入CLK输入端的电路时,选中左侧的垂直“电源”线,双击收藏夹中的“打开分支”按钮,生成一个串联电路。用鼠标将串联电路右端的双箭头拖拽到CLK端。松开鼠标左键,串联电路被连接到CLK端。11.边沿检测指令的比较以上升沿检测为例,P触点用于检测触点上面的地址的上升沿,并且直接输出上升沿脉冲。其他3种指令都是用来检测RLO(流入它们的能流)的上升沿。P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。其他3种指令都是直接输出检测结果。R_TRIG指令与P_TRIG指令都是用于检测流入它们的CLK端的能流的上升沿,并直接输出检测结果。其区别在于R_TRIG指令用背景数据块保存上一次扫描循环CLK端信号的状态,而P_TRIG指令用边沿存储位来保存它。12.故障显示电路【例3-1】设计故障信息显示电路,从故障信号I0.0的上升沿开始,Q0.7控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯熄灭。如果没有消失,则指示灯转为常亮,直至故障消失。设置MB0为时钟存储器字节,M0.5提供周期为1s的时钟脉冲。出现故障时,将I0.0提供的故障信号用M2.1锁存起来,M2.1和M0.5的常开触点组成的串联电路使Q0.7控制的指示灯以1Hz的频率闪烁。按下复位按钮I0.1,故障锁存标志M2.1被复位为0状态。如果故障已经消失,指示灯熄灭。如果没有消失,M2.1的常闭触点与I0.0的常开触点组成的串联电路使指示灯转为常亮,直至I0.0变为0状态,故障消失,指示灯熄灭。3.2定时器与计数器指令3.2.1定时器指令1.脉冲定时器将指令列表中的“生成脉冲”指令TP拖放到梯形图中,在出现的“调用选项”对话框中,将默认的背景数据块的名称改为T1,可以用它来做定时器的标示符。单击“确定”按钮,自动生成背景数据块。定时器的输入IN为启动输入端,PT为预设时间值,ET为定时开始后经过的当前时间值,它们的数据类型为32位的Time,单位为ms,最大定时时间为24天多。Q为定时器的位输出,各参数均可以使用I(仅用于输入参数)、Q、M、D、L存储区,PT可以使用常量。定时器指令可以放在程序段的中间或结束处。脉冲定时器用于将输出Q置位为PT预设的一段时间。在IN输入信号的上升沿启动该指令,Q输出变为1状态,开始输出脉冲,ET从0ms开始不断增大,达到PT预设的时间时,Q输出变为0状态。如果IN输入信号为1状态,则当前时间值保持不变(见波形A)。如果IN输入信号为0状态,则当前时间变为0s(见波形B)。IN输入的脉冲宽度可以小于预设值,在脉冲输出期间,即使IN输入出现下降沿和上升沿,也不会影响脉冲的输出。I0.1为1时,定时器复位线圈RT通电,定时器T1被复位。如果正在定时,且IN输入信号为0状态,将使当前时间值ET清零,Q输出也变为0状态(见波形C)。如果此时正在定时,且IN输入信号为1状态,将使当前时间清零,但是Q输出保持为1状态(见波形D)。复位信号I0.1变为0状态时,如果IN输入信号为1状态,将重新开始定时(见波形E)。2.接通延时定时器接通延时定时器TON用于将Q输出的置位操作延时PT指定的一段时间。在IN输入的上升沿开始定时。ET大于等于PT指定的设定值时,输出Q变为1状态,ET保持不变(见波形A)。IN输入电路断开时,或定时器复位线圈RT通电,定时器被复位,当前时间被清零,输出Q变为0状态。如果IN输入信号在未达到PT设定的时间时变为0状态(见波形B),输出Q保持0状态不变。复位输入I0.3变为0状态时,如果IN输入信号为1状态,将开始重新定时(见波形D)。3.关断延时定时器指令关断延时定时器(TOF)用于将Q输出的复位操作延时PT指定的一段时间。IN输入电路接通时,输出Q为1状态,当前时间被清零。在IN的下降沿开始定时,ET从0逐渐增大。ET等于预设值时,输出Q变为0状态,当前时间保持不变,直到IN输入电路接通(见波形A)。关断延时定时器可以用于设备停机后的延时。如果ET未达到PT预设的值,IN输入信号就变为1状态,ET被清0,输出Q保持1状态不变(见波形B)。复位线圈RT通电时,如果IN输入信号为0状态,则定时器被复位,当前时间被清零,输出Q变为0状态(见波形C)。如果复位时IN输入信号为1状态,则复位信号不起作用(见波形D)。4.时间累加器时间累加器TONR的IN输入电路接通时开始定时(见波形A和B)。输入电路断开时,累计的当前时间值保持不变。可以用TONR来累计输入电路接通的若干个时间段。图3-21中的累计时间t1+t2等于预设值PT时,Q输出变为1状态(见波形D)。复位输入R为1状态时(见波形C),TONR被复位,它的ET变为0,输出Q变为0状态。“加载持续时间”线圈PT通电时,将PT线圈指定的时间预设值写入TONR定时器的背景数据块的静态变量PT(”T4”.PT),将它作为TONR的输入参数PT的实参。用I0.7复位TONR时,”T4”.PT也被清0。【例3-2】用接通延时定时器设计周期和占空比可调的振荡电路。图3-22中的串联电路接通后,定时器T5的IN输入信号为1状态,开始定时。2s后定时时间到,它的Q输出使定时器T6开始定时,同时Q0.7的线圈通电。3s后T6的定时时间到,它的输出“T6”.Q的常闭触点断开,使T5的IN输入电路断开,其Q输出变为0状态,使Q0.7和定时器T6的Q输出也变为0状态。下一个扫描周期因为“T6”.Q的常闭触点接通,T5又从预设值开始定时。Q0.7的线圈将这样周期性地通电和断电,直到串联电路断开。Q0.7线圈通电和断电的时间分别等于T6和T5的预设值。5.用数据类型为IEC_TIMER的变量提供背景数据用3种定时器设计卫生间冲水控制电路。I0.7是光电开关检测到的有使用者的信号,用Q1.2控制冲水电磁阀。在符号地址为“定时器DB”的DB15中生成数据类型为IEC_TIMER的变量T1、T2、T3,用它们提供定时器的背景数据。从I0.7(有人使用)的上升沿开始,TON延时3s后其输出Q变为1状态,使TP的IN输入信号变为1状态,”定时器DB”.T2.Q提供4s的脉冲。TOF的Q输出”定时器DB”.T3.Q的波形减去I0.7的波形得到宽度为5s的脉冲波形,用两个触点的串联电路来实现上述要求。两块脉冲波形的叠加用并联电路来实现。”定时器DB”.T1.Q的常开触点用于防止3s内有人进入和离开时冲水。6.定时器线圈指令两条运输带顺序相连,按下起动按钮I0.3,1号运输带开始运行,8s后2号运输带自动起动。按了停止按钮I0.2,先停2号运输带,8s后停1号运输带。在运输带控制程序中设置了一个用起动、停止按钮控制的M2.3,用它来控制TON的IN输入端和TOF线圈。中间标有TOF的线圈上面是定时器的背景数据块,下面是时间预设值PT。TOF线圈和TOF方框定时器指令的功能相同。TON的Q输出端控制的Q0.6在I0.3的上升沿之后8s变为1状态,在M2.3的下降沿时变为0状态。所以可以用TON的Q输出端直接控制2号运输带Q0.6。T11是DB11的符号地址。按下起动按钮I0.3,TOF线圈通电。它的Q输出“T11”.Q在它的线圈通电时变为1状态,在它的线圈断电后延时8s变为0状态,因此可以用“T11”.Q的常开触点控制1号运输带Q1.1。3.2.2计数器指令1.计数器的数据类型S7-1200的计数器属于函数块,调用时需要生成背景数据块。单击指令助记符下面的问号,用下拉式列表选择某种整数数据类型。CU和CD分别是加计数输入和减计数输入,在CU或CD信号的上升沿,当前计数器值CV被加1或减1。PV为预设计数值,CV为当前计数器值,R为复位输入,Q为布尔输出。2.加计数器当接在R输入端的I1.1为0状态,在CU信号的上升沿,CV加1,直到达到指定的数据类型的上限值用,CV的值不再增加。CV大于等于PV时,输出Q为1状态,反之为0状态。第一次执行指令时,CV被清零。各

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功