【前言】1969年第一台可编程控制器产生后,经过30多年的发展,现在可编程控制器已经成为最重要、最可靠、应用场合最广泛的工业控制微型计算机。可编程控制器应用于广播发射机可实现广播发射机的自动开关机及采集并监控发射机的各个参数,出现异态时报警,有备用还能实现自动倒备份。这样便能实时发现发射机的异常,及时处理,降低停播率,能很好的保证节目的安全、优质播出,并能大大减轻发射机的值班任务。
【关键字】自动控制发射机可编程控制器 PLC siemence S7-200 V3.1 STEP 7 MicroWIN SP1
可编程控制器(Programmable Controller)简写成 PLC,其中 L为逻辑(Logic)的意思,第一台可编程控制器是1969年在美国面世的。经过30多年的发展,现在可编程控制器已经成为最重要、最可靠、应用场合最广泛的工业控制微型计算机。可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计;它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、记数和算术操作等面向用户的指令;并通过数字式或模拟式输入/输出控制各种类型的机械或生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体、易于扩充其功能的原则设计。可编程控制器具有诸多优点:(1)PLC的生产厂家都着力于提高可靠性的指标。(2)PLC还具有编程方便、易于使用的优点。(3)PLC控制功能极强,除基本的逻辑控制、定时、计数、算术运算等功能外,配合特殊功能模块还可实现点位控制、PID运算、过程控制、数字控制等功能,为方便工厂管理又可以与上位机通信,通过远程模块可以控制远方设备。(4)PLC的扩展以及与外部联接极为方便。所以可编程控制器应用于广播发射机可实现广播发射机的自动开关机,及采集并监控发射机的各个参数,出现异态时报警,有备用还能实现自动倒备份。这样便能实时发现发射机的异常,及时处理,降低停播率,能很好的保证节目的安全、优质播出,并能大大减轻发射机的值班任务。
要用PLC实现广播发射机的自动控制,要全面考虑许多因素,以我开发过的“DX-600中波发射机自动控制系统”为例,我将整个系统设计分为以下四个步骤。
首先要确定PLC的控制及监视范围。分析发射机需要监视的指标,以及需要自动控制的操作,比如入射功率取样、反射功率取样、水位取样、电源取样、开机操作、关机操作、升功率操作、降功率操作等。采样点多少和控制范围的确定依发射机的不同而不同。接着要选择适当的PLC,一方面选择多大容量的PLC;另一方面选择什么公司的PLC以及外围设备。对第一个问题,首先要对发射机进行详细分析,把所有的I/O点找出来,包括开关量I/O和模拟量I/O以及这些点的性质。I/O点的性质主要指它们是直流信号还是交流信号,电压多大,是采样点还是输出控制点,输出是用继电器型还是用晶体管或是可控硅型。知道这些以后,就可以定下选用多少点和I/O是什么性质的PLC了。对于第二个问题,则有以下几个方面考虑:a、功能方面。b、价格方面。可编程控制器的主机选定后,一般还要选择模拟量采集模块,模块的多少依据模拟量的多少而定。显示设定单元视需要选择与否。在本例“DX-600中波发射机自动控制系统”中,经分析该系统需要17路开关量输出、11路开关量输入、6路模拟量采集,故采用了SIMATIC S7-226型PLC,两快EM-23模拟量采集模块。SIMATIC S7-226支持24路开关量输入,16路开关两输出,每块EM-231支持4路模拟量输入点,两块就相当于8路模拟量输入点,完全能满足系统需要,并且为日后的系统扩展升级留有了空间。
2、PLC的I/O地址分配
输入/输出信号在PLC接线端子上的地址分配是进行PLC控制系统设计的基础。对于软件设计来说,I/O地址分配以后才可以进行编程;对于PLC的外围接线来说,只有I/O地址确定以后,才可以绘制电气接线图、装配图。I/O地址的分配最好能将类似的信号点分配连续的I/O地址,同时把I/O点的名称、代码和地址以表格的形式列写出来。初学者往往不会注重这些,开发过实际项目就会知道这将为以后的维护升级工作带来很大的方便。下图例出了本文实例《DX-600中波发射机自动控制系统》中部分I/O点的表格,供大家参考。
javascript:if(this.width>screen.width-333)this.width=screen.width-333">
表1
3、发射机监控系统的硬件和软件设计
系统设计包括硬件系统设计和软件系统设计。硬件系统设计主要包括PLC及外围线路的设计、电气线路的设计等。软件系统设计主要指编制PLC监控程序,有些系统还包括上位机程序的编写,比如在本例中就包括上位机程序。硬件系统设计主要是设计出电气控制系统原理图,电气控制元器件的选择等,在这里硬件设计不做详细阐述,主要给大家阐述软件设计的步骤和过程。在PLC程序设计时,除I/O地址列表外,还要把在程序中用到的中间继电器、定时器、计数器(PLC中的软元件)和存储单元以及它们的作用或功能列写出来,以便程序的编写和阅读。下面结合我开发过的“ DX-600中波发射机自动控制系统”具体介绍广播发射机自动控制系统PLC程序的编写及调试。
西门子S7-200CPU的编程软件为 V3.1 STEP 7 MicroWIN SP1。该软件是基于windows 的应用软件,它支持32位windows95,Windows98和WindowsNT操作系统。他支持STL编辑器、阶梯图编辑器和 FBD三中编辑器。你可以选择自己熟悉的编辑器。为端子号分配地址是编程的第一部,实际编程时为了增加程序的可读性,常用带有实际含义的符号作为编程元件代号,而不是直接用元件在主机的直接地址。例如编程中的“高功率开机”作为编程元件代号,而不用Q0.1。符号表可用来建立自定义符号与直接地址之间的对应,并可附加注释,有利于程序结构清晰易读,以及日后软件的维护更新,在实际的开发中应该注重这点,它往往能起到事半功倍的效果。按监控系统要完成的任务PLC程序可分为三个主要部分:l、广播发射机及附属设备(比如空调等)的自动开与自动关;2、模拟量的采集监控以及开关量的采集监控;3、与上位机通信,实现校时、数据的显示、参数的设置和故障记录等。
1、广播发射机及附属设备的自动开与自动关:要实现发射机的自动开关机,首先必须向PLC提供发射机的开关机时间表,该时间表的存储,应保证当PLC断电的情况下不丢失。所以把它放入数据快可确保数据的稳定。PLC内部有自己的系统日期和时钟,PLC可通过相应的指令读实时时钟和设定实时时钟。PLC内部用8个字节表示日期和时钟,他们都用BCD码表示,从低到高分别表示年、月、日、小时、分钟、秒,第7个字节为0,第8字节表示星期。值得注意的是系统不会检查、核实时钟各量的正确与否,所以在设置时钟和日期时必须确保输入的数据是正确的,还有,不能同时在主程序和中断程序中使用读写时钟指令,否则,产生非致命错误,中断程序中的实时时钟指令将不被执行。在编写发射机自动开关机程序段时,程序应该不断的读取系统时钟,并与数据块中的开关机时间表进行比较,如果与时间表中的时间吻合则执行相应的操作如开机、关机等,在本例中我用READ_RTC指令读出PLC的内部时钟,接着用BCD_I将BCD码的PLC时钟转换为十进制PLC时钟,再拿它与数据区中的开关机时间表比较,如果吻合则执行相应操作。
2、模拟量的采集监控以及开关量的采集监控:发射机模拟量的采集可通过EM231、EM232或EM235模拟量输入输出模块来实现。在本例中采用的是EM231,可通过DIP开关设置模拟量的输入范围,单极性:满量程输入0到10V、分辨率2.5mV;满量程输入0到5V、分辨率1.25mV;满量程输入0到20mA、分辨率5μA;双极性:满量程输入负5V到正5V、分辨率2.5mV;满量程输入负2.5V到正2.5V、分辨率1.25mV,根据实际需要设定响应的档位,如还不能满足则采样点要经过电路或仪器转换成合适的信号。要实现模拟量的监控就必须提供上限和下限,模拟量的上下限应该和开关机时间表一起放入数据快,程序应不断的取的模拟量的值并与数据块中的上下限比较,如果越限则报警或执行相应的操作。开关量的监控相对简单,不需要扩展模块,从PLC取得高低电位后直接可进行判断,有一点值得注意,为了防止干扰,模拟量应取多次的平均值,开关量的检测用延时接通电路。这样能很好的避免误报警和误操作。在本例《DX-600中波发射机自动控制》系统中,模拟量由于开始没有取多次平均值经常出现误报警,开关量也偶尔出现误报警,通过对模拟量多次取平均值、开关量采用10毫秒延迟电路后得到解决。
3、与上位机通信,实现校时、数据的显示、参数的设置和故障记录等:PLC与上位机通信可采用自由通讯协议,自由通信口(Freeport Mode)方式是S7-200PLC的一个很有特色的功能。S7-200 PLC的自由通信,即用户自己定义通信协议,波特率最高为38.4KB/s。它使S7-200 PLC可以与上位 PC机进行通信。PC机的RS-232可通过PC/PPI电缆与 S7-200 PLC连接起来进行自由通讯。与PC连接后,PLC程序可以通过使用接收中断、发送中断、发送指令(XMT)和接收指