关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 可编程控制器与工业计算机通讯的应用

可编程控制器与工业计算机通讯的应用

作者:时间:2009-07-30来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/163690.htm

(plc)由于其结构紧凑、可靠性高、编程简单、指令强大、灵活性强、能适用于比较恶劣环境等诸多优点,现已在控制领域得到广泛。现普遍采用触摸屏加plc的方法来监控设备,但触摸屏视角窄,不适应恶劣环境,且数据存储容量有限,不易实现大规模网络互联。因此我们采用plc与的方式实现实时监控,克服了触摸屏的缺点。

2 s7-200 cpu自由口方式的

世界知名品牌的plc很多,如西门子、欧姆龙、松下、三菱等等,本人仅以西门子s7-200小型的cpu22×系列为例,介绍plc在网络中与的功能。

s7-200 cpu支持多样的通讯功能,根据所使用的s7-200 cpu,其网络可以支持一个或多个以下协议:

点到点(point-to-point)接口(ppi)

多点接口(multi-point)(mpi)

profibus

用户定义协议(自由口)

自由口通讯是通过用户程序可以控制s7-200 cpu通讯口的操作模式。利用自由口模式,可以实现用户定义的通讯协议连接多种智能设备。通过使用接收中断、发送中断、发送指令和接收指令,用户程序控制通讯口操作。在自由口通讯模式下,通讯协议完全由用户程序控制。通过smb30(口0)允许自由口模式,而且只有在cpu处于run模式时才能允许。当cpu出于stop模式时,自由口通讯停止,通讯口转换成正常的ppi协议操作。

近年来,随着我国铁路运输环境的改善,列车速度越来越高,势必对铁道车辆提出较高的要求,其表现在对列车的舒适性和运行可靠性、安全性的要求提高,因此车辆上设备的自动化程度越来越高。自动化程度的提高,带动了网络技术在列车控制和监控上的。车辆网络控制、监控简图如图1所示。

整列车设有车辆级计算机,每个车厢设有本车计算机,车辆级计算机与各个本车计算机组成车辆的主网,本车计算机与本车厢内的各个设备间组成子网。plc由于其自身的优点,作为控制核心在车辆上的多种设备中得以应用,例如列车自动门的控制、列车空调机的控制等,使其可以作为整个列车网络系统中的一个节点。


3 通讯协议

siemens s7-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。

例://串口初始化

network 7
ld sm0.0
movb 16#c5, smb30 //波特率为19200奇校验 //1起始位1停止位8数据位
eni //允许中断
movb 2, smb34
movb 20, smb35
atch int_0, 8

5 plc实时数据处理

由于s7-200系列plc在自由口模式下,通讯协议完全由梯形图程序或stl编辑器控制,程序可以使用接收中断、发送中断、发送指令和接收指令来控制通讯操作。cpu连续扫描用户程序,执行用户任务。plc在程序执行过程中,基于稳定、快速灵活等方面考虑,cpu每个扫描周期都通过输入输出映像寄存器来执行实际输入输出操作,即读实际输入点值到映像寄存器、写映像寄存器值到实际输出点。由于在中断中不能顺利进行数据读写操作,因此,可通过编程,利用plc循环扫描执行程序的特点,使得在程序扫描期间实现数据存储区与输入输出映像寄存器区交换数据。

在本实例中,plc上电初始化后转入接收字符中断,当上位机发出查询命令后,plc判断所发命令的地址和地址补码是否正确;如果正确判断上位机是向plc发送命令还是查询plc状态;如果执行命令则plc转入主程序执行相关命令,如果查询plc状态则将协议定义的信息发送给上位机,上位机收到信息后发送应答帧给plc。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭