查看: 2091|回复: 11
收起左侧

[应用问题] AM402中型PLC的高速计数器的数值如何实现断电保持?

yangliu 2021-12-20 14:37:37 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
请教各位现测试一个增量式编码器A/B/Z相,使用HC_Counter;HC_PresetValue指令能正常读取编码器的数值变化,但是断电后重新通电编码器数值又重新为零。保存编码器数值的变量为保持型变量。




上一篇:AM403
下一篇:汇川AM400系列如何将数组相邻的两个字节转换成实数,用什么指令

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

商同学 2021-12-21 09:36:31 | 显示全部楼层
应该是可以的,上电首次接通时将寄存器的数值给到别的寄存器,这样试一下
回复 送花

使用道具 举报

王德位 2021-12-21 16:34:52 | 显示全部楼层
楼主分享一下编码器计数程序案例,我需要学习一下
回复 送花

使用道具 举报

leeyinfeng 2021-12-21 21:38:11 | 显示全部楼层
实现这个功能不难!
上电后用一个定时器,定时1秒。定时器定时未到,将断电保存寄存器的编码器值用HC_PresetValue功能块写进当前值。1秒定时到,再将当前值赋值到断电保存寄存器。这样就可以实现高速计数器值断电保存了。
SoMachine同样用这个方法实现断电保存。按理来说,所有基于Codesys的软件都应该可以用这种方法实现。
回复 送花

使用道具 举报

yangliu 2021-12-22 08:22:50 | 显示全部楼层
在第一扫描周期时将掉电保持型变量初始值赋值给计数器预置值并初始化计数器 在其他周期将计数器值赋值给变量。上机测试没有问题。
回复 送花

使用道具 举报

zbc831006 2021-12-22 11:05:21 | 显示全部楼层
我们家的是这样子写的

// 编码器数据处理
IF 开机脉冲=TRUE THEN    //开机第一周期写入关机前吸盘位置至编码器计数中
        HC_PRESEVALUE_0(Counter:=HS_Counter0, TriggerType:= 0, Execute:= , PresetValue:= 吸盘位置记录, Done=> , Error=> , ErrorID=> );
        开机脉冲 :=FALSE;
        ELSE               //读取吸盘位置
        HC_Counter_0(Counter:= HS_Counter0, Enable:= , Direction:= , Valid=> , CounterValue=>吸盘位置 , Frequency=> , RPM=> , Error=> , ErrorID=> );
        吸盘位置记录:=吸盘位置;
END_IF;
回复 送花

使用道具 举报

yangliu 2021-12-23 08:19:44 | 显示全部楼层
zbc831006 发表于 2021-12-22 11:05
我们家的是这样子写的

// 编码器数据处理

问题已经解决,多谢各位的指导!
回复 送花

使用道具 举报

lu823653011 2022-5-10 15:33:18 | 显示全部楼层
zbc831006 发表于 2021-12-22 11:05
我们家的是这样子写的

// 编码器数据处理

这个开机脉冲是怎么来的呀
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部