第九章S7-200PLC的扩展功能S7-200PLC除了能够实现基本的逻辑控制和数据处理功能外,通过外插存储卡和扩展模块等还可以实现更复杂的功能。本章主要介绍S7-200的配方、数据记录、定位控制和称重控制等高级功能。9.1使用配方功能•新型的S7-200支持配方功能,通过STEP7Micro/Win软件中提供的配方向导可以组织和定义配方。要使用配方功能,需要在PLC中插入一块64K或者256K的存储卡。•配方结构是由配方向导生成的一套组件,这些组件包括指令子程序,数据块标签和符号表;•配方集是指一个配方的集合,它们拥有相同的参数集合,但是依赖于配方参数的数值各不相同;•一条配方是一组参数值,它提供了生产一种产品和控制一个过程所需要的信息。域名数据类型巧克力夹心(配方0)甜饼干(配方1)注释(单位)黄油字节88盎司白糖字节612盎司红糖字节60盎司鸡蛋字节21个香草字节11茶匙面粉字节1832盎司碳酸氢钠实数1.00.5茶匙发酵粉实数01.0茶匙盐实数1.00.5茶匙巧克力夹心实数16.00.0盎司柠檬皮实数0.01.0大汤匙烹调时间实数9.010.0分钟表9-1饼干配方集中的不同配方举例图9-1“配方数据域定义”对话框图9-2“创建和编辑配方”对话框单击图9-2“下一步”按钮,进入“分配存储区”对话框,选择“建议地址”即可。编写的程序清单及注释如图9-3所示。图9-3主程序•在数据块中选择向导下的“RCPx_DATA”标志可找到数据所在的V存储器位置,如图9-4所示。图9-4数据块中的配方相关信息9.2使用数据记录•数据归档通常是指按照日期时间排序的一组数据,每条记录都是某些过程事件的一套过程数据。•启动STEP7Micro/Win软件,在指令树中,单击“向导数据记录”,打开数据记录向导,进入“数据记录选项”对话框,如图9-5所示。单击图9-5“下一步”按钮,进入“数据记录定义”对话框,如图9-6所示图9-5数据记录选项”对话框•单击图9-5“下一步”按钮,进入“数据记录定义”对话框,如图9-6所示图9-6“数据记录定义”对话框•单击图9-6“下一步”按钮,进入“分配存储区”对话框,使用“建议地址”即可。使用默认名称,完成配置,生成相应的子程序。编写用户程序如图9-7所示。•在数据块中选择向导下的“DATx_DATA”标志可找到数据所在的V存储器位置,如图9-8所示。图9-7主程序图9-8数据块中的数据记录相关信息9.3定位控制•S7-200PLC通过扩展模块EM253实现开环定位控制,其基本步骤包括:(1)根据所选择的步进电机驱动器,完成模板接线(2)通过STEP7Micro/Win软件的“EM253位控”向导配置定位模块EM253的运动参数、运动轨迹包络等;(3)编写S7-200控制程序;(4)使用EM253控制面板进行调试。连接定位模块EM253和步进电机驱动器的接线请参照参考文献及相关说明书。9.3.1使用向导配置定位模块EM253•启动STEP7Micro/Win软件,单击“工具”菜单“位置控制向导…”打开位置控制向导,选择“配置EM253位控模块操作”,单击“下一步”按钮,进入“EM253位控模块配置”的模块位置对话框。单击“下一步”按钮,进入系统测量单位配置对话框,如图9-9所示。•单击图9-9“下一步”按钮,进入“定义模板输入信号LMT+、LMT-、STP功能”对话框。•单击“下一步”按钮,进入“定义电机速度”对话框•单击“下一步”按钮,进入“手动参数设置”对话框•单击“下一步”按钮,进入“加减速时间参数设置”对话框•单击“下一步”按钮,采用默认配置名称,完成向导的配置,则系统自动生成了11个子程序,如表9-2所示。每一个子程序,都是以“POSx_”作为名称前缀,这里的“x”表示模板的位置。图9-9系统测量单位配置对话框表9-2用于定位模板EM253运动控制功能的子程序序号名称用途1POSx_CTRL自动装载模块板已经配置的运动控制参数和轨迹,使能、初始化定位模块EM2532POSx_MAN可以将定位模块EM253的工作模式置为“手动操作模式”3POSx_GOTO使机械设备按照“GOTO”命令给出的速度、位置,以指定的操作模式运动到相应的机械设备坐标系位置4POSx_RUN使电动机按照预先定义的运动轨迹包络,移动到指定的机械位置5POSx_RSEEK设定机械设备坐标系的参考原点位置6POSx_LDOFF设定机械设备坐标系参考原点位置的偏置数值7POSx_LDPOS使定位模块EM253改变当前的机械坐标位置值为输入参数值“New_Pos”8POSx_SRATE使定位模块EM253改变配置参数“加速度时间、减速度时间、轨迹拐点时间”9POSx_DIS使定位模块EM253在DIS输出端子上高电平输出10POSx_CLR使定位模块EM253在CLR输出端子上产生一个500ms的脉冲11POSx_CFG重新装载最新的“定位模块EM253配置参数和预定义运动轨迹包络”9.3.2相关子程序(1)POSx_CTRL子程序该子程序用于自动装载模块已经配置的运动控制参数和轨迹,使能、初始化定位模块EM253,如图9-10所示。该子程序在每个项目中只能使用一次,且要确保在每个扫描周期调用该命令。图9-10POSx_CTRL子程序(2)POSx_MAN子程序•该子程序将定位模块EM253的操作模式置为“手动模式”,如图9-11所示。•只有在“POSx_CTRL”、“POSx_DIS”(如果存在的话)命令被执行后,才允许执行本命令。•置位输入参数“RUN”•置位输入参数“JOG_P”或者“JOG_N”时间超过0.5秒,可以使电动机按照相应的方向和“定位控制向导”配置工具所定义的速度(JOG_SPEED)运转。•输出参数“Dir,Error,C_Pos,C_Speed”提供了定位模块EM253的当前运动状态、出错信息、运行位置、运动速度、运动方向。图9-11POSx_MAN子程序(3)POSx_GOTO子程序•该子程序可以使机械设备按照“GOTO”命令给出的速度值、位置值,以指定的操作模式运动到相应的机械设备坐标系位置,如图9-12所示。•只有在“POSx_CTRL”、“POSx_DIS”、“POSx_RSEEK”(如果存在的话)命令被执行以后,才允许执行“POSx_GOTO”命令;借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动GOTO命令;•置位操作输入参数“EN”•置位输入参数“Abort”•输入参数“Pos,Speed”•输入参数“Mode”•输出参数“Done,Error,C-Pos,C_Speed”图9-12POSx_GOTO子程序(4)POSx_RUN子程序•该子程序使电动机按照预先定义好的运动轨迹包络,移动到指定的机械位置,如图9-13所示。•只有在“POSx_CTRL”、“POSx_DIS”、“POSx_RSEEK”命令被执行以后,才允许执行RUN命令;借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动RUN命令;•置位操作输入参数“EN”•置位输入参数“Abort”•输入参数“Profile”图9-13POSx_RUN子程序命令代码功能0至24执行预定义的运动轨迹包络;118激活输出DIS;119非激活输出DIS;120输出脉冲CLR;121再次装载当前的机械设备坐标位置;122执行交互式数据块中的运动控制命令。如:绝对方式,相对方式,单一速度、连续正方向旋转,单一速度、连续负方向旋转,手动正方向旋转,手动负方向旋转,等等123设定机械设备坐标系参考原点位置的偏置数值;124手动正方向旋转;125手动负方向旋转;126设定机械设备坐标系的参考原点位置;127重新装载配置的运动参数。输出参数“Done”为1时,复位操作输入参数“EN”;输出参数“Done,Error,C_Profile,C_Step,C_Pos,C_Speed”提供了定位模块EM253的当前运动状态、出错信息、运动轨迹包络编号、运动轨迹包络中的运行阶段、运行位置、运动速度。表9-3高级运动控制的命令代码(5)POSx_RSEEK子程序•该子程序使电动机按照预先定义好的找寻参考点的模式,移动机械设备到指定的位置,停止运动,分配机械坐标位置值(RF_OFFSET)给控制系统,并且在输出点“CLR”输出一个50毫秒的脉冲信号,如图9-14所示。图9-14POSx_RSEEK子程序(6)POSx_LDOFF子程序•在机械设备按照预先定义的模式建立了机械参考坐标系以后,可以根据工艺需要,运动机械设备到达指定的机械坐标位置,然后执行“POSx_LDOFF”命令,通过定位模板EM253改变当前的机械坐标位置值为“0”,重新定义机械参考点坐标系。图9-15POSx_LDOFF子程序•该命令使定位模板EM253改变当前的机械坐标位置值为输入参数值“New_Pos”,如图9-16所示。•编程使用时,需借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动LDPOS命令;•置位操作输入参数“EN”•输入参数“New_Pos”•输出参数“Done”为1时,复位操作输入参数“EN”•输出参数“Error,C_Pos”(7)POSx_LDPOS子程序图9-16POSx_LDPOS子程序•该命令使定位模板EM253改变配置参数“加速度时间、减速度时间、轨迹拐点时间”,如图9-17所示。•编程使用时,需借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动SRATE命令;•置位操作输入参数“EN”•输入参数“ACCEL_Time、DECEL_Time、JERK_Time”•输出参数“Done”为1时,复位操作输入参数“EN”;•输出参数“Error”(8)POSx_SRATE子程序图9-17POSx_SRATE子程序•该命令可以用来“使能”和“禁止”操作电动机驱动器,如图9-18所示。•使用SM0.0置位操作输入参数“EN”,启动DIS命令,控制输出端子DIS,使能操作电动机驱动器,•复位操作输入参数“DIS_ON”,则停止输出端子DIS,非使能操作电动机驱动器;•输出参数“Error”,提供了定位模块EM253的当前出错信息。(9)POSx_DIS子程序图9-18POSx_DIS子程序(10)POSx_CLR子程序•该命令使定位模板EM253在CLR输出端子上产生一个50毫秒的脉冲,如图9-19所示。•编程使用时,需借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动CLR命令。图9-19POSx_CLR子程序(11)POSx_CFG子程序•该命令使定位模板EM253用当前的“定位模板EM253配置参数和预定义运动轨迹包络”与最新的做比较,重新装载最新的“定位模板EM253配置参数和预定义运动轨迹包络”。•图9-20所示为POSx_CFG命令,编程使用时需借助判断CTRL命令输出参数“Done”的状态,确保模板在没有执行任何其他运动控制之前,启动CFG命令。图9-20POSx_CFG子程序9.3.3应用举例下面给出两个使用定位模块EM253的例子。第一个是相对运动的例子,完成一个切割长度的操作。该例子不需要RP寻找模式或移动包络,长度可以是脉冲数或工程单位。输入长度(VD500)和目标速度(VD504),当启动(I0.0)接通时,设备启动。当停止(I0.1)接通时,设备完成当前操作则停止。当紧急停止(I0.2)接通时,设备终止任何运动并立即停止。9.3.4使用EM253控制面板•STEP7Micro/Win软件提供了一个EM253控制面板用于帮助开发运动控制方案,以便在开发过程的启动和测试阶段监控定位模块的操作,如图9-23所示。•使用EM253控制面板可以验证定位模块是否正确接线,调整配置运动控制参数,测试每一个预定义的运动轨迹包络。•图9-23中的“操作”选