搜索
bottom↓
回复: 14

开源PLC所使用的总线

[复制链接]

出0入0汤圆

发表于 2011-7-6 09:41:04 | 显示全部楼层 |阅读模式
我想问下做过该开源PLC的大牛同志们,不知道你们的PLC能够下挂数字量输入输出之类的模块吗?
如果可以的话,我想问问使用的PLC扩展总线是什么啊?是自己定义的还是使用的现有的类似CAN,IIC之类的总线啊?
我现在想自己设计一个扩展总线,想要保证总线速率在10M以上,从机模块采用300M左右的FPGA,现在的问题是:
1:我采用的是串行同步总线,即有三根线,一根是SCLK,一根是CS,一根是DATA,我不知道这个SLCK究竟是采用外部固定的时钟信号,比如说10MHz的晶振提供的方波信号呢,还是自己手动控制SCLK引脚呢?如果是前者的话,如何能保证数据的有效长度和位置一定和时钟线匹配?如果是后者的话,那怎么保证自己的总线速率是在10M以上的呢?还是说这个速率根本就是不固定的?
2:关于模块的连接方式,我采用的是级联方式,但是我觉得从速度上来说,并行总线的速度明显是要快一些的,为什么大家都不采用呢?是因为占用的引脚过多吗?

麻烦斑竹大大和各位大牛同志们帮帮忙,要中期答辩了。。哭啊·谢谢了

出0入0汤圆

发表于 2011-7-6 09:45:50 | 显示全部楼层
研究生?不容易啊。
背板总线在PLC的实现中,我也觉得是个难点。上次老王他们提了一个采用交换机里面的背板总线设计思路。
我也觉得不错。但是后来和我们单位的交换机研发部门沟通了下,好像难度比较大。

出1070入962汤圆

发表于 2011-7-6 09:52:36 | 显示全部楼层
既然是下挂,还要考虑级联,三根线的总线就和两根线的没啥区别了,地址还是要从机自己匹配的。自己设计的总线,加上地址匹配,冲突处理,纠错等等下来,未必真的比现在成为国际标准的总线好。所以,做产品和项目,自然是选择已经有标准的总线,但是做论文,做学问,自然是可以探讨一下,自己设想的,做做实验,未尝不可。
PLC不是交换机,不需要那么快的速度和那么宽的背板带宽。

出0入0汤圆

 楼主| 发表于 2011-7-6 12:17:37 | 显示全部楼层
回复【2楼】Appcat  苹果猫
-----------------------------------------------------------------------
恩,的确如您所说的,产品还是使用现有的总线会更加可靠。只是毕设要求的,没办法,要是全部都使用现有的就没有什么原创性的东西了。因为采用的是级联的方式(上面说错了,不是下挂式,不好意思),冲突处理还好说,纠错采用的CRC16,现在主要是要解决通信的问题

出0入0汤圆

 楼主| 发表于 2011-7-6 12:20:01 | 显示全部楼层
回复【1楼】oldtom  
-----------------------------------------------------------------------

我现在做到的情况是发送出来的波形是正确的,但是接收的结果不对,我不知道是因为我采用proteus仿真出现的问题,还是程序的毛病,现在还在找,另外,能麻烦您把我上面的第一问解答一下吗?对于这个问题我真的很疑惑

出0入0汤圆

发表于 2011-7-6 13:42:06 | 显示全部楼层
你这个和SPI很像啊!

出0入0汤圆

 楼主| 发表于 2011-7-6 15:18:04 | 显示全部楼层
回复【5楼】oldtom  
-----------------------------------------------------------------------

SPI总线是用下挂式的,这样的问题在于如果下挂的模块多的话,其管脚的驱动能力会不够,并且需要加入复杂的竞争机制,我是用的级联的方式,但是总的来说,通信的方式同SPI是类似的
如果串行通信能够通信成功的话,我就改成并行的,这样应该也是同样可以实现的,也可以加快速度

出0入0汤圆

发表于 2011-7-6 15:58:34 | 显示全部楼层
并行总线如何?

出0入0汤圆

 楼主| 发表于 2011-7-6 16:10:45 | 显示全部楼层
回复【7楼】ljt8015  
-----------------------------------------------------------------------
应该也是可以的,读取并行总线应该是和读取串行总线的一位是一样的,所以只要串行能通,并行应该是没有问题的

出0入0汤圆

发表于 2011-7-6 16:54:26 | 显示全部楼层
级联的方式 不明白,工作原理和SPI有啥区别?

如果在产品中应用,我们是不会采用这种自定义的方式实现。
主要是MCU里面不好处理。
我们此前是用CAN做背板,功能都能满足要求,不过就是速率有点低。
低端的也有用IIC来做的。

这种自定义的总线,工作原理基本上都是主CPU去轮询各个IO模块吧?
不过有一个地方,不知道你是如何考虑,就是如果IO模件发生中断,需要主动通知主CPU。

出0入0汤圆

 楼主| 发表于 2011-7-6 17:05:02 | 显示全部楼层
回复【9楼】oldtom  
-----------------------------------------------------------------------
PLC的背板总线中CAN的确是用的比较多的,稳定性也很高,就是速度跟不上,这种自定义的总线一来是为了提高传输的速度,二来就是为了在自己做的小型系统里面也能使用,能兼容其他一些小型PLC。因为现在有些小型PLC采用的都是三根串联线的方式,所以希望以后能做到跟他们兼容(西门子的兼容不了啊~哎)。毕设中也要自己能开发一个小型PLC,能带上自己的输入输出模块。工作方式是由输入输出模块自己主动的给PLC上传数据,而不需要轮询,当然PLC也可以主动的要求模块反馈信息等等。
连接方式是参考如图:

(原文件名:级联.jpg)

下挂式(SPI)是这样的

(原文件名:下挂.jpg)

出0入0汤圆

发表于 2011-8-3 12:11:11 | 显示全部楼层
对PLC不大了解。
直接使用CAN,以太网等总线可以不?以太网的速度快,可以到100M bps,物理层的寻址不用自己考虑。上层协议可以使用IP+TCP(UDP),如果不想太复杂的话,可以自己在MAC层上封装自己的协议。

出0入0汤圆

发表于 2011-8-12 16:52:10 | 显示全部楼层
以太网,CAN是外部总线。 看上面说的是PLC扩展模块的总线。 这种实现方式很多种

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-29 12:34

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

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