西门子PLC的编程技巧与案例分析
(一)案例概述
运料车主要用于搬运加工工件,在工矿企业的生产车间是比较常见的运输设备。运料车由三相交流异步电动机进行驱动。其运动方向的改变主要是通过电动机的正反转来实现。控制系统正常运行时,一般设为连续运行(自动控制)状态。但在调试系统或设备维修过程中,往往需把系统设为点动控制(手动控制),所以运料车的控制实际上就是电动机点动、连续正反转控制。运料车由三相交流异步电动机拖动,可左右运行,如图1所示。具体控制要求如下:
(1)点动控制时,按点动正转按钮,电动机正转点动运行,运料年左行;按点动反转按钮,电动机反转点动运行,运料车右行。
(1)点动控制时,按点动正转按钮,电动机正转点动运行,运料年左行;按点动反转按钮,电动机反转点动运行,运料车右行。
(2)连续控制时,按正转按钮,电动机连续正转,运科车连续左行;按反转按钮,电动机连续反转,运料车连续右行;按停止按钮,运料车随时停止。
(3)运料车应有软、硬件互锁控制功能
(二)编程要求
要求用前面已经学过的编程元件和方法试着编写PLC控制编程(梯形图):
(1)用触点线圈指令编程;
(2)用置位复位指令编程;
(3)用跳转与跳转标号指令编程。
(1)选择电器元件及PLC型号
输入信号:点动正转按钮1个、点动反转按钮1个、连续正转按钮1个、连续反转按纽1个、停止按钮1个,输入信号共5个,要占用5个输入端子,所以PLC输入至少需5点。(这里说明一下,限位因篇幅的原因,不做考虑)。
输出信号:正转接触器1个、反转接触器1个,占用PLC两个输出端子,所以PLC输出至少需2点。查西门子PLC用户手册可知,CPU221主机输入6点、输出4点,能满足实际需求的输入5点输出2点的要求。因PLC控制电动机,所以继电器输出型的PLC就能满足要求,选择CPU221继电器输出型的PLC即可。
(四)控制程序设计
(1)用触点指令编程
运料车的控制要求既有点动又有连续正反转控制功能, 用中间继电器进行状态转换后就很较易实现要求,如图3所示,网络1、网络3实现了既能点动又能连续的正转控制,网络2、网络4实现了既能点动又能连续的反转控制。
(五)PLC通信技术及应用
在通信程序设计中,子局的通信参数可以通过PLC上的DIP开关直接进行设定,而主局的通信参数设定则需要软件实现。在该系统中,主局的通信软件编制采用VB6.0。
MSComm控件提供串行通信功能,具有事件驱动、查询两种通信方式。事件驱动通信是利用控件的OnComm事件捕获通信事件或通信错误,并执行OnComm的事件处理过程。当前发生的通信事件或通信错误由控件的CommEvent属性来判断。
在本系统中,工业控制计算机作为主局,向作为子局的PLC发出呼叫及命令帧,并采用中断方式等待PLC的响应,即在MSComm控件的OnComm事件中根据CommEvent属性值来编制相应的响应过程或错误处理程序。在通信开始前,首先通过控件的Settings设定通信参数为“9600,O,8,1”,依据CCM协议的每次实际传送数据量,定义Rthreshold为应收到的字节数。完成串口初始化定义后,打开通信口,主局发出呼叫,在得到子局响应时,CommEvent属性值变为comEvReceive,激活OnComm事件处理相应事件,事件程序流程图如图3所示。首先将读取的子局信息处理,判断其与呼叫帧是否一致,若一致,发送首标命令帧,否则重新呼叫。在得到子局的首标回应后,开始数据的读取或写入操作,依据数据传送方向及数据量的不同设定控件的Rthreshold属性。***后通信以主局接收到EOF为结束。循环执行上述过程以完成数据的连续读写。
对于通信中的错误,一般可以通过接收到的CommEvent属性值来判断处理。但对于线路故障或PLC出现掉电等情况时,CommEvent属性值无法激活,就要利用看门狗的思想,设定定时程序,若通信超时,则结束前次通信,重新呼叫。
(六)总结
任何一个实际控制程序,可以用不同的方法来进行编写。究竟什么样的程序是合适的,就要看程序是不是编写简单、维护起来方便,还有就是运行可靠,尽量减少冗余。
(本站http://siemens-zuan.gongboshi.com/,提供西门子S7-1200系列PLC,S7-1500系列PLC)
(本站http://siemens-zuan.gongboshi.com/,提供西门子S7-1200系列PLC,S7-1500系列PLC)
- 下一篇:PLC编程
- 上一篇:常见的西门子PLC的几种故障及处理方法