12021/4/7-§3-6~§3-7位逻辑指令、定时器与计数器指令§3S7-1200PLC的程序设计基础陈庆彬E-mail:cqb@fzu.edu.cn福州大学电气工程与自动化学院-3.6位逻辑指令常开触点、常闭触点、取反触点输出线圈、取反输出线圈复位、置位区域置位、区域复位复位优先锁存器、置位优先锁存器上升沿检测触点、下降沿检测触点上升沿检测线圈、下降沿检测线圈上升沿触发器、下降沿触发器-3.6位逻辑指令——3种边沿检测指令的功能以上升沿检测为例:在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指令。-3.7定时器指令——定时器的基本功能2/2tttt输入信号IN脉冲定时器输出信号接通延时定时器输出信号断开延时定时器输出信号保持型接通延时定时器输出信号-3.7定时器指令——定时器的输入输出参数1/4TP、TON和TOF定时器具有相同的输入和输出参数。TONR定时器具有附加的复位输入参数R。可创建自己的“定时器名称”来命名定时器数据块,还可以描述该定时器在过程中的用途。RT指令可重置指定定时器的定时器数据。-3.7定时器指令——定时器的输入输出参数4/4定时器PT和IN参数值变化TP定时器运行期间,更改PT没有任何影响。定时器运行期间,更改IN没有任何影响。TON定时器运行期间,更改PT没有任何影响。定时器运行期间,将IN更改为FALSE会复位并停止定时器。TOF定时器运行期间,更改PT没有任何影响。定时器运行期间,将IN更改为TRUE会复位并停止定时器。TONR定时器运行期间更改PT没有任何影响,但对定时器中断后继续运行会有影响。定时器运行期间将IN更改为FALSE会停止定时器但不会复位定时器。将IN改回TRUE将使定时器从累积的时间值开始定时。-3.7定时器指令——脉冲定时器TP时序图-3.7定时器指令——接通延时定时器TON时序图-3.7定时器指令——断开延时定时器TOF时序图-3.7定时器指令——保持型接通延时定时器TONR时序图-3.7定时器指令——举例1/6用接通延时定时器设计周期和占空比可调的振荡电路。M2.7只接通一个扫描周期,振荡电路实际上是一个有正反馈的电路,两个定时器的输出Q分别控制对方的输入IN,形成了正反馈。振荡电路的高、低电平时间分别由两个定时器的PT值确定。-2s3s一个扫描周期I1.1M2.7Q0.73.7定时器指令——举例2/6-3.7定时器指令——举例3/6用3种定时器设计卫生间冲水控制电路。-3.7定时器指令——举例4/63s4sI0.7M2.0Q1.0M2.15s-3.7定时器指令——举例5/6两条运输带顺序相连,为避免运送的物料在1号运输带上堆积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带,8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。-3.7定时器指令——举例6/68s8sI0.3I0.2M2.3Q0.6Q1.1-3.7计数器指令——计数器的数据类型S7-1200有3种计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。如果需要速率更高的计数器,可以使用CPU内置的高速计数器。调用计数器指令时,需要生成保存计数器数据的背景数据块。CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实际计数值CV加1或减1。复位输入R为1时,计数器被复位,CV被清0,计数器的输入Q变为0。-3.7计数器指令——计数器的输入输出参数参数数据类型说明CU、CDBOOL加计数或减计数,按加或减一计数R(CTU、CTUD)BOOL将计数值重置为零LOAD(CTD、CTUD)BOOL预设值的装载控制PVSInt、Int、DInt、USInt、UInt、UDInt预设计数值Q、QUBOOLCV=PV时为真QDBOOLCV=0时为真CVSInt、Int、DInt、USInt、UInt、UDInt当前计数值-3.7计数器指令——加计数器CTU:参数CU的值从0变为1时,CTU使计数值加1。如果参数CV(当前计数值)的值大于或等于参数PV(预设计数值)的值,则计数器输出参数Q=1。如果复位参数R的值从0变为1,则当前计数值复位为0。PV=3-3.7计数器指令——减计数器CTD:参数CD的值从0变为1时,CTD使计数值减1。如果参数CV(当前计数值)的值等于或小于0,则计数器输出参数Q=1。如果参数LOAD的值从0变为1,则参数PV(预设值)的值将作为新的CV(当前计数值)装载到计数器。PV=3-3.7计数器指令——加减计数器1/2CTUD:加计数(CU,CountUp)或减计数(CD,CountDown)输入的值从0跳变为1时,CTUD会使计数值加1或减1。如果参数CV(当前计数值)的值大于或等于参数PV(预设值)的值,则计数器输出参数QU=1。如果参数CV的值小于或等于零,则计数器输出参数QD=1。如果参数LOAD的值从0变为1,则参数PV(预设值)的值将作为新的CV(当前计数值)装载到计数器。如果复位参数R的值从0变为1,则当前计数值复位为0。-3.7计数器指令——加减计数器2/2PV=423-§3-4下载用户程序§3S7-1200PLC的程序设计基础-3.4下载用户程序通过CPU与运行STEP7Basic的计算机的以太网通信,可以执行项目的下载、上传、监控和故障诊断等任务。一对一的通信不需要交换机,两台以上的设备通信则需要交换机。CPU可以使用直通的或交叉的以太网电缆进线通信。-3.4下载用户程序——设置计算机网卡的IP地址计算机也CPU的子网地址一般采用默认的192.168.0.2,第4个字节是子网内设备的地址。子网掩码一般采用默认的255.255.255.0。-3.4下载用户程序——组态CPU的PROFINET接口设置的地址在下载后才起作用。-3.4下载用户程序——下载项目到新出厂的CPU1/4选择计算机中使用的网卡选中该选项计算机与CPU无连接-CPU在线网络中的CPU原IPCPU上的LED会闪烁3.4下载用户程序——下载项目到新出厂的CPU2/4组态的新IP-3.4下载用户程序——下载项目到新出厂的CPU3/4-3.4下载用户程序——下载项目到新出厂的CPU4/4新IP-3.4下载用户程序——利用快捷菜单下载1/2-3.4下载用户程序——利用快捷菜单下载2/2-3.4下载用户程序——上载程序块将下面在线的“程序块”文件夹拖放到上面离线的“程序块”文件夹:-3.4下载用户程序——上传硬件配置将CPU连接到编程设备,创建一个新的项目;添加一个新设备,但要选择“非特定的CPU1200”,而不是选择特定的CPU;执行菜单命令“在线”“硬件检测”,打开“PLC-1的硬件检测”对话框。选中“目标子网中的可访问设备”列表中的PLC-1,点击“上载”,上传CPU和所有模块的组态信息。在设备视图中可以看到上传的模块,如果已经为CPU分配了IP,将会上传该IP地址,但是不会上传其他设备(例如模拟量I/O的属性)。必须在设备视图中手动组态CPU和各模块的配置。35-§3-5用STEP7Basic调试程序§3S7-1200PLC的程序设计基础-3.5调试程序有两种调试用户程序的方法:程序状态监视与监视表。程序状态可以监视程序的运行,显示程序中操作数的值和网络的逻辑运算结果,查找到用户程序的逻辑错误,还可以修改某些变量的值;使用监视表可以监视、修改和强制用户程序或CPU内的各个变量,可以在不同的情况下向某些变量写入需要的数值来测试程序或硬件。例如为了检查接线,可以在CPU处于STOP模式时给物理输出点指定固定的值。-3.5调试程序——程序状态监视1/2与PLC建立好在线连接后,打开需要监视的代码块,点击工件栏上的,启动程序状态监视。启动程序状态监控后,梯形图用绿色实线来表示状态满足,用蓝色虚线表示状态不满足,用灰色实现表示状态未知。-3.5调试程序——程序状态监视2/2用鼠标右键点击程序状态中的某个变量,执行出现的“修改”“修改为1”或“修改为0”。不能修改连接外部硬件输入电路的I的值。-3.5调试程序——监视表使用程序状态功能,可以在程序编辑器中形象直观地监视梯形图程序的执行情况,触点和线圈的情况一目了然。但是程序状态监控功能只能在屏幕上显示一小块程序,调试较大的程序时,往往不能同时看到与某一程序功能有关的全部变量的状态。监视表(WatchTable)可以有效地解决上述问题。使用监视表可以在工作区同时监视、修改和强制用户感兴趣的全部变量。一个项目可以生产多个监视表,以满足不同的调试要求。监视表可以赋值或显示的变量包括I、Q、I_:P、I_:P、M和数据库DB内的存储单元。-3.5调试程序——监视表功能监视变量:显示用户程序或CPU中变量的当前值;修改变量:将固定值赋给用户程序或CPU中的变量,这一功能可能会影响到程序运行结果;对物理输出赋值:允许在停机状态下将固定值赋给CPU的每一个物理输出点,可用于硬件调试时检查接线;强制变量:给物理输入点/物理输出点赋一个固定值,用户程序的执行不会影响被强制的变量;可以选择在扫描循环周期开始、结束或切换到STOP模式时读写变量的值;-3.5调试程序——用监视表监视变量与CPU建立在线连接后,点击工具栏上的按钮,启动“监视全部”功能,将在“监视值”列连续显示变量的动态实际值。再次点击该按钮,将关闭监视功能。点击工具栏上的按钮,可以对所选变量的数值作一次立即更新,该功能主要用于STOP模式下的监视和修改。-3.5调试程序——用监视表修改变量1/2监视全部立即一次性监视所有值立即修改使用触发器修改-3.5调试程序——用监视表修改变量2/2RUN模式修改变量时,各变量同时又受到用户程序的控制。假设用户程序运行的结果使Q0.0的线圈断电,用监视表不可能将Q0.0修改和保持为1状态。在RUN模式不能改变I区分配给硬件的数字量输入点的状态,因为它们的状态取决于外部输入电路的通/断状态。-3.5调试程序——用监视表在STOP模式下改变物理输出的状态在调试设备时,利用在STOP模式改变物理输出的状态,检查输出点连接的过程设备的接线是否正确。如果有输入点或输出点被强制,则不能使用这一功能。为了在STOP模式下允许物理输出,应取消强制功能。切换到扩展模式启用外围设备输出-3.5调试程序——定义监视表的触发器触发器用来设置在扫描循环的哪一点来监视或修改选中的变量,可以选择在扫描循环开始、扫描循环结束或从RUN模式切换到STOP模式时监视或修改某个变量。触发器类型描述永久(permanent)连续采集数据在扫描循环开始时永久:在扫描循环开始时,在CPU读取输入之后连续采集数据仅一次:在扫描循环开始时,在CPU读取输入之后采集一次数据在扫描循环结束时永久:在扫描循环结束时,在CPU写输出之前连续采集数据仅一次:在扫描循环结束时,在CPU写输出之前采集一次数据切换到STOP时永久:在CPU切换到STOP模式时连续采集数据仅一次:在CPU切换到STOP模式时采集一次数据-3.5调试程序——用监视表强制变量1/4可以用监视表给用户程序中的单个变量指定固定的值,称为强制(Force)。S7-1200PLC只能强制物理I/O点,例如I0.0:P,I0.0:P。在测试用户程序时,可以通过强制I/O点来模拟物理条件,例如用来模拟输入信号的变化。在执行用户之前,强制值被用于输入过程映像,在处理程序时,使用的是输入点的强制值。在写物理输出点时,强