产品描述
西门子模块6ES7214-1BD23-0XB8产品规格
1 引言
随着微机技术的不断深入发展,以微机技术为基础的可编程控制器(Programmable Logical Controller)也在不断地发展和成熟,它以其性高、能经受恶劣环境的考验、功能强大和使用简单方便等优越性,工业自动控制领域,成为工业自动控制的产品.在印刷包装行业中应用尤其.在当今竞争日益激烈的市场经济中,各印刷包装机械厂家为赢得广泛的客户群,他们在成本控制、系统稳定性和流程控制等上花大力气,以求得在众多的竞争对手中优势.本文着重介绍了一种基于PLC 的全自动立式包装机控制系统, 对控制系统中传动系统设计和PLC程序设计做详细的介绍.
2 系统硬件设计
本控制系统主要介绍的是利用可编程控制器、人机界面、伺服电机实现立式包装机全自动稳定运行,达到准确控制,提高产量和降的目的. 根据现场生产要求,该控制系统主要由三部分组成: 控制部分: 闽台永宏电机股份公司的FATEK 可编程控制器(PLC); 操作部分:闽台泉毅电子公司的HITECH PWS1711-STN2 人机界面(HMI), 执行部分:单片型给料机、日本松下伺服电机、普通打印机、长封/端封汽缸、给膜电 机、切、点切线. 给等各一台(个).
系统结构框图下图1.1 所示.
1.系统控制部分
系统关键的控制器PLC 选用的是闽台永宏电机股份公司的FATEK MA 系列FBs-40MAT 机型,永宏四代小型机FBs 系列是一种有很和价格比的可编程控制器, 由于其结构紧凑小巧,执行速度快,功能强大及价格低廉等特点,符合本系统各方面要求.在该系统中,永宏表格式的伺服控制编程方式简而易己地实现了伺服控制,其高速脉冲直接驱动伺服电机.I/O
2 通行原理与方法
上位机要能够通过plc监控下层设备的状态,就要实现上位机与plc间的通信,一般工业控制中都是采用rs232c实现。上位机向plc 发送查询数据的指令(实际上是查询plc中端子的状态和dm区的值等),plc接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含尾校验字节)。否则,plc拒绝向上位机传送数据。上位接收到plc传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。
由于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。plc与计算机之间的连接是通过omron提供的电缆cqm1-cif01来实现的,其硬件连接图如图1所示。
3 plc与计算机间的通信规约
计算机与plc间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有高的级。,计算机向plc发出命令帧,然后,plc作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下:
(1) 命令帧格式。为了方便计算机和plc的通讯,cpm1a对在计算机连接通信中交换的命令和响应规定了相应的格式。当计算机发送一个命令时,命令数据主准备格式如图2所示。
4 通信程序的设计
为了充分利用计算机数据处理的强大功能,我们可以采用计算机有权的方式,在计算机上编写程序来实现计算机与plc的通信, 计算机向 plc发出命令发起通信,plc自动返回响应。本文中采用vb来编写计算机与plc间的通讯程序。在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。
下面介绍mscomm控件的属性:
*commport:设定通信连接端口代号,程序所要使用的串行端口号,bbbbbbs系统使用所设定的端口与外界通信。
*portopen:设定通信口状态,若为真,通信端口打开,否则关闭。
*settings:设定通信口参数,其格式是"bbbb,p
,d,s",其中bbbb为通信速率(波特率),p为通信检查方式(奇偶校验), d 为数据位数,s为停止位数,其设定应与plc的设定一致。
*bbbbb:将对方传送至输入缓冲区的字符读入到程序。
*output:将字符写入输出缓冲区。
*inbuffercount:传回接收缓冲区中的字符数。
*outbuffercount:传回输出缓冲区中的字符数。
*bbbbblen:设定串行端口读入字符串的长度。
*bbbbbmode:设定接收数据的方式。
*rthreshold:设定引发接收事件的字符数。
*commevent:传回oncomm事件发生时的数值码
*oncomm事件:无论是错误或事件发生,都会触发此事件。
(1) 控件参数的初始化。
初始化程序如下:
port=2 `使用串口com2
mscomm.settings="9600, e, 7, 2" `波特率9600,偶校验,7位数据位,2位停止位
mscomm.portopen=true `打开通信端口,准备通信
(2) 计算校验码fcs,计算fcs的vb自定义函数如下:
function fcs(byval bbbbbstr as bbbbbb) as bbbbbb
dim slen, i, xorresult as integer
dim tempfes as bbbbbb
slen=len(bbbbbstr) `求输入字符串长度
xorresult = 0
for i = 1 to slen
xorresult = xorresult xor asc(mid$(bbbbbstr, i, 1)) `按位异或
next i
tempfes=hex$(xorresult) `转化为16进制
if len(tempfes)=1then tempfes =“0”+tempfes
fcs = tempfes
end function
(3) 计算机与plc通信程序。
主要是一个自定义函数。
function readdata(byval bbbbbstr as bbbbbb, byval num as integer) as bbbbbb
dim outputstr as bbbbbb
dim inbbbbbb as bbbbbb
dim returnstr as bbbbbb
dim endbbbbbb as bbbbbb
dim fcsbbbbbb as bbbbbb
dim returnfcsbbbbbb as bbbbbb)
mscomm.inbuffercount=0
outputstr=bbbbbstr+fcs(bbbbbstr)+“*” `给出命令帧
mscomm.output=outputstr+chr$(13) `向plc传送命令帧
do
doevents
loop while mscomm.inbuffercount < 15
inbbbbbb=mscomm.bbbbb `plc的响应帧
`结束码判断
endbbbbbb = mid$(inbbbbbb, len(inbbbbbb) -
num- 5, 2)
if endbbbbbb = "13" then
readdata = "error"
exit function
elseif endbbbbbb = "14" then
readdata = "error"
exit function
elseif endbbbbbb = "15" then
readdata = "error"
exit function
elseif endbbbbbb = "18" then
readdata = "error"
exit function
elseif endbbbbbb = "a3" then
readdata = "error"
exit function
elseif endbbbbbb = "a8" then
readdata = "error"
exit function
end if
`响应帧校验
endbbbbbb = mid$(inbbbbbb, 1, len(inbbbbbb) - 4)
returnfcsbbbbbb = mid$(inbbbbbb,len(inbbbbbb) - 3, 2)
fcsbbbbbb = fcs(endbbbbbb)
if fcsbbbbbb <> returnfcsbbbbbb then
readdata = "error"
exit function
end if
returnstr = mid$(inbbbbbb,
len(inbbbbbb) - num - 3, num)
readdata = returnstr
end function
从上面程序可以看到,计算机对plc返回的响应帧要进行fcs校验,并利用异常码排除返回的异常数据,这样不但可以提高计算机信息的正确性,而且提高了计算机监控的实时性。
5 结束语
本文介绍的通信方法在我校cims研究自行研制的一套机电一体化设备中得到实施运用,经试验运行,证明这种通信方法稳定、,确实是一种非常有效的方法。将plc与计算机通信网络连接起来,plc作为下位机,计算机作为上位机,形成一个优势互补的自动控制系统,实现了“集中管理,分散控制”。其中各个plc子系统或远程工作站在生产现场对各个被控对象进行控制,利用网络连接构成一个plc综合控制,满足了现代自动化系统向信息化、网络化、智能化的过渡。
随着经济的发展,城市的建筑物越来越多,预防和火情就显的十分重要。消防自控制系统就是为了预防和火情并能在火灾发生的早期就进行自动灭火的一种系统。当火灾发生时,报警系统发出火灾信号,并通知消防自控系统,然后消防自控制系统再进行灭火。现就自控消防系统做一具体介绍。
控制要求:
1. 本系统运用于大型某建筑物的消防系统中,该系统有43台消防设备,分布在建筑物的不同地方,两个设备之间距离较远(几十米到上百米)。现要将现场的43台设备联网,并进行监控。
2.为了保证工作的性,能够对现场的每一台设备都可以进行监控。并可时时将火灾信号传达到相应的设备,控制相应的设备进行灭火。同时还要求现场的设备不仅可以控制,到现场还可进行现场控制。
3.为了能查看着火现场的状况,要求将着火现场的视频切换到视频中,以方便查看现场的着火和灭火情况。
4.操作现场的某一设备时,也要切换到当前操作设备的视频,以实现手动控制。
5.当某一设备与网络通讯出现故障时,和现场都要能时时报警。
6.为了保证的控制稳定,要有两种以上的操作系统。
7.与43台设备之间的数据通讯的实时性,性要能够保证。
8.经济性和操作性也是实际施工的一个重要因素。
解决方案:
1、要将43台消防设备联网,远程控制。考虑到成本、布线和施工的方便,将采用RS-485络网。由于RS-485只需要拉两条线,布线方便,成本也较低廉,并且一个网络跨度的距离大,可长达1公里多。同时又考虑到网络通讯的数据量大而且台数多,不仅有开关量和数字量,还有现场的模拟量。单一通讯口通讯的实时性不够,考虑后决定采用3个RS-485网络来进行通讯,这样不仅保证了通讯数据量大和实时性的问题,也提高了工作的性。也给布线带来了方便,可多网络铺线。
2.现场的PLC控制单台消防设备的各种动作执行,通过网络对所有现场的单台设备进行控制,控制程序放在单台设备上,PLC放置通讯控制程序。
3. 当操作哪台设备时或是哪个区域发出火灾报警信号时还要能通过视频看到现场,所以在加一个视频用来查看现场的火灾情况。因为每台设备都有一个视频,所以加一个视频矩阵进行43路的视频切换。当火灾发生或是控制哪台设备时就自动切换到哪台设备的视频。
4.当网络出现故障,现场和都要有报警。故障报警:采用Haiwell(海为)PLC简单的通讯指令,每一个站地址的通讯只要一条指令完成,同时还有与每个通讯地址通讯成功与否的标志位,利用此标志位就可用来做通讯故障报警。以达到与现场的某台设备通讯故障做到有效的报警。现场网络故障报警:与通讯正常时,对本地的某一M位一直置“ON”。本地的程序一段时间就会对这个M位置“OFF”,若这个M位很长时间都没有为“ON”就说明与通讯故障,就可用这个M位来判断现场与的网络通讯是否成功来做网络故障报警。
5.是个重要的控制点,要有两套或两套以上的控制方式,所以在用一个计算机和一个触摸屏来对进行控制,以增加控制的性。两个控制相互立,又可对同一同时控制,当其中一个出现故障时,另一个可以控制,这样就不会影响的正常工作,达到地控制。
综上各要求,消防系统网络示意如下图所示:
<1> COM1和COM2是海为PLC主机自身所带的两个通讯口,COM1口(RS-232)用与上位机联机监控,COM2(RS-485)口用于的触摸屏联。再扩展三个通讯口(COM3、COM4和COM5),用于43台消防设备的联网。海为每个通讯口都可上下载程序和通讯,并且支持并行执行,保了通讯时实时性。
<2> DI模块用于将火灾报警信号传至,再跟据火灾报警的信号通过处理传至对应的消防设备,并在产生火灾报警提示,将当前着火的区域通过DO模块输出信号给视频矩阵,通过视频矩阵切换当前着火的视频在视频电视中。
系统优点:
1、程序容量大:16K
2、可扩展的通讯口多:可扩展3个通讯,达到5个通讯口。每个通讯都支持并行工作,且都可上下载程序或通讯。
3、控制点数多:一个主机可扩展7个模块
4、通讯指令简单:一台设备一条指令完成,人为控制时序来避免端口的通讯冲突,并且通讯成功与否都有标志位,方便了技术人员的调试工作,提高了工作效益。
5、通讯效:通讯程序与扫描周期无关,通讯程序与其它程序分在不同的CPU执行,保证了通讯的实时性。
总结
Haiwell(海为)强大的组网通讯能力和无间隔的通讯执行,简单易用的通讯指令,使这种大组网也可用RS-485网络来实现,降、保证了通讯的实时性和性。
0.引言
随着计算机技术的发展,人们逐渐通过计算机软件来模拟实际的物理模型。“虚拟模型”就是以计算机技术为基础,数字接口技术为支持,对模型进行研究和利用。虚拟电梯系统是指将计算机和PLC控制虚拟成一台实际运行的电梯,计算机通过动画显示电梯的轿厢和井道并模拟电梯的运行,同时将信号传送到PLC 控制器。PLC控制器运行电梯控制程序,通过通讯程序将控制结果传回计算机,计算机上的虚拟电梯根据控制信号来进行电梯的运行和信号的指示,从而模拟电梯的运行过程,并能模拟实际电梯的各种运行状态和故障状态。
与传统的物理模型电梯相比,虚拟电梯具有以下优点:
(1),使用方便,便于自行设计开发电梯的控制功能。
(2)虚拟电梯可以作为电梯操作人员的培训软件,熟悉电梯正常的运行规律和各种控制信号的功能。虚拟电梯设置灵活,楼层数、梯速和电梯数量都可以改变,而实际物理模型都是不可改的。
(3)虚拟电梯可以作为PLC控制器的控制对象,对实际电梯控制系统的PLC控制程序及功能进行调试和完善。
因此虚拟电梯技术为开发电梯控制系统以及电梯操作人员的培训了良好的应用前景。
1.虚拟电梯系统的结构及原理
虚拟电梯控制系统由PLC电梯控制程序、系统通信程序和虚拟电梯界面三部分构成。如图1所示。虚拟电梯界面如图2所示,这是两个电梯的,画面对称地分为左右两个电梯系统。以左梯为例,左侧模拟虚拟电梯的轿厢和并道,其右侧为轿箱门和内外呼叫信号以及显示搂层信号,上部为电梯的运行状态。通过菜单的设置,可以配置电梯的数量、搂层数、电梯的运行方式(自动、司机、消防和检修等方式)。
图2 虚拟电梯界面
Fig.2 interface of virtual elevator
系统的硬件主要是计算机、西门子S7-200型PLC和通讯电缆。系统的工作过程为::通过设置运行状态以及点击界面上的按钮,使计算机将虚拟电梯的信号通过通讯程序发送给PLC,PLC根据接收到的信息,运行电梯控制程序,并将控制程序的控制信号发送给计算机,计算机则通过相应的解释程序,一方面将运行状态显示在界面上,另一方面控制虚拟电梯动画模块的动作,从而达到虚拟电梯控制的目的。计算机中的软件采用VB编程,通讯方式采用串口通讯。
2.通讯协议格式设计
整个系统中将计算机虚拟电梯模型和电梯控制器PLC连接起来的就是计算机和PLC的通讯程序。通讯协议就是定义的使计算机与PLC能够识别相互之间通讯数据的通讯格式。本系统中S7-200与计算机间的,是以“帧”为单位进行的。本系统采用定长的通讯帧,每一帧的格式为:
定义:
1).开始字符标志着通讯帧的开始,在本系统中被定义为ASCII码的"@"。
2).结束字符标志着通讯帧的结束,在本系统中被定义为ASCII码的"#"。
3).校验码为正文各数据的异或和,用两个字节的十六进制ASCII码表示。
计算机与PLC通信时,为了避免通信中的冲突,采用主从方式,即计算机为主机,PLC为从机。只有主机才有权主动发送请求报文(或称为请求帧),从机收到后进行校验,若校验正确,则返回响应报文。
4)通讯帧中的命令类型则反映主从机之间的通讯数据类型。命令类型用两个字符格式表示,定义CT表示控制字,ST表示状态字,RS表示响应字。对不同命令类型的通讯数据帧格式定义如下:
(1) 状态字为计算机传向PLC的数据,表明虚拟电梯的状态及呼叫命令。该通讯帧数据格式为:
正文数据包括: 电梯的运行状态(上行、下行、停),信号(是、否),电梯开关门,电梯内呼外呼信号,平层信号等,用十进制数字按照下列定义的顺序表示:
运行方式定义为1位:自动为0,司机为1,检修为2,消防为3;
运行状态定义为1位: 电梯上行 为2,下行 1 ,停止为0,故障为3
电梯开关门定义为3位,含义:按钮未按0,电梯开门1 ,电梯关门 2 ;二、三位表示门状态:开门过程00 ,开门到位01,关门过程10 ,关门到位11 ;
电梯内呼数据以N开始,以W结束,每两位表示内呼层数,如N0413W表示电梯内有到4层和13层的内内呼信号;
电梯外呼数据以内呼结束字符W位开始,以字符S为结束字符。每三位表示外呼层数:是外呼方向0为下行,1为上行,2为上下均有呼叫,另两位表示层数。如数据W005112S则表示五层有下行呼叫,12层有上行呼叫。
平层信号用两位表示。
正文数据为A、B两梯的数据,其格式相同,其中A梯数据在前,B梯数据在后。
(2)响应字是计算机或PLC接收到数据后返回发送方的的响应。用于判断通讯数据是否正确。正文包括:当异或校验码正确时用00表示,错误时用11表示。当计算机向PLC发送如前所示状态字后,由PLC返回计算机的响应为:
(3)当计算机向PLC发送的数据格式为
表明计算机作为主机,要求PLC传送数据,主机处于数据接收状态,此时PLC向计算机传送的数据帧称为控制字,通过它来控制虚拟电梯的运行,控制字格式为
正文数据包括:电梯的上行下行停止,电梯开关门指令,信号指示(内呼、外呼、搂层)。定义格式与状态字类似。
3 .通讯程序设计
通讯程序的设计就是要在计算机和PLC之间完成以上述协议为格式的数据传递任务。分为计算机通讯程序和PLC通讯程序。
3.1计算机通讯程序
在开发计算机串行通信程序时采用VB编程语言,主要是利用MSComm (Microsoft Comm Control 6.0)通信控件,该控件提供了对串口的各种操作。MSComm提供两种通信方式,事件驱动方法和查询法。本系统采用查询法,查询法适合于较小的应用程序,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性,以检查执行结果或检查某一事件是否发生。MSComm 控件主要属性有:
(1)Commport属性,设置并返回通信端口号,用于使用PC机的哪一个串行端口
(2)Setting属性,以字符串的形式设置并返回波特率、奇偶校验、数据位和停止位。
(3)Portopen属性,设置并返回通信端口的状态,用于打开或关闭端口。
(4)Output属性,用于发送数据,可以是文本数据或二进制数据。
(5)bbbbb属性,从接收缓冲区返回和删除字符,用于接收数据。
(6) bbbbbLen,设置并返回每次bbbbb属性从接收缓冲区读取的字符数。
(7) CommEvent,返回近的通讯事件或错误。
计算机虚拟电梯的通讯过程如图3所示。
3.2 PLC通讯程序
西门子S7-200PLC提供了PPI(point to point)、MPI(multi point)和自由口(free port) 3种通讯方式,自由口通讯方式可以使S7- 200与任何具有串行口的设备进行通讯,自由口通讯使用RS-485接口,在程序中可以使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)等来控制通讯操作。通讯过程中,计算机作为主站通过COM口发送指令到PLC的PORT0口,PLC通过Rcv接收指令,然后对指令译码后实现指令要求的操作,并返回指令执行的状态信息。
PLC通讯程序采用中断方式,S7- 200系列PLC内部的特殊存储字节SMB30和SMB 130用来为通讯端口0和1在自由口通讯方式下选择波特率、奇偶校验和数据位数。利用XMT指令发送缓冲区的内容,发送完后会产生一个中断事件。利用RCV指令接收数据,接收完后也会产生一个中断。
PLC的通讯过程如图4所示。
3.3 系统的工作过程
虚拟电梯系统的通讯过程同样分为计算机和PLC两部分,计算机部分通讯过程是:虚拟电梯的界面运行后,每过一定的时间(设定为100ms),计算机就将虚拟电梯界面上的鼠标指令以及电梯的状态发送给PLC,PLC接收数据后,将其作为输入端口数据运行电梯的控制程序,产生输出数据,并将数据按协议格式传递给计算机,计算机接到后对数据进行解析,然后根据控制指令来进行电梯的运行和信号的指示。
4 结束语
通讯程序的设计是虚拟电梯中的重要一环,它决定了系统能否实现真正运行的功能,以及扩展性和通用性。本系统设计了可扩展的通讯协议格式,使用VB语言和西门子S7-200PLC开发了计算机和PLC的通讯程序,实现了计算机与PLC的实时通信。并将该通讯技术成功应用在了多电梯的虚拟系统中。该虚拟电梯系统作为PLC开放式实验室的一个虚拟对象,在PLC单电梯和多电梯控制中得到了很好的应用,也为开发电梯控制系统以及电梯操作人员的培训了良好的应用前景。
产品推荐