文档详情

博途1200课程第24讲:高速计数器演示模拟量&PWM量概念

TH****3P
实名认证
店铺
PPTX
2.39MB
约26页
文档ID:199618321
博途1200课程第24讲:高速计数器演示模拟量&PWM量概念_第1页
1/26

博途1200课程-第24讲,-高速计数器演示,-模拟量&PWM量概念,1高速计数器 S7-1200 CPU提供了最多6个(1214C)高速计数器,其独立于CPU的扫描周期进行计数可测量的单相脉冲频率最高为100KHz,双相或A/B相最高为 30KHz,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能什么时候使用高速计数器? 1、需要测量的脉冲频率超过了普通计数器的频率,(PLC周期) 2、需要快速响应计数结果(eg. CV=PV interrupt),光电隔离,数字量滤波,脉冲捕捉,过程印象区,普通计数器:,高速计数器:,光电隔离,数字量滤波,高速计数芯片,各型号编码器:,2高速计数器工作模式 高速计数器定义为5种工作模式 : 计数器,外部方向控制 单相计数器,内部方向控制 双相增/减计数器,双脉冲输入 A/B相正交脉冲输入 监控PTO输出 每种高速计数器有两种工作状态 外部复位,无启动输入 内部复位,无启动输入 所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到CPU中即可启动高速计数器,在A/B相正交模式下可选择1X(1倍) 和4X(4倍)模式,高速计数功能所能支持的输入电压为24V DC,目前不支持5V DC的脉冲输入,表1列出了高速计数器的硬件输入定义和工作模式,单相脉冲:,AB相脉冲:,1200各型号PLC高速计数资源:,高速计数器比较和选择:,高速计数器硬件输入定义与工作模式,并非所有的CPU都可以使用6个高速计数器,如1211C只有6个集成输入点,所以最多只能支持4个(使用信号板的情况下)高速计数器。

由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式 高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入 例如:如果将 HSC1 设置为计数器模式 1,其中需要输入 I0.0 和 I0.3,则可将 I0.1 用于沿中断或用于 HSC2 例如:如果设置 HSC1 和 HSC5,则计数和频率计数器模式总是会用到输入 I0.0 (HSC1) 和 I1.0 (HSC5) 因此,运行计数器时,以上两个输入不能用于任何其它功能如果使用数字信号板,则可使用一些附加输入 监控PTO的模式只有HSC1和HSC2支持,使用此模式时,不需要外部接线,CPU在内部已作了硬件连接,可直接检测通过PTO功能所发脉冲3高速计数器寻址 CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问 这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外 设地址的方式,读取到当前时刻的实际值。

以ID1000为例,其外设地址为“ID1000:P”下表所示为高速计数器寻址列表 :,4频率测量 S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新 的频率值的时间间隔返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位 5高速计数器指令块 高速计数器指令块,需要使用指定背景数据块用于存储参数下图所示为高速计数器指令块 :,CTRL_HSC(控制高速计数器)指令: CTRL_HSC 指令(针对通用计数):每个 CTRL_HSC(控制高速计数器)指令都使用 DB中存储的结构来保存计数器数据在编辑器中放置 CTRL_HSC指令后分配 DB使用“控制高速计数器”指令,可以对参数进行设置并通过将新值加载到计数器来控制 CPU 支持的高速计数器 指令的执行需要启用待控制的高速计数器 对于指定的高速计数器,无法在程序中同时执行多个“控制高速计数器”指令 使用“控制高速计数器”指令可以将以下参数值加载到高速计数器: 1、计数方向 (NEW_DIR): 计数方向定义高速计数器是加计数还是减计数。

计数方向通过输入 NEW_DIR 的以下值来定义: 1 = 加计数,-1 = 减计数 只有通过程序参数设置方向控制后,才能使用“控制高速计数器”指令更改计数方向 输入 NEW_DIR 指定的计数方向将在置位输入 DIR 位时装载到高速计数器 2、计数值 (NEW_CV): 计数值是高速计数器开始计数时使用的初始值 计数值的范围为 -2147483648 到 2147483647输入 NEW_CV 指定的计数值将在置位输入 CV 位时装载到高速计数器 3、参考值 (NEW_RV): 可以通过比较参考值和当前计数器的值,以便触发一个报警 与计数值类似,参考值的范围为 -2147483648 到 2147483647 输入 NEW_RV 指定的参考值将在置位输入 RV 位时装载到高速计数器 4、频率测量周期 (NEW_PERIOD): 频率测量周期通过输入 NEW_PERIOD 的以下值来指定: 10 = 0.01s,100 = 0.1s,1000 = 1s如果为指定高速计数器组态了“测量频率”功能,那么可以更新该时间段 输入 NEW_PERIOD 中指定的时间段将在置位输入 PERIOD 位时装载到高速计数器。

例:为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能 针对此应用,选择CPU 1211C,高速计数器为:HSC1模式为:单相计数,内部方向控制,无外部复位据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用 组态步骤: 1、先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤 2、添加硬件中断块,关联相对应的高速计数器所产生的预置值中断 3、在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数 4、将程序下载,执行功能,CTRL_HSC_EXT(控制高速计数器(扩展)指令: 利用 CTRL_HSC_EXT指令,程序可以按指定时间周期访问指定高速计数器的输入脉冲数量该指令使得程序可以以纳秒级精度确定输入脉冲之间的时间长度 要使用 CTRL_HSC_EXT 指令,请按下列步骤操作: 1. 为 Period 模式组态相关的高速计数器 选择所需要的运行阶段。

如果选择内部方向控制,则可以释放用于其它用途的方向输入 2. 将 CTRL_HSC_EXT 拖放至梯形图程序中,该操作会同时创建一个背景数据块CTRL_HSC_EXT_DB 3. 创建一个 User Global_DB=ex: MYDB(CTRL_HSC_EXT 的输入参数)该数据块含有该 SFB 所需要的信息 4. 在 MYDB 中,找到一个空行,并添加变量 Name=Ex: My period 5. 输入 HSC_Period 以添加数据类型 (下拉控件目前没有该选项)必须由用户正确地输入该名称 6. 检查 MyPeriod 变量现在是否是一个可以扩展的通信数据结构 7. 在梯形图指令 CTRL_HSC_EXT: CTRL 控点上附加背景数据块变量 MYDB.MyPeriod使用系统数据类型 HSC_Period: 对于周期测量,“控制高速计数器(扩展) ”(Control high-speed counter (extended) 指令支持系统数据类型 SDT 381“HSC_Period”HSC_Period 结构元素定义 ElapsedTime 返回当前周期测量间隔最后一个脉冲和前一个周期测量间隔最后一个脉冲之间的间隔时间(单位:纳秒)。

若 EdgeCount = 0, 则 ElapsedTime 为自最后一个脉冲算起的累计时间ElapsedTime的范围为 0 至 4,294,967,280 纳秒(0 x0000 0000 至 0 xFFFF FFF0) 返回值若为429496295 (0 xFFFF FFFF),则表示出现周期溢出 自 0 xFFFF FFF1 至 0 xFFFFFFFE 的值为保留值如果 ElapsedTime 为 0 (没有收到输入脉冲)或 0 xFFFFFFFF(出现周期溢出),则 EdgeCount 中的值无效 EdgeCount 返回最近一个测量间隔的输入脉冲的数量 EdgeCount 必须大于等于“1”才能计算脉冲之间的间隔时间 该周期采用以下公式计算: 周期 =ElapsedTime/EdgeCountHSC 输入通道选择 使用以下表格并确保连接的 CPU 和 SB 输入通道可以支持过程信号中的最大脉冲速率 CPU 和 SB 输入通道(V4 或更高版本的固件)具有可组态的输入滤波时间 早期固件版本具有无法更改的固定 HSC 输入通道和固定滤波时间 V4或更高版本可以分配输入通道和滤波时间。

对于过程信号来说,默认的输入滤波器设置6.4 ms 可能过慢必须针对 HSC 应用优化 HSC 输入的数字量输入滤波时间,模拟量: 模拟量输入:,编码器一圈1000脉冲 电机以600转/分钟速度运转 求编码器输出频率,。

下载提示
相似文档
正为您匹配相似的精品文档