7
6ES7214-2BD23-0XB8厂家质保
引言
在当前的工业生产过程控制中,普遍采用了PLC控制系统,通过软件程序来实现控制设备之间的联锁控制也就是自动控制,由控制设备驱动的工厂机械设备来完成满足工艺要求的生产过程。这里,设备的运行分为单体手动操作和自动控制运行两种方式。在单体手动操作中,一般是在设备就地(机旁)操作。PLC的程序控制主要是进行自动控制,但其中也包括单体手动操作,其完成的功能和就地(机旁)操作是一样的,不同之处在于,它是通过程序的方式来实现,并且一般是在上位机的监控画面中通过点击鼠标的方式进行,也就是在机房或控制室中进行而不是就地(机旁)。手动操作(包括程序中的手动单体操作)和自动控制程序的主要区别在于,自动控制程序是在正式投产后,各个设备没有故障可正常工作时运行。而手动操作是在调试期间用于俗称的“打点”时用,或正常运行时,有设备出现故障时用。例如,某供水水箱的液位控制,水位高时,启动出水泵供水,水位低时,停止泵供水,如水箱的液位传感器出现故障,自动控制就无法进行,那么为了继续维持生产,就需要操作人员现场手动操作,根据水箱的液位指示器来手动启动和停止出水泵的运行及相应阀门的开关。需要指出的是,本文所指的设备是PLC输出控制的开关量设备,模拟量设备不在本文的讨论之列。
设备手动和自动切换的方式
在本文中,设备是指工厂机械设备及其控制设备。控制设备是指电机,阀门等等,而设备的手动和自动运行,主要体现在控制设备的手动和自动运行。例如,对于电机的控制一般是通过MCC(电机控制)电气控制系统来进行的,电机的远程和就地信号,即自动和手动的切换信号,以及启动、停止、故障等信号均由MCC提供并接到PLC硬件系统。在MCC柜上的远程就地转换开关打到就地时,进行就地手动操作;打到远程时,进行PLC的程序自动控制,或在上位机画面上进行点击鼠标式的手动操作。我们可以这样来理解PLC控制系统、就地电气控制系统、控制设备和工厂机械设备之间的关系,即自动控制(包括PLC程序中的手动操作)是由PLC控制系统通过电气控制系统,由电气控制系统来控制像电机一样的控制设备,后由控制设备来驱动工厂机械设备的运行。而电气控制系统像MCC柜本身,就可以直接进行手动就地操作。
对于电机的控制来说,正常运行时,是PLC程序的自动控制,此时的远程就地转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行联锁操作。后如果依然不能解决问题,则需要在就地(机旁)进行操作,一般是进行电机停止的操作。
对于阀门来说,一般也有相应的电气控制系统,就像MCC一样,其一般是就地的现场电磁阀控制柜(箱),一般都有远程就地的转换开关,用于手动和自动运行的切换。和电机控制一样,正常运行时,是PLC的自动控制,此时的远程就地的转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行联锁操作。后如果依然不能解决问题,远程就地转换开关打到就地位置,进行现场的就地控制。如果还不能解决问题,则只能使用手动阀门进行操作。
显然,就地手动和远程自动运行,是通过就地控制柜(箱)上的转换开关来实现的。PLC程序中的手动和自动的切换功能,也可以这样做,在程序中实现类似于转换开关这样的操作是没有问题的。
设备手动和自动切换的程序实现方法1
当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行PLC的自动控制;当其为0时,则表示是现场手动操作。为了实现程序内部的手动自动切换,就像远程就地信号一样,设置一个中间变量,这个中间变量作为程序手动单体设备操作的标志,是由上位机监控程序来赋值的,其值为1时,进行程序的单体设备手动操作;为0时PLC程序进行自动控制。由此可见,每一个自动控制中的设备都是在这两个条件下运行的。
我们用梯形图来实现一个电机和一个阀门的手自动切换功能,设置如下输入、输出IO标签和中间变量:
输出:电机启动START
电机停止STOP
阀门打开OPEN
阀门关闭CLOSE
输入:电机MCC柜远程就地信号RL_M
阀门控制柜远程就地信号RL_V 变量:电机启动条件A
电机停止条件B
阀门打开条件C
阀门关闭条件D
电机的上位机手动操作中间变量UP_MAN_M
电机的上位机手动操作启动UP_START_M
电机的上位机手动操作停止UP_STOP_M
阀门的上位机手动操作中间变量UP_MAN_V
阀门的上位机手动操作打开UP_OPEN_V
阀门的上位机手动操作关闭UP_CLOSE_V
使用美国A-B公司用于Logix 5000系列PLC的RSLogix 5000编程软件的梯形图
设备手动和自动切换的方式
在本文中,设备是指工厂机械设备及其控制设备。控制设备是指电机,阀门等等,而设备的手动和自动运行,主要体现在控制设备的手动和自动运行。例如,对于电机的控制一般是通过MCC(电机控制)电气控制系统来进行的,电机的远程和就地信号,即自动和手动的切换信号,以及启动、停止、故障等信号均由MCC提供并接到PLC硬件系统。在MCC柜上的远程就地转换开关打到就地时,进行就地手动操作;打到远程时,进行PLC的程序自动控制,或在上位机画面上进行点击鼠标式的手动操作。我们可以这样来理解PLC控制系统、就地电气控制系统、控制设备和工厂机械设备之间的关系,即自动控制(包括PLC程序中的手动操作)是由PLC控制系统通过电气控制系统,由电气控制系统来控制像电机一样的控制设备,后由控制设备来驱动工厂机械设备的运行。而电气控制系统像MCC柜本身,就可以直接进行手动就地操作。
对于电机的控制来说,正常运行时,是PLC程序的自动控制,此时的远程就地转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行联锁操作。后如果依然不能解决问题,则需要在就地(机旁)进行操作,一般是进行电机停止的操作。
对于阀门来说,一般也有相应的电气控制系统,就像MCC一样,其一般是就地的现场电磁阀控制柜(箱),一般都有远程就地的转换开关,用于手动和自动运行的切换。和电机控制一样,正常运行时,是PLC的自动控制,此时的远程就地的转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行联锁操作。后如果依然不能解决问题,远程就地转换开关打到就地位置,进行现场的就地控制。如果还不能解决问题,则只能使用手动阀门进行操作。
显然,就地手动和远程自动运行,是通过就地控制柜(箱)上的转换开关来实现的。PLC程序中的手动和自动的切换功能,也可以这样做,在程序中实现类似于转换开关这样的操作是没有问题的。
设备手动和自动切换的程序实现方法1
当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行PLC的自动控制;当其为0时,则表示是现场手动操作。为了实现程序内部的手动自动切换,就像远程就地信号一样,设置一个中间变量,这个中间变量作为程序手动单体设备操作的标志,是由上位机监控程序来赋值的,其值为1时,进行程序的单体设备手动操作;为0时PLC程序进行自动控制。由此可见,每一个自动控制中的设备都是在这两个条件下运行的。
我们用梯形图来实现一个电机和一个阀门的手自动切换功能,设置如下输入、输出IO标签和中间变量:
输出:电机启动START
电机停止STOP
阀门打开OPEN
阀门关闭CLOSE
输入:电机MCC柜远程就地信号RL_M
阀门控制柜远程就地信号RL_V 变量:电机启动条件A
电机停止条件B
阀门打开条件C
阀门关闭条件D
电机的上位机手动操作中间变量UP_MAN_M
电机的上位机手动操作启动UP_START_M
电机的上位机手动操作停止UP_STOP_M
阀门的上位机手动操作中间变量UP_MAN_V
阀门的上位机手动操作打开UP_OPEN_V
阀门的上位机手动操作关闭UP_CLOSE_V
使用美国A-B公司用于Logix 5000系列PLC的RSLogix 5000编程软件的梯形图
1996年5月某厂扩建2号回转窑700t/d熟料生产线,生料均化库选用一座Φ15m×30m的混合室库,其充气控制的初步设计方案是:选用空气分配器。在建设过程中,通过实际考察,对PLC+电磁阀控制和空气分配器方案进行比较:
1)空气分配器控制充气的时间是固定的,生产中不能根据工况的具体条件进行改变,均化的效果很难保证。而采用电磁阀控制,电磁阀的动作时间能用PLC程序任意调节,并且根据不同的情况用程序可以实现多种控制方式,使生料均化的效果达到。
2)3台空气分配器的价格共计12.5万元,而20只电磁阀PLC的价格只有7.4万元。因此,1997年5月该厂决定采用PLC+电磁阀控制方案,并且修改设计、安装和调试全部由本厂自行承担。1997年12月生料均化控制系统投入运行一年多,控制设备运行正常,均化效果良好。
1 混合室库均化原理
混合室均化库主要包括:贮存库、混合室、库分配器、库内充气系统和库侧卸料装置。其中库内充气系统包括:环形区卸料充气槽、混合室搅拌充气槽和隧道区输送充气槽,生料送入库分配器,呈流态化均匀地分配到输送斜槽中,通过斜槽下料口进入贮存库形成料层。库底环形充气槽分成四个区,由一台罗茨风机供气,每个区包括三个充气单元。通过电磁阀控制单个充气单元的循环充气,分块切割料层,卸入混合室。混合室充气槽也分成四个区,由两台罗茨风机供气。通过电磁阀控制,以“一区强其余三区弱”的方式,轮换充气搅拌混合室内的生料,形成一定高度的流态化料层,后由隧道区上卸料口卸出。
2 PLC控制电气设计
2.1 硬件设计
为满足PLC控制与S7400PCS系统连接及设备控制要求,设置了S1自动/手动/机旁切换和S2中控/本控切换。当S1在自动位置时,S2可以选择中控计算机起/停操作或本控PLC控制柜起/停操作。当S1在手动位置时,可由PLC控制柜上的按钮来控制设备开、停。当S1在机旁位置时,可由机旁控制箱上的按钮来控制设备开、停。选用日本三菱公司的PLC:FX2-32MR扩展FX-16EYR,对4台罗茨风机和20只电磁阀进行控制。
2.2 软件设计
程序设计采用梯形图语言。根据控制原理,设计程序共分4个部分:1)外环区顺序控制部分。2)内环区“一强三弱”控制部分。3)罗茨风机电机控制部分。4)方式切换和报警检测部分。为适应生产工况的变化,程序中外环区和内环区的时间可随时调整并有记忆功能。均化周期为55min。
3 PLC系统安装调试
电气设计完毕后即可进行控制系统的安装、调试。在控制柜中安装PLC,连接电源及输入、输出控制线路,输入控制程序进行调试。采用模拟调试,即切断输出电源,模拟各种输入信号并对所有输出信号进行测试,看程序各个部分的功能是否符合控制过程的要求,用以考察PLC控制程序的完整性和性。然后接通PLC输出电源,进行空载联动试车,后进行带负荷联动试车。
4 使用效果
1)PLC控制系统投入运行后,出库生料CaCO3的指标全部合格,均化系数可达5.4,系统运行良好。
2)每个充气单元的时间参数可根据工艺的要求随时调整,且有记忆功能,不受停电等因素的影响,修改参数方便。对各区充气单元充气顺序的不同组合,可实现多种均化方式。还可控制环形区的卸料速度,使混合室内的生料充分搅拌保持一定的流态化料层高度,保证了均化效果,满足了工艺的要求。
3)控制功能软件化简化了控制设备,节省了设备投资,同时增加了设备运行的性,减少了维修工作量,降低了维修费用。系统切换灵活,操作简单方便,岗位工人容易掌握。



1 引言
随着计算机科学技术、工业控制等方面的新技术的发展,使用计算机监控系统与现场PLC 设备进行数据交换得到了广泛的应用。这类数据交换往往具有以下的特点,数据量大,采集点分散,带宽较窄。由于不同厂家所提供的PLC 现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序就越来越多。这种复杂的设备驱动程序的开发具有以下的特点:
,上位监控系统与PLC 设备间的数据交换,应用较普遍。
其次,这种数据通讯过程,缺乏有通用性的框架设计,开发周期长,难度大,难以通用。
再者,在有限带宽限制条件下的大数据量传输,普遍存在着信道利用率低,系统效率差,不稳定的情况,迫切需要大幅度提高信道利用率的算法。而且在已有的数据交换标准中,对于有限带宽条件下的信道利用率也没有成熟的设计。
如上所述,开发PLC 设备的通用性数据通信接口具有广泛的应用前景和实现。本文主要针对上位监控系统与PLC 设备之间的数据通信进行分析,介绍了PLC 设备的驱动开发的方法,并提供PLC 通信的实例。
2 PLC 驱动的使用
本文中以使用串口通讯的PLC 为例进行分析和说明,监控系统为北京昆仑通态公司生产的MCGS 软件。开发工具为VC++6.0。
MCGS 中PLC 已经将串口通讯的波特率设置等功能集成至串口父设备中,因此PLC 设备驱动是作为MCGS 软件设备管理窗口中的子设备提供的。它可以使用父设备的通讯功能,即可以与其他设备共享父设备的通讯功能。由于使用串口的PLC 设备较多,在这里我们以使用串口通讯方式的PLC 为例进行说明PLC 通用驱动的构架的开发。如使用自定义编程电缆方式或使用以太网方式连接,此PLC 驱动构架同样适用。
使用串口通讯的PLC 与上位机的通讯方式中,有RS232、RS485、RS422 多种方式。如果设备是采用RS232 方式通讯,那么在一个串口下面只能挂接一个设备。如果采用RS485 或者RS422 的方式通讯,那么可以使用多个设备构成一个网络,在这个网络中,为了识别各个不同的设备,给每一个设备加上一个标志,一般来说把这个标志称作设备地址。这个总线上的设备分为主设备和从设备两类。在工作时,从设备一直在通讯线路上的数据,并对这些数据进行分析,当收到对自己的请求时,会发送一个相应的应答帧。主设备在工作时会根据需要向从设备发送请求帧,请求一些数据或者是发送一条命令,在发完请求帧后主设备需等待从设备的回答,这个等待的过程有一个时时间限制。如果过了一定的时间还没有收到回答,它会认为本次通讯失败,然后按照一定的逻辑判断是应该重发请求还是放弃。
通讯使用的通讯协议,分为ASCII 通讯和16 进制通讯两类。PLC 的通讯协议中大多数都是使用16 进制通讯。而且在串口通讯中,为了保证通讯的正确性、完整性,通常在通讯帧的尾部加上校验,常见的有和校验,异或校验,CRC 校验等等。
在通讯过程中,上位机的MCGS 软件调用PLC 驱动,根据具体协议,向PLC 设备发送寄存器的读写命令,并接收应答数据。
3 主要流程
3.1 采集流程
为便于说明,此处以一个采集周期内仅需单次采集的简情况为例。在5.1 中的密集采集模式中,描述了对一周期内需多次采集的算法。
采集过程描述如下:进行初始化,随后创建通道。进入数据采集周期,在每个数据采集周期中,形成读命令,随后校验发送数据帧,读写串口完成一次通讯,如果通讯成功,那么校验后将接收到的数据解码输出到通道,返回成功标识,如果通讯不成功或校验失败,返回失败标识。
3.2 解析函数流程
上图为解析数据帧的流程图。不同的设备具有不同的协议内容,使用定义好的模版解析函数只需要开发人员按照设备协议将帧分割为有效的数据部分,添入联合体FrameField 即可。该联合体可将协议数据小分割为位来进行操作。
如上图所示,个字节为帧头,后一个字节为帧尾,二个字节为状态标示,三至六个字节为模拟量,七个字节为单位,八个字节按位分为四路输入和四路输出。
4 接口设计
通常来说,一个厂家的同系列的PLC 产品,通讯协议一般是一样的。区别只是在于其中一些寄存器的大小不同。这样我们就考虑可以让这一个系列的设备使用同一个驱动。为了提高通用性,同时一般情况下,用户也不需要使用所有的寄存器,所以把这种设备构件的通道设计成用户可以在组态时自己进行定义。所有的通道及其所对应的参数(即是寄存器地址)都由用户自己进行定义。驱动程序根据用户定义的信息进行通讯。而且PLC 当中可能有一些参数用户并不常用,如果组成通道,每一个采集周期都要进行通讯,效率比较低下,考虑到这种情况,我们提供了一些外部接口供监控系统调用,在这些接口中可以发送命令,支持所有的寄存器通道。
而对不同厂家的PLC 设备进行分析,也可以发现,可以将通讯过程和协议方式进行抽象,提取它们的共同点和变化点,封装和隐藏数据交换过程中的细节,达到通用的目的。通过封装格式,规范代码,统一接口,提高驱动开发效率,降低驱动开发的难度。提高代码的重用性,增强驱动的稳定性,减少设计中容易出现的错误。使开发人员把主要的精力放在对设备的熟悉和对协议的分析上,而不是过多地纠缠于编程实现的细枝末节上。
封装的数据和操作包括:
隐藏一次数据采集中的底层通讯过程(某些设备完成一次采集需要一次以上的发收过
程,如西门子S7200);封装针对采集点分散的动态采集算法;封装常用的命令操作;对与监控系统间的交互提供统一的接口;PLC 驱动封装了底层的通讯过程,只将接口方法暴露在外面,开发人员以统一的方式去调用这个方法,从而保证软件对客户的透明性,使开发人员从低层的开发中脱离出来,降低开发的难度。
对驱动的开发人员来说,需要关注的接口仅有以下部分:
定义设备本身的属性;如地址、实时采集的时间要求等;定义设备的读写操作属性;如通道数量等;通用设计仅提供跟设备协议相关的组包和解包接口,实现过程将由开发人员完成。
5 关键问题分析
为提供信道利用率,提高系统效率,在PLC 的通信框架设计中考虑了几个关键问题。
5.1 三种采集模式
经过对现有的数据交换的分析,将用户的一般需求拟概括为三种采集模式,即密集,按需,定时采集。
密集采集模式:在这种情况下,用户希望能尽量利用物理带宽,保的采集速度和新。在这种模式下,理想状态是设备始终处于状态。采集目前所有通道中离需要采集的周期时间小的通道。保证所有的通道都能获得采集机会,但是相对与其他模式,在该模式下CPU 占用率会比较高。
按需采集模式:在通讯链路需要受控的情况下,比如用户采用GPRS 进行采集,按流量计费,所以不能进行大量的通讯。这时候通过设置采集模式为按需采集,然后在需要时再调用接口函数启动单次采集。否则不进行数据采集。
定时采集模式:该模式是在CPU 的占用率和采集速度之间进行折衷的采集框式,保证在用户设置的通道刷新周期的时间内进行通道的采集,之后直到下一次通道的刷新周期到达再进行下一次采集。
在模块设计中,采集模式作为设备类的一个属性,由开发人员根据具体情况,选择合适的采集模式。不同模式的采集算法实现如下:
密集采集执行流程:设置一个采集周期如1000ms。每当开始一个新采集周期时,重新计算采集通道的级别。遍历所有的通道,找出目前级的通道,进行采集。对通道进行分块(块中包含需要刷新的通道)。进入通讯循环(某些设备进行一次采集至少需要两次通讯所以需要通讯循环)。发送数据请求并等待回应;根据返回的信息解析出,并作相应处理;判断是否需要下一次采集,如果不需要跳出循环;新通道和采集标志;继续发送线程消息启动下一次采集直到一次通讯循环结束;直到遍历完所有需采集的通道。
按需采集执行流程:循环对每个通道进行,保存采集成功的值,并进行后续处理。定时采集执行流程由定时器触发,采集流程与密集采集一样,但在判断没有满足采集要求的通道不进行采集。
5.2 采集点分散的动态采集算法
在现有的数据交换过程中,用户关心的数据往往只占全部信息的很小一部分,而且这些采集点分散在的数据中,如果不加判断的依次读取数据,有效信息与信息的比例很低,实时性差;如果仅有效信息,分配的粒度过小,又会造成系统效率低下,信道利用率差。针对这一问题,采取以下的解决方法:
(1)只采集用户关心的数据。如当有多个通道时,只传送当前用户只关心的通道的数据,而不关心其它的通道。保证采集尽量少的通道,为每个需要的通道提供快的周期。从而减少通讯量。
(2)对于待采集的数据分配不同的级,对实时性要求高的部分数据采集。可以根据用户设置的数据刷新时间来改变其级。
(3)实现一个动态分块算法,在一个合理的粒度上对的信息分块传输,兼顾信道利用率与有效信息的实时性;实现的分块算法简述如下:在采集时判断,如果当前采集的寄存器类的通道可以组成一个数据请求包,则进行处理,提高一次采集的通道数。根据开发人员定义的通道级,找出级的通道附近的地址连续(或紧密)的通道,这些通道形成一个通道块。重复同样的过程,将剩下的通道继续分块,直到形成的块数大于某一规定的数值比如20 或将本寄存器的所有通道分配完成。
(4)根据通讯协议的特点,在打包数据请求时尽量保包含多的请求,从而减少请求的总次数。
6 结论
根据本文的PLC 通用性数据接口开发人员已开发出多个厂家的PLC 驱动,并在不同项目中得到应用。在此PLC 通用数据接口基础上开发PLC 驱动,缩短了开发时间和难度。投入运行的系统通信稳定,采集速度快,通用性好,性高。保证了项目的顺利实施。本文作者点:具有通用性的监控系统与PLC 通信接口设计,能够大大缩短开发时间和难度,并提高通信稳定性、实时性,具有很高的实用和经济。
1、引言
和利时LM系列PLC是杭州和利时公司的小型一体化PLC产品。LM系列PLC具有性高、指令丰富、通讯能力强等特点。其支持六种编程语言,包括LD、IL、FBD、SFC、ST、CFC,能够适应多种PLC编程基础的人群。一些大的控制系统具有很多现场设备,其中一部分现场设备可能不支持标准的通讯协议,但是还需要与三方控制设备进行数据通讯,任何一个厂商的PLC都不可能支持所有现场设备的数据通信协议。如何实 PLC与非标准协议的三方设备进行互联呢,LM系列PLC推出了自由口的通讯方式,可以实现与任何协议的三方设备进行互联。本文介绍的是LM系列PLC通过自由口与Flash存储设备进行数据通讯。
2、LM系列PLC的通讯方式
LM系列PLC支持多种通讯方式,如Profibus DP、以太网、自由口通讯。LM系列PLC的CPU模块本体集成了一个RS232通讯口和一个RS485通讯口,RS232和RS485支持标准的Modbus RTU、LM专有协议和自由口通讯协议。用户可以用图程序设定通讯口的协议、通讯速率、数据位、校验、发送数据和接收数据。下图为和PLC自由口相关的功能块指令。
图1为设定自由口通讯速率、数据位、校验的指令;图2为恢复Modbus RTU和LM专有协议的指令,同时也可以设定通讯速率、数据位和校验;图3为数据发送指令;图4为数据接收指令。同时软件中有CRC校验的功能块指令,可以进行数据校验。也可以通过ST语言方便的编写校验程序。以计算CRC校验码为例