西门子模块6ES7223-1PM22-0XA8参数规格
西门子模块6ES7223-1PM22-0XA8参数规格
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比较,检查是否有数据错误。如果有数据有误,从站发送信息给主站,请求重发。
·字符结构:每个字符由11位构成,奇偶校验位采用奇校验方式。
起始位:1位;
数据: 8位 d7…d0;
奇偶校验位:1位;
停止位:1位。
·传输数据帧格式
byte(0)…byte(n)fcs
byte(0)…byte(n)为字符串;
fcs为异或校验码,是发送的所有数据字节和地址字节之异或值。
·主站命令帧结构
从站地址从站地址补码控制字节命令字节fcs
·从站应答帧结构
从站地址从站地址补码控制字节应答字节fcs
4、通讯口初始化
plc内部特殊存储器位smb30和smb130分别配置通讯端口0和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对车上设备状态实时监控的问题。通过这种方式组建的车辆实时监控系统,只是在原有的设备控制器软件内增加了通讯程序,所以并没有增加设备供应商的成本,因此这种监控系统的开发成本低,而且实时性好、操作简单、通用性强。再利用计算机易组网的功能,实现了整列车的实时监控,大大提供了列车行驶中的可靠性和安全性,因此这种网络系统在旅客列车、特别是高速列车上已普遍使用。
一、引言
某生产电容机械的厂家,每套生产线有3台设备,可独立运行。原来用1台PLC进行集中控制,不仅布线不方便,且PLC故障,3台设备都无法运行。为了将风险分散,易于维护和布线。采用艾默生ECBUS网络分散控制系统,每台设备配置1台PLC,PLC之间数据可共享,以实现联锁和集中传到文本显示器中显示。
系统配置如下:
RS485/ECBUS网络
这里重点介绍ECBUS网络的概念、设置和应用,其他与文本和伺服驱动器的通讯不一一叙述。
二、 ECBUS网络通讯
1、 ECBUS协议
ECBUS是Emerson公司开发的一种小型PLC网络。ECBUS在物理层使用RS485,PLC可以通过通讯口1直接接入或者通过通讯口0经过RS232/RS485转换器接入。接入ECBUS的PLC可以自动的互相交换部分D元件和M元件的数值,这使得网络中其它PLC的元件访问,变得如同访问自身元件那样简单方便。ECBUS中,PLC间的数据访问是完全对等的(N:N)。
单层网络:多32台PLC。
多层网络:每层多支持16台PLC。
2、共享元件地址
ECBUS交换的D元件和M元件称为共享元件区。M元件共512个,从M1400-M1911,D元件64个,从D7700-7763。一旦PLC使用了ECBUS,这些元件地址被占用,共享区的值会自动的不停的刷新,网络中每台PLC的共享区元件的值保持相等。
对于每台PLC都可以读共享区元件,但只能对属于自己的可写元件值进行改写。由于共享元件个数是固定的,接入PLC数量越多,每个PLC分配的元件可写个数越少,且元件地址是连续平均分配的。这种对应关系用刷新模式来定义,根据网络上PLC的数量共分5种模式。
3、ECBUS设置
本应用中ECBUS网络共3台PLC,单层网络,所以选模式4。每台PLC分配的地址如下:
0#:M1400-M1527,D7700-D7715
1#:M1528-M1655,D7716-D7731
2#:M1656-M1783,D7732-D7747
ECBUS网络设置非常简单,通过系统块进行参数设置。站号的设置从0开始,0号站是网络的启动和设置站点,网络大巡检站数、附件延迟时间、重试次数、模式设置只需对0号站进行设置。
1#、2#号站的站点除了波特率和奇偶校验和0号站一致外,只需设置自己的站号。
4、程序
为了说明简单,假设每台PLC共享的数据如下:
0#号站:M0、M1;D0、D1
1#号站:M2、M3;D2、D3
2#号站:M4、M5;;D4、D5
对于每台PLC,无需编通讯程序,只需要将传送给其他PLC的元件值放到自己的共享元件中即可,数据会自动刷新,其他PLC只要读取相应的共享区元件值。
0#站程序:
1#站程序:
2#站程序:
二、 总结
1、 利用EC10的串口1,ECBUS网络在不增加任何硬件的情况下,实现简易PLC间链接。
2、 ECBUS物理层采用RS485,简单方便,只要2根线即可,好用屏蔽双绞线。
3、 ECBUS窗口设置简单,用户只需做简单的赋值、MOV指令,无需编复杂的通讯程序。
4、 ECBUS通讯速度大到115.2KBPS,能满足大多数应用场合。
5、 ECBUS特别适合分散控制系统,比如楼宇自控、产品生产线中。