System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及plc通信,尤其涉及一种基于lvds的plc通信方法。
技术介绍
1、plc是工业自动化常用到的可编程控制器,其可由各个单元模块组成,包括有主机、输入输出模块、数字模拟模块、中断模块、高速脉冲模块、高速计数模块及电源模块等。
2、主机可通过用户编辑的梯形图指令对各个单元模块进行操作或对各个单元模块的数据状态进行读取识别。
3、从机之间相互独立,板间通讯常以rs-485、can、以太网、lvds等为主。其中,rs-485存在抗干扰能力差的问题;can总线传输速率慢,导致实时响应性差,在某些场合下达不到工业现场需求;以太网传输速度虽然快,但其使用成本相对较高。
4、lvds作为一种低摆幅电压差分信号,具有抗噪能力强、功耗小、使用成本低、传输速率快的特性,适合用于短距离的板级通讯。
5、而现有技术中基于lvds实现的plc系统的方法主要为:
6、1、主机模块和至少一个从机模块连接;主机模块包括mcu和fpga,相互之间通过并口连接;fpga通过lvds接口与从机模块相连接,主机fpga芯片通过下行数据帧控制从机模块,从机模块通过上行数据帧响应主机fpga芯片控制。
7、2、数据帧包括第一数据帧和第二数据帧:第一数据帧实现对从机模块的编址和识别,包括同步头、指令类型及地址计数器,从机模块通过级联形式的下行传输接受第一数据帧以完成编址从而获得相对应的地址。第二数据帧通过下行传输和上行传输实现主机和所有从机模块之间的数据交换。
8、3、从机模块
9、4、从机模块接受到第二数据帧,会判断自身是否为最后一级扩展模块;如果自身不是最后一级从机模块,将第一数据帧传输至下一级从机模块;如果自身是最后一级从机模块,将自身数据写入相对应的时隙,并将该第二数据帧传输至前一级从机模块,传回主机fpga芯片从而完成对所有从机模块的数据交换。
10、上述技术存在如下问题:
11、(1)基于lvds的传输属于一种菊花链结构,在下行传输过程中,前一级从机先响应,后一级模块后响应会出现时间差。
12、(2)第二数据帧为先下行传输到最后一级,待传至最后一个从机模块进行回传,再每一级的上行传输时隙将数据传至上一级,传输效率较低。
13、因此,亟需一种新的技术方案来解决上述技术问题。
技术实现思路
1、本专利技术的目的在于克服上述现有技术的问题,提供了一种基于lvds的plc通信方法,以解决现有技术中传输效率低以及易出现时间差的技术问题。
2、上述目的是通过以下技术方案来实现:
3、一种基于lvds的plc通信方法,包括主机模块和至少一个从机模块,所述主机模块与各所述从机模块采用菊花链连接;
4、所述主机模块包括主机mpu模块和主机fpga模块,所述主机mpu模块和所述主机fpga模块之间通过高速并口连接;
5、所述从机模块包括从机mcu模块和从机fpga模块,所述从机mcu模块和所述从机fpga模块之间通过高速串口连接,所述高速串口包括第一高速串口和第二高速串口;所述第一高速串口用于所述从机fpga模块将下行数据传送给所述从机mcu模块,所述第二高速串口用于所述从机mcu模块将上行数据传送给所述从机fpga模块;
6、所述主机fpga模块与所述从机fpga模块之间,以及相邻各所述从机fpga模块之间分别通过lvds总线连接,用于数据的发送与接受;
7、通信流程包括:
8、步骤(1)所述从机模块确认是否有下行数据的输入,若否,则等待接受;若有,则进入步骤(2);
9、步骤(2)所述从机模块中从机fpga模块的计数器tick+1;
10、步骤(3)所述从机模块确认是否有上行数据输出,若否,则进入步骤(2);若是,则进入步骤(4);
11、步骤(4)所述从机fpga模块锁存的计数器tick的值,并计算补偿时间ti;
12、步骤(5)从机fpga模块的计数器tick清零并结束。
13、进一步地,步骤(4)中所述计算补偿时间ti具体为:设定数据在每个模块中停留的时间固定,该固定时间为ci(1≤i≤n),则有:
14、tn=cn;
15、tn-1=cn+cn-1;
16、tn-2=cn+cn-1+cn-2;
17、……
18、
19、其中,n为从机模块的数量,i为按顺排列的第i个从机模块;补偿时间ti的范围为(1≤i≤n)。
20、进一步地,设定各所述从机模块中上行数据和下行数据停留的时间相等,则有:
21、即:
22、t'n=2×cn;
23、t'n-1=2×(cn+cn-1);
24、t'n-2=2×(cn+cn-1+cn-2);
25、……
26、则有:
27、ti=t'i/2;
28、其中,t'i是易求的,可以通过fpga的计数器实现,并且补偿值可以通过第一数据帧在上行中逐级传递中实现,则有:
29、
30、其中,tick为从机fpga模块中上下行数据的计数差,f为从机fpga模块计数的频率。
31、本专利技术所提供的一种基于lvds的plc通信方法,通过建立两条互不干扰的信道,提高数据传输的效率;通过本方案提供的系统结构,各从机能实现同步输出,进而有效解决了时间差的问题。
本文档来自技高网...【技术保护点】
1.一种基于LVDS的PLC通信方法,其特征在于,包括主机模块和至少一个从机模块,所述主机模块与各所述从机模块采用菊花链连接;
2.根据权利要求1所述的一种基于LVDS的PLC通信方法,其特征在于,步骤(4)中所述计算补偿时间Ti具体为:设定数据在每个模块中停留的时间固定,该固定时间为Ci(1≤i≤n),则有:
3.根据权利要求2所述的一种基于LVDS的PLC通信方法,其特征在于,设定各所述从机模块中上行数据和下行数据停留的时间相等,则有:
【技术特征摘要】
1.一种基于lvds的plc通信方法,其特征在于,包括主机模块和至少一个从机模块,所述主机模块与各所述从机模块采用菊花链连接;
2.根据权利要求1所述的一种基于lvds的plc通信方法,其特征在于,步骤(4)中所述计算补偿...
【专利技术属性】
技术研发人员:韩志豪,俞博文,邹骏宇,
申请(专利权)人:无锡信捷电气股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。