发新帖我要提问
123
返回列表
打印
[应用相关]

使用STM32开发铸造生产线设备

[复制链接]
楼主: wangjiahao88
手机看帖
扫描二维码
随时随地手机跟帖
41
wangjiahao88|  楼主 | 2019-6-6 16:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
42
wangjiahao88|  楼主 | 2019-6-6 17:04 | 只看该作者

使用特权

评论回复
43
wangjiahao88|  楼主 | 2019-6-6 17:05 | 只看该作者

使用特权

评论回复
44
wangjiahao88|  楼主 | 2019-6-6 17:05 | 只看该作者
    下面简要介绍将USARTI配置为RS-485接口,用于实现MODBUS物理层的步骤。
    (1)开启USARTI的时钟以及相应GPIO端口的时钟。要使用USARTI,首先要打
开USARTI的时钟,时钟设置为S OMHz。由于USARTI的TXD/RXD信号是以I/O复用
的形式连接到端口PA9/PA 10上,还要打开GPIO端口A的时钟,并将PA9/PA 10配置为
复用功能USARTI TX/USARTI RXo
    C2)完成 USARTI的基本配置,包括波特率设置、数据字长、奇偶校验以及收发
使能等。通过设置波特率寄存器USART一RR设定波特率为9600bps;通过设置控制寄
存器1 USART CR1设定数据格式为1个起始位、8个数据位、奇校验,并使能发送器和
接收器;通过设置控制寄存器2 USART CR2设定停止位为1位;
      C3)使能数据发送完成TC中断和接收RXNE中断,并完成相应中断配置。
    C4)完成上述配置后,需要开启USARTI。通过设置控制寄存器1 USART_ CRl的
UE位开启USARTI o
    经过上述4个步骤后,USARTI就可以实现RS-485通信功能,另外由于RS-485接口
为半双工通信接口,同一时刻只能进行数据发送或者接收,因此需要一个GPIO口对收发
数据过程进行流控。发送数据时,将该GPIO口置1;接收数据时,将该GPIO口置Oo

使用特权

评论回复
45
wangjiahao88|  楼主 | 2019-6-6 17:07 | 只看该作者

使用特权

评论回复
46
wangjiahao88|  楼主 | 2019-6-6 17:09 | 只看该作者

使用特权

评论回复
47
wangjiahao88|  楼主 | 2019-6-6 17:10 | 只看该作者

使用特权

评论回复
48
wangjiahao88|  楼主 | 2019-6-6 17:10 | 只看该作者
    控制器与两台伺服驱动器通信过程与触摸屏通信过程类似,区别在于控制器作为主站,
是通信的发起方,控制器定时向两台伺服驱动器发送查询消息帧,伺服驱动器只对与本机
地址一致的查询消息帧作出回应。两台伺服驱动器的设备地址分别为1和20
    在实际的应用过程中,通信出错是无法完全避免的,因此一个可靠的通信协议必须要
有相应的检错机制。MODBUS RTU模式采用的CRC-16校验方式,可以检出消息帧中的
单位、双位错、奇位数错误以及小于等于16位的突发错误,对于大于16位的突发错误检
错率为99.997% o CRC校验码为两个字节,是一个16位二进制值,由主站计算并附加在
消息帧中,从站重新计算所收到消息的CRC值,并与接收到的CRC值作比较,两值相同,
则传输数据正确,否则,传输数据有误【}m。只有字符中的8个数据位参与CRC的计算,
起始位、停止位及校验位不参与CRC的计算。CRC校验流程图见图5.120

使用特权

评论回复
49
wangjiahao88|  楼主 | 2019-6-6 17:12 | 只看该作者

使用特权

评论回复
50
wangjiahao88|  楼主 | 2019-6-6 17:12 | 只看该作者

使用特权

评论回复
51
wangjiahao88|  楼主 | 2019-6-6 17:14 | 只看该作者
    MODBUS应用层中进行通信设备地址的约定、功能码及数据内容的具体实现。仍以
控制器与触摸屏通信为例进行阐述。控制器首先检查消息帧地址是否为本机地址(本文中
控制器设备地址为02)。然后根据功能码确定应该执行哪些动作,这就是消息帧解析的过
程。控制器提取出功能码、触摸屏要查询的寄存器序号和数量等信息后,控制器就能知道
该把哪些寄存器的数据送给触摸屏。从站按照要求提取触摸屏需要的寄存器数据,按照功
能码要求的格式组织回应消息帧,也就是消息帧处理的过程。
    MODBUS协议中定义了13种公共功能码,并且对各功能码的数据格式有明确要求。
由于伺服驱动器MODBUS通信协议规定,读取电机转速寄存器地址为Ox5A0,只能用03
读保持寄存器功能码。故本文中涉及到4种功能码,04, OS和06功能码主要实现触摸屏
和控制器的通信(MODBUS 1),而03功能码则实现控制器和伺服驱动器通信(MODBUS2 ) o
下面将详细介绍主站和从站针对不同功能码,查询和回应消息帧格式【56]
    C1)  03 COx03)功能码:读保持寄存器值。以读取1#电机当前转速200rpm为例,
主站发送消息帧如表5.6所示,从站回应消息帧如表5.7所示。

使用特权

评论回复
52
wangjiahao88|  楼主 | 2019-6-6 17:15 | 只看该作者

使用特权

评论回复
53
wangjiahao88|  楼主 | 2019-6-6 17:15 | 只看该作者

使用特权

评论回复
54
wangjiahao88|  楼主 | 2019-6-6 17:15 | 只看该作者

使用特权

评论回复
55
wangjiahao88|  楼主 | 2019-6-6 17:16 | 只看该作者

使用特权

评论回复
56
wangjiahao88|  楼主 | 2019-6-6 17:16 | 只看该作者
    触摸屏是具有显示器和触摸开关等功能的可编程终端,其内部自带丰富的部件库,因
此其界面制作方便;可以代替按钮、指示灯等外部器件,节省了控制器输入输出点;同时
可以完成大量数据的设置、显示和存储,使操作简单,可以直观地反映工业控制系统的状
态;具有非常高的稳定性和可靠性,能够在恶劣的工业环境中长时间运行,是现代工业自
动化控制领域不可或缺的辅助设备。
    触摸屏组态软件是指在Windows操作系统下,能够通过形象、简单的操作来实现监
控界面的编程软件。利用它可以开发出友好的人机界面,是数据库、控制操作、图形库和
运行监视等为一体的应用软件,是分布式控制系统中工程人员与操作人员常用的系统开发
平台。组态软件在运行期间,通过驱动程序和外部设备交换数据,包括发送数据和采集数
据,这种方式使组态软件和通信程序构成一个完整的系统。
    McgsTpc系列触摸屏组态在MCGSE组态环境中进行,主要有窗口组态和设备组态。

使用特权

评论回复
57
wangjiahao88|  楼主 | 2019-6-6 17:17 | 只看该作者

使用特权

评论回复
58
木木guainv| | 2019-6-18 12:57 | 只看该作者
非常不错的资料啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则