可编程控制器PLC应用于广播发射机自动控制【前言】1969年第一台可编程控制器产生后,经过30多年的发展,现在可编程控制器已经成为最重要、最可靠、应用场合最广泛的工业控制微型计算机。可编程控制器应用于广播发射机可实现广播发射机的自动开关机及采集并监控发射机的各个参数,出现异态时报警,有备用还能实现自动倒备份。这样便能实时发现发射机的异常,及时处理,降低停播率,能很好的保证节目的安全、优质播出,并能大大减轻发射机的值班任务。【关键字】自动控制发射机可编程控制器PLCsiemenceS7-200V3.1STEP7MicroWINSP1可编程控制器(ProgrammableController)简写成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路模拟量采集,故采用了SIMATICS7-226型PLC,两快EM-23模拟量采集模块。SIMATICS7-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点的表格,供大家参考。3、发射机监控系统的硬件和软件设计系统设计包括硬件系统设计和软件系统设计。硬件系统设计主要包括PLC及外围线路的设计、电气线路的设计等。软件系统设计主要指编制PLC监控程序,有些系统还包括上位机程序的编写,比如在本例中就包括上位机程序。硬件系统设计主要是设计出电气控制系统原理图,电气控制元器件的选择等,在这里硬件设计不做详细阐述,主要给大家阐述软件设计的步骤和过程。在PLC程序设计时,除I/O地址列表外,还要把在程序中用到的中间继电器、定时器、计数器(PLC中的软元件)和存储单元以及它们的作用或功能列写出来,以便程序的编写和阅读。下面结合我开发过的“DX-600中波发射机自动控制系统”具体介绍广播发射机自动控制系统PLC程序的编写及调试。西门子S7-200CPU的编程软件为V3.1STEP7MicroWINSP1。该软件是基于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与上位机通信可采用自由通讯协议,自由通信口(FreeportMode)方式是S7-200PLC的一个很有特色的功能。S7-200PLC的自由通信,即用户自己定义通信协议,波特率最高为38.4KB/s。它使S7-200PLC可以与上位PC机进行通信。PC机的RS-232可通过PC/PPI电缆与S7-200PLC连接起来进行自由通讯。与PC连接后,PLC程序可以通过使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)对通讯口操作。在自由通讯口模式下,通讯协议完全由用户程序控制,协议的制定依系统不同而不同,在“DX-600中波发射机自动控制”系统中为保证数据传输的正确无误,还采用了一种数据校验机制,把要传输的数据块中的各字节做“与”操作,得到的“和”作为校验字节。此种校验方法有简单实用等特点。通过SMB30(口0)或SMB130(口1)允许自由口模式,而且只有在CPU处于RUN模式时才能允许。当CPU处于STOP模式时,自由通讯口停止,通讯口转换成正常的PPI协议操作。通过与PC的通讯,PLC把采集到的数据发送到PC上位机,这样上位机程序经过响应处理就能实现数据的图形显示。发射机的开关机时间表、模拟量的上下限也能很方便的通过上位来修改,而不必修改PLC程序。PLC的时钟也能通过上位机来设置(校时)。另外,通过上位机还可以定时抄表、记录故障的发生时间、类型,停播的时间等等,方便技术人员维护发射机。上位机程序的编写可通过任一款可视化编程软件如VB,VC,C++Builder等,建议用C++Builder,它有功能强大,易学等特点。4、发射机监控系统的调试系统调试分模拟调试和联机调试。模拟调试可借助于模拟开关和PLC输出端的输出指示灯进行;需要模拟信号I/O时,可用电位器和万用表配合进行。调试时,可利用上述外围设备模拟各种现场开关和传感器状态,然后观察PLC的输出逻辑是否正确。如果有错误则修改后反复调试。S7-200不但能在PC机上编程,还可在PC上直接进行模拟调试。联机调试时,可把编制好的程序下载到现场的PLC中。有时PLC也许只有这一台,这时要把PLC安装到控制柜相应的位置上。调试时一定要先将主电路断电。只对控制电路进行调试即可。通过现场联机调试信号的接入常常还会发现软硬件中的问题,经过反复测试系统后,才能最后交付使用。本例“DX-600自动控制系统”投入使用后,的确大大减轻了值班任务,而且能及时发现一些人工值班不易发现的故障,通过上位机对发射机的实时数据及故障记录都能很好的保存,供技术人员维护用。3、发射机监控系统的硬件和软件设计系统设计包括硬件系统设计和软件系统设计。硬件系统设计主要包括PLC及外围线路的设计、电气线路的设计等。软件系统设计主要指编制PLC监控程序,有些系统还包括上位机程序的编写,比如在本例中就包括上位机程序。硬件系统设计主要是设计出电气控制系统原理图,电气控制元器件的选择等,在这里硬件设计不做详细阐述,主要给大家阐述软件设计的步骤和过程。在PLC程序设计时,除I/O地址列表外,还要把在程序中用到的中间继电器、定时器、计数器(PLC中的软元件)和存储单元以及它们的作用或功能列写出来,以便程序的编写和阅读。下面结合我开发过的“DX-600中波发射机自动控制系统”具体介绍广播发射机自动控制系统PLC程序的编写及调试。西门子S7-200CPU的编程软件为V3.1STEP7Mi