登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:求助:怎样读取高速计数器的当前值?
点击:10201 回复:13
楼主
编辑
引用
管理
wangyu_422
我用MOVD HC0,VD0 这条指令为何不能读出高速计数器的当前值,要想把当前值读出来是不是用这样的指令呢?非常急!!!请各位高手帮忙,小弟谢了。
04-09-27 18:55
1楼
编辑
引用
管理
ZHTOK
对啊!
04-09-27 20:01
2楼
编辑
引用
管理
ersacn
程序对,你是不是没有配置HSC0口或输入点接错?
04-09-28 11:25
3楼
编辑
引用
管理
dzfa
引用
wangyu_422
在 2004-9-27 18:55:00 发言
【内容省略】
指令没有错,请检查一下高速计数是否已初始化为正确的类型并激活,同时外部线路是否无任何问题。
04-09-28 11:25
4楼
编辑
引用
管理
wangyu_422
我不明白你说的:“没有配置HSC0口”是什么意思。我用status Chart检查HC0的值是我所输的脉冲数。但是MOVD的输出值却是0,脉冲是从I0.0输入的,接线没问题。谢谢各位的指导。
04-09-29 14:39
5楼
编辑
引用
管理
dzfa
即然用status Chart检查HC0的值是所输的脉冲数,说明计数没问题,那就看看程序中是否有别的地方使用的地址与VD0相同或部分重叠,导致输出的脉冲数复覆盖吧
04-09-29 18:26
6楼
编辑
引用
管理
wangyu_422
NETWORK 1 //NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//
LD SM0.1
R Q0.0, 2
MOVB 16#F8, SMB37
MOVD +0, SMD38
MOVD +2000, SMD42
HDEF 0, 0
HSC 0
CALL 0
NETWORK 2
MEND
NETWORK 3
SBR 0
NETWORK 4
LD SM0.0
MOVD HC0, VD0
MOVD +1444, VD6
AD>= VD0, VD6
= Q0.0
NETWORK 5
RET
04-09-30 10:27
7楼
编辑
引用
管理
wangyu_422
在这个最简单的程序中VD0的值仍然是0,而这时的HC0的值是我输入的脉冲数。VD0的值不会被复盖呀,在加载程序之前我把以前的程序都clear了的。真不知是什么原因,是不是我的PLC有问题,我用的是S7-200,CPU214。郁闷死了。谢谢dzfa的回复。
04-09-30 10:34
8楼
编辑
引用
管理
dzfa
子程序仅调用一次就不再调用了吧
04-09-30 15:01
9楼
编辑
引用
管理
wangyu_422
感谢dzfa的帮助,是子程序调用的问题,谢谢
04-09-30 18:36
上一页
下一页
工控新闻
中控与华为共筑工业 AI 全球竞争优势
筑牢工业安全防线 彰显自主创新实力——大连LNG火气系统全国产化改造成功投用
西门子发布两款SIMATIC IPC新品
2025年广东GDP达14.58万亿,工业增长不及预期
和利时携手富春环保的能效升级之路
宁德时代与泉州市签署合作协议,共建智能零碳电池工厂
西门子收购 Canopus AI,将人工智能量测技术引入半导体制造领域
劳斯莱斯SMR与横河电机携手,为小型模块化核反应堆交付数据处理与控制系统
更多新闻资讯