找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
PLC:6ES7 515-2AN03-0AB0
高速工艺模块:6ES7 551-1AB01-0AB0
高速脉冲模块配置成Capture方式,
使用外接1KHz的方波信号接DI0端触发得到Capture值;
外接高速脉冲500KHz的方波信号作为计数信号。
(定义数组,放Capture值(数组大小100),在后加的OB30中用到)
=======================================================================
问题:当没有使用OB30时候,测试高速模块正常,Capture值得到了500(1ms=500计数值,因为计数脉冲
500KHz)
但是,当我建立OB30中断程序(中断时间1ms),在中断程序中,读取高速脉冲模块的CaptureValue时候,PLC故障(经检查,使用了赋值语句后错
"TD01_Data".TD01_Data["TD01_Data".num] := "High_Speed_Counter_1".CapturedValue;)
下图中
1. 第一个图,是在OB30中没有赋值语句时候的在线监测高速模块画面,显示是正确的。
2. 第二个图,是在加了OB30后,PLC红灯时候的缓冲区内容:错误的原因如下:
“ OB30中区域长度错误:访问地址所寻址的值超出或未完全包含在所允许的范围”
===============================================================
3. 第三个图,是OB30中断程序(其实很简单,就是每中断一次,就依次把CapyureValue放入数组)。
4. 第四个图,定义的数组(放Capture值用),数据类型是DINT,与第五图中高速模块的CaptureValue完全
一致的
有了OB30,为什么PLC会故障而停止运行呢?数据类型也是一致的,为什么呢???!!!
哪位工程师给看看问题出在哪里?
=======================================================================
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城