搜索
bottom↓
回复: 32

请教:小型PLC的CPU和扩展IO之间通常是用啥总线的呢?

[复制链接]

出0入0汤圆

发表于 2009-9-2 20:06:26 | 显示全部楼层 |阅读模式
小型PLC的CPU和扩展IO之间通常是用啥总线的呢?
不知道是不是什么特有的总线呢?
有朋友推荐用I2C,但是感觉用I2C好像不太行吧。

谢谢!

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-9-2 20:49:47 | 显示全部楼层
我看到有用74165,74595的,SPI

出0入0汤圆

 楼主| 发表于 2009-9-2 20:54:47 | 显示全部楼层
能请教下楼上的,是哪个牌子的PLC用spi做小PLC的扩展总线呢?谢谢!

出0入0汤圆

发表于 2009-9-2 21:19:49 | 显示全部楼层
oldtom在做小型PLC?

出0入0汤圆

 楼主| 发表于 2009-9-2 21:57:11 | 显示全部楼层
恩,下决心做一个出来看看。

有意想做成开源的方式,但是不知道有没有人支持,不知道阿莫老大是否支持。

还有一些选型上面的问题,也一直在犹豫。呵呵,不知道选用ARM9还是ARM7,另外要不要带HMI,也是个问题。

做的时候,想分步走,先做基本平台,然后再往上走逻辑之类。想做成可以工业应用的准产品。

出0入0汤圆

发表于 2009-9-2 22:27:13 | 显示全部楼层
犹豫等待,不如趟着走走。不管arm7,9,做好都不容易。我的方案是串口,双向通讯。

模块的难点在于模块识别,数据循环传送。

1楼的方案在台系plc常见,不简单。还有用到加法器的。

出0入0汤圆

 楼主| 发表于 2009-9-2 22:37:15 | 显示全部楼层
回:heky


本来对cortex m3很感兴趣,对STM的107很感兴趣,但是出来后有点失望,他无法扩RAM。
我的原先的基本思路是采用LPC2478+SDRAM做基本系统,支持以太网,如果有需要,可以再挂个小HMI。

目前就是CPU和IO之间什么做比较好,目前还没有个思路,我们以前IO是带个小CPU的,这样的话,背板用个CAN很容易的,但是这样做呢,就复杂了,而且成本就下不来。
最近也一直看ARM9的片子,对LPC3250和ATMEL的9263比较感兴趣。

软件,我想基本系统选择采用站里面FFXZ做的RT-Thread,很不错的系统,而且有RTGUI。

通信支持RS232/485,采用modbus rtu吧,以太网采用MODBUS TCP。如果可能,也可以附带上OPC SERVER,这样可以和大部分SCADA系统挂接了。
采用USB作为调试通信用吧,可以采用通过USB下载上传数据,这样方便调试。

如果有人参与支持的话,就打算做成开源的。

如果采用串口的话,那么扩展IO也必须有小CPU了?
至于模块识别,如果IO板带小CPU的话,好解决,可以在IO上电时主动上送自己的模件类型的,也可以采用硬件拨码的方式。
如果IO板带小CPU的话,我倒是更倾向用CAN做内部总线。


heky 不知道你研究过GE和施耐德的小PLC没有?他们是采用什么总线的呢?

出0入0汤圆

发表于 2009-9-2 23:23:59 | 显示全部楼层
我研究过三菱和台达的。GE和施耐德的接触不多。三菱和台达是并行扩展,我也倾向这样的方案。现在我用串口 115200速度。ms级别读取。

出0入0汤圆

发表于 2009-9-3 09:32:57 | 显示全部楼层
i think the io didn't use spi or i2c ,the clock will delay the refresh time(scan time)

出0入0汤圆

 楼主| 发表于 2009-9-3 10:28:21 | 显示全部楼层
billleu

那能请教下,这种cpu和扩展IO直接该用什么总线呢?谢谢!

出0入0汤圆

发表于 2009-9-3 21:42:13 | 显示全部楼层
use the bus or bus latch(you can see the FX for the DA output circuit)

出0入0汤圆

发表于 2009-9-3 21:56:36 | 显示全部楼层
我不认为SPI会大幅度影响到整个系统的性能,小PLC一般不超过100点,硬件SPI是很快的。LED屏那么多点都能用SPI,PLC为什么不能用呢?你的执行机构要一秒钟执行几千次吗?

出0入0汤圆

 楼主| 发表于 2009-9-3 22:23:58 | 显示全部楼层
SPI出板应该问题不大吧?

出0入0汤圆

 楼主| 发表于 2009-9-4 09:17:23 | 显示全部楼层
SPI出板不知道能拉多长距离?

出0入0汤圆

 楼主| 发表于 2009-9-6 22:41:27 | 显示全部楼层
谢谢!
20cm? 应该也差不多了。那IO扩展协议是采用什么协议呢?

另外,一般IO扩展能扩几个IO板呢?

出0入0汤圆

 楼主| 发表于 2009-9-7 07:02:40 | 显示全部楼层
傻娃是采用何种协议呢?谢谢。

出0入0汤圆

 楼主| 发表于 2009-9-7 12:27:59 | 显示全部楼层
楼上没有明白我的意思,我问的应用层的协议。谢谢!

出0入0汤圆

 楼主| 发表于 2009-9-7 14:16:38 | 显示全部楼层
莎娃PLC的软件部分应该完成了吧?不知何处可以看到代码?我想拜读学习一下关于主CPU和扩展IO之间的通信部分。不知道可否方便?

出0入0汤圆

发表于 2009-9-7 17:06:31 | 显示全部楼层
FX2N扩展总线允许外挂最多8个模块,8位扩展并行总线接FPGA,我称它为扩展总线三通,自动辨别外挂模块地址,可参照我测绘的原理图,具体时序,去年下半年就想搞,唉,维修工作身不由己,苦不堪言.

出0入0汤圆

 楼主| 发表于 2009-9-7 18:13:20 | 显示全部楼层
谢谢各位的回答。非常感谢。再请教个问题:象三菱的小plc其io上是否带cpu呢?

出0入0汤圆

发表于 2009-9-9 04:48:02 | 显示全部楼层
参见FX2N-4AD,-2DA,-16EX,-32MTPW,-32MTIO原理图 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1038544&bbs_page_no=1&bbs_id=3007

比较一下这几个图就知了,模块MCU可用可不用,视功能而定.

这里要分清两个概念,模块和主机通讯功能及模块功能实现.扩展并行总线三通FPGA本身有寄存器,位I/O没再用MCU,A/D模块就加MCU了.

出0入0汤圆

 楼主| 发表于 2009-9-9 09:58:54 | 显示全部楼层
看了前辈的图,比较汗... 不懂硬件。
对于总线这块,我的理解不知道对不对,请前辈指点:
1.fx主CPU模块与扩展模块是采用并行总线的,这个总线可能是FX自定义的总线,也有可能是MCU的总线。主CPU模块与扩展模块之间的通信是基于这种并行总线的直接寻址读写访问的。所以他的IO扫描效率可以达到最高。
2.对于AD/DA模块,一般都带MCU。

如果我的理解是对的话,那么我有个疑问:
1.像这种并行总线,大概能拉多长距离,另外,他的抗干扰性能不知道表现如何?
2.这个总线的控制是由主CPU发起的,主CPU模块需要读取某个IO模件的数值时,直接片选读取,无需召唤应答的过程吧?


感谢前辈的指点。谢谢各位的解惑。


我们以前的思路和做法和这个都不太一样,99年的时候,我们自己做机架式PLC的时候,主CPU是采用586做的,IO上面用386做的,用了PSOS做系统,主CPU和IO之间采用CAN做背板总线的,因此,在背板总线上面,有一个应用层的协议的,采用这种思路做的IO扫描效率肯定比不上FX之类的这种总线直接寻址的,因此为了保证效率,只有采用高性能的CPU来实现,这样下来,成本就居高不下了。不过,采用这种思路,他也有几个优点:
1.可以支持SOE模块,在2000年左右,普通的PLC很难做到硬件实现SOE的。
2.在IO板上面实现AI/DI滤波。


以前也曾经讨论过采用LVDS做背板总线,后来因为各种原因就放弃了。

出0入0汤圆

发表于 2009-9-9 16:42:20 | 显示全部楼层
FX2N扩展模块总线概念与MCU并行总线有相同和区别,扩展并行总线的物理联接是迭加串接的,FX2N主机用双MCU,是16BIT,也是通过总线三通FPGA访问8BIT扩展并行总线的,

每个扩展模块总线三通FPGA输入接前一扩展模块总线三通FPGA输出,该扩展模块总线三通FPGA输出接至下一扩展模块总线.

该扩展模块总线三通FPGA另一方向有几个8BIT总线(应是8BIT寄存器)供模块使用,所以我称它为总线三通.

扩展模块总线三通FPGA有地址计算,总线缓冲,寻址锁存,控制等功能.扩展模块总线地址自动计算好象有一个日本专利.

扩展模块总线需软硬结合知识,尤其数字电路,回过去看PDP-11教材,底层软件也是基于数字电路实现.

几个原理图比对一下就知了,从扩展总线接的抗干扰EMI元件数值可知扩展总线速度并不高.

FPGA成本并不高,尤其上量,三菱有这个条件.

出0入0汤圆

 楼主| 发表于 2009-9-9 17:50:32 | 显示全部楼层
谢谢前辈的指点。收益非浅!


版主PLC里面的这块的设计是基于SPI接口,SPI其本质应该还是串行的,
因此我猜测他的通信过程应该是这样的,(胡乱猜测的,没有看过相关的代码)

这个通信过程应该是个召唤应答式的过程,主CPU向扩展IO请求数据,然后扩展IO应答。
这个过程应该要设计有一个应用层的协议吧。应该要有一个规约的吧?包括数据的通信,以及配置参数的加载等等!
这块应该是个比较重要的点。

我觉得:影响PLC的性能效率的关键的地方就是IO扫描,
因为通常PLC的梯形等逻辑扫描过程,通常由CPU的性能和算法实现决定了,这块目前一般都还行,剩下的就是这个IO扫描效率了。
这块也是一直困扰我和我前同事的一个地方。

再次感谢各位的指导,呵呵,收获很大。

下面有条件有机会就准备开始操刀了。

出0入0汤圆

发表于 2009-12-13 16:06:13 | 显示全部楼层
收益非浅!

出0入0汤圆

发表于 2012-10-20 17:34:01 | 显示全部楼层
感谢前辈们的奉献.

出0入0汤圆

发表于 2014-3-15 19:15:48 | 显示全部楼层
mark 收藏了 还没有碰到这种  留心收下了

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 05:37

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

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