您现在所在的是:

PLC论坛

回帖:23个,阅读:8725 [上一页] [1] [2] [3] [下一页]
685
k73635433
文章数:25
年度积分:50
历史总积分:685
注册时间:2015/5/7
发站内信
发表于:2015/9/22 22:08:35
#0楼
以下是我自己编写的程序,三个槽罐按点击顺序依次进行作业,但是不具有普遍适用性,4个槽罐有24种情况,5个就有120种了,求大神的简易程序!
附件 1.jpg
附件 2.jpg
附件 3.jpg
附件 4.jpg
附件 5.jpg
附件 6.jpg
附件 7.jpg
附件 8.jpg
附件 9.jpg
附件 10.jpg
附件 11.jpg
附件 12.jpg
附件 13.jpg
附件 14.jpg
后面的复位寄存器是为了方便模拟加的~因为在实际应用中作业的启动通常为复位按钮,停止按钮没有加入~~~
只想知道一个简易的适用于很多个的顺序执行程序学习一下,知识就是用来传播的~~~,程序附上(照片是方便观看的)
附件:
[本地下载]
685
k73635433
文章数:25
年度积分:50
历史总积分:685
注册时间:2015/5/7
发站内信
发表于:2015/9/22 22:16:18
#1楼
这个程序是可以先点击作业执行后,等待第一个点击的作业完毕后,再自动进行第二个点击的作业,作业完毕的开关由实际中某个条件来执行,如PH值、液位、溶液浓度等等,这里为手动点击~~~
685
k73635433
文章数:25
年度积分:50
历史总积分:685
注册时间:2015/5/7
发站内信
发表于:2015/9/22 22:17:54
#2楼
再更新一下,如果有什么想法也可以说一下,也不必整个程序,谢谢~
37243
cvlsam 版主
文章数:12401
年度积分:1595
历史总积分:37243
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2015/9/22 22:30:05
#3楼
做一个队列的数据结构就可以了,欧姆龙支持间接寻址,可以很方便的构建这种结构。

Good Luck~
685
k73635433
文章数:25
年度积分:50
历史总积分:685
注册时间:2015/5/7
发站内信
发表于:2015/9/22 22:35:21
#4楼
回复 #3楼 cvlsam
这位老师能说的仔细一些吗表情,我刚接触PLC半年,很多东西还在学习,很多东西还不太明白~麻烦您了~
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/9/23 10:58:40
#5楼
队列结构在任何一本描述数据算法的数都会有介绍,通过指针就可以,只要你的PLC支持间接寻址就可以。

在欧姆龙中,可以通过SSET(设置栈大小),PUSH(向栈中压入数据)以及FIFO(以队列方式读取数据)来实现这一过程。

首先,通过SSET指令来设置栈大小,欧姆龙的队列需要固定4CH的空间存储栈管理信息,且因为FIFO会保留最后一个数据,为了确保你的程序可以结束掉,所以还需要多申请一个CH的空间用于存放工艺步骤结束标志。因为楼主使用的是3个通道,那么这里的栈空间申请了8个通道。
附件 snap1.jpg
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/9/23 11:01:17
#6楼
以D100作为栈的首地址,D100,D101为栈的大小,D102,D103为栈指针,这是固定的,你的数据实际是从D104开始存放的。

使用PUSH指令向栈中存放数据,这里的PUSH指令的执行顺序决定了以后FIFO的读取顺序。
附件 snap2.jpg
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/9/23 11:03:50
#7楼
之所以在申请栈空间的时候要多申请一个空间,是因为FIFO指令读取到栈最后一个数据的时候会保留数据,这样的话你会陷入最后一个工艺步骤而无法退出,所以需要放一个结束标志,这里向栈中压入数据0作为结束。
附件 snap3.jpg
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/9/23 11:05:51
#8楼
然后,使用FIFO指令依次将数据读取,并通过比较指令来运行不同的工艺步骤。
附件 snap4.jpg



附件 snap5.jpg
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
8302
fujifa
文章数:2937
年度积分:235
历史总积分:8302
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/9/23 11:13:11
#9楼
上述程序例程采用的机型为CP1H。

使用的指令描述为:
SSET:CP1H编程手册第369页
PUSH:CP1H编程手册第371页
FIFO:CP1H编程手册第375页

注:或许你的欧姆龙CP1H的编程手册版本与我不同,请以你的手册页码为准。

本程序的例程代码:
使用的软件版本:CX-Programmer V9.5  操作系统版本:Win7 32Bit OS
附件:
[本地下载]

完~
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net

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

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

78.0005