您现在所在的是:

欧姆龙OMRON

回帖:7个,阅读:2116 [上一页] [1] [下一页]
707
aapii
文章数:2
年度积分:50
历史总积分:707
注册时间:2011/8/11
发站内信
发表于:2011/8/12 10:31:20
#0楼
本人刚从事PLC开发,算是学习和准备阶段吧,用的是omron CP1H-XA40DT-D
以前做单片机C51和汇编的,熟悉实时任务调度系统概念。
我看了一下PLC的任务概念貌似就是内部cpu对任务的轮询处理,和单片机概念一致。
了解了一下概况,对指令掌握不够深入,需要多看多做一些案例来了解细节.
现在碰到一个案例提到的SNXT和STEP指令,看了编程手册后有一些疑问,想请教各位:
1、工序步进控制概念很好理解,实际生产线最需要。问题是程序角度怎么理解。
如图所示(编程手册的案例截图)
附件
这里的反复执行工序A 我的理解是每次程序执行时,执行一遍工序A,然后跳过后边的所有工序进入后续梯形图,而不是相当于for/while循环。这部分理解没错的话请给予确认。即便如此,如果推进到B工序,下次执行直接从B工序执行?前面的代码都跳过?这岂非相当于一个入口指针之类。
2、对于指令的执行时序上也有些疑问,好比TIM定时器,如图:
附件
这里按顺序执行和任务轮询的思路,岂非每次执行这段程序都要启动一遍定时器(只要0.00有效)。按理反推,或许定时器在计数结束前不接受新的设置,指令说明里没提到啊
37237
cvlsam 版主
文章数:12401
年度积分:1589
历史总积分:37237
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2011/8/12 14:13:53
#1楼
步进么就相当于C语言的Switch语句而已。
5581
心情 版主
文章数:1633
年度积分:50
历史总积分:5581
注册时间:2001/6/6
发站内信
09工控人生征文
发表于:2011/8/12 14:24:14
#2楼
第一个是这样.一旦步序SNXT(09)被执行,步序将持续,直到步执行结束指令:无控制位的STEP(08)为止.也就是说条件A满足执行的程序中应该有B或者是C等条件为1的情况,因为执行步序的目的是让程序中部分程序一步接一步的执行才使用的.那么如此一步接一步执行直到无条件的STEP(08)为止,完成一个步序程序段.
如果不是使用步序的功能,那不要用这种指令.
第二个,其实和你的单片机类似,你在计数时总有个中间转存的寄存器吧,PLC里的计时也一样,每个扫描周期时,计时器的中间值是在内部保存的,你单片机不也是如此吗
23805
wushulin 版主
文章数:6168
年度积分:238
历史总积分:23805
注册时间:2006/2/17
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
西门子PLC体验(一)
我秀我做2014
2013论坛优秀版主
秀秀我的办公桌
晒工控工具书
2012论坛优秀版主
2011国庆活动
2010年度论坛贡献奖
发表于:2011/8/12 20:32:18
#3楼
我极少做步进(SFC)程序,所以象OMRON  和松下的,虽说都在用,但就是不太记得这些指令是怎么写的了。SFC格式的程序,有时也好用,但更多的时间是不好用。
汽车车桥生产在线检测设备;其它大批量零件生产过程检测,
承接:非标自动化设备设计、旧设备改良与维修; 单独非标项目合作。
530
dianzishijie6
文章数:-3
年度积分:50
历史总积分:530
注册时间:2011/7/29
发站内信
发表于:2011/8/13 14:29:25
#4楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>
707
aapii
文章数:2
年度积分:50
历史总积分:707
注册时间:2011/8/11
发站内信
发表于:2011/8/15 10:44:22
#5楼
谢谢几位的解答
理解加深!
核对指令文档后发现关于定时器的问题不存在了,他是靠上升边沿触发的。

关于SNXT问题的补充:
如果按图例满足a条件执行A工序(循环),满足b条件执行工序B(循环),满足C条件执行工序C(循环),满足d条件退出步进控制,这样作为程序执行流程也是可以的,无非是多几个while。但是我看过另外一些案例后推翻了这种理解方式--在每个工序之间启动定时器,时间到了再进入下个工序。这种时间都是10S数量级以上的。程序的一个环节某一次执行不可能循环等待10S,所以我想案例视图中的循环执行应该是工序状态而非某一时间片的执行流程。
这是SNXT指令的执行流程理解。在这个基础上,使用指令应当没问题了。从另一个角度讲,PLC内部最终还是个单片机,梯形图还是靠CPU指令系统来执行的,SNXT指令的执行由于存在时效性,我希望理解他是如何被解析/控制执行的。

PLC结构有系统程序区,我想这大概就是指令解析系统。
从SNXT指令的文档上看,有点和IL/ILC指令类似,因为“进入下一个步进后,对之前的工序(继电器)ON->OFF,对下一工序(继电器)OFF->ON” 貌似根据步进进度会对前面代码做锁定,但即便如此,指令解析系统还是要做代码段互锁标记设置吧!
3456
1143799064
文章数:1372
年度积分:50
历史总积分:3456
注册时间:2010/10/25
发站内信
发表于:2011/8/15 14:05:09
#6楼
不如梯形图的容易理解
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/7/30
发站内信
发表于:2011/8/15 17:21:56
#7楼
该用户被锁定,回复内容不予显示!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005