本文内容基于somachine v4.3版本编写,所用控制器型号:lmc058lf42,外接编码器型号:xcc-1406pr01k
lmc058控制器本体提供:
2 个嵌入式专用 i/o 模块(dm72f0 和 dm72f1),该模块具有:
5 路快速输入
2 路常规输入
2 路快速输出
如下图所示,在somachine中dm72f0&dm72f1可配置的高速计数和编码器类型如下:
专用功能分配标准及最大数量如下:
从配置类型来说,lmc058高速计数可以配置为:
event_latch
该功能可以配置为两种情况:
锁存(缺省):
锁存是一种可以分配给快速输入的功能,该功能用于记忆(或锁存)持续时间短于扫描周期的所有脉冲,如果某个脉冲短于一次扫描,控制器将锁存该脉冲,而该脉冲将在下一次扫描时更新,且该锁存机制只能识别上升沿,下降沿不能锁存,锁存效果如下图:
下面的时序图显示了锁存的效果:
简单的来说就是:锁存允许捕捉和记录持续时间短于控制器扫描时间的传入脉冲。当输入到达状态 1 时,此状态保持不变,直到 mast 任务读取输入。
需要特别注意的是:锁存仅在mast任务中可以被使用。
每个专用模块(dm72f0 或dm72f1)最多可以配置4路event_latch(如下图所示)
事件:
事件检测可在跳变沿上启动事件任务。 事件任务”可由上升沿、下降沿或这两种输入(i0 到 i3)触发。
具体操作步骤如下:
配置di点,如下图所示,配置i0为event_latch0,模式为事件,上升沿触发。
在应用程序树中新建一个task任务,类型选择“外部”,触发使用block0_i0。
配置完成后,将需要被事件触发的pou添加到task任务下,当plc检测到i0上升沿时,该pou被触发运行。
hscsimple
hscsimple就是单个输入计数器,配置成simple类型可以支持两种类型的输入模式:
一次性(one-shot):在此模式下,a输入上每应用一次脉冲,计数器当前值寄存器就会(从用户定义的值)递减一次,直到计数器达到 0。(硬件配置如下图所示)
在配置好输入后,我们可以使用“hscsimple_lmc058”功能块对其进行操作。
功能块引脚定义如下:
触发功能块后,可以看到输出管脚currentvalue管脚的值会从配置中的预设值开始不断减小,直到0为止。
需要注意的是ack_modulo管脚可以复位计数值为初始值,但需要重新触发enable和sync。
2、模数回路(modulo-loop):在此模式下,计数器从 0 计数到用户定义的模数值,然后返回到 0 并重新启动计数,周而复始,反复执行。(硬件配置如下图所示)
程序当中用到的功能块与上面相同。
另外假如需要在程序当中修改计数器的预设值的话可以使用“expertsetparam”功能块。
功能块引脚定义如下:
其中param参数管脚可以修改的参数具体如下:
这里我以修改hscsimple0的模数值为例,将模数值改为1000。将“要写入的参数”改为“expert_modulo”,“参数值”改为1000。然后出发功能块即可。
写入完成后,done管脚会置true。
写入完成。
Vishay推出采用先进Power DFN系列DFN3820A封装的额定电流高达4 A的标准稳压器
深度理解神经网络黑盒子:可验证性和可解释性
在这个信息化的时代 工业控制常用的DSP竞争将越来越激烈
特斯拉明年将发布一款电动越野摩托车 预计2021年年底开始量产
粮食镉大米重金属检测仪概述及技术参数
LMC058嵌入式IO高速计数器有什么功能?详细实例讲解
如何实现用Python开发FPGA?
安芯教育和重庆邮电大学联合举办的4天智能互联实训班顺利结业
泰凌微电子Zephyr编译环境搭建
腾讯微视回应120GB一夜爆满:日志组件出现Bug导致,已经第一时间修复
锐龙9 3900X降压测试 1.0V电压下功耗降低40%
云安全的新战场上,如何打破“云威胁”的阴霾?
ios10.3.2正式版怎么样?ios10.3.2也许是老设备的最后一个版本?你升级了吗
还不赶快投资捞一笔 2017不买比特币返贫,比特币暴涨23500人民币创历史新高
微机保护装置的特点说明
汽车传感器有哪些 智能传感器十大应用
ZC706千兆网测试(ZYNQ,FreeRTOS,Echo,lwIP,TCP,RGMII)
中国和意大利将在伊朗合作建设太阳能发电厂
fpga最小系统设计和原理图解析
NB-IoT网络商用还看智能抄表 智能抄表领头羊企业分析