(1)控制要求
某车间有8个工作台,送料小车往返于工作台之间送料,如图2.92所示。每个工作台设有一个到位开关(SQ)和一个呼叫按钮(SB)。具体控制要求如下。
①送料车开始应能停留在8个工作台中任意一个到位开关的位置上。
②设送料车现暂停于m号工作台(SQm为ON)处,这时n号工作台呼叫(SBn为ON),当m>n时,送料车左行,直至SQn动作,到位停车。即送料车所停位置SQ的编号大于呼叫按钮SB的编号时,送料车往左行,运行至呼叫位置后停止。
③当m<n时,送料车右行,直至SQn动作,到位停车。
④当,m=n,即小车所停位置等于呼叫号时,送料车原位不动。
⑤小车运行时呼叫无效。
⑥具有左行、右行指示,原点不动指示。
⑦用7段LED数码管显示小车行走位置。
图2.92 呼叫小车示意图
(2)I/O分配
根据控制要求确定该系统有16个输入,11个输出,其I/O接线图如图2.93所示。由于控制系统的输出既有接触器线圈,还有LED和指示灯,所以将输出元件分成两个电压组别,一组是接触器,采用AC220V供电,并且在外部电路中用接触器的常闭触点互锁;另一组是LED和指示灯,采用DC24V供电。注意不要将两组输出的COM端连接在一起。
图2.93 呼叫小车的I/O接线图
(3)程序设计
呼叫小车的程序如图2.94所示。
图2.94 呼叫小车程序
步0~步21中LD>K2X0 K0,是指当呼叫信号组大于零,即只要有呼叫信号,X7~X0中有一个就为“1”,小车处于某一位置,即X17~X10中有一个为“1”时,将呼叫信息和位置信息分别存入D0和D10中。
步22利用比较指令CMP比较呼叫号和位置号的大小,以此确定小车的运行方向。若D0>D10,即呼叫号大于位置号,则M0 =1,小车右行;若D0<D10,即呼叫号小于位置号,则M2=1,小车左行。
步34中D0= D10说明,只要呼叫号等于位置号,小车不动,并对比较结果复位。
步44中,D0=K0说明假如没有呼叫信号,则对以前的呼叫信息清零。
步60中ENCO编码指令将小车的位置信息D10进行编码后送入D11中。假设现在小车在图2.92所示的第4个位置(从左至右的顺序),则X17~X10为000 1000,即D10的低7位为000 1000,ENCO指令将D10中“1”所对应的位数“3”编制为二进制数011送入D11中,因为D10中的数位是从“0”开始的,所以要想显示车的实际位置是“4”,必须用ADD加法指令再将D11中的数加“1”后送给Y17~Y10显示。
(4)调试运行
①按图2.93连接I/O接线图。
②用GX软件编写图2.94所示的梯形图并将编译无误的控制程序下载至PLC中,将模式选择开关拨至RUN状态。
③按照系统操作要求调试程序,观察程序能否达到控制要求。