西门子模块6ES7232-0HD22-0XA0参数选型
任何一种继电器控制系统是由三个部分组成的,即输入部分,逻辑部分,输出部分,其中输入部分是指各类按钮、开关等;逻辑部分是指由各种继电器及其触点组成的实现一定逻辑功能的控制线路;输出部分是指各种电磁阀线圈,接通电动机的各种接触器以及信号指示灯等执行电器。如图1所示,是一种简单的继电器控制系统。
图中X1、X2是两个按钮开关,Y1、Y2是两个继电器,T1是时间继电器。其工作是过程是:当X1、X2任何一个按钮按下,线圈Y1接通,Y1的常开触点闭合,指示灯红灯亮。此时时间继电器T1接通并开始延时,当延时到2S后,线圈Y2接通,常开触点闭合,绿灯亮。从上面这个例子可以知道,继电器控制系统是根据各种输入条件去执行逻辑控制线路,这些逻辑控制线路是根据控制对象的需要以某种固定的线路连接好的,不能灵活变更。和继电器控制系统类似,PLC也是由输入部分、逻辑部分和输出部分组成。如图2所示: 各部分的主要作用是:输入部分:收集并保存被控对象实际运行的数据的信息(被控对象上的各种开关量信息或操作命令等)。逻辑部分:处理输入部分报取得的信息,并按照被控对象的实际动作要求正确的反映。输出部分:提供正在被控制的装置中,哪几个设备需要实施操作处理。用户程序通过编程器或其它输入设备输入并存放在PLC的用户存储器中。当PLC开始运行时,CPU根据系统监控程序的规定顺序,通过扫描,完成各输入点的状态采集或输入数据采集、用户程序的执行、各输出点状态更新、编程器键入响应和显示更新及CPU自检等功能。PLC扫描既可按固定的程序进行,也可按用户程序规定的可变顺序进行。PLC采用集中采样、集中输出的工作方式,减少了外界的干扰。由以上分析,可以把PLC的工作过程为三个阶段,即输入采样阶段、程序执行阶段和输出刷新阶段。(1)输入采样阶段PLC在输入采样阶段,扫描所有输入端子,并将各输入存入内存中各对应的输入映象寄存器。此时,输入映象寄存器被刷新。接着进入程序执阶段,在程序执行阶段或输出阶段,输入映象寄存器与外界隔离,无论信号如何变化,其内容保持不变直到下一个扫描周期的输入采样阶段,才重新写入输入端的新内容。(2)程序执行阶段根据PLC的程序扫描原则,PLC先左后右,先上后下的步序语句逐句扫描。当指令涉及到输入、输出状态时,PLC从输入映象寄存器中“读入”对应输入映象寄存器的当前状态,进行相应的运算,运算结果再存入元件映象寄存器中,对元件映象寄存器来说,每一个元件会随着程序执行过程而变化。(3)输出刷新阶段在所有指令执行完毕后,输出映象寄存器中所有输出继电器的状态在输出刷新阶段转存到输出锁存寄存器中,通过一定方式输出,驱动外部负载。采用集中采样,集中输出工作方式的特点是:在采样周期中,将所有输入信号(不管该信号当时是否采用),一起读入,此后在整个程序处理过程中PLC系统与外界隔绝,直到输出控制信号到下一个工作周期再与外界交涉,从根本上tigao了系统的抗干扰扰tigao了工作的可靠性。PLC在输入输出的处理方面必须尊守以下原则:①输入映象寄存器的数据,取决于输入端子板上各输入端子在上一个周期间的接通、断开状态。②程序如何执行取决于用户所编程序和输入输出映象寄存器的内容。③输出映象寄存器的数据取决于输出指令的执行结果。④输出锁存器中的数据,由上一次输出刷新期间输出映象寄存器中数据决定。⑤输出端子的接通断开状态,由输出锁存器决定。
模拟屏能简单、明了地反映现场的实时数据和状态信息,应用十分广泛。为了使现场信息及时、准确、动态地显示在模拟屏上,要求数据采集设备和模拟屏之间进行通信。
现场信息量比较大,如果每个信号都独立连接到模拟屏,信号线数量多、耗线多,不经济,走线不便,故障率高,采用串行通信可克服以上缺点。
现在通信方式多种多样、速度越来越快,但串行通信在控制范畴一直占据着极其重要的地位。它不仅没有因时代的进步而淘汰,反而在规格上越来越完善、应用越来越广,长久不衰。
与并行通信相比,它传输速度慢(并行一次传8位,串行传1位),但并行通信数据电压传输过程中,容易因线路因素使标准电位发生变化(常见的电压衰减、信号间互相串音干扰)。传输距离越远,问题越严重、数据错误越容易发生。串行通信处理的数据电压只有一个标准电位,数据不易漏失。
常用的串行通信有两种,一种为rs232,另一种为rs422/485。工业环境常会有噪声干扰传输线路,在用rs232进行数据传输时,经常会受到外界电气干扰而使信号发生错误。rs232串行通信的信号标准电位是参考接地端而来的,干扰信号在原始信号和地线上均会产生影响,原始信号加上干扰信号后,依然传送到接收端,而地线部分的信号则不能传送到接收端。信号便发生了扭曲。rs422/485传输的是差分信号,在发送端分成正负两部分,到达接收端通过相减,还原成原来信号,两条信号线受到的干扰的程度相同,这就防止了噪声干扰。本文以plc和模拟屏通信为例介绍通过rs485实现点对点串行通信。
1 模拟屏的通信规约及设备
(1) 通信规约
rs232c/485串行口:速率9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位;传输报文内容以字节为单位,在信道中的传送顺序是:低字节先送,高字节后送;字节内低位先送,高位后送;数据格式为16进制数;异步通信。
(2) 设备
开关量处理器;开关量指示灯;模拟量处理器;模拟量显示器;时钟;通信处理器;中央控制器。
2 信息传输途径设备和功能
(1) 途径:数据采集通过plc完成,plc向模拟屏传输数据,控制模拟屏状态。rs485连接图如图1所示:
(2) 主要相关设备:中央处理器cpu314;点到点通信模块cp341-rs422/485。
(3) 功能:—向模拟屏发送模拟量数据;—向模拟屏发送开关量信息;—控制屏状态,包括:全屏亮暗、全屏信号分合、
变位帧闪光;—设定和改变时钟时间。
3 通信实现的方法
3.1 初始化
就串行通信而言,交换数据的双方利用传输在线的电压改变来达到数据交换的目的。如何从不断改变的电压状态中解析出其中的信息,双方必须有一套共同的译码方式,遵守一定的通信规则。这就是通信端口初始化。
通信端口初始化有以下几个项目必须设置或确认:
(1) 通信模式
串行通信分同步和异步两种模式。同步传输在通信的两端使用同步信号作为通信的依据,异步传输则使用起始位和停止位作为通信的判断。模拟屏通信模式:异步传输;西门子plc通信模式:异步传输;二者通信模式相同。
(2) 数据的传输速率
异步通信双方并没有一个可参考的同步时钟作为基准。这样双方传送的高低电位代表几个位就不得而知了。要使双方的数据读取正常,就要考虑到传输速率。收发双方通过传输在线的电压改变来交换数据,但发送端发送的电压改变的速率必须和接收端的接受速率保持一致。模拟屏的通信速率:9600bps;西门子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,将plc波特率设为:9600bps
(3) 起始位及停止位
当发送端准备发送数据时,会在所送出的字符前后分别加上高电位的起始位及低电位的停止位。接收端会因起始位的触发而开始接收数据,并因停止位的通知而确定数据的字符信号已经结束。起始位固定为1位,而停止位则有1,1.5,2等多种选择。模拟屏的停止位:1位;西门子plc的停止位:1位或2位。初始化,将plc数据停止位设为:1位。
(4) 数据的发送单位
不同的协议会用到不同的发送单位(欧美一般用8位、日本一般用7位组成一字节),使用几位合成一字节,双方必须一致。模拟屏的数据发送单位:8位为一字节;西门子plc的数据发送单位:7位或8位为一字节。初始化,将plc数据发送单位设为:8位。
(5) 校验位的检查
为了预防错误的产生,使用校验位作为检查的机制。校验位是用来检查所发送数据正确性的一种校对码,它分奇偶校验,也可无校验。模拟屏校验位:none;西门子plc校验位:none,odd,even;初始化,将plc校验位设为:none。
(6) 工作模式
交换数据是通过一定的通信线路来实现的。微机在进行数据的发送和接收时通信线路上的数据流动方式有三种:单工、半双工、全双工。rs232和rs422使用全双工模式,rs485使用半双工模式。模拟屏工作模式:rs232全双工/rs485半双工;西门子plc工作模式:rk512全双工四线制(rs422);3964r全双工四线制(rs422);ascii全双工四线制(rs422);ascii半双工两线制(rs485);初始化,将plc工作模式设为:ascii半双工两线制(rs485)。
(7) 数据流控制—握手
传输工作进行时,发送速度若大于接收速度,而接收端的cpu处理速度不够快时,接收缓冲区就会在一定时间后溢满,造成后来发送过来的数据无法进入缓冲区而漏失。采用数据流控制,就是为了保证传输双方能正确地发送和接收数据,而不会漏失。数据流控制一般称为握手,握手分为硬件握手和软件握手。模拟屏数据流控制:none;西门子plc数据流控制:none。要通过用户程序询问和控制。
(8) 错误预防—校验码
在传输的过程中,数据有可能受到干扰而使原来的数据信号发生扭曲。为了监测数据在发送过程中的错误,必须对数据作的确认工作,简单的方式就是使用校验码。模拟屏校验码:异或校验和。要在plc上编校验码程序。
IPC指的是工业中的使用计算机,也就是工业PC,工业PC的设计、制造与实际使用需要考虑到实际工作环境的影响,因为工业生产中的设备需要能够承受温度、湿度、机械扰动、电磁场甚至灰尘等恶劣条件的影响,IPC的制造需要使用工业级别的处理器,全部密封的封装箱柜,并且在设备中需要安装保持空气洁净的器件,还要能够铺垫避免机械扰动的物质和抗电磁干扰的屏蔽器件,加上多方面的保护措施才能够在工业环境中长期稳定运行,其具有极强的稳定性,可以广泛应用在工业、航空、矿业、军事等多种领域中。
PLC的全称为可编程控制器,它是在计算机基础上进行开发而成的自动化工业控制器。在工作中可编程控制器可以进行随时更改程序、适应性强,具有很强的适应能力和计算能力,加上大容量空间、多样化的软件程序应用、便捷的操作和多种独特的功能,如今PLC已经在工业控制中获得了极其广泛的应用。在IPC和PLC发展如此迅猛的,两者进行联合开发,在数控领域中发挥强大功能已经获得了可能,在开放式的数控系统中,通过PLC作为下位机处理一线的物理处理和数据收集,IPC可以作为处理设备进行计算、控制、数据研究等多项后期工作,如果多个PLC连接还可以实现网络化的控制,这两者的联合控制模式,将成为工业数控领域内的主流发展方向。
一、数控系统结构
开放性的数控系统采用了开放式的PLC,也就是外置式的PLC,传统的PLC是内置的,且多个PLC只能够由一个CPU进行控制,严重影响了工作效率也错误判别的准确性,外置式的PLC具有成熟的生产厂家,稳定的通信渠道,且具有独立的CPU对其进行控制,大大tigao了通信的稳定性和执行效率。
在本文的数控系统中,将以数控机床中的数控系统为例,PLC的主要功能是在机床的工作前线进行数据的采集、判断上位指令的传达、执行输入的控制指令,也就是对数控机床的运行状态进行实时的状态数据采集工作。PLC在数控系统中处于协调自身所在的数控系统和外部的控制指令的位置,一方面它需要能够执行IPC传达的控制命令和发送数据信息,一方面也需要通过DMP接收机床操作命令,根据这些接收到的命令输入机床的各个电机环节进行操作。而上位的工业计算机IPC的主要工作是对采集好的数据进行存储、挖掘并将结果进行输出显示等工作,这样就能够通过两者的配合实现对数控机床工作数据进行实时的采集与显示工作,上位机还需要进行对活动的机械设备进行电机等运动器件位置与方向、速度等参数的实时控制工作。系统中IPC与PLC采用点对点的通信方式,具体是通过RS232的串行接口进行连接,PLC与计算机的各个接口也都是通过RS232来进行。
二、IPC与PLC之间的通信
数控系统中的通信接口主要有两个,一个通过RS232串行接口进行数据指令的传输,一个是通过数据线与计算机进行程序的输出与写入工作,该接口也是通过RS232的串行接口,通过RS232数据线进行程序的传输和读写操作。
在通信工作开始之前,IPC与PLC的连接需要在正式开始之前进行初始化操作,PLC、IPC需要各自都采用同样的数据传输格式以及波特率参数。在通信正式开始之前,PLC的寄存器也需要进行统一的读写操作,其中寄存器412用于进行选择计算机的连接方式,寄存器413用于选择奇校验,设置传输8位,并选择停止位,寄存器414的作用是设置数据传输的速率。在计算机中,默认设置一号端口为PLC的通信读写端口。
在计算机通过串口对PLC进行通信程序的读写时,存在一套完备成熟的通信协议工具进行辅助程序通信,这个协议已经具备了如何接收上位机的控制指令、PLC的编号和命令设置方式。该指令的具体执行过程如下:
由上位机发出命令,该命令的前段包括起始码、接收的PLC的编号、特征码、正文命令内容、块校验码等内容,该格式由通信协议实现进行了规定;PLC的工作,其在接收到上位机发出的命令之后会对其进行检查是不是一段完整的合法指令,再检查自身的PLC编号是不是与指令中的目的编号相符合,如果这一切都符合要求,那么其会进行数据的发送工作,不然其会进行中断以拒绝操作,根据错误的原因发送固定格式的错误代码。
为了保证上位机与PLC之间通信的准确与可靠性,在通信协议中会设置一段块校验码,具体的使用方法是将上位机传来的指令进行校验,在校验中会将正文的指令内容进行一定形式的逻辑运算,转换为其它形式的代码,PLC在接收到信号后会对块校验码进行反演计算,如果与发送端的相同,那么就可以进行正常通信工作执行,否则就说明通信出现问题,根绝校验码输出的错误信息可以判断出发生问题的具体位置和原因。
三、IPC的通信程序
对于作为上位机的IPC来说,在其与PLC通信的过程中,始终处于主动发送命令的位置,根据用户的需求,使用特定的功能,让IPC发送相应的命令信息,而PLC则始终处于被动接受信息和执行的状态,由于PLC中不需要进行编程信息的编写和存储,其只能够处于响应控制命令,不能够进行主动发送信息和命令。在数控系统中,各种一线设备的工作状态数据需要随时进行读取显示,IPC并不具备主动进行实时读取的功能,这样的方式影响了PLC的实时工作性质。 传统的上位机与PLC之间的通信方式采用定时进行查询的方式,该方式具体的做法是IPC会在固定的时间间隔点后进行读取PLC的工作状态,如果某一次对PLC的读取发现其状态异常,那么会触发对应的处理方案,这种方法在故障发生并不严重的时候可以发挥基本的监控和提醒作用,在实时性上仍然具有一定的劣势,且操作的效率不高。而当使用串行接口进行通信工作时,在一开始对PLC的端口进行了预先的设置后,并不需要进行定时的数据汇报,而是当其实时观察到的数据产生变化时才会触发紧急状态信息,这样的数据会立即被传送至上位机进行处理,这样IPC上位机就能够在错误发生的时间进行处理,工作的效率较高,也节省了大量的监控数据传送,从错误发生到事件处理之间的时间也大大减少。
在IPC与PLC之间的通信中,需要开发相应的通信软件,以笔者所在的学校拥有的数控系统设备来讲,配备了成熟的串行通信程序编写控件MSComm,它能够为绝大多数的串口通信模块提供通信程序的编写工具。在VisualBasic环境中,利用该控件可以为各端口提供完备的输入输出数据信号的能力,其优势在于完善的中断功能,中断功能可以帮助开发者开发出更加成熟稳定的通信工具。如上述所说,通信中断的方式主要有两种,固定间隔的查询功能与实施状态变化发生的信息传送功能,如果数控系统涉及的器件不多,且结构简单无任何严重的不良后果,则可以采用定时查询的方式进行监控,如果数控系统的中断对即时性要求较高,那么则必须采用串口通信的方式处理错误事件。也叫做事件驱动方式。事件驱动方式的具体方法是当上位机决定好发送数据时,事件的属性定义为查询式传送数据时,系统将会以定时间间隔的方式由PLC汇报系统运行状态,而当事件的属性定义为事件驱动方式时,那么该通信会即时生效,开始处理程序,如果PLC汇报状态改变的信息时,上位机会立即作出处理。在处理的过程中,为了避免重复通信,可以继而转换为定时查询的方法向PLC发送信息处理状态,保证在处理过程中通信程序的畅通运行。
在数控机床等非标准机械的开发制造过程中,PLC的长期稳定工作能够为系统的运行带来可靠性,自身带有无法进行信息管理的弱点,不能够直接与使用者进行交流,在故障的发现与排除、实时状态的汇报等方面无法实现功能,在本文中利用了其与IPC进行通信的方式,成功地解决了该弱点,PLC能够实现数控系统前沿的信息收集,由IPC进行信息处理和现实,对于用户来说使用更方便,可靠性更高,在实际的各类数控系统开发中都可以得到广泛的应用。
一、开放系统互连模型
为了实现不同厂家生产的智能设备之间的通信,化组织iso提出了如图1所示开放系统互连模型osi(open systeminterconnection),作为通信网络化的参考模型,它详细描述了软件功能的7个层次。七个层次自下而上依次为:物理层、数据链路层、网络层、传送层、会话层、表示层和应用层。每一层都尽可能自成体系,均有明确的功能。
图1开放系统互连(osi)参考模型
1.物理层(physical layer)
物理层是为建立、保持和断开在物理实体之间的物理连接,提供机械的、的、功能性的和规程的特性。它是建立在传输介质之上,负责提供传送数据比特位“0”和“1”码的物理条件。定义了传输介质与网络接口卡的连接方式以及数据发送和接收方式。常用的串行异步通信接口标准rs-232c、rs-422和rs-485等就属于物理层。
2.数据链路层(databbbb layer)
数据键路层通过物理层提供的物理连接,实现建立、保持和断开数据链路的逻辑连接,完成数据的无差错传输。为了保证数据的可靠传输,数据链路层的主要控制功能是差错控制和liuliang控制。在数据链路上,数据以帧格式传输,帧是包含多个数据比特位的逻辑数据单元,通常由控制信息和传输数据两部分组成。常用的数据链路层协议是面向比特的串行同步通信协议----同步数据链路控制协议/数据链路控制协议(sdlc/hdlc)。
3.网络层(network layer)
网络层完成站点间逻辑连接的建立和维护,负责传输数据的寻址,提供网络各站点间进行数据交换的方法,完成传输数据的路由选择和信息交换的有关操作。网络层的主要功能是报文包的分段、报文包阻塞的处理和通信子网内路径的选择。常用的网络层协议有x.25分组协议和ip协议。
4.传输层(transport layer)
传输层是向会话层提供一个可靠的端到端(end-to-end)的数据传送服务。传输层的信号传送单位是报文(message),它的主要功能是liuliang控制、差错控制、连接支持。典型的传输层协议是因特网tcp/ip协议中的tcp协议。
5.会话层(session layer)
两个表示层用户之间的连接称为会话,对应会话层的任务就是提供一种有效的方法,组织和协调两个层次之间的会话,并管理和控制它们之间的数据交换。网络下载中的断点续传就是会话层的功能。
6.表示层(presentation layer)
表示层用于应用层信息内容的形式变换,如数据加密/解密、信息压缩/解压和数据兼容,把应用层提供的信息变成能够共同理解的形式。
7.应用层(application layer)
应用层作为参考模型的高层,为用户的应用服务提供信息交换,为应用接口提供操作标准。七层模型中所有其它层的目的都是为了支持应用层,它直接面向用户,为用户提供网络服务。常用的应用层服务有邮件(e-mail)、文件传输(ftp)和web服务等。
osi7层模型中,除了物理层和物理层之间可直接传送信息外,其它各层之间实现的都是间接的传送。在发送方计算机的某一层发送的信息,必须经过该层以下的所有低层,通过传输介质传送到接收方计算机,并层层上送直至到达接收方中与信息发送层相对应的层。
osi 7层参考模型只是要求对等层遵守共同的通信协议,并没有给出协议本身。osi7层协议中,高4层提供用户功能,低3层提供网络通信功能。
二、ieee802通信标准
ieee802通信标准是ieee(国际与电子工程师学会)的802分委员会从1981年至今颁布的一系列计算机局域网分层通信协议标准草案的总称。它把osi参考模型的底部两层分解为逻辑链路控制子层(llc)、媒体访问子层(mac)和物理层。前两层对应于osi模型中的数据链路层,数据链路层是一条链路(bbbb)两端的两台设备进行通信时所共同遵守的规则和约定。
ieee802的媒体访问控制子层对应于多种标准,其中常用的为三种,即带冲突检测的载波侦听多路访问(csma/cd)协议、令牌总线(tokenbus)和令牌环(token ring)。
1.csma/cd协议
csma/cd(carrier-sense multiple access with collisiondetection)通信协议的基础是xerox公司研制的以太网(ethernet),各站共享一条广播式的传输总线,每个站都是平等的,采用竞争方式发送信息到传输线上。当某个站识别到报文上的接收站名与本站的站名相便将报文接收下来。由于没有专门的控制站,两个或多个站可能因发送信息而发生冲突,造成报文作废,必须采取措施来防止冲突。
发送站在发送报文之前,先监听一下总线是否空闲,如果空闲,则发送报文到总线上,称之为“先听后讲”。这样做仍然有发生冲突的可能,因为从组织报文到报文在总线上传输需一段时间,在这一段时间内,另一个站通过监听也可能会认为总线空闲并发送报文到总线上,这样就会因两站发送而发生冲突。
为了防止冲突,可以采取两种措施:一种是发送报文开始的一段时间,仍然监听总线,采用边发送边接收的办法,把接收到的信息和自己发送的信息相比较,若相同则继续发送,称之为“边听边讲”;若不相同则发生冲突,立即停止发送报文,并发送一段简短的冲突标志。通常把这种“先听后讲”和“边听边讲”相结合的方法称为csma/cd,其控制策略是竞争发送、广播式传送、载体监听、冲突检测、冲突后退和再试发送;另一种措施是准备发送报文的站先监听一段时间,如果在这段时间内总线一直空闲,则开始作发送准备,准备完毕,真正要将报文发送到总线上之前,再对总线作一次短暂的检测,若仍为空闲,则正式开始发送;若不空闲,则延时一段时间后再重复上述的二次检测过程。
2.令牌总线
令牌总线是ieee802标准中的工厂媒质访问技术,其编号为802.4。它吸收了gm公司支持的map(manufacturingautomation protocol,即制造自动化协议)系统的内容。
在令牌总线中,媒体访问控制是通过传递一种称为令牌的特殊标志来实现的。按照逻辑顺序,令牌从一个装置传递到另一个装置,传递到后一个装置后,再传递给个装置,如此同而复始,形成一个逻辑环。令牌有“空”、“忙”两个状态,令牌网开始运行时,由指定站产生一个空令牌沿逻辑环传送。任何一个要发送信息的站都要等到令牌传给自己,判断为“空”令牌时才发送信息。发送站把令牌置成“忙”,并写入要传送的信息、发送站名和接收站名,将载有信息的令牌送入环网传输。令牌沿环网循环一周后返回发送站时,信息已被接收站拷贝,发送站将令牌置为“空”,送上环网继续传送,以供其它站使用。如果在传送过程中令牌丢失,由监控站向网中注入一个新的令牌。
令牌传递式总线能在很重的负荷下提供实时同步操作,传送效率高,适于频繁、较短的数据传送,它适合于需要进行实时通信的工业控制网络。
3.令牌环
令牌环媒质访问方案是ibm开发的,它在ieee802标准中的编号为802.5,它有些类似于令牌总线。在令牌环上,多只能有一个令牌绕环运动,不允许两个站发送数据。令牌环从本质上看是一种集中控制式的环,环上必须有一个中心控制站负责网的工作状态的检测和管理。