本帖最后由 wuqingsheng 于 2023-9-4 09:42 编辑
目标:M226ES高数计数器模式0的使用 一、前期准备 1.PLC编程软件:Magicworks PLC2.29, 2.库ct_HSC_lib(v3.1),软件自带 3.CTMC M226ES,固件3.11及以上 二、模式0的介绍 HSC0-HSC9都支持模式0,本例以HSC0为例。 以下是模式0的时序图
三、HSC0硬件接线配置 注意:(1)接线的I点配置根据实际编码器的信号线选择 (2)复位信号可以不接,可以用程序调用库ct_HSC_lib(v3.1)清零; (3)同一个输入点不能作用于多个高速计数器,只能作用于一个高速计数器; (4)一个没有配置过的输入可以任意配置为计数器的任意输入信号; (5)已配置的点,需要程序调用库ct_HSC_lib(v3.1)才能激活HSC功能; (6)如果程序中使用HSC_REMAP,HSC配置就失效了。HSC配置和HSC_REMAP库二选一来配置。 方式1.HSC0硬件配置I点接线 在Magic Works PLC【硬件组态】®【工具】®【HSC配置】配置HSC输入点。 方式2.HSC0使用库指令映射I点配置,调用库ct_HSC_lib(v3.1)中的指令HSC_REMAP 调用此库后硬件配置的会失效,以这个为准,本例和硬件配置一致(可以和硬件组态的配置不同)为例
三、库指令调用 1.程序中启用HSC0设置 设置HSC0控制字,多段位置使用和计数模式 注:如果中途需要清除或改变CV值,在HSC_200的CV设置需要的值后,重新触发一下生效; (1)多段位置参数设置,不需要可以删掉 (2)初始化HSC0,调用库ct_HSC_lib(v3.1)中的指令HSC_200 (3)HSC0模式设置,调用库ct_HSC_lib(v3.1)中的指令HSC_SETMODE 2.程序中读当前CV值 使用库指令读取CV值,调用库ct_HSC_lib(v3.1)中的指令HSC_GETCV 注:直接读高速计数器HC0也可以读到当前CV值
3.程序中读当前速度频率 (1)设置时间测速窗口TIME_WINDOW参数,调用库ct_HSC_lib(v3.1)中的指令HSC_SETPARAMETER
(2)读取速度频率,单位Hz,调用库ct_HSC_lib(v3.1)中的指令HSC_GETSPEED 4.程序中读产生中断的最近一次的PV值 调用库ct_HSC_lib(v3.1)中的指令HSC_GETPV 5.程序中程序中锁存值处理 (1)设置锁存窗口LOCK_WINDOW参数,即两次锁存允许触发的脉冲数间隔,设为0相当于没间隔, 调用库ct_HSC_lib(v3.1)中的指令HSC_HSC_SETPARAMETER
(2)获取锁值,锁存捕捉信号由实际I点触发,强制I点无效。调用库ct_HSC_lib(v3.1)中的指令HSC_GETLOCK
(3)清除锁值,调用库ct_HSC_lib(v3.1)中的指令HSC_LOCKCLEAR (4)清除锁存窗口,可以加快下一次锁存捕捉,如果利用捕捉信号清除,相当于锁存窗口设置为0, 调用库ct_HSC_lib(v3.1)中的指令HSC_WINDOW_CLEAR
6.程序中读当前高速计数器的状态 调用库ct_HSC_lib(v3.1)中的指令HSC_GETSTA
7.多段位置中断程序(如果不需要,可以去掉) (1)绑定中断,激活中断事件
(2)中断程序,处理中断事件
|