搜索
bottom↓
回复: 6

想探讨一下STL指令的实现方式

[复制链接]

出0入0汤圆

发表于 2009-10-22 01:53:02 | 显示全部楼层 |阅读模式
我最近从新设计了一下我的PLC硬件,CPU还是采用LPC2148(其实可以用LPC2138的,因为我就没用到LPC2148的USB),但输入输出采用了CPLD。这样一来又可以实现PLSY,PWM,及高速输入等高速指令的硬处理.又减轻了CPU的处理负担。整体处理的速度个人还是很满意的.我测了一下同样的2865步程序在FX2N下执行了8ms,在我设计的PLC上只执行了3ms.但是现在就差一个步进指令还没完成了。我自己是做了一个步进指令上去,只是执行的结果和30PLC的结果有一些出入。所以在此问一下各位大虾们有什么好的意见和实现方法来实现"SET S,RST S,OUT S,STL S,RET"这些指令;以下为本人总结出来的步进指令对其STL内的指令及元件的影响(因为本人只是乱测了一下得出的结果可能有误,望各位莫见笑).
1.如果出现SET S,RST S或OUT S指令(我测出来的结果三条指令的影响是一样的,这好象与说明书有点不一致,这里没搞明白怎么回事,望了解的朋友指点一下)
2.如果STL S==1且在指令内出现第1中所说的指令对OUT T的影响是T的输出线圈及数值复位,但触点会在下一个扫描时才复位.
3.如果STL S==1且在指令内出现第1中所说的指令对OUT C的影响是C的输出线圈,C的计数数值不变.
4.如果STL S==1且在指令内出现第1中所说的指令对OUT Y M的影响是触点不变,而是在下一个扫描时才复位.

出0入0汤圆

发表于 2009-10-22 08:17:52 | 显示全部楼层
呵呵。为啥小plc对指令的执行速度要求是这么高啊?

出0入0汤圆

发表于 2009-10-22 20:03:26 | 显示全部楼层
在这个板上有篇论文对STL指令写的很清楚

出0入0汤圆

 楼主| 发表于 2009-10-22 20:24:26 | 显示全部楼层
没找到呀,给个地些好不?

出0入0汤圆

发表于 2009-10-22 22:09:26 | 显示全部楼层
看我做的一些 步进指令 的研究啦,哈哈,不太像3菱,同欧母龙也有点而像近。目前还有很大缺陷,但胜在代码够简洁。

哈哈,大家参考下啦,不要当真啊。
----------------------------------------------------------------------------------------------------------
LD XXX

SET STEP0
STL STEP0--->判斷STEP0是否已經ON﹐如果是跟著查找代碼區域并執行﹐直到執行到SET STEP1或RET命令否則會一直在這個代碼區域運行程序
xxxx
xxxx
xxxxSET STEP1
xxxx
STL STEP1
xxxx
xxxx
xxxxSET STEP2
xxxx
STL STEP2
xxxx
xxxx
xxxxSET STEP3
xxxx
STL STEP3
xxxx
xxxx
xxxx
RET--------->返回執行全部代碼       

END


本EASYPLC步進指令工作過程﹕

例子﹕
LD        X0
SET        %0
STL        %0
LD        X1
MPS
OUT        Y0
MPP
SET        Y2
LD        X2
SET        %1
STL        %1
LD        X3
MPS
SET        Y1
MPP
RST        Y2
LD        X4
SET        %2
STL        %2
LD        X5
OUT        Y3
RET        END
LD        X6
OUT        Y4
END

步進指令以SET進入%為操作數﹐%后面數字0--7共八級﹐
STL為進入步進指令區%為操作數﹐%后面數字0--7共八區
兩個STL之間或STL与RET END之間為一個步進區域﹐
進入步進區域后﹐EASYPLC只執行步進區域的代碼﹐直至執行
另外一個SET命令時才進入另外一個步進區域。
在最后的步進區通常會有RET END指令﹐進入這個步進區
EASYPLC執行這個步進區和其他步進區外的代碼
(即包括進入第一個步進區之前的初始代碼)﹐
所以通常RET END指令跟在END指令的前一位﹐當然有時為了
讓程序看起來方便﹐也會如上面例子那樣。

步進指令使用方面注意的地方﹕目前只支持相鄰的步進區。所以目前還不能進行分支步進功能。

出0入0汤圆

发表于 2009-10-25 08:00:34 | 显示全部楼层
点击此处下载 ourdev_495645.zip(文件大小:1.11M) (原文件名:STL.zip)

先上传一个3菱的STL教学

-------------------------

【5楼】 yy888 许意义
MPS
OUT Y0
MPP
SET Y2
-------------------------?
哈哈,这里会出错吧。

这个
MPS
OUT Y0
MPP
SET Y2

OUT Y0
SET Y2

梯形图转换的问题来的,其实执行起来逻辑没有问题,我自己做过测试的了。
其实这个我做了一点处理,指令系统同3菱有一点变化,我没有完全照3菱的去做。
哈哈,反正我的小软件闲着也是闲着,洗湿了个头,就只好继续洗下去了,
空闲时就更新下,慢慢做下去或许能做出个样子,自己水平也会提高。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 07:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表