完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 引言
可编程控制器(PLC)由于其结构紧凑、可靠性高、编程简单、指令强大、灵活性强、能适用于比较恶劣环境等诸多优点,现已在工业控制领域得到广泛应用。现普遍采用触摸屏加plc的方法来监控设备,但触摸屏视角窄,不适应恶劣环境,且数据存储容量有限,不易实现大规模网络互联。因此我们采用plc与计算机通讯的方式实现实时监控,克服了触摸屏的缺点。 2 s7-200cpu自由口通讯方式的应用 世界知名品牌的plc很多,如西门子、欧姆龙、松下、三菱等等,本人仅以西门子s7-200小型可编程控制器的cpu22×系列为例,介绍plc在计算机网络中与计算机通讯的功能。 s7-200cpu支持多样的通讯功能,根据所使用的s7-200cpu,其网络可以支持一个或多个以下协议: 点到点(point-to-point)接口(ppi) 多点接口(multi-point)(mpi) profibus 用户定义协议(自由口) 自由口通讯是通过用户程序可以控制s7-200cpu通讯口的操作模式。利用自由口模式,可以实现用户定义的通讯协议连接多种智能设备。通过使用接收中断、发送中断、发送指令和接收指令,用户程序控制通讯口操作。在自由口通讯模式下,通讯协议完全由用户程序控制。通过smb30(口0)允许自由口模式,而且只有在cpu处于run模式时才能允许。当cpu出于stop模式时,自由口通讯停止,通讯口转换成正常的ppi协议操作。 近年来,随着我国铁路运输环境的改善,列车速度越来越高,势必对铁道车辆提出较高的要求,其表现在对列车的舒适性和运行可靠性、安全性的要求提高,因此车辆上设备的自动化程度越来越高。自动化程度的提高,带动了网络技术在列车控制和监控上的应用。车辆网络控制、监控简图如图1所示。 整列车设有车辆级计算机,每个车厢设有本车计算机,车辆级计算机与各个本车计算机组成车辆的主网,本车计算机与本车厢内的各个设备间组成子网。plc由于其自身的优点,作为控制核心在车辆上的多种设备中得以应用,例如列车自动门的控制、列车空调机的控制等,使其可以作为整个列车网络系统中的一个节点。 3 通讯协议 siemenss7-200系列plc可以采用用户定义通讯协议(自由口)模式实现计算机与plc、plc与plc的通讯。笔者所描述的例子中,虽然车辆计算机系统和车辆上的其它设备分别是多个设备供应商的产品,但是只要制定好通讯协议,就能满足相互通讯的要求。s7-200系列的plc正是由于其自由口通讯是通过用户程序控制cpu串行通讯口的操作模式,所以可以方便地与车辆计算机通讯。 计算机(主站)每隔100ms查询plc(从站)一次,主站发出从站动作控制命令给从站,从站收到命令后发给主站应答帧,从站接收到主站发送来的一帧数据,计算出其校验码fcs,与接收到的一帧数据中的fcs比较,检查是否有数据错误。如果有数据有误,从站发送信息给主站,请求重发。 l字符结构:每个字符由11位构成,奇偶校验位采用奇校验方式。 起始位 数据 奇偶校验位 停止位 1位8位d7…d0 1位 1位 l传输数据帧格式 byte(0)…byte(n)fcs byte(0)…byte(n)为字符串; fcs为异或校验码,是发送的所有数据字节和地址字节之异或值。 l主站命令帧结构 从站地址从站地址补码控制字节命令字节fcs l从站应答帧结构 从站地址从站地址补码控制字节应答字节fcs 4 通讯口初始化 plc内部特殊存储器位smb30和smb130分别配置通讯端口0和1,为自由端口通讯选择波特率、奇偶校验和数据位数。自由端口的控制字节描述如表1所示。 例如:在通讯协议中规定奇偶校验为奇校验、每个字符的数据为8位、波特率为19200、自由口协议,采用通讯端口0,则在plc初始化程序中将smb30赋值为0c5h。 例://串口初始化 ┋ network7 ldsm0.0 movb16#c5,smb30//波特率为19200奇校验//1起始位1停止位8数据位 eni//允许中断 movb2,smb34 movb20,smb35 atchint_0,8 ┋ 5 PLC实时数据处理 由于s7-200系列plc在自由口模式下,通讯协议完全由梯形图程序或stl编辑器控制,程序可以使用接收中断、发送中断、发送指令和接收指令来控制通讯操作。cpu连续扫描用户程序,执行用户任务。plc在程序执行过程中,基于稳定、快速灵活等方面考虑,cpu每个扫描周期都通过输入输出映像寄存器来执行实际输入输出操作,即读实际输入点值到映像寄存器、写映像寄存器值到实际输出点。由于在中断中不能顺利进行数据读写操作,因此,可通过编程,利用plc循环扫描执行程序的特点,使得在程序扫描期间实现数据存储区与输入输出映像寄存器区交换数据。 在本实例中,plc上电初始化后转入接收字符中断,当上位机发出查询命令后,plc判断所发命令的地址和地址补码是否正确;如果正确判断上位机是向plc发送命令还是查询plc状态;如果执行命令则plc转入主程序执行相关命令,如果查询plc状态则将协议定义的信息发送给上位机,上位机收到信息后发送应答帧给plc。 例:interrupt0//接收开始 network1 ldnsm3.0 ab=smb2,vb0 movw+0,ac0 movd&vb600,vd638 movbsmb2,*vd638 xorwsmw1,ac0 movbac0,vb300 atchint_1,8 atchint_6,11 creti network2 ldsm0.0 dtch8 atchint_6,10 interrupt1//接收地址补码 network1 ldnsm3.0 ansm1.0 movbsmb2,*vd638 xorwsmw1,ac0 network2 ldsm0.0 atchint_6,10 interrupt2//接收命令后判断 ┋ network3//发送信息 ldw=ac2,+0 ab=vb301,vb604 ab=vb603,16#00 atchint_4,10 dtch11 creti network4 ldsm0.0 wdr ┋ network7 ldsm0.0 sm31.0,1 dtch11 atchint_5,10 interrupt3//接收应答字节 network1 ldnsm3.0 ansm1.0 movbsmb2,*vd638 incdvd638 xorwsmw1,ac0 decwac2 network2 ldw=ac2,16#0000 movwac0,vw300 network3 ldsm0.0 dtch8 atchint_6,10 interrupt4//发送信息码 ┋ network6 ldsm0.0 movwac0,vw105 xmtvb100,0 atchint_6,9 ┋ interrupt5//发送应答帜 ┋ network9 ldsm0.0 movwac0,vw105 xmtvb100,0 rm31.0,1 atchint_6,9 ┋ interrupt6//转入接受中断 network1 ldsm0.0 dtch9 dtch10 dtch11 atchint_0,8 6 计算机实时数据处理 计算机程序由车辆级网络供应商提供,根据双方制定的通讯协议,通常采用vb或vc编写,在此不做详细描述。 7 结束语 从以上叙述可以看到,由车辆计算机与plc(或其它智能可编程设备)组建的车辆级实时监控系统关键在于解决计算机与plc的实时通讯、plc对车上设备状态实时监控的问题。通过这种方式组建的车辆实时监控系统,只是在原有的设备控制器软件内增加了通讯程序,所以并没有增加设备供应商的成本,因此这种监控系统的开发成本低,而且实时性好、操作简单、通用性强。再利用计算机易组网的功能,实现了整列车的实时监控,大大提供了列车行驶中的可靠性和安全性,因此这种网络系统在旅客列车、特别是高速列车上已普遍使用。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2359 浏览 5 评论
3207 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2785 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
658浏览 1评论
897浏览 0评论
1018浏览 0评论
664浏览 0评论
494浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 09:52 , Processed in 1.088690 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号