登录
首页
PLC论坛
PLC论坛
回帖
发帖
正文
主题:求欧姆龙PLC一个简易的按点击顺序执行的程序
点击:9067 回复:23
楼主
编辑
引用
管理
k73635433
以下是我自己编写的程序,三个槽罐按点击顺序依次进行作业,但是不具有普遍适用性,4个槽罐有24种情况,5个就有120种了,求大神的简易程序!
后面的复位寄存器是为了方便模拟加的~因为在实际应用中作业的启动通常为复位按钮,停止按钮没有加入~~~
只想知道一个简易的适用于很多个的顺序执行程序学习一下,知识就是用来传播的~~~,程序附上(照片是方便观看的)
附件:
[
本地下载
]
15-09-22 22:08
1楼
编辑
引用
管理
k73635433
这个程序是可以先点击作业执行后,等待第一个点击的作业完毕后,再自动进行第二个点击的作业,作业完毕的开关由实际中某个条件来执行,如PH值、液位、溶液浓度等等,这里为手动点击~~~
15-09-22 22:16
2楼
编辑
引用
管理
k73635433
再更新一下,如果有什么想法也可以说一下,也不必整个程序,谢谢~
15-09-22 22:17
3楼
编辑
引用
管理
cvlsam
做一个队列的数据结构就可以了,欧姆龙支持间接寻址,可以很方便的构建这种结构。
Good Luck~
15-09-22 22:30
4楼
编辑
引用
管理
k73635433
这位老师能说的仔细一些吗
,我刚接触PLC半年,很多东西还在学习,很多东西还不太明白~麻烦您了~
15-09-22 22:35
5楼
编辑
引用
管理
fujifa
队列结构在任何一本描述数据算法的数都会有介绍,通过指针就可以,只要你的PLC支持间接寻址就可以。
在欧姆龙中,可以通过SSET(设置栈大小),PUSH(向栈中压入数据)以及FIFO(以队列方式读取数据)来实现这一过程。
首先,通过SSET指令来设置栈大小,欧姆龙的队列需要固定4CH的空间存储栈管理信息,且因为FIFO会保留最后一个数据,为了确保你的程序可以结束掉,所以还需要多申请一个CH的空间用于存放工艺步骤结束标志。因为楼主使用的是3个通道,那么这里的栈空间申请了8个通道。
15-09-23 10:58
6楼
编辑
引用
管理
fujifa
以D100作为栈的首地址,D100,D101为栈的大小,D102,D103为栈指针,这是固定的,你的数据实际是从D104开始存放的。
使用PUSH指令向栈中存放数据,这里的PUSH指令的执行顺序决定了以后FIFO的读取顺序。
15-09-23 11:01
7楼
编辑
引用
管理
fujifa
之所以在申请栈空间的时候要多申请一个空间,是因为FIFO指令读取到栈最后一个数据的时候会保留数据,这样的话你会陷入最后一个工艺步骤而无法退出,所以需要放一个结束标志,这里向栈中压入数据0作为结束。
15-09-23 11:03
8楼
编辑
引用
管理
fujifa
然后,使用FIFO指令依次将数据读取,并通过比较指令来运行不同的工艺步骤。
15-09-23 11:05
9楼
编辑
引用
管理
fujifa
上述程序例程采用的机型为CP1H。
使用的指令描述为:
SSET:CP1H编程手册第369页
PUSH:CP1H编程手册第371页
FIFO:CP1H编程手册第375页
注:或许你的欧姆龙CP1H的编程手册版本与我不同,请以你的手册页码为准。
本程序的例程代码:
使用的软件版本:CX-Programmer V9.5 操作系统版本:Win7 32Bit OS
附件:
[
本地下载
]
完~
15-09-23 11:13
上一页
下一页
工控新闻
VisionChina2026(上海)机器视觉展焕新登场,报名抢占黄金展位!
“国产PLC+工控鸿蒙”亮相第二十一届“工业自动化与标准化”研讨会
AI驱动制造变革,链博会热议新质生产力核心路径
青岛品牌日|卡奥斯分享AI时代生态品牌创新实践
新能源电控业务表现亮眼,变频器厂商上半年净利预增51%-65%
携工业AI全价值链创新成果,西门子将亮相2025世界人工智能大会
Lantronix 首次推出经济实惠、屡获殊荣的 5G 无线路由器系列,颠覆工业连接方式
工业阀门国家级重点专精特新“小巨人”企业 中德科技北交所IPO问询阶段
更多新闻资讯