西门子模块6ES7315-6TH13-0AB0
对于A-B PLC编程,Logix5000一直以其技术成熟、结构简单、稳定可靠和应用广泛而著称,但也存在一些缺点,如v16.0版本以前无法实现子程序块的调用。面对大量相似的设备,不得不重复性的工作降低了工作效率。为了提高效率,也有人在编写程序时使程序编写标准化、模块化,但都因为无法实现参数赋值,而只能逐条修改,虽然提高了些工作效率,但其块功能问题依然未能解决。
当前,汽车的普及及档次的不断提高对现代化的汽车厂的要求越来越高,而PLC程序无疑成为对其直接影响的*主要、*直接、*直观的要素,也是广大用户对于PLC程序设计提出的*强烈的要求。现代化汽车厂要求PLC程序必须具有调试时间短、性能稳定、修改方便、维护便捷、程序短小精悍以及通用性强等特点。自Logix5000 v16.0版本后,A-B公司增加了ADD ON功能,从而解决了子程序块的调用问题。
系统建立
1.任务的建立
首先应先新建任务。点击菜单FILE下的NEW(或快捷键NEW),弹出对话框:根据所选PLC类型选择Type,在Revision中选择下拉菜单16;在Name中给程序起名(本例中程序名称为TEST);在Chassis Type中选择所选的机架,本例选择的为10槽机架;在Solt中选择控制器所在机架的位置,默认为0槽。点击OK,出现图1所示信息(请注意图中蓝色部分),则本PLC程序创立完成。
图1 新文件创建完成
2.I/O模块配置
接下来要配置I/O模块。在图1所示信息中,右键点击图中蓝色部分,在新弹出的对话框中选择New Module,于是出现新对话框。选择相应的I/O模块,例如可选择一个以太网模块、两个IB16输入模块、两个OB16E输出模块以及一个Profibus模块(本例中名称为Sst1),得到图2所示信息,则I/O模块配置完成。
图2 I/O模块配置完成
建立数据类型
在创建子程序前,应先创建数据结构(如图3所示)。右键单击Data Types下的User-Dfines(图中蓝色部分),选择New Data Type。在弹出的对话窗口中,在Name中给所定义的数据类型起名,在Members下定义本类数据类型所包含的参数。这里所定义的数据类型即是在子程序中所调用的形参。Members下的Name为参数的名称,Data Type为参数的类型,Style为参数选择进制,Debbbbbbion内加入文字说明。
图3 创建数据结构
如图4所示,本案例中参数名称Name为UD_FLDP,数据类型为现场IP67输入模块,其中参数为所有进入IP67输入模块的信号。点击Apply,点击OK,则本条数据结构建立完成。同时,本数据结构也可以作为其他数据类型的一个参数,而被其他数据结构所调用。如此,可以根据需要建立不同名称、不同类型的数据类型以方便程序应用。
图4 数据结构详解
建立子程序
1.工艺流程
在编写子程序前应首先明确工艺流程。以汽车工厂焊装车间机械化输送系统为例,焊装车间机械化输送系统多为滑橇输送,以普通辊床为主,辅以旋转辊床、升降辊床、移行机和升降机等,其输送方式为连续输送,即下一工位出现空位时,本工位即向下一工位输送。普通辊床直接输送,旋转辊床则需要经自身旋转后接件或送件,移行机需要经过平移后接件或送件,升降机则需要经过上升及下降过程接件或送件等。
图5所示为普通辊床的输送方式,输送方向为从辊床GN132向辊床GN133输送。图中绿色靶型图形为辊床上开关,本例中普通辊床各设两个现场检测开关,分别为从左向右到位开关与超程开关。当辊床GN132有车,即辊床GN132到位或超程开关任何一个检测到高电平,即认为本辊床有车(或为不带车空滑橇)占位。如果此时其下一辊床GN133处无车,即辊床GN133到位及超程开关未检测到任何一个高电平,即认为本辊床无车(或为不带车空滑橇)空位。此时,辊床GN132向辊床GN133输送。当车身(或为不带车空滑橇)完全脱离辊床GN132后(此时辊床GN132到位及超程开关未检测到任何一个高电平,即为空位),辊床GN132停止运行。当车身(或为不带车空滑橇)完全进入辊床GN133后(此时辊床GN133到位或超程开关检测到任何一个高电平),辊床GN133停止运行。以上为辊床GN133完成一次进车过程。同理,当辊床GN133占位,而辊床GN134空位时,辊床GN133向辊床GN134上输送,当辊床GN133空位停止而辊床GN134输送到位后,辊床GN133完成一次出车过程。此时,普通辊床完成其全部动作过程。
图5 普通辊床的输送方式
2.子程序建立
打开RSLogix 5000,在左侧任务栏中右键单击Add-On Instructions,选择New Add-On Instruction,然后在新弹出的对话窗口中给所要建立的子程序起名字。本例中子程序名为RollerBed_GN,说明为“普通滚床程序块”。点击确定,在弹出的对话框中多了几个选择,但此时的bbbbbeters中仅有两条,而Local Tags下面为空,没有任何Tag。
在bbbbbeters中建立Name为BedThis的参数,其中Usage选择InOut,在Data Type中选择UD_bbbbb(在前面已建立的数据类型),将Req与Vis选项选中,点击应用并确定(见图6)。
图6 在bbbbbeters中建立数据
同理,建立Name为BedBefor与BedAfter的参数,分别为BedThis辊床的前一辊床和后一辊床。点击应用并确定后,在RollerBed_GN下出现Logic(见图7)。双击Logic,进入子程序编辑框。新建一条程序,点击RUNG,加入一个常开点(Examine On),双击常闭点的“ ?”,选择下拉菜单下的BedThis.SXFLDP.SxArrive_ss。同理,按照前面工艺流程继续完善程序,完成后的程序如图8所示,子程序建立完毕。
图7 在RollerBed_GN下出现Logic
图8 子程序建立完毕
子程序的调用
子程序建立完成后,我们观察到在Add-On Instruction下多了条分支RollerBed_GN,即为我们所建立之子程序,可以被复调用。在选中RUNG条件下,键入RollerBed_GN,则出现图9所示对话框,此处的普通辊床程序块即为前面所建立的程序块,其数据结构即为前面所建立的模式。右键单击RollerBed_GN后的“?”,在下拉列表中选择New Tag,如以GN133为例,新Tag名称为GN133ADDON。由于GN133前一工位为GN132,后一工位为GN134,则在BedThis中填入GN133,BedBefor中填入GN132,BedAfter中填入GN134。
此时,本条语句尚处在编辑状态,由于GN133、GN132和GN134三个Tag尚未编辑,应对其进行编辑。右键选中GN133,选择New Tag,在DataType中选中前面所建立的UD_bbbbb类型(GN132、GN134、GN133),则此子程序调用完毕。如此,可以继续反复调用此子程序,以满足工作需要。
子程序的修改
当子程序建立完毕,并在实际工作中运行后,如果需要对子程序进行修改,首先应进入编辑状态,然后在左侧对话框中双击需要修改的子程序块(Logic),方可对子程序进行修改。需要注意的是,在线状态如无法对子程序进行修改,则应先下线,在Offline状态下对子程序进行修改。
图9 此处的普通辊床程序块即为前面所建立的程序块
结语
本文提出的对于A-B PLC编程Logix5000子程序的方案,在实际应用中得到了大量尝试,并获得了成功,彻底解决了目前传统的A-B PLC编程无法实现的程序编写的模块化、系统化和产业化的问题
一、淬火策略服务器的组成
淬火机根据不同的钢种以及终冷温度,温降时间等要求,生成淬火策略,用于淬火机的控制,包括各区喷嘴水量的大小,箱体高度的设置,温度补偿等。从而达到比较好的淬火效果,保证钢板有平直度和金相组织要求。
淬火机策略服务器主要包括:TCP/IP服务器,ORCLE 数据库,策略提供进程,HMI人机接口界面等。
PLC过程控制主要包括:PLC TC---钢板跟踪系统;PLC QC---淬火机控制
主要结构图如下图1所示:
图1:淬火策略服务器的组成
1、HMI简介
HMI提供了一个可视化和可维护的淬火策略接口界面。它可以显示己淬火钢板的存储数据和各区域水流量的历史曲线图。
程序MMI_QRC运行后,自动进入策略总览界面。按下按钮“Archive”则选择了存储浏览,硬拷贝功能总是可用的。 通过HMI可以查看淬火钢板的存储数据,喷嘴,水的流量,压力等。
2、淬火策略
在界面的上部分,可以任意选择淬火策略.在上区选中了相关的策略栏目后,在中间的区域部分则显示具体的策略数据,并且可以修改。操作人员可按下“NEW”按钮创建更多的新的策略。也可以按下“DELETE”按钮删除选中的策略。如下图2所示:
图2:淬火策略总览界面
在策略表中的编辑项是有约束条件的,例如,不能创建一个厚度为0mm的钢板。为了能使滤波水量能够调整可以设置滤波率,以调整各个区域的喷嘴流量。除此之外水量的总流量和压力是可以修改的。
淬火策略服务器与其它相关设备的通讯是通过报文来传送的,不同的设备有不同的报文内容和格式。用来传递淬火策略和下达设置参数,激活过程数据以及程序的运行。
3、报文通讯格式
(1)策略服务器(RS 服务器)与PLC的通讯
在RS服务器上运行“RSServer.exe”,可以通讯到相应的PLC站。PLC站包括:
- PLC-TC (tracking control) 钢板跟踪
- PLC-QC (quench control) 淬火机控制
所使用的通讯协议是TCP/IP,所有的数据交换通过报文传送,PLC作为服务器端,RS 服务器作为客户端。报文使用二进制代码并且长度固定。
报文格式分为三部分:报文头,可用的数据头,可用的数据本体。
系统使用2种类型的报文:WATCHDOG 报文,数据报文。
(2)RS服务器和RS进程的通讯
在RS服务器上运行 “RSServer.exe” 可以通讯到提供淬火策略的RS进程。通讯协议仍然是TCP/IP。所有的数据交换是以RS服务器为服务器端,RS进程为客户端。报文是ASCII码格式,长度是动态的。
(3)53号报文通讯:PLC TC 与PLC-QC之间的通讯
发送者: PLC- TC
接收者:PLC- QC
总长度:800 Bytes
在出炉前2分钟由PLC-TC的钢板跟踪信号触发。
(4)54号报文淬火机控制确认
发送者:PLC-QC
接收者:PLC-TC
总长度:88 Bytes
该报文是在接收到淬火机控制执行后由事件触发。
4、设置与PLC的连接
PLC-TC的端口号: 2000
PLC-QC的端口号: 2001
配置设备如图3所示:
图3:PLC的端口号设置
5、淬火机工作顺序
Ø开始传递报文53号,并接收到确认信息报文54号。
Ø通过DP/DP耦合器传递淬火机工作模式代码。
Ø确认开始状态
Ø如果淬火机的准备条件没有故障,所有的设备应为“准备”状态。
Ø淬火机工作模式可以通过DP/DP耦合器重新设置。
Ø当准备工作就绪后,预设信号就显示OK状态,实际的工作模式会在HMI上显示。
Ø根据设置模式开启相应的水量控制阀,发送信号后阀门打开。
Ø钢板进入淬火机后,钢板在淬火机内的信号将会打开,同时钢板不在淬火机内的信号指示将关闭。
Ø当钢板的尾部离开高压区后,高压区信号指示关闭。
Ø当钢板尾部离开淬火机后,钢板在淬火机内的信号关闭,不在淬火机内的信号将打开。
Ø淬火机信号全部关闭。淬火机工作停止,并处于“准备”状态,等待下一张钢板。(end)