搜索
bottom↓
回复: 2

stm32仿三菱PLC要如何实现自由口通讯?

[复制链接]

出0入0汤圆

发表于 2016-3-5 14:56:48 | 显示全部楼层 |阅读模式
        接收串口数据是通过开启USART的RXNE中断,存放在缓冲区内并用指针指向该区域,通过配置stm32定时器,在中断里不断扫描并对接收指针指向的数据进行校验处理,并通过串口DMA将要发送的数据发送出去,对于Modbus协议这部分已经实现了,最近想实现自由口通讯这个功能,但对于PLC的自由口通讯不是很理解,不知道该如何下手。
        看了一些PLC该功能的介绍,我的理解是添加两个指令,一个是Send发送指令,另一个Rev接收指令,发送前需先确定好数据格式,然后将要发送的数据存放在某片数据寄存器内,当调用Send指令时,则通过串口DMA将存放在寄存器中的数据发送出去,发送完成将某个M标志位置位表示发送完成,梯形图中将该M标志位作为Rev指令的输入触发条件,准备接收数据,然后将数据存放在另一片数据寄存器中,这样就实现了发送接收的功能。
        但有些疑问,因为没有定义协议,底层代码中是不是只要实现可以发送,可以接收数据就行了;是不是就不需要对数据进行校验判断,只要原原本本的发要发的数据,接要接的数据就行了?如果连续不断地接收数据那接收到的数据岂不是一直会覆盖掉,这样的通讯又有何意义?

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2022-6-2 11:18:35 | 显示全部楼层
自由口通讯是西门子S7-200型PLC提出来的一种通信协议;
三菱FX-2N系列,没有自由口通信协议的说法,你可以用三菱FX2N的编程口与PC机(组态软件等)、触控屏通讯;也可以使用485(MODBUS)进行PLC与PLC通讯,或PLC与其他485(MODBUS)设备通讯;

出0入4汤圆

发表于 2022-6-2 20:45:37 来自手机 | 显示全部楼层
本帖最后由 baal 于 2022-6-2 20:59 编辑

自由口协议许多PLC都有,用过欧姆龙三菱的,三菱3U系列就有,可以参考下,基本上就是自己编辑数据格式,然后发送,接收到数据会标志某些位,然后自行处理。还是很好用的,3U有crc指令,modbus可以实现,当然是简化过的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 01:32

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

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