搜索
bottom↓
回复: 30

发一个我写的文章(基于AOV图及因果图的梯形图与语句表互换算法)

[复制链接]

出0入0汤圆

发表于 2009-4-6 17:35:41 | 显示全部楼层 |阅读模式
摘要:在分析AOV图的基础上,提出了一种新的数据结构因果图。结合AOV图与因果图提出了一种新的梯形图与语句表双向转换算法。一方面,将梯形图转化为AOV图,并利用AOV图建立因果图,然后遍历因果图的节点生成PLC所能识别的语句表;另一方面,将语句表转化为因果图,基于因果图生成梯形图。经过实际编程证明,该算法简洁、实用性及通用性好,并成功应用于某国产化PLC开发中。
引言
可编程控制器PLC是一种专门为工业自动控制开发的通用自动控制装置。经过多年的研究与发展, 国外的PLC 产品及其编程平台已相当成熟, 大多集成开发环境都包含了梯形图与指令表程序互换的功能[1]。国内尚没有树立起自己的PLC 品牌,国内厂家争相开发自己的PLC产品,PLC的开发环境是否符合IEC61131的标准,是否符合用户习惯并易于使用,是一个PLC产品能够立足市场的关键,因此研制PLC上位机开发平台具有重要的意义和应用前景,其中梯形图与指令表程序互换算法是一个重要的研究课题。本文提出一种基于AOV图及因果图的新型梯形图与语句表的互换算法,该算法方法简单,易于移植,在某国产PLC的上位机软件开发过程中证明了其有效性和可行性。
<a href="http://www.opencontrol.cn/uploadfile/20090404_梯形图和语句表的互换算法.doc" target="_blank">http://www.opencontrol.cn/uploadfile/20090404_梯形图和语句表的互换算法.doc</a>

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2009-4-6 17:57:45 | 显示全部楼层
还没有仔细阅读,应该是本坛至此最有价值文章.我表示感谢!!

出0入0汤圆

发表于 2009-4-6 19:11:46 | 显示全部楼层
【19楼】 dfzp
积分:22
派别:
等级:------
来自:
国家级plc专家来了,adolfshxq 就是上位机专家.
armok 阿莫站长,想法子留住专家,窄点干货出来呀.
----------------------------------------------


我没有看走眼,确实是专家!

出0入0汤圆

发表于 2009-4-6 21:02:06 | 显示全部楼层
版主,
你应该马上成立上位机小组.
眼前就是位专家级人物.请专家出山.
抓住机遇!

出0入0汤圆

 楼主| 发表于 2009-4-6 21:18:14 | 显示全部楼层
谢谢 dfzp
这是我以前做软件之后,写的一篇小论文,胡乱凑的,只是个大意,
发上来给大家参考下。用处应该不是很大,同样的东西,不同的人会有不同的做法。

出0入0汤圆

发表于 2009-4-6 21:32:12 | 显示全部楼层
据我了解,国内公开发表的梯形图与语句表互换算法,都有缺陷,商业的梯形图与语句表互换算法都不公开.我要好好学习下你的算法,到时候再请教,再次感谢.

好象论文不完整,文献引用没有.

出0入4汤圆

发表于 2009-4-7 09:08:27 | 显示全部楼层
我正在做这个转换工作,写得相当不错。

出0入4汤圆

发表于 2009-4-7 09:17:09 | 显示全部楼层
不知你的软件是否能很好处理与块后或处理(AND  OR  XXX),多输出指令,我现在做时这个遇到问题。

出0入0汤圆

发表于 2009-4-7 09:45:34 | 显示全部楼层
感谢楼主提供的这些关键字,使大家可以探索PLC的编译技术

出0入0汤圆

 楼主| 发表于 2009-4-7 18:16:18 | 显示全部楼层
8楼说的应该是
类似如下的梯形图

(原文件名:aa.jpg)

语句表对应为
LD   X1
LD   X2
OR   X3
ANB
OR   X4
OUT   Y4
应该注意到X4的流入节点(为母线) 流出节点为Y4
和X1&(X2|X3)的整体的流入节点 也为母线 流出节点 也为Y4
因此可以判定 X4和X1&(X2|X3)式并联的关系。
具体如何做 和软件的数据结构有关系


多输出的结构
图为:

(原文件名:multiout.jpg)
转化成的语句表 为:
LD   X1
OUT   Y1
AND   X2
OUT   Y2
AND   X3
OUT   Y3
在转换初期 可以把输出节点看成类似的一般触点。
输出接点和一般触点的区别在于 输出接点不对堆栈进行写操作。
加入堆栈被大的输出分支中的小分支改变的话,那么就要用LPS LRD LPP
等指令 保存和恢复堆栈的操作。

出0入0汤圆

发表于 2009-4-7 19:09:36 | 显示全部楼层
转化成的语句表 为:
LD   X1
OUT   Y1
AND   X2
OUT   Y2
AND   X3
OUT   Y3

===========================
三菱的话,应该不是转换成上面这个语句表的。

出0入0汤圆

发表于 2009-4-7 21:32:18 | 显示全部楼层
dfzp , 你二楼的发言非常正确,但你四楼的发言就非常错误,版主有什么本事请专家出山?要请也得阿莫出山啊!
=========================================================================
版主:

你有能力的,是你不想干.阿莫也会持支你的,我也一样.楼主,也不是把自己的论文拿出来吗,他们也需要你的帮助,
比如OpenLogic开发平台 T 图编缉介面就做得不好看,那个输出元件应该显示在最右侧,还没做好.所以,我要你,马上
成立上位机小组.
我们不一定,限时把上位机做出来, 我们能做多少就做多少,也不一定要全开源,能开多少开多少.
这个东西方法太多了.有个思路,可以对想搞上位机的朋友有一点帮助.

出0入0汤圆

发表于 2009-4-8 07:23:42 | 显示全部楼层
嗯。看了下文章。原来对这个转换没有什么头绪。
我理解似乎是软件在编辑梯形图时,
在内存中建立一种数据结构,并不是梯形图,而是所谓的因果图。
梯形图只是软件给用户的一种编辑显示界面。是从因果图转换而来。
梯形图具体并没有相应的数据结构来对应。
最后实际上直接从因果图转换到语句表。

我估计这东西可能并非很难,因为一般的梯形图我想步数不会很多。
而现在计算机的计算能力又极强。即使算法差点。

出0入0汤圆

发表于 2009-4-8 10:53:31 | 显示全部楼层
The ladder editor just only 1-2 days can done well ,but how to define the ladder online monitor,online download,Its should be a big question.

出0入0汤圆

 楼主| 发表于 2009-4-8 11:27:47 | 显示全部楼层
一两天做好梯形图编辑可能稍微少了点。
不知道楼上说的在线下载,是不是PLC处于运行状态的在线下载,那确实比较难做。
我现在做的方法是PLC处于停止模式下的下载,也就是说下载时系统必须处于停止模式。这种方法较简单,一两天即能做好。
在线监控,也要看做的程度,PLC一般不支持断点调试,如果要支持断点调试,确实很难。
我现在的做法就是简单的读PLC中的数据,然后在界面和监视框上显示(因此对于变化很快的变量跟踪不到),好像也没那么难,不过通
讯的组包还有待优化

出0入0汤圆

发表于 2009-4-8 20:47:23 | 显示全部楼层
The on-line download is very simple.For Example,if your command store in ram so online download just refresh the memory,if you command is store in EEPROM,you should re-start the cold start plc,not re-start the plc,the high level plc have two plc to backup,so actually there run for ram,not flash memory.

出0入0汤圆

 楼主| 发表于 2009-4-8 20:51:12 | 显示全部楼层
就是代码空间要分为两块  在线下载的时候在两块间进行切换
会不会有点浪费空间啊  不过一般程序不大 不失为一种好方法
学习了

出0入0汤圆

 楼主| 发表于 2009-4-8 20:51:45 | 显示全部楼层
对了 你的那个编程环境在哪可以下载啊  一直没找到

出0入0汤圆

发表于 2009-4-8 21:54:27 | 显示全部楼层
这东西你们讨论的太深奥了 只能学习~~~~~

出0入0汤圆

发表于 2009-4-12 20:31:37 | 显示全部楼层
adolfshxq :
还记得我的问题吗?
近目收获大否?
问题己有人帮答了.

出0入0汤圆

发表于 2009-4-12 20:37:59 | 显示全部楼层
嵌套调用,层层转换,是一个好算法.

出0入0汤圆

 楼主| 发表于 2009-4-12 21:00:56 | 显示全部楼层
什么问题啊?可以重复下吗?也可以直接加我Q191177939

出0入0汤圆

发表于 2009-4-16 12:35:04 | 显示全部楼层
如果做解释性的PLC的话,在线下载应该不难的。一般在线联机修改的量不会大,直接修改相关的数据结构就可以了。反正我是这么干的。

出0入0汤圆

发表于 2009-4-17 14:57:24 | 显示全部楼层
plc等控制器在不同的认知层次上可以得到不同的收获。谢谢【19楼】 adolfshxq 的发言。

出0入0汤圆

发表于 2009-5-2 20:37:37 | 显示全部楼层
最近正在研究这方面的问题,资料很有用,感谢楼主^_^

出0入0汤圆

发表于 2009-5-7 23:02:56 | 显示全部楼层
个人认为楼主的文章是这里最有价值的资料之一。应该置顶,加精,加酷,能加的都加。
先不管这个文章实用起来会遇到什么问题,距离实用还有多远的距离,但是这个距离正在缩小。
请楼主多发表些这样的好文章,谢谢。

出0入0汤圆

发表于 2012-9-22 12:24:09 | 显示全部楼层
下载不了啊,阿莫

出0入0汤圆

发表于 2012-10-22 11:53:48 | 显示全部楼层
下载不了啊,楼主
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 14:35

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

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