PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

PLC与单片机(5)PIC单片机的串口可以同时接收和发送2个8位数据,这是由于PIC单片机串口缓存结构决定的,下图是串口接收部分的汇编程序。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

(未完待续,下一期继续讲单片机如何接收数据)。

PLC和微控制器 (5)

下面的电路是微控制器从总线发送和接收数据的电路。 微控制器是PIC16F882。 Q5Q8是一个发送跟随器,以增加总线的驱动能力。 IC3 是一个运算放大器,用作比较器,用于向 PIC16F882 的 C2 引脚导出总线复位脉冲。 、Q14Q5解码数据到C7引脚,C6引脚通过Q6Q7将数据返回到232总线。 J2用于单片机地址码输入(用短路端接地为0,悬空为1)。 这样的总线可以承载很多单片机,BO~B7引脚内部有上拉电路,J3是编程接口。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

PIC单片机的编程还需要MPLAB_IDE集成开发环境(网上搜索有很多)和KIT3编程下载器(100元左右)。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

PLC与单片机之间的通讯方式是由PLC主动、不断地询问单片机来进行的。 微控制器只有在检查地址正确后才会做出响应。 这种通信方式不会造成数据冲突,可靠性高。 在自动化领域,微控制器一般用于工件的状态监控,分为开关量和模拟量。 模拟值必须通过单片机内部的A/D转换器转换成数据回PLC。

关于总线通讯协议,可以随意设置。 之前的定义是PLC下游查询指令是双8位结构,如下图。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

单片机的响应也采用双8位结构,因为单片机的A/D结果一般为10或12位,其余位用于切换数据返回。

如何保证单片机100%接收到总线上的数据并响应返回的数据取决于PLC输出的串口复位脉冲(接单片机的B0引脚INT外部中断输入)。 上升沿关闭串口,下降沿打开串口。 这样就完成了单片机的串口复位。 由于Y1串口复位脉冲是由PLC发出的,PLC和单片机在规定的时间内发送和接收数据,是一种非常可靠的总线技术。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

下面是串口复位子程序,用汇编语言编写。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

PIC单片机的串口可以同时接收和发送两个8位数据。 这是由PIC单片机的串口缓冲区结构决定的。 下图是串口接收部分的汇编程序。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

首先判断地址是否相同。 如果相同,则判断是读还是写。 如果是读指令,则需要发回数据。 首先,将数据保存到TX_WWW_H和TX_WWW_L。 此时,自定义的发送数据临时寄存器在主程序中。 始终调用下面的后台数据发送子程序,始终监视TX_WWW_H和TX_WWW_L是否为零,只要有数据就发送数据。

PLC如何通过232串口模块发数据,PLC与单片机之间还需要一个总线驱动电路

至此,PLC与单片机之间的通讯就可以完成了。

单片机

单片机最小系统原理、设计和制作过程以及程序下载方法

2024-2-6 13:02:25

单片机

51单片机课程设计--智能时钟(原创程序+仿真+流程图+报告)

2024-2-6 14:03:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索