程序设计分成硬件设计和软件设计两方面。在硬件方面针对系统要求进行设计,在软件方面则按需要编制了速度计算模块、报警和故障模块、伺服电机执行模块、增塑剂执行模块、生产统计计算模块等FC块和预设、保持系统及生产数据的数据块DB块。
(1) 硬件设计与组态
本系统在S7-300的硬件方面采用了1块PS307 5A电源模块,1块CPU-315-2DP,4块24V/0V SM321数字量输入模块,3块24V/0.5A SM322数字量输出模块,1块FM352-2高速计数模块,2块SM331模拟量输入模块,1块SM332模拟量输出模块以及用于DP总线通讯的IM153-1通讯模块1块。
S7-300外围设备为5个伺服电机的DP通讯端。
对上述硬件按要求进行组态,分别占据Profibus-DP通讯端的2、3~7和9号站,具体硬件组态如图3所示。
(2) 软件设计
由于编制的用户功能模块很多,限于篇幅,在这里不能一一作出介绍。以下介绍几个比较重要的用户功能模块。
① 数据块组(Group of Data-Blocks)
数据块组由一系列数据块组成。这些数据块除了一部分是S7-300程序中FB(功能块的一种)所要求的之外,其他的数据块都是用户自定义的。这是因为生产中机组的一些系统和生产数据必须被预设或保存。由于S7-300内部保持型M区的保存数量相对不足,例如:CPU315-2DP中整个可使用的M区的容量仅1024Bytes。同时,程序运行中所大量使用中间参数也需要不可重复的地址空间,所以将大部分的数据(特别是在触摸屏上显示的参数)编制成保持型DB块。
② 速度计算模块(FC for Speed)
虽然机组的较高生产能力为400m/min,但是在许多烟厂并不需要一直运行在高速度下。该项目提供可从触摸屏上选择5档不同的车速系统,本模块就是将无序设定的参数按由大到小的方式降序排列,并在触摸屏上以这种次序显示出来。在程序内部,本模块会进行数据转换并将转换后的数据提供给伺服电机执行模块 ③ 伺服电机执行模块(FC for Servo-Motor)
在得到速度计算模块和一些其他模块(如开松辊参数模块等)的数据后,伺服电机执行模块会向对应的伺服控制块发出指令和接收伺服电机状态参数。指令包括伺服控制字、车速命令、快停命令、上升时间和下降时间等,状态参数包括电机当前运行速度等。这些指令和参数通过过程通道和参数通道两种方式控制“一主三从”共计4个伺服电机。
④ 增塑剂执行模块(FC for Glyceride-Motor)
控制增塑剂的伺服电机是相对独立于其他伺服电机,控制结构类似于主电机。增塑剂执行模块通过内部计算得到增塑剂伺服电机的运行速度。同时,由于存在增塑剂软件补偿的问题,所以高速和低速运行的参数为不同的两组参数,程序按设置发送。这是这个模块区别于伺服电机执行模块的地方。
⑤ 生产统计计算模块(FC for Statistics)
由于要在生产中向工作人员提供实时的生产状况,所以编制了这个功能块,这样就可以通过多次反复调用FC205来得到各班次的生产状况。这样节约了编程的时间和工作量,也同时减少了程序编写出错的隐患。
指令说明
1.在将程序全部清除时,全部指令成为空操作。若在普通指令与指令之间加入空操作(NOP)指令,则可编程控制器可继续工作,而与此无关。若在程序执行过程中加入空操作指令,则在修改或追加程序时,可以减少步序号的变化,但是程序步须留有空余。
2.若将已写入的指令换成NOP指令,则电路会发生变化,务必请注意。
3.可编程控制器反复进行输入处理,程序执行输出处理,若在程序的最后写入END指令,则END以后的其余程序步不再执行,而直接进行输出处理。在程序中没有END指令时,可处理到较终的程序步。
4.在调试期间,在各程序段插入END指令,可依次检测各程序逻辑段的动作。在这种场合,在确认前面电路块动作正确无误后,依次删去END指令。
NOP指令的应用:
①*某些步序内容为空,留空待用。
②短路某些接点或电路
③切断某些电路
④变换先前的电路
MC /MCR指令:主控/主控复位指令。
MPS/MRD/MPP指令:进栈/读栈/出栈指令。
指令说明:
1.MC主控是公共串联触点的连接。
2.MCR主控复位是公共串联接点的清除。
3.在可编程控制器中有11个存储器,它们用来存储运算的中间结果,被称为栈存储器。使用1次MPS指令又将此时刻的运算结果送入栈存储器的*1段。再使用MPS指令,将此时刻的运算结果送入栈存储器的每1段,而将原先存入的数据依次移到栈存储器的下一个段。
4.使用MPP指令,各数据按顺序向上移动,将较上段的数据读出,同时该数据就从栈存储器中消失。
5.MRD是读出较上段所存储的较新数据的**指令,栈存储器内的数据不发生移动。