840D810D的PLC启动与PLC高级功能应用.docx
- 文档编号:4610902
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:45
- 大小:1.23MB
840D810D的PLC启动与PLC高级功能应用.docx
《840D810D的PLC启动与PLC高级功能应用.docx》由会员分享,可在线阅读,更多相关《840D810D的PLC启动与PLC高级功能应用.docx(45页珍藏版)》请在冰豆网上搜索。
840D810D的PLC启动与PLC高级功能应用
第7章840D/810D的PLC启动与PLC高级功能应用
启动SINUMERIK840D/810D数控系统的PLC必须借助于西门子提供的TOOLBOX工具盘,TOOLBOX工具盘提供了与系统版本相匹配的基本程序库以及硬件信息,同时还提供了一个NC变量选择器用于选择NC变量。
在本章中,主要介绍如何启动数控系统的PLC以及应用PLC基本程序块。
7.1PLC调试
SINUMERIK840D系统的组件通过OPI接口连接在一起,传输速率为1.5Mbaud(810D只能连接MPI接口传输波特率为187.5Kbaud),所有部件都被给予一个预定的MPI地址如图7-1所示。
只有当多个MMC和多个NC相连接(M:
N连接器)才需要改变地址。
图7-1SINUMERIK840D系统组件的连接
SINUMERIK840D提供了2个接口。
当使用MPI接口(X122)时必须设MPI=2,而对OPI接口(X101)则MPI=13,在PG/PC上对传送速度进行正确的设置。
上装站点项目到PC;通过菜单Destinationstation->LoadstationtoPG可将PLC程序保存到SIMATIC项目中。
程序块和硬件组态都传到项目中。
在屏幕表格“Selectstationaddres“中,要选择机架0和槽位0。
传送速度为187.5Kbit/s时选MPI地址2,而在1.5Mbit/s选OPI地址13。
7.1.1TOOLBOX的介绍
840D/810D集成了PLC模块,PLC程序分为基本程序和用户程序,用户的程序是在基本程序的基础上建立的。
数控系统的TOOLBOX包含了840D系统地PLC基本程序,可以从Step7的SIMATIC管理器下打开,并下装到PLC中。
它包含的是SIEMENS编写的现成的块,这些块采用结构化编程,具有通用性,可以实现代码共用,对于用户来说只需要了解其形参的含义并正确地给它赋实际参数值。
TOOLBOX6.4/6.5版本之后增加了PLC符号表生成器,TOOLBOX包括PLC基本程序、数控硬件SINUHWADDONSTEP7、NCVARSELECTOR、做用户扩展界面的例子。
NC系统版本要与TOOLBOX版本对应,TOOLBOX向下兼容。
图7-2是TOOLBOX光盘的所有目录。
安装TOOLBOX工具盘时,点击“setup”,出现画面如图7-3所示,安装的时候,有3项内容可选择安装。
PLCBasicProgramfor8x0DV6.5:
PLC基本程序,必须安装。
SINUMERIK810D/840DAdd-onforSTEP7V5.2.1.0:
硬件信息,必须安装。
NCVarSelector:
NC变量选择器,如果用到PLC读写NC变量的功能(比如FB2/FB3),需要安装,否则,可不安装。
如果TOOLBOX是其它版本的则可以在“\8x0d”目录下选择合适的版本,如图7-4所示。
图7-2TOOLBOX工具盘的内容
图7-3TOOLBOX工具盘的安装
图7-4选择兼容的版本安装
子目录BSP_PROG中存放的是一些PLC例程,比如带显示屏的手持操作单元的标准例程、mini手持的标准例程等。
子目录PLC_BP是PLC基本程序(使用根目录下的SETUP.EXE进行安装)。
子目录PLCALARM中存放的PLCALARM.ZIP是用户编写PLC文本的框架。
(使用PCU20的用户可在此文件的基础上编写报警文本,之后通过串口电缆传入PLC20)。
CERTIFICATE目录下存放的是安全集成功能认证的文本及样例。
EXAMPLES_TOOLS目录
●COMPA子目录:
低版本系统升级,修改备份数据用工具
●OP17子目录:
使用OP17面板时,可用的OP17组态文件。
●QFK.MPF子目录:
过象限补偿用程序。
●WIZARD.BSP:
扩展用户接口(ExpandingtheOperatorInterface)功能实例,包括HMIAdvancedh和HMIEmbedded的实例。
NCVAR目录:
NC变量选择器软件。
S7HW目录:
SINUMERIK810D/840Di/840DAdd-onforSTEP7,用于增加STEP7硬件列表中SINUMERIK840D/810D的硬件器件。
安装过程中,硬件列表中的TYPE,GSD和Meta文件将被升级。
从Toolbox06.03.03和STEP7版本5.1开始,可以在SIMATIC管理器中可直接创建PLC系列文档(seriesarchive)。
7.1.2PLC基本程序
在810D/840D中,通常有OB1,OB40,OB100这3个组织块,跟普通的PLC300一样,操作系统根据不同的触发事件主动到内存中寻找相应的OB块执行,而不需要用户调用。
所有的用户程序FC/FB都是在组织块中调用,CPU在执行OB块的过程中按照调用的顺序执行FB/FC。
PLC程序的结构决定于OB1和OB100,在OB1、0B100中必须调用基本的PLC程序,用于MCP控制、车床PLC程序、刀具管理以及机床辅助功能等。
OB1循环地执行,在执行OB1的过程中,有其他事件触发中断OB1,则保护断点、执行OB40,OB40执行一次,然后返回断点,执行OB1。
PLC基本程序包含在GP8X0D上。
OB1扫描循环开始,基本的PLC程序必须在用户程序之前执行,先要建立起与NCK进行数据交换,进行通讯。
所有的NCK/PLC接口信号在循环程序OB1中执行,为了减小循环时间,仅把控制和状态相关的接口信号传输到循环程序中,其它的辅助功能、G功能仅在需要的时候由NCK触发。
OB40是触发事件的组织块,有中断事件发生,则立即执行OB40。
OB100是暖启动模式上电时执行一次的组织块,在NC中由于有DB块的数据需要保存,所以只能是执行OB100暖启动,而不可能执行冷启动,否则DB数据无法保存。
比如刀库换刀之后,刀库映像保存在DB块中,执行换刀指令后,要刷新DB块,使之与实际刀库一致,断电之后刀库数据不能丢失,否则无法正确换刀。
在OB100中可以实现系统初始化以及NC/PLC同步等功能。
比如,在OB100中调用FB1(对应的背景DB7)用于系统通讯的NC/PLC同步初始化动作。
表7-1所示为PLC基本程序中组织块的介绍。
PLC的基本程序结构如图7-5所示。
表7-1PLC基本程序中组织块
图7-5PLC基本程序结构
由于PLC基本程序提供了很多FC/FB用于实现数控系统中的功能,用户在定义自己的功能时,建立的FC/FB或者是DB块都不能够与基本程序冲突,否则有可能导致系统运行不正常或无法启动。
表7-2~表7-4为PLC基本程序中提供的FC、FB以及DB的简要介绍。
表7-2PLC基本程序中提供FC的简要介绍
表7-3PLC基本程序中提供FB的简要介绍
另外,FB15是西门子出厂自带的功能块,是利用高级语言编写的,不能够清除掉,必须在系统上才能够正常运行。
表7-4PLC基本程序中提供DB的简要介绍
7.2PLC启动
通常,PLC基本程序在用户编写的程序之后执行。
PLC基本程序主要承担PLC用户程序与NCK,HMI,MCP之间的数据和信号交换任务(循环信号、事件信号、消息)。
循环信号包括指令(PLC->NCK,比如start,stop指令)和状态信息(来自NCK,比如程序正在运行,中断等)。
在OB1循环中执行。
事件驱动信号(NCK->PLC),PLC完成工件加工程序中的辅助功能,如果这些辅助功能被执行,那么这些辅助功能块将会决定NCK是否处于等待状态(比如换刀过程),还是处于同步执行。
数据传输过程必须要快速并且安全,为了减少对NC加工过程的影响,数据传输通过“报警”和“确认”来控制。
PLC基本程序评估这些信号,并向NCK发送确认信号,在循环程序开始时传输数据。
事件驱动信号(PLC->NCK),PLC向NCK发送请求(比如运行辅助轴),这种类型的信号通过FB,FC来出发执行。
消息,用户消息也是通过基本PLC程序来实现的,用户消息存储在PLC的诊断缓冲区中,同时也可以通过人机界面显示在OP单元上。
在FunctionManualBasicFunctions上的PLCbasicprogrampl可以查看到PLC基本程序的详细描述。
7.2.1硬件组态
在STEP7软件中完成机床PLCCPU的硬件配置,包括信号模块的配置。
在PG/PC上装载工具盘;在STEP7SIMATIC管理器下建立新项目;插入硬件站进行硬件组态并保存编译,如图7-6所示。
图7-6PLC硬件组态
7.2.2PLC基本启动
利用PLC基本程序启动数控系统的PLC按照如下步骤:
●将Toolbox光盘放入光驱中,点击setup,系统会自动安装最新版的PLC标准程序,如果想安装其他版本的程序需自己选中相应版本的文件夹手动安装;
●运行STEP7软件,新建(或打开)一个Project;
●
选择FileOpenLibrary选择Gp8X0d65OK;
●将Gp8x0d65中的gp8x0d文件夹复制到刚才新建(或打开)的项目下,如图7-7所示(注:
复制完毕后立刻关闭Gp8x0d65项目,不可以在Gp8x0d65的项目下修改任何文件);
●打开复制后的gp8X0d文件夹,选中Bausteine(德文,=Blocks),Download(建议下载之前将PLC设置为STOP);
●下装成功后,将PLC设置为RUN,MCP上LED不再闪烁。
图7-7拷贝基本PLC程序
此时,虽然PLC项目启动起来了,但是机床控制面板还不能够操作,这是由于PLC项目并没有处理机床控制面板。
根据实际情况启动机床控制面板,在这里已标准铣床控制面板为例。
打开OB1,在CALLFC2指令下面新建一个Network,键入以下程序:
CALLFC19
BAGNo:
=B#16#1//模式组in
CHANNo:
=B#16#1//通道数in
SpindleIFNo:
=B#16#3//主轴轴号,把哪个轴作为主轴in
FeedHold:
=DB21.DBX6.0//禁止进给的接口信号out,
SpindleHold:
=DB33.DBX4.3//主轴停止进给的接口信号out,
保存OB1,然后把OB1下装到PLC,此时机床控制面板上有LED亮(如JOG,Ref,Feed_OFF,SP_OFF),代表机床控制面板启动正常。
但是到目前为止,运行轴的话会有一个轴使能丢失的提示信息,只要把轴的PLC使能加上去就可以了。
这里在CALLFC19后面再插入一个新的Network并编程:
SET
=DB31.DBX1.5//测量系统,每个轴最多有两个位置测量系统,encoder或光栅,用DB31.DBX1.5/6指定,NC在同一时刻只能选择一个测量系统,因此必须通过NC判断来选择切换反馈测量系统。
=DB31.DBX2.1//Controlenable控制器使能信号
=DB31.DBX21.7//脉冲使能信号,可以在service中查看servicedrive信号,PLC的控制如何让NC获知,就是通过接口信号DB31.DBX21.7。
复制2份并修改为(根据用户自己,需要启动多少根轴,这里启动3根轴):
=DB32.DBX1.5
=DB32.DBX2.1
=DB32.DBX21.7
=DB33.DBX1.5
=DB33.DBX2.1
=DB33.DBX21.7
保存之后,把程序块下载到PLC中,轴及主轴可以运转。
7.2.3理解启动组织块OB100
在启动组织块OB100中,默认调用了FB1,FB1用于实现PLC/NCK在启动过程中的同步,也正是由于在启动过程中PLC/NCK之间同步,整个系统才能够正常工作运行。
FB1是一个非常关键的基本程序,用户必须要理解其各个参数的含义及用途。
基本程序OB100里主要调用了功能块FB1,其主要参数注释如下:
CALLFB1,DB7
MCPNum:
=1//机床操作面板MCP的数量
MCP1IN:
=P#I0.0//第一机床操作面板的输入起始地址
MCP1OUT:
=P#Q0.0//第一机床操作面板的输出起始地址
MCP1StatSend:
=P#Q8.0//第一机床操作面板发送状态双字
MCP1StatRec:
=P#Q12.0//第一机床操作面板接受状态双字MCP1
BUSAdr:
=6//第一机床操作面板的总线地址
MCP1Timeout:
=S5T#700MS//第一机床操作面板循环扫描监控时间
MCP1Cycl:
=S5T#200MS//第一机床操作面板循环扫描时间
MCP2IN:
=//第二机床操作面板的输入起始地址
MCP2OUT:
=//第二机床操作面板的输出起始地址
MCP2StatSend:
=//第二机床操作面板发送状态双字
MCP2StatRec:
=//第二机床操作面板接受状态双字
MCP2BUSAdr:
=//第二机床操作面板的总线地址
MCP2Timeout:
=//第二机床操作面板循环扫描监控时间
MCP2Cycl:
=//第二机床操作面板循环扫描时间
MCPMPI:
=//所有机床操作面板通过MPI连接
MCP1Stop:
=//=0:
传送第一面板信号;=1停止传送第一面板信号
MCP2Stop:
=//=0:
传送第二面板信号;=1:
停止传送第二面板信号
MCP1NotSend:
=//=0发送,接收第一面板信号;=1:
只接受,不发送信号
BHG:
=//=0:
没有手持单元=1:
手持单元通过MPI连接(SDB210)
BHGIn:
=//手持单元输入起始地址
BHGOut:
=//手持单元输出起始地址
BHGStatSend:
=//手持单元发送状态双字
BHGStatRec:
=//手持单元接收状态双字
BHGInLen:
=//手持单元接收的数据长度
BHGOutLen:
=//手持单元接收的数据长度
BHGCycl:
=//手持单元循环扫描时间
BHGRecGDNo:
=
BHGRecGBZNo:
=
BHGRecObjNo:
=
BHGSendGDNo:
=
BHGSendGBZNo:
=
BHGSendObjNo:
=
BHGMPI:
=//=1:
手持单元通过MPI连接
BHGStop:
=
BHGNotSend:
=
NCCyclTimeout:
=S5T#200MS
NCRunupTimeout:
=S5T#50S
ListMDecGrp:
=//扩展M译码的数量
NCKomm:
=//允许NC和PLC之间交换数据
MMCToIF:
=//传送MMC信号到接口
HWheelMMC:
=//=1,通过MMC选择手轮
MsgUser:
=//用户信息区的数量
UserIR:
=//
IRAuxfuT:
=
IRAuxfuH:
=
IRAuxfuE:
=
UserVersion:
=
MaxBAG:
=//方式组数
MaxChan:
=//通道数
MaxAxis:
=//轴数
ActivChan:
=//当前生效的通道
ActivAxis:
=//当前生效的轴
UDInt:
=//PLC机床数据,整数格式
UDHex:
=//PLC机床数据,十六进制格式
UDReal:
=//PLC机床数据,实数格式
7.3PLC高级功能的应用
除了前面提到的利用基本程序启动PLC,涉及到FC2、FC3、FC19以及FB1等。
事实上,在PLC基本程序库中,提供了大量的程序块,可以实现用户的功能。
比如读写NC变量、PI服务任务、读取GUD变量、PLC轴的控制等,在本节中通过一些简单的例子来说明常用的PLC程序块的高级功能应用。
7.3.1FB2的应用
在SINUMERIK840D/810D的PLC基本程序中提供了FB2(ReadGETNCvariable)和FB3用于读写NC的系统变量。
FB2是PLC基本程序提供的程序块,用于从NCK读取变量。
比如用FB2读出当前正在执行程序的行号,并写到R参数中,记录下来。
这样,用户可以在突然断电后根据R参数中的数值,便知道程序执行到哪里了,然后利用程序段搜索功能,继续从被中断的程序段开始加工。
要使用好FB2功能块,需要了解功能块的接口参数,包括参数名称、接口类型、参数类型、参数取值范围以及参数含义。
表7-5所示为FB2的接口参数说明。
表7-5FB2的接口参数说明
查看错误标识
任务正常执行,且读取到数据
任务或执行有故障
行地址,可选变量寻址
列地址,可选变量寻址
对应于Addr1到Addr8
上升沿任务启动
需要读取的变量个数
从NC变量选择器得到的变量标识
区域地址,可选变量寻址
信号
O
O
O
参数说明
参数值
参数类型
接口类型
读取数据的目标区域
FB2执行有故障的话,在参数Error中有输出,可以通过错误标识参数查询故障的类型,如表7-6所示。
表7-6FB2执行的故障代码
备注
描述
状态
检查参数NumVar
检查地址(变量名,区域,UNIT参数)
变量地址无效
参数Unit,column,line包含0值
变量寻址错误
任务必须重新启动
传送忙
RD1-RD8可能是局部数据
目标区域错误
基本程序OB100中参数NCKomm未设置
选项未设置
任务必须重新启动
FIFO满
变量转换错误,DOUBLE变量类型不属于S7REAL类型
格式转换错误
读取变量的长度超过在RD1~RD8中指定长度,在高字节中显示有哪个变量出现错误
本地用户存储空间不足
内部错误,NCRESET
任务未执行
任务的变量编译错误
读取变量时在高字节发生错误的个数
任务错误
访问错误
利用FB2读取NC变量的操作步骤:
●利用NC变量选择器选择需要读取的NC变量,得到所生成的数据块的源文件,该源文件包含系统变量信息。
●编译源文件得到用户数据块,可以下载到PLC中。
●在用户PLC项目程序中编写程序调用FB2。
●在OB100中,把FB1的参数“NCKomm”修改为1。
●保存项目并下载到PLC中。
在这里以读取坐标系当前值为例子,介绍如何使用NC变量选择器,以及如何调用FB2编程序。
启动NC变量选择器,NC变量选择器在系统的TOOL-BOX光盘中,可以单独安装运行。
点击“新建”图标,出现一个“打开”对话框,如果安装了多个版本的NC变量选择器,那么根据系统版本的要求选择变量的软件版本,比如本例中安装了Ver6.4和Ver7.2版本,则有两个变量版本可以选择,SW64以及SW72,根据系统版本选择SW64,如图7-8所示。
选择ncv_NcData.mdb打开,如图7-9所示。
在各类变量中,如果不确定如何找到自己所需要的变量,则可以通过帮助菜单查询,如图7-10所示。
根据变量的分类说明可以容地找出所需要的变量。
确定需要哪个变量之后可以通过查找功能把这个变量找出来,如图7-11所示。
比如要查找坐标位置值,因为坐标位置值位于SMA组,通过查找功能查找SMA组,如图7-12所示。
选中轴的实际位置值变量,并双击打开,出现一个对话框,对话框中Unit-No为通道号,Line为轴号。
可以在这里直接根据实际情况修改通道号与轴号,也可以在Unit-No和Line中写入0,当PLC程序调用FB2时,再指定通道号与轴号,如图7-13所示。
本例中在Unit-No和Line中写入0,然后点击OK。
图7-8启动NC变量选择器并新建文件
图7-9选择NC变量ncv_NcData.mdb
图7-10NC变量的帮助系统
图7-11查找NC变量
图7-12查找NC变量组
图7-13指定Unit-No和Line
选择数据块号,点击菜单Code中Selection选项,输入最后要生成的数据块号,比如输入120,即生成DB120,如图7-14所示。
图7-14选择数据块号
保存变量文件名,比如Act_Pos.var,如图7-15所示。
图7-15保存NC变量
点击菜单Code中Generate选项,生成数据块的源文件,如图7-16所示。
图7-16生成数据块的源文件
选择存储数据块源文件的路径与文件名,比如命名为Act_Pos.awl,退出NC变量选择器。
打开STEP7项目,选中S7程序中的源文件,点击Insert菜单中的ExternalSource选项,如图7-17所示。
图7-17在项目中插入源文件
选中插入刚才通过NC变量选择器生成的数据块源文件Act_Pos.awl,并打开。
打开Act_Pos.awl源文件,并编译。
如果编译不出错误将会生成数据块DB120。
可以为DB120在符号表中编辑一个符号,比如Act_Position。
在用户PLC项目中调用FB2,比如在OB1中调用FB2,分配背景数据块为DB121。
CALLFB2,DB121
Req:
=E7.5
NumVar:
=1
Addr1:
="Act_Position".C0_SMA_actToolBasePos0_2
Unit1:
=B#16#1
Column1:
=
Line1:
=W#16#2
Addr2:
=
Unit2:
=
Column2:
=
Line2:
=
Addr3:
=
Unit3:
=
Column3:
=
Line3:
=
Addr4:
=
Unit4:
=
Column4:
=
Line4:
=
Addr5:
=
Unit5:
=
Column5:
=
Line5:
=
Addr6:
=
Unit6:
=
Column6:
=
Line6:
=
Addr7:
=
Unit7:
=
Column7:
=
Line7:
=
Addr8:
=
Unit8:
=
Column8:
=
Line8:
=
Error:
=M160.0
NDR:
=M160.1
State:
=MW162
RD1:
=MD180
RD2:
=
RD3:
=
RD4:
=
RD5:
=
RD6:
=
RD7:
=
RD8:
=
7.3.2FB3的应用
FB3PUT,写NC变量,通过PLC用户程序FB3把变量写到NCK区域中。
FB3的用法与FB2的调用类似,当调用FB3时,需要一个上升沿的请求任务信号Req,任务启动之后,PLC数据SD1到SD8,将会写到对应的NC变量Addr1到Addr8中。
表7-7所示为FB3的接口参数说明。
表7-7FB3的接口参数说明
SD1-SD8
信号
读取数据的目标区域
查看错误标识
任务正常执行,且读取到数据
行地址,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 840 D810D PLC 启动 高级 功能 应用