矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 1901|回复: 20

PLC梯形图逻辑量并行处理方法

[复制链接]
     
发表于 2023-12-14 20:05:41 | 显示全部楼层 |阅读模式
本帖最后由 zjnbdxsh 于 2023-12-14 20:14 编辑

看到有人在讨论PLC,想起了我曾发明的“PLC梯形图逻辑量并行处理方法”。 不知是否有人也喜欢探索。
在我提出“并行处理” 前,可编程控制器系统是把梯形图解析(编译或解释)成处理单个逻辑变量的指令串,可编程控制器运行时,控制器内的微处理器或微控制器用一位逻辑量传送、运算(即串行处理)的方法循环扫描执行指令串,以实现梯形图功能。但现在32位、64位处理器也这样一位一位地运算,效率太低了。
如图1梯形图,以前把梯形图解析为:先把开关量X0与开关量X2相与,然后给Y1(细节不说了)。接着开关量X3与开关量X4相与,然后给Y2。再接着开关量X1与开关量X11相与,然后给Y4。……。
对图1梯形图,“逻辑量并行处理方法”是,把梯形图第一列多个开关量(X0、X3、X1、X2)一次性读入一个寄存器;再把梯形图第二列多个开关量(X2、X4、X11、X10)一次性读入另一个寄存器。然后两寄存器相与,再把运算结果的多个开关量传给(Y1、Y2、Y4、Y6)。
怎样把如(X0、X3、X1、X2)或(X2、X4、X11、X10)等一次性读入寄存器,及怎样把最后的运算结果一次性传给如(Y1、Y2、Y4、Y6)等,需要设计一个通用的硬件电路。
如32位寄存器,一次就可处理梯形图32行中一列开关量,处理好了32行所有列,就接着处理以下的32行,等等。这样,梯形图处理速度就大大加快了。
我们知道,梯形图总不是象图1那样简单,如图2。梯形图的垂直连线就是逻辑或,水平连线就是逻辑与,逻辑关系非常简单,可以在PLC处理器内增加一个梯形图运算硬件逻辑电路,同时把这“或”和“与”一次同时运算,这样又加快了梯形图处理速度。
处理器位数越多,增加梯形图处理速度的效果就越好。
当然,有许多细节需要解决,具体就暂不介绍了。

图1

图1

图2

图2
     
发表于 2023-12-15 08:13:06 | 显示全部楼层
使用PLC的场景一般都是做逻辑控制的,用不着做数据并行处理吧?需要做数据并行处理时,用上FPGA或上位机就行了呗
回复 支持 1 反对 0

使用道具 举报

     
发表于 2023-12-14 20:19:45 | 显示全部楼层
每太看明白LZ想表达什么,是一并行计算的思路?
如果是现有常用的PLC,可以理解为系统+app,是分时处理,顺序执行,是伪同步并行;
几年前就在期刊上看到过有再做真同步并行处理计算的PLC了(实际就是用fpga,上位机处理梯形图生成的是链路文件)可以保证实时性,但是量产的好像还没见过
可能是并不需要多路信号做到ps级别的同步吧
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-14 21:11:24 | 显示全部楼层
本帖最后由 zjnbdxsh 于 2023-12-14 21:15 编辑
周晴娣 发表于 2023-12-14 20:19
每太看明白LZ想表达什么,是一并行计算的思路?
如果是现有常用的PLC,可以理解为系统+app,是分时处理, ...


涉及的硬件电路当然可以用fpga来实现.我十多年前就提出“PLC梯形图逻辑量并行处理方法”.请仔细看本文.我也与别人说过,我一说,他们就理解了.
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-14 21:47:47 | 显示全部楼层
周晴娣 发表于 2023-12-14 20:19
每太看明白LZ想表达什么,是一并行计算的思路?
如果是现有常用的PLC,可以理解为系统+app,是分时处理, ...

批量化生产用fpga来实现,不合算。
你说你几年前就在期刊上看到过真同步并行处理计算的PLC(上位机处理梯形图生成的是链路文件),与我以前的“PLC梯形图逻辑量并行处理方法” 很相似,你能找到这文章的链接吗?约十年前我在网上发表过我的“PLC梯形图逻辑量并行处理方法”。
回复 支持 反对

使用道具 举报

     
发表于 2023-12-15 07:50:37 来自手机 | 显示全部楼层
老师好,搞电气仪表十几年,一直没有系统学习PLC编程只是大致知道些,想请老师给讲解下西门子入门学习通俗易懂的学习方法,谢谢您。
回复 支持 反对

使用道具 举报

     
发表于 2023-12-15 07:51:40 | 显示全部楼层
老师好,搞电气仪表十几年,一直没有系统学习PLC编程只是大致知道些,想请老师给讲解下西门子入门学习通俗易懂的学习方法,谢谢您。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-15 16:50:18 | 显示全部楼层
本帖最后由 zjnbdxsh 于 2023-12-15 16:54 编辑

@老大葱   你好!现在相关的书本和网上资料已经很多了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-15 20:06:50 | 显示全部楼层
cuohui264 发表于 2023-12-15 08:13
使用PLC的场景一般都是做逻辑控制的,用不着做数据并行处理吧?需要做数据并行处理时,用上FPGA或上位机就 ...

我看在评述“PLC梯形图逻辑量并行处理方法” 前,还是先了解这“方法”的工作原理。
以前对一楼梯形图(图1)的图形程序的运算,是先取第一行,从左到右进行运算;第一行运算完成后,接着对第二行,从左到右进行运算;就这样,按从上到下、从左到右顺序,运算完成整个梯形图的图形程序。接着又回到第一行,重复上述运算…。这运算过程中,即使是32位、64位处理器,也只有一位参加了运算,效率太低了。
我提出的“PLC梯形图逻辑量并行处理方法” 就是用尽量经济的电路,配合常用微控器,来并行处理梯形图逻辑量,使处理梯形图速度比以前大大加快,快有什么不好。这“方法” 没有希望并行处理非逻辑量,如果你希望并行处理非逻辑量(如包括长整数、浮点数等),我非常鼓励。
为了提高32位、64位处理器处理梯形图逻辑量的效率,我让32位、64位处理器的所有位都同时参与运算,当然这需要设计一个硬件电路来支持这种运算,而且这个硬件电路并不复杂。下面详细介绍“PLC梯形图逻辑量并行处理方法”。
再一楼我的贴子梯形图(图1),“逻辑量并行处理方法”是,把梯形图第一列多个开关量(X0、X3、X1、X2)一次性读入一个寄存器R1,就是一次性同一时刻把X0送入R1.0(R1的第0位,下同),把X3送入R1.1,把X1送入R1.2,把X2送入R1.3 ,这肯定需要设计一个硬件电路来支持逻辑量这种并行传送方式;同理,再把梯形图第二列多个开关量(X2、X4、X11、X10)一次性读入另一个寄存器R2,就是一次性同一时刻把X2送入R2.0,X4送入R2.1,X11送入R2.2,X10送入R2.3;然后R1和R2按位相与;若相与后的结果值被放在R1,那么也一次性同一时刻把R1.0送入Y1,把R1.1送入Y2,把R1.2送入Y4,把R1.3送入Y6。这样就并行处理了一遍梯形图(图1)图形程序。当然,32位处理器可以同时处理梯形图32行图形程序,64位处理器可以同时处理梯形图64行图形程序,是不是比以前只用处理器中的一位来处理梯形图的图形程序效率高得多。不知我是否说清楚了。
其实,因为梯形图的逻辑关系非常,可以设计一个梯形图处理单元(硬件),而相对独立于CPU,这样对梯形图逻辑量的处理几乎不占或极少占用微控制器资源,这是后话。
还有,按PLC的使用量,有人喜欢用FPGA来实现,当然由他作主,与“PLC梯形图逻辑量并行处理方法” 没有必然联系。
回复 支持 反对

使用道具 举报

     
发表于 2023-12-15 20:36:29 | 显示全部楼层
PLC的瓶颈从来就不在并行或者串行处理上面。现在很多PLC还用着很弱的CPU,大厂懒得改,大家一样用。
而且,并行处理后,PLC的编程逻辑就变了,很多程序都没法用了。
现在的做法,暂存点赋值后,后面马上可以用,照你的方法就不行了,得用其他的寄存器了。
PLC硬件的迭代太慢了,存储器和CPU进步了几十步,PLC那边可能才进一步。稳定性才是最重要的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-15 20:49:27 | 显示全部楼层
本帖最后由 zjnbdxsh 于 2023-12-15 21:03 编辑
bigluo 发表于 2023-12-15 20:36
PLC的瓶颈从来就不在并行或者串行处理上面。现在很多PLC还用着很弱的CPU,大厂懒得改,大家一样用。
而且 ...


PLC梯形图逻辑量并行处理方法” 当然能兼容传统梯形图,这是必须的,有关细节还没有论及。性能只会提高,不会降低。
对PLC处理速度的要求与使用场合有关。
还有,大型,特大型PLC对处理速度的要求就高多了。
回复 支持 反对

使用道具 举报

     
发表于 2023-12-15 23:48:42 | 显示全部楼层
PLC是  "逐行扫描"  的能量流      无论你是并联设计,还是另外发起一个网络
编译以后,其最终的运行效率,不会有多大差别。

因此,要求梯形图设计思路清晰,逻辑严明,就是了。
不要太在意设计方法。
回复 支持 反对

使用道具 举报

     
发表于 2023-12-16 08:23:44 | 显示全部楼层
zjnbdxsh 发表于 2023-12-15 20:49
PLC梯形图逻辑量并行处理方法” 当然能兼容传统梯形图,这是必须的,有关细节还没有论及。性能只会提高 ...

就我现在的行业里面,需要用到的PLC进行高速运算或者要求高速扫描周期的时候,都是使用的工控机装软PLC,几千块钱就搞定了,昨天三菱的厂家过来就在开始推他们的软PLC了,因为现在工控机的稳定性做得也不比PLC差了,运算能力更是天壤之别。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-16 10:06:48 | 显示全部楼层
崂山清茶 发表于 2023-12-15 23:48
PLC是  "逐行扫描"  的能量流      无论你是并联设计,还是另外发起一个网络
编译以后,其最终的运行效率 ...

请解释,为什么32行或64行“并行扫描” 的“ 最终的运行效率”  与 "逐行扫描"比,“不会有多大差别”。 下结论需要有依据的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-12-16 10:15:30 | 显示全部楼层
cuohui264 发表于 2023-12-16 08:23
就我现在的行业里面,需要用到的PLC进行高速运算或者要求高速扫描周期的时候,都是使用的工控机装软PLC, ...

PLC与工控机比,体积小、价格低、可靠性好、适合现场控制等,当然工控机也有它的优点。
现在有些新型PLC也用上操作系统、C语言编程等。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-8 05:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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