ctjh900801
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 129 点
下载积分: 563 分
在线时间: 6(小时)
注册时间: 2013-01-11
最后登录: 2013-09-09
查看ctjh900801的 主题 / 回贴
楼主  发表于: 2013-01-17 16:30
图片:
小弟最近开始使用OMRON的PLC 之前在学校学的是三菱的PLC 

踏入业界后 开始接触到不同的PLC 也就是OMRON

但是看了机台编写的程序  发现PLC明明可以使用步进阶梯图的指令

型号是CP1H-x型的PLC  我发现这颗PLC可以使用 SNXT/STEP的步进指令

相当于三菱的SET/STL指令  但是我看编写的程序却不使用这个步进指令

而是使用SET/RSET W暂存区的做法  去达到SFC的控制精神  可是这样编写的话

就要多花精神去想其它的逻辑  我打听到会这样用SET/RSET W暂存区的用法

是因为这样的写法运行的周期会比使用SNXT/STEP的步进指令 运行周期还要短

现在碰的这台机器  PLC型号是CP1H-X 系列的

规划这台机器的工程师就是SET/RSET  W暂存区 去规划步进点

我目前写了两支程序 分别用步进指令SNXT/STEP和用SET/RSET的方法去规划的步进动作

实机测试的结果发现SNXT/STEP 所耗的周期时间确实比较长

照片上传大家可以比较一下  并且我将程序和规划的动作流程都放在压缩文件

大家可以下载实际测试一下

所以基本上如果用这种方式去规划的话  耗的周期较长  会发生什么问题?

我想了一下 大概只有该发送出去的信号 来不急发送出去 可能会发生一些冲突吧

大家针对这种问题  有什么好的解套的技巧吗?


附件: 步进写法比较.rar (16 K) 下载次数:495
网站提示: 请不要用迅雷下载附件,容易出错
asmoshd
级别: 家园常客
精华主题: 0
发帖数量: 516 个
工控威望: 607 点
下载积分: 33716 分
在线时间: 410(小时)
注册时间: 2008-08-05
最后登录: 2024-12-25
查看asmoshd的 主题 / 回贴
1楼  发表于: 2013-01-17 22:16
使用SET   RSET 可定速度快。步进程序SNXT/STEP不好用,我很少用,效率太低。对于能把握SET RESET 指令来说,用很好。但是,我不推荐都用,在特别复杂的程序来说。太多SET 太多RESET容易乱。而且变得程序非常非常复杂,不容易明白,自己也调试不成功。我经历过许多工程师调试很长时间也完成不了。原因就是全部使用SET RESET。十几万步的程序,如何调整。
ctjh900801
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 129 点
下载积分: 563 分
在线时间: 6(小时)
注册时间: 2013-01-11
最后登录: 2013-09-09
查看ctjh900801的 主题 / 回贴
2楼  发表于: 2013-01-17 23:46
是的 大侠您讲的确实命中我提出的问题 所以我才想提出来和大家讨论

请各位大大能分享一下 如果SNXT/STEP 它造成运行效率低的问题

那么在开发的案子上 会造成那些负面的影响呢?

我提出其中一个最大的影响点即是

该发送出去的信号 来不急发送出去 容易会造成一些冲突

但如果是这样的话没办法靠其他的技术去弥补吗?


还有如果真的此题没有其他的技术去取代这个问题的话

我不得不选择set/rset 去编辑我的程序的话 那么如何有效率的

去解决程序复杂性的问题 有那些技巧可以活用吗?
ctjh900801
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 129 点
下载积分: 563 分
在线时间: 6(小时)
注册时间: 2013-01-11
最后登录: 2013-09-09
查看ctjh900801的 主题 / 回贴
3楼  发表于: 2013-01-19 13:09
有大大关注这个问题吗?  请各位大大踊跃提出看法阿

我试过了Jmp/Jme 和子程序父程序的方法  

小弟愚昧 使用过也没发现这两个技巧能有办法解决这个SFC编写上的功能

有听人家提过说用Function block的方式 能有效率的减少PLC运行的周期

不晓得还有那些技巧可以使用?  

我的话自己有些其他的看法 如解决某些Sensor 感应到对象之后要能即时送出信号

如果用外部插断去解决 这招可以有效地解决这个问题吗?  有在书上看

过这个技巧  但还没实际用过 所以想看看大家的看法
asmoshd
级别: 家园常客
精华主题: 0
发帖数量: 516 个
工控威望: 607 点
下载积分: 33716 分
在线时间: 410(小时)
注册时间: 2008-08-05
最后登录: 2024-12-25
查看asmoshd的 主题 / 回贴
4楼  发表于: 2013-02-01 22:39
常规指令编程的效率是最高的。而且容易懂。我看到过300K 的程序。编写的非常好,都是常规指令。跳转和子程序调用可以使用。看望不要使用SET   RESET。只有在特别要求的地方可以使用一点我希望大家的变成水平都大幅度的提升。 外部中断不受扫描周期的影响。
ctjh900801
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 129 点
下载积分: 563 分
在线时间: 6(小时)
注册时间: 2013-01-11
最后登录: 2013-09-09
查看ctjh900801的 主题 / 回贴
5楼  发表于: 2013-02-06 05:25
小弟也是在理解这方面的技术  不希望被Set Reset 这种不好理解的思路给绑住了  

我目前得知能用来解决执行效率的问题  又能帮助程序员理解程序的指令是用 SNXT STEP

步进指令再搭配输入中断  及TKON、  TKOF指令  

我相信这些指令应该就够满足我在编写SFC的时候  写出好理解又效率高的代码了 感谢有人关注这个议题
huan9009
级别: 探索解密
精华主题: 0
发帖数量: 53 个
工控威望: 190 点
下载积分: 2298 分
在线时间: 128(小时)
注册时间: 2013-06-07
最后登录: 2024-10-10
查看huan9009的 主题 / 回贴
6楼  发表于: 2013-12-03 22:52
下不了,学习学习