西门子S7-200授权总经销商 6ES7288-6EC01-0AA0 S7-200 SMART 延长电缆
6ES7288-6EC01-0AA0 SIMATIC S7-200 SMART, 延长电缆 两行结构 用于 EM,SR CPU,1m |
初始化模式6、7或8 HSC1为具有增/减两种时钟的两相增/减计数器(模式6、7或8),初始化步骤如下: 1. 用初次扫描存储器位(SM0.1=1)调用执行初始化操作的子程序。由于采用了这样的子程序调 用,后续扫描不会再调用这个子程序,从而减少了扫描时间,也提供了一个结构优化的程序。 2. 初始化子程序中,根据所希望的控制操作对SMB47置数。例如: SMB47 = 16#F8 产生下列结果: 启用计数器 写新当前值 写新预设值 将HSC的初始方向设为向上计数 将启动和复位输入设为高电平有效 3. 在HSC输入设为1,MODE设为下列其中一个数值时,执行HDEF指令:6用于无外部复位或启 动,7用于外部复位和无启动,或8用于外部复位和启动。 4. 向SMD48 (双字)写入所希望的初始值(若写入0,则清除)。 5. 向SMD52 (双字)写入所希望的预设值。 6. 为了捕获当前值(CV)等于预设值(PV)中断事件,编写中断子程序,并指定CV=PV中断事件(事 件13)调用该中断子程序。参看本章中断一节,以了解中断处理的细节。 7. 为了捕获计数方向改变中断事件,编写中断子程序,并指定计数方向改变中断事件(事件14)调 用该中断子程序。 8. 为了捕获外部复位事件,编写中断子程序,并指定外部复位中断事件(事件15)调用该中断子 程序。 9. 执行全局中断允许指令(ENI)来允许HSC1中断。 10. 执行HSC指令,使S7--200对HSC1编程。 11. 退出子程序。 初始化模式9、10或11 HSC1为A/B相正交计数器(模式9、10或11),初始化步骤如下: 1. 用初次扫描存储器位(SM0.1=1)调用执行初始化操作的子程序。由于采用了这样的子程序调 用,后续扫描不会再调用这个子程序,从而减少了扫描时间,也提供了一个结构优化的程序。 2. 初始化子程序中,根据所希望的控制操作对SMB47置数。 实例(1x计数模式): SMB47 = 16#FC 实例(4x计数模式): SMB47 = 16#F8 产生下列结果: 启用计数器 写新当前值 写新预设值 将HSC的初始方向设为向上计数 将启动和复位输入设为高电平有效 产生下列结果: 启用计数器 写新当前值 写新预设值 将HSC的初始方向设为向上计数 将启动和复位输入设为高电平有效 129 S7-200可编程序控制器系统手册 3. 在HSC输入设为1,MODE输入设为下列其中一个数值时,执行HDEF指令:9用于无外部复位 或启动,10用于外部复位和无启动,或11用于外部复位和启动。 4. 向SMD48 (双字)写入所希望的初始值(若写入0,则清除)。 5. 向SMD52 (双字)写入所希望的预设值。 6. 为了捕获当前值(CV)等于预设值(PV)中断事件,编写中断子程序,并指定CV=PV中断事件(事 件13)调用该中断子程序。参见本章中断一节,以了解中断处理的细节。 7. 为了捕获计数方向改变中断事件,编写中断子程序,并指定计数方向改变中断事件(事件14)调 用该中断子程序。 8. 为了捕获外部复位事件,编写中断子程序,并指定外部复位中断事件(事件15)调用该中断子 程序。 9. 执行全局中断允许指令(ENI)来允许HSC1中断。 10. 执行HSC指令,使S7--200对HSC1编程。 11. 退出子程序。 初始化模式12 HSC0为PTO0产生的脉冲计数(模式12),初始化步骤如下: 1. 用初次扫描存储器位(SM0.1=1)调用执行初始化操作的子程序。由于采用了这样的子程序调 用,后续扫描不会再调用这个子程序,从而减少了扫描时间,也提供了一个结构优化的程序。 2. 初始化子程序中,根据所希望的控制操作对SMB37置数。例如: SMB37 = 16#F8 产生下列结果: 启用计数器 写新当前值 写新预设值 将方向设为向上计数 将启动和复位输入设为高电平有效 3. 执行HDEF指令时,HSC输入置0,MODE输入置12。 4. 向SMD38(双字)写入所希望的初始值(若写入0,则清除)。 5. 向SMD42(双字)写入所希望的预设值。 6. 为了捕获当前值(CV)等于预设值(PV)中断事件,编写中断子程序,并指定CV=PV中断事件(事 件12)调用该中断子程序。参看本章中断一节,以了解中断处理的细节。 7. 执行全局中断允许指令(ENI)来允许HSC1中断。 8. 执行HSC指令,使S7--200对HSC0编程。 9. 退出子程序。 改变模式0、1、2或12的计数方向 对具有内部方向(控制模式0、1、2或12)的单相计数器HSC1,改变其计数方向的步骤如下: 1. 向SMB47写入所需的计数方向: SMB47=16#90 允许计数 置HSC计数方向为减。 SMB47=16#98 允许计数 置HSC计数方向为增 2. 执行HSC指令,使S7--200对HSC1编程。 130 第6章 S7-200指令集 写入新的初始值(任何模式下) 在改变初始值时,迫使计数器处于非工作状态。当计数器被禁止时,它既不计数也不产生中断。 以下步骤描述了如何改变HSC1的初始值(任何模式下): 1. 向SMB47写入新的初始值的控制位: SMB47=16#C0 允许计数 写入新的初始值 2. 向SMD48 (双字)写入所希望的初始值(若写入0,则清除)。 3. 执行HSC指令,使S7--200对HSC1编程。 写入新的预设值(任何模式下) 以下步骤描述了如何改变HSC1的预设值(任何模式): 1. 向SMB47写入允许写入新的预设值的控制位: SMB47=16#A0 允许计数 写入新的预设值 2. 向SMD52 (双字)写入所希望的预设值。 3. 执行HSC指令,使S7--200对HSC1编程。 禁止HSC(任何模式下) 以下步骤描述了如何禁止HSC1高速计数器(任何模式): 1. 写入SMB47以禁止计数: SMB47=16#00 禁止计数 2. 执行HSC指令,以禁止计数。 131 S7-200可编程序控制器系统手册 132 实例:高速计数器指令 M A I N Network1//在首次扫描,调用SBR_0 LDSM0.1 CALLSBR_0 S B R 0 Network1//在第一次扫描时,配置HSC1: //1.启用计数器。 //--写初始值。 //--写预设值。 //--设初始方向为增计数。 //--选择启动和复位输入高电平有效。 //--选择4倍速模式。 //2.使用复位和启动输入为HSC1 //配置正交模式。 //3.清除HSC1的当前值。 //4.将HSC1预设值设为50。 //5.当HSC1当前值=预设值时, //将事件13连接至中断程序INT_0。 //6.全局中断启用。 //7.编程HSC1。 LDSM0.1 MOVB16#F8,SMB47 HDEF1,11 MOVD+0,SMD48 MOVD+50,SMD52 ATCHINT_0,13 ENI HSC1 I N T 0 Network1//编程HSC1: //1.清除HSC1的当前值。 //2.选择只写新当前值, //且HSC1保持启用。 LDSM0.0 MOVD+0,SMD48 MOVB16#C0,SMB47 HSC1 第6章 S7-200指令集 脉冲输出指令 定位控制 脉冲输出指令(PLS)用于在高速输出(Q0.0和Q0.1)上控制脉冲 串输出(PTO)和脉宽调制(PWM)功能。 改进的位控向导可以创建为您的应用程序定制的指令,这可以 简化您的编程任务并充分利用S7-200CPU的特有特性。关于 位控向导的更多信息,参见9章。 可以继续使用旧的PLS指令创建您自己的运动应用,但是只有 改进的位控向导创建的指令才支持PTO上的线性斜坡。 PTO可以输出一串脉冲(占空比50%),用户可以控制脉冲的周 期和个数。 PWM可以输出连续的、占空比可调的脉冲串,用户可以控制脉冲的周期和脉宽。 S7--200有两个PTO/PWM发生器,它们可以产生一个高速脉冲串或者一个脉宽调制信号波形。一个生 成器分配给数字输出点Q0.0,另一个生成器分配给数字输出点Q0.1。一个指定的特殊存储(SM)位置 存储每个发生器的下列数据:一个控制字节(8位数值)、一个脉冲计数值(无符号32位数值)、一个周期 和脉冲宽度值(无符号16位数值)。 PTO/PWM生成器和进程图像寄存器共享使用Q0.0和Q0.1。当PTO或PWM功能在Q0.0或Q0.1激活, PTO/PWM生成器控制输出,正常使用输出点禁止。输出信号波形不受过程映像区状态、输出点强制 值或者立即输出指令执行的影响。当不使用PTO/PWM发生器功能时,对输出点的控制权交回到过程 映像寄存器。过程映像寄存器决定输出信号波形的起始和结束状态,以高低电平产生信号波形的启动 和结束。 表6--32 输入/输出 脉冲输出指令的有效操作数 数据类型 操作数 Q0.XWORD常数: 0(=Q0.0) 或 1(=Q0.1) 提示 在使能PTO或者PWM操作之前,将Q0.0和Q0.1过程映像寄存器清0。 所有控制位、周期、脉宽和脉冲计数值的缺省值均为0。 PTO/PWM的输出负载至少为10%的额定负载,才能提供陡直的上升沿和下降沿。 编程提示 请参阅资料光盘上应用示例中使用PLS指令进行PTO/PWM操作的程序。见应用示例7、22、23、 30和 50。