论文部分内容阅读
摘 要 以西门子S7-200为例,以七段数码管作为控制对象,介绍PLC的基本功能及其操作方法。
关键词 西门子S7-200PLC;七段LED数码管
中图分类号:TP332 文献标识码:A 文章编号:1671-7597(2013)17-0041-02
形式各样的数码管以及霓虹灯装饰着现代化的城市,这些灯饰是是如何控制的,以及如何改变这些灯的显示方式,我们可以通过PLC来实现。PLC功能强大,编程灵活,我们将数码管作为控制对象,通过编程完成数码管顺序显示“0”—“F”十六个简单字符,以此达到学习目的,提高思维能力与动手能力。
1 PLC的基本功能
PLC的编程指令按照信号的流向可以分为输入指令和输出指令,输入指令最基础的就是常开开关和常闭开关,输出指令有的以线圈的形式编程,有的以指令盒的形式编程。PLC的核心是开关控制,所以我们在下面的实验编程中主要围绕开关展开,如何直接或间接的创造一系列的开关,以及通过开关的组合来更加高效的控制数码管,下面的内容就围绕这些问题展开。
2 输入控制(开关法控制)
输入端的主要任务就是通过一系列的开关或者是通过其他方式模拟得到的开关来逐次接通想要显示字符的回路。
2.1 直接利用开关的方式控制
对应于“0”—“F”十六个字符,我们分别可以用十六个常开开关,分别连接到十六个输出上面,然后只要对应的常开开关闭合,输出就可以显示对应的字符,正如家里边用的电灯一样,按下开关,灯就会发光。这种方法简单易明白,但是所用的开关数太多,如果有更多的数码管的话,有限的PLC的输入输出点数不能满足这么多的只有单一功能的开关。因此,如何节省输入输出点数以及充分利用PLC的内部资源,就是下面模拟开关中要解决的问题。这是最基础的方法,尽管有很大的弊端,但是却是所有开关法控制的思路来源。
2.2 多个开关串联组合成为新的开关
上一种方法中的每一个开关只可以影响一个输出线路的通断,基于改进这个弊端的想法,我们可以用多个开关串联的方式来实现某些条输出线路的通断,在这种设想下,每n个开关,都可以同时控制条输出线路的通断,并且不会发生错误,总是一一对应的。基于这种思路,在手工操作的前提下,每一次只要改变串联开关当中的一个开关,就可以改变相关输出线路的通断状态,在这里,我们借鉴格雷码表中的思路,每次显示的数字增加一,只需要手工改变其中一个开关的状态,图1就是根据这个思路写出的一个编程用表。
2.3 中间继电器构成开关
利用上面的方法实现手动操作,然后数码管就可以顺序显示字符 ,但是一个很大的弊端就是每一次都要通过看自己建立的表才能确定所要切换的开关,否则就可能发生错误,没有改变合适的开关,基于这种弊端,我们可以通过中间继电器M来改进。
这种方案中,首先要将一个中间继电器MB16置位为0,然后每隔一秒的时间,通过加一指令盒对MB16逐位加一,在二进制下,每一次加一,就会逐位切换位的状态,通过用位的状态模拟开关。加一指令盒对上升沿脉冲敏感,因此我们可以使用常用特殊继电器SM0.5产生1秒脉冲,每隔1秒,加一指令就会对MB16中的二进制数加一。
2.4 定时器、计数器模拟开关的作用
定时器和计数器都是以指令盒的形式编程,当定时值或者计数值达到设定值时,定时器或计数器作用.当计数器只接受到一个脉冲时,线路接通,由于定时器接收到的脉冲是整数个,所以定时器本质上就模拟了最基础的方法中的多个开关,但是相比于最基础的方法,充分利用了PLC的内部资源,节省了PLC的输入点数。
2.5 移位指令
加一指令使用到了中间继电器M,有很多的方便,同样借助于中间继电器M,我们也可以利用移位指令实现这一功能。MB0的八位分别模拟八个常开开关,功能等同于基础方法中的多个开关,在这种方法下,首先应该设置MB0=2#00000001,此时M0.0开关接通,显示数字“0”,然后通过移位指令,借助于SM0.5,对MB0逐1秒左移,这样M0.0—M0.7就有了逐次接通,一共可以控制八个字符的显示,可以利用MB0的变化模拟最基础方法中的多个开关,同样对应于“0”—“F”,通过MW0就可以完成这一要求。
2.6 子程序指令
子程序指令本质也是对于开关的使用,当某一个开关接通时,进入对应的子程序,然后就可以显示对应的字符。开关就是跳转进入子程序的条件,子程序内容就是下面要探讨的输出控制。
上面分别的主程序和子程序的部分编程示意。
在这里,我们借助计数器与特殊继电器SM0.5来得到一个时隔1s自动接通与断开的自动开关,分别用于返回上一条子程序,同时进入下一条子程序,当计数器的计数值增加时,重复改变C20=x的通断状态。
2.7 断码指令
断码指令的输出默认就是七段数码管,所以使用极其简单,只要用到了断码指令盒,只需要将想要显示的字符输入到断码指令盒的输入端,当指令盒的使能端信号有效时,就可以在七段数码管上显示自己想要得到的字符,借助定时器或者是计数器,就可以实现等间隔时间分别显示不同的字符。
3 输出控制
输出主要有两种形式,其一是中间继电器形式输出,另一种是断码指令输出,原理相同,均是当输入端有信号输入时,就可以显示对应的字符,后一种更加方便。
3.1 中间继电器输出形式
之所以要用中间继电器,是因为PLC中不允许有双线圈或者是多线圈输出,所以要借助中间继电器来间接导通输出点Q。每一次的输入线路接通时,均会将相对应的中间继电器M的某些位置1,然后,Mx.0-Mx.7的每一位都对应Q0.0-Q0.7,也就是说,输入线路接通,Mx.y置1,同时,Q0.y也会置1。
当I0.1有输入时,相应的中间继电器M1.1和M1.2均已接通,然后根据我们的原理,M1.1又会接通Q0.1,M1.2又会接通Q0.2,在七段数码管上表现为点亮了最右边的两段,就显示“1”。
这种方法思路简单,但是在写程序时很乱,涉及到的线圈数太多,容易犯小错误,下面探讨的断码指令作为输出控制就更为简单、程序量少。
3.2 断码指令输出
断码指令输出简单,如上面的输入控制中所探讨的,断码指令作为输出时,可以这样应用,输入控制就是我们设计的多种开关与模拟开关,输出端子连接到断码指令盒即可,只需要改变断码指令盒的使能条件就可以达到目的。
4 结论
通过实现七段数码管顺序显示字符的实例,掌握一些PLC的编程规则,了解一些基础的PLC编程技巧,锻炼良好的思维逻辑能力,为以后写出更多的好程序做准备。
参考文献
[1]王永华.现代电气控制及PLC应用技术[J].北京:北京航空航天大学出版社,2007(11).
[2]西门子公司.SIMATIC S7-200可编程序控制器系统手册[M].2004.
作者简介
陈凯(1991-),男,本科在读,中国地质大学(北京)信息工程学院电气工程及其自动化专业。
关键词 西门子S7-200PLC;七段LED数码管
中图分类号:TP332 文献标识码:A 文章编号:1671-7597(2013)17-0041-02
形式各样的数码管以及霓虹灯装饰着现代化的城市,这些灯饰是是如何控制的,以及如何改变这些灯的显示方式,我们可以通过PLC来实现。PLC功能强大,编程灵活,我们将数码管作为控制对象,通过编程完成数码管顺序显示“0”—“F”十六个简单字符,以此达到学习目的,提高思维能力与动手能力。
1 PLC的基本功能
PLC的编程指令按照信号的流向可以分为输入指令和输出指令,输入指令最基础的就是常开开关和常闭开关,输出指令有的以线圈的形式编程,有的以指令盒的形式编程。PLC的核心是开关控制,所以我们在下面的实验编程中主要围绕开关展开,如何直接或间接的创造一系列的开关,以及通过开关的组合来更加高效的控制数码管,下面的内容就围绕这些问题展开。
2 输入控制(开关法控制)
输入端的主要任务就是通过一系列的开关或者是通过其他方式模拟得到的开关来逐次接通想要显示字符的回路。
2.1 直接利用开关的方式控制
对应于“0”—“F”十六个字符,我们分别可以用十六个常开开关,分别连接到十六个输出上面,然后只要对应的常开开关闭合,输出就可以显示对应的字符,正如家里边用的电灯一样,按下开关,灯就会发光。这种方法简单易明白,但是所用的开关数太多,如果有更多的数码管的话,有限的PLC的输入输出点数不能满足这么多的只有单一功能的开关。因此,如何节省输入输出点数以及充分利用PLC的内部资源,就是下面模拟开关中要解决的问题。这是最基础的方法,尽管有很大的弊端,但是却是所有开关法控制的思路来源。
2.2 多个开关串联组合成为新的开关
上一种方法中的每一个开关只可以影响一个输出线路的通断,基于改进这个弊端的想法,我们可以用多个开关串联的方式来实现某些条输出线路的通断,在这种设想下,每n个开关,都可以同时控制条输出线路的通断,并且不会发生错误,总是一一对应的。基于这种思路,在手工操作的前提下,每一次只要改变串联开关当中的一个开关,就可以改变相关输出线路的通断状态,在这里,我们借鉴格雷码表中的思路,每次显示的数字增加一,只需要手工改变其中一个开关的状态,图1就是根据这个思路写出的一个编程用表。
2.3 中间继电器构成开关
利用上面的方法实现手动操作,然后数码管就可以顺序显示字符 ,但是一个很大的弊端就是每一次都要通过看自己建立的表才能确定所要切换的开关,否则就可能发生错误,没有改变合适的开关,基于这种弊端,我们可以通过中间继电器M来改进。
这种方案中,首先要将一个中间继电器MB16置位为0,然后每隔一秒的时间,通过加一指令盒对MB16逐位加一,在二进制下,每一次加一,就会逐位切换位的状态,通过用位的状态模拟开关。加一指令盒对上升沿脉冲敏感,因此我们可以使用常用特殊继电器SM0.5产生1秒脉冲,每隔1秒,加一指令就会对MB16中的二进制数加一。
2.4 定时器、计数器模拟开关的作用
定时器和计数器都是以指令盒的形式编程,当定时值或者计数值达到设定值时,定时器或计数器作用.当计数器只接受到一个脉冲时,线路接通,由于定时器接收到的脉冲是整数个,所以定时器本质上就模拟了最基础的方法中的多个开关,但是相比于最基础的方法,充分利用了PLC的内部资源,节省了PLC的输入点数。
2.5 移位指令
加一指令使用到了中间继电器M,有很多的方便,同样借助于中间继电器M,我们也可以利用移位指令实现这一功能。MB0的八位分别模拟八个常开开关,功能等同于基础方法中的多个开关,在这种方法下,首先应该设置MB0=2#00000001,此时M0.0开关接通,显示数字“0”,然后通过移位指令,借助于SM0.5,对MB0逐1秒左移,这样M0.0—M0.7就有了逐次接通,一共可以控制八个字符的显示,可以利用MB0的变化模拟最基础方法中的多个开关,同样对应于“0”—“F”,通过MW0就可以完成这一要求。
2.6 子程序指令
子程序指令本质也是对于开关的使用,当某一个开关接通时,进入对应的子程序,然后就可以显示对应的字符。开关就是跳转进入子程序的条件,子程序内容就是下面要探讨的输出控制。
上面分别的主程序和子程序的部分编程示意。
在这里,我们借助计数器与特殊继电器SM0.5来得到一个时隔1s自动接通与断开的自动开关,分别用于返回上一条子程序,同时进入下一条子程序,当计数器的计数值增加时,重复改变C20=x的通断状态。
2.7 断码指令
断码指令的输出默认就是七段数码管,所以使用极其简单,只要用到了断码指令盒,只需要将想要显示的字符输入到断码指令盒的输入端,当指令盒的使能端信号有效时,就可以在七段数码管上显示自己想要得到的字符,借助定时器或者是计数器,就可以实现等间隔时间分别显示不同的字符。
3 输出控制
输出主要有两种形式,其一是中间继电器形式输出,另一种是断码指令输出,原理相同,均是当输入端有信号输入时,就可以显示对应的字符,后一种更加方便。
3.1 中间继电器输出形式
之所以要用中间继电器,是因为PLC中不允许有双线圈或者是多线圈输出,所以要借助中间继电器来间接导通输出点Q。每一次的输入线路接通时,均会将相对应的中间继电器M的某些位置1,然后,Mx.0-Mx.7的每一位都对应Q0.0-Q0.7,也就是说,输入线路接通,Mx.y置1,同时,Q0.y也会置1。
当I0.1有输入时,相应的中间继电器M1.1和M1.2均已接通,然后根据我们的原理,M1.1又会接通Q0.1,M1.2又会接通Q0.2,在七段数码管上表现为点亮了最右边的两段,就显示“1”。
这种方法思路简单,但是在写程序时很乱,涉及到的线圈数太多,容易犯小错误,下面探讨的断码指令作为输出控制就更为简单、程序量少。
3.2 断码指令输出
断码指令输出简单,如上面的输入控制中所探讨的,断码指令作为输出时,可以这样应用,输入控制就是我们设计的多种开关与模拟开关,输出端子连接到断码指令盒即可,只需要改变断码指令盒的使能条件就可以达到目的。
4 结论
通过实现七段数码管顺序显示字符的实例,掌握一些PLC的编程规则,了解一些基础的PLC编程技巧,锻炼良好的思维逻辑能力,为以后写出更多的好程序做准备。
参考文献
[1]王永华.现代电气控制及PLC应用技术[J].北京:北京航空航天大学出版社,2007(11).
[2]西门子公司.SIMATIC S7-200可编程序控制器系统手册[M].2004.
作者简介
陈凯(1991-),男,本科在读,中国地质大学(北京)信息工程学院电气工程及其自动化专业。