廊坊S7-1200PLC西门子代理商原装现货 廊坊S7-1200PLC,西门子S7-1200plc,西门子PLC代理
高速计数器的初始化顺序示例
在下列初始化和操作顺序中,HSCI1用做模型计数器。初始化假定S7-200刚进入RUN(运行)模式,因此,第一次扫描内存位为真。否则,在进入RUN(运行)模式后,对于每个高速计数器HDEF指令只能执行一次。对高速计数器第二次执行HDEF产生运行时错误,不会以第一次执行HDEF时为此计数器设置的方式改变计数器设置。
1.初始化模式0、模式1或模式2
为具有内部方向(模式0、模式1或模式2)的单相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用第一次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序,随后的扫描不再调用子程序,这可以减少扫描执行时间。
(2)在初始化子程序中,将需要的控制操作输入SMB47。例如,SMB47 = 16#F8产生下列结果:
启用计数器:
●写新当前值:
●写新预设值:
●方向为向上计数:
●设置启动和重设输入到现用高速计数器。
(3)执行HDEF指令,HSC输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为0;对于外部重设和无启动为1:对于外部重设和启动为2。
(4)用期望的当前值(用0载入以清除它)载入SMD48(双字大小数值)。
(5)用期望的预设值载入SMD52(双字大小数值)。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件(事件13,见表5-34)连接到中断程序。
(7)为了捕获外部重设事件,通过将外部重设中断事件(事件15,见表5-34)连接到中断程序。
(8)执行全局中断启用指令(ENI)来启用中断。
(9)执行HSC指令
(10)退出子程序。
2.初始化模式3、模式4或模式5
为具有外部方向(模式3、模式4或模式5)的单相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用第一次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间和提供更多的结构程序。
廊坊S7-1200PLC西门子代理商原装现货 廊坊S7-1200PLC,西门子S7-1200plc,西门子PLC代理
(2)在初始化子程序中,根据期望的控制操作载入SMB47。例如,SMB47=16#F8产生下列结果:
●启用计数器:
●设置HSC的初始方向为向上计数;
●设置开始和重设输入为现用高速计数器。
(3)执行HDEF指令,HSC输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为3:对于外部重设和无启动为4:对于外部重设和启动为5。
(6)为了捕获当前值等于预置事件,通过将CV =PV中断事件(事件13,见表5-34)连接到中断程序。
(7)为了捕获外部方向改变,通过将方向改变中断事件(事件14,见表5-34)连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件(事件15,见表5-34)连接到中断程序。
(9)执行全局中断启用指令(END)来启用中断。
(10)执行高速计数器指令。
(11)退出子程序
3.初始化模式6、模式7或模式8
为具有向上/向下时钟(模式6、模式7或模式8)的双相向上/向下计数器初始化HSC1按下列步骤进行:
(2)在初始化子程序中,根据期望的控制操作载入SMB47.例如,SMB47=16#F8产生下列结果:
●设置高速计数器的初始方向为向上计数:
(3)执行HDEF指令,高速计数器输入设置为1,“模式”设置为下列之一:对于无外部重设或启动为6;对于外部重设和无启动为7;对于外部重设和启动为8。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件(事件13)连接到中断程序。可参考关于中断的部分
(7)为了捕获外部方向改变,通过将方向改变中断事件(事件14)连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件(事件15)连接到中断程序。
(9)执行全局中断启用指令(ENI)来启用中断。
(11)退出子程序。
4.初始化模式9、模式10或模式11
为A/B相正交计数器(模式9、模式10或模式11)初始化HSC1按下列步骤进行:
(1)使用第一次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间并提供更多的结构化程序。
(2)在初始化子程序中,根据期望的控制操作载入SMB47。
示例(1x计数模式):SMB47=16#FC产生下列结果:
●写新当前值
●写新预设值
示例(4X计数模式):SMB47=16#F8产生下列结果:
●启用计数器
写新预设值:
廊坊S7-1200PLC西门子代理商原装现货 廊坊S7-1200PLC,西门子S7-1200plc,西门子PLC代理
●设置高速计数器的初始方向为向上计数;
(3)执行HDEF指令,高速计数器输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为9:对于外部重设和无启动为10:对于外部重设和启动为11。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件(事件13,见表5-34)连接到中断程序。关于中断处理的细节可参考启用中断(ENI)部分。
(7)为了捕获方向改变,通过将方向改变中断事件(事件14,见表5-34)连接到中断程序。
(10)执行高速计数器指令。
5.在模式0、模式1或模式2中改变方向
在模式0、模式1或模式2中改变方向按下列步骤进行:
(1)载入SMB47以写期望的方向:SMB47=16#90,启用计数器,设置高速计数器的方向为向下计数
SMB47=16#98启用计数器,设置高速计数器的方向为向上计数。
(2)执行高速计数器指令以引发S7-200对HSC1编程
6.载入新当前值(任何模式)
更换当前值强制当改变进行时计数器禁用。当计数器禁用时,它不计数或产生中断,
改变HSCI的计数器当前值(任何模式)按下列步骤进行:
(1)载入SMB47以写期望的当前值:SMB47=16#C0,启用计数器,写新当前值。
(2)用期望的当前值(用0载入以清除它)载入SMD48(双字大小数值)。
(3)执行HSC指令
7.载入新预设值(任何模式)
改变HSC1的预设值(任何模式)按下列步骤进行:
(Il)载入SMB47以写期望的预设值:SMB47=16#A0,启用计数器,写新预设值
(2)用期望的预设值SMD52(双字大小数值)。
(3)执行HSC指令。
8.禁用高速计数器(任何模式)
禁用HSCI高速计数器(任何模式)按下列步骤进行:
(1)将SMB47载入到禁用计数器:SMB47=16#00,禁用计数器。
(2)执行高速计数器指令以禁用计数器。
高速计数器指令示例如图5-72所示。