PLC通信协议宏在中波发射自动化系统中的应用
2012-05-30文丨柯建芳
文丨柯建芳
近年来,随着科学技术的发展,中波广播发射机也从过去的电子管板调机发展为全新的全固态机,为实现自动化控制奠定了基础。中波广播自动化控制系统常采用可编程序控制器(PLC)做为前端控制器,通过PLC的输入、输出模块对发射机进行现场接入控制。但对于那些提供通信端口的发射机或设备,其内部已经配置了微控制器和采样控制回路,如果还是采用现场接入控制,不仅功能重复,而且有的时候难于实现,例如Thomcast的M2W型中波发射机,电路板集成度高,对接入参数非常敏感。对于这种类型的设备,只能是通过其串行口,利用其通信协议来实现工作状态的数据监测和控制。如果使用把监测控制软件放在服务器上运行的方式,那么当网络有故障时设备将失控,因此安全性不够,最好把监测控制软件放在其上位机的PLC中。过去只包含I/O模块的PLC是无法实现串行通信功能的,而PLC通信协议宏的出现解决了这个问题。以下着重介绍使用协议宏来解决Thomcast的M2W型中波广播发射机的自动化控制问题。
1 中波发射自动化控制系统的总体构成与功能
厦门广电集团发射中心202台中波发射自动化控制系统主要由受控系统、前端监控器、网络和系统服务器等四部分组成。网络结构的拓扑结构如图1。
图1
总体采用现场分布式结构,每个受控系统都有自己独立的前端监控器,并在其监控下工作。受控系统由主/备发射机、同轴开关、假负载、音频矩阵及温控器等组成。
前端控制器采用OMRON公司生产的CS1H-CPU63型可编程序控制器,它是实时监控系统中最基本、最核心的单元,在整个系统中起着承上启下的作用。它能够脱离上位软件和网络连接而独立完成对受控系统的监测和控制,对受控系统各种异常状态用不同的方式发出告警信号,并能够存储开关机时间表等日常管理流程数据。
自动化控制系统的主要功能分为:①基本控制功能(远程控制及自动开关机等);②开关量、模拟量的监测;③开关机时间表的设定;④与用户系统及服务系统的通信功能。其中前两项功能通过PLC通信协议宏来实现。
2 Thomcast公司M2W发射机提供的通信协议分析
M2W发射机的标准通信协议帧的格式分为:写控制帧(控制量)和读控制帧(状态量)。如下表,我们把常用的一些常用的操作指令列出来。
2.1 写控制:(开关机控制量)
序号 操作指令 备注(N1)1 高功率开机 置高功率开机位为1,再置开机位为12 中功率开机 置中功率开机位为1,再置开机位为13 低功率开机 置低功率开机位为1,再置开机位为14 开机 置开机位为1,将以默认功率开机5 待机(准备) 置待机位为16 关机 置关机位为17 升功率 置升功率位为18 降功率 置降功率位为19 告警复位 置告警复位位为110 满功率开机 置满功率位为1
2.2 读控制:(机器状态量)
特别说明:在M2W发射机内部PLC是采用文件的格式存储机器信息的,其中:N1——遥控连接的直接命令输入;N2——本地连接的直接命令输入(发射机触摸屏);N3——发射机实际数据。N1文件在指令写入时发射机将做出反应,从N3文件则可读取机器的实际数据进行监测,通过对这两个文件的修改和读取来实现发射机的控制。
OMRON通信协议宏的简介与应用设计
3.1 通信协议宏概述
序号 操作指令 读取内容 备注(N2)1当前预设功率 ×0.1 如6400=100=10KW 2高功率预设值 ×0.1 如6400=100=10KW 3中功率预设值 ×0.1 如4600=70=7KW 4低功率预设值 ×0.1 如2800=40=4KW 5入射功率 ×0.1 如6400=100=10KW 6反射功率 ×0.01 如0A 00=100=0.1KW 7相位偏移 具体值 单位:度8射频电压 具体值 单位:伏特9射频电流 具体值 单位:安培10空气温度 具体值 单位:℃11控制电压 ×0.1 如3200=50=5V单位:伏特…… …20射频级循环测试test stage rot ok=1,表关闭=2,表等待=3,表打开21信号处理测试test SP running=1,表关闭=2,表等待/打开22相位测试Phasing test=1,表关闭=2,表等待/打开
通信协议宏是PLC具有的一种通信控制功能,用于为符合具有串行通信端口的通用外部设备的通信规范的通信协议创建宏。支持与几乎所有具有RS-232C或RS-422A/485端口外部通用设备的通信,通过编制通信协议指令实现对外部通信设备的相应数据采集和控制。
CX-Protocol是创建协议宏应用软件。协议宏由通信指令系列组成,支持硬件是PMSU(串行通信单元)。CXProtocol将协议宏传送至PMSU、通过CPU单元上的PMCR指令来指定协议宏的序号并执行通信序列。一个通信指令序列由若干步组成,每个步由发送、接收或者发送与接收指令组成;可允许用户根据处理结果来重复、结束这些步或者对这些步生成分支。
3.2 通信协议宏的创建
根据上面的表格,我们先将这些常用操作指令转换成发射机通信协议的指令帧(即协议宏的通信报文),通信报文分为发送报文和接收报文,包含有:报头、地址、长度、数据、错误检验码和终止符,但每个字段不是必需的,在发送报文中,可以仅有数据字段(实际上数据字段就已经包含有报头、地址、错误检验码和终止符);在接收报文中,存在终止符时,报头、地址、长度、错误检验码也可以不存在,如果数据长度固定,则终止符也可以不存在。
根据M2W发射机的协议说明,无论在写或读操作,发送完成后发射机均会返回一个响应帧,如果出错则要求重发,正确则发送“1006”确认该操作。
3.3 写控制帧格式
发送命令:
++
返回:响应++,可这数据字体,为写入N1中相应操作位的数据
以发送“开机”操作指令为例:100201090F008803AA020F89020001001003208d将N1中的“开机位”置“1”,返回:1006100209014F00880310030dc4,则再发送“1006”确定执行开机操作。如果返回“1005”或“1015”则重发操作指令。
3.4 读控制帧格式
发送命令:
+给出功能码和读取的范围和文件类型,其它字段与写控制的相同。返回时,字段为读取的机器状态数据,可用W()指令写入DM数据存储区。
由于读取范围要求不超过240字节,机器的状态数据需要分三次才能全部读出,如发送:100201090F000101A2EE118900001003e00f则返回1006100209014F0001++0010032864,这样我们可以读取到0~240字节的数据,其它数据读取修改范围即可。
3.5 协议宏的创建
协议宏的一个序列由最多16个步组成,一个步包含一条命令操作,该命令分为:“发送”、“接收”、“发送与接收”、“打开”、“关闭”、“刷出”或“等待”,通过步中的“下一个过程/出错过程”来指定执行下一步。协议宏就是通过“步”发送和接收处理通信报文,完成指令操作的执行,所以创建协议宏可分两步完成。(1)首先,将“开机”操作指令按写控制帧格式转换成协议宏的发送报文(SendMessage),SendMessage为:++
3.6 CX-Protocol软件操作
图2
图3
(1)创建各报文:打开CXProtocol软件,从“File”(文件)菜单中选择“NEW”(新增)创建一个项目,创建项目后从PLC菜单中选择“EditPC-PLCCommsSettings”(编辑PC-PLC通信设定);在项目文件下创建协议列表(NewProtocollist),右键点击“Create/Protocol”(创建/协议),指定下列项:协议名称、序列起始号、序列结束号和目标;右键点击“Create/Sequence”编制协议序列,指定下列项:链接字、传送控制参数、响应类型和监测时间(Tr、Tfr、Tfs),一个协议序列对应一条M2W发射机操作命令;在通信序列中右键点击“Create/Step”(创建/步),指定下列项:重复计数器、命令、重试计数、发送等待时间、发送报文、接收报文、有/无响应写入、下一个过程和出错过程,每一步就是一条协议指令。右键点击步列表中的“SendMessage”(发送报文)或“ReceiveMessage”(接收报文)字段,然后从弹出菜单中选择“NewMessage”(新报文),将全部使用到的协议指令输入为通信报文,必要时做好注释,便于读懂程序。(2)创建矩阵:如果要根据不同的响应报文决定下一步执行的步(Step),就需要创建矩阵来完成。右键点击“Create/Matrix”(创建/矩阵)和“Create/MartrixCase”(创建/矩阵实例),预先设定可能返回的响应报文数据,改变各响应报文的下一个控制步,一个矩阵中允许最多设定15种报文。如图4,写控制指令时,可将“接收B“设为”1006,下一步为发送“1006”确认;“接收C”为“1005”和“接收C”为“1015”,下一步为重新发写指令。(3)传送项目:选中项目名称,点击菜单Protocol-DownloadProtocol,将以上创建的项目传送至PMSU(从个人计算机到PMSU)。
3.7 创建梯形图程序
图4
图5
梯形图程序主要有按时间表自动试机、开关机程序和故障处理等程序。梯形图程序段较长,这里主要介绍在梯形图中如何调用协议宏指令。在梯形图中通过使用PMCR命令来调用协议宏指令,首先为PMCR指令分配一条功能代码,然后执行PMCR指令。
如图5所示:控制字1为#02E1,其中0为通信端口(内部逻辑端口号0);2为端口2;E1为内插板(串行通信板);控制字2为#2,表示执行02号通信序列。第一个发送字为100,发送数据首字(DM100)
第一个接收字为200,接收数据存储首字(DM200)。当“T机开机”位1213.14置ON并将协议宏执行标志(1919.15:端口2)置OFF时,将调用PMSU上注册的02号通信序列,从而在通信端口允许标志(A202.00:使用0号通信端口的内部逻辑端口)为ON的情况下经由PMSU的端口2发送和接收数据。
4 系统硬件连接与测试
4.1 PLC需要用到的两个通信连接
4.1.1 电脑CX-Protocol软件与PLC的编程连接
首先,必须先用编程电缆将电脑CX-Protocol软件连接到PLC的CPU外设口或内置RS-232C口上,然后,设置PLC“设备类型”、和“网络类型”。
4.1.2 PLC通信板(CS1W-SCB41-V1)与受控通信设备的通信连接
(1)将串行通信板(CS1WSCB41-V1)插入CS1的CPU模块中,设置终端电阻ON/OFF开关为“ON”及线制开关2线/4线拨到“4”的位置。将通信板(CS1W-SCB41-V1)上的端口2(RS-422A/485)与M2W发射机的RS-485端口连接。(2)制作通信板与发射机的数据连接线,并连接好两端通信口。(3)根据M2W的通信协议参数设定为:协议:全双工;和检验:CRC;COM口:RS422;波特率:19200;每字位数:8;奇偶Parity:偶数;停止位Stopbits:1。
5 系统调试
CX-Protocol提供了数据跟踪和监测功能,当执行数据跟踪操作时,从该点开始,串行通信板对发送/接收报文中按时间顺序排列的数据执行跟踪记录,通过跟踪发送或接收数据和信号,可根据步来检查发送或接收和各条报文的内容并将其与预设的序列进行对比,查找程序的出错原因。笔者在调试中体会到在使用通信协议宏时,必须注意下面几个问题,否则可能会造成通信失败。(1)执行PMCR指令时,最好使用上升沿微分触发PMCR指令,否则可能引起各条指令间的冲突。(2)根据实际测试发射机的接收和反馈时间,设置发送完成监测时间Tfs为0.2S、接收等待监测时间Tr为0.2S和接收完成监测时间Tfr为0.4S,既能保证指令的完整发送,又节省等待时间,并可以防止协议宏进入死锁状态。(可参考操作手册中监测时间的计算方法)。
6 出错处理
PLC设置有特殊辅助区,存储PLC运行状态,协议宏在发生以下任一错误时,根据设定的重试计数自动重复执行同一个步(最多3次):①监测时间(Tfs、Tr、Tfr)已过。②发生了接收通信错误。③接收报文不正确。④校验码存在错误。
类型 名称 分配区 内容协议宏 协议宏执行标志(各端口) 端口1:CIO1909位:15端口2:CIO1919位:151:协议宏(序列)执行0:协议宏(序列)异常执行通信端口 通信端口允许标志 A202,位:0 0:允许1:不允许传送错误生成状态 正常 端口1:CIO1908位15端口2:CIO1918位151:通信错误0:正常中止强制中止开关(各端口) 端口1:CIO1900位03端口2:CIO1900位11 对于强制中止,设定为从0到1强制中止产生标志 端口1:CIO1909位13端口2:CIO1919位131:强制中止已执行0所有其它时间
发生异常时,可通过这些状态了解异常情况,并可应用这些状态位进行程序保护。以CS1为例常用的有:
7 结束语
通信协议宏不单可以实现对中波发射机房M2W发射机的自动化控制,而且还可以应用在各种具有串行通信端口的设备上;如果采用RS-422A/485串行通信端口,还可以实现1:N控制(最多32部)外部通信设备。此应用系统在我台投入运行以来,能安全、稳定、可靠地工作,整个控制系统灵活、方便、一体化控制,大大提高了广播播出系统自动化、网络化的管理水平,具有很好的实用性和行业中的推广价值。
[1] OMRON.SYSMACCXProtocol1.9版CXONE-AL@@C-V4/AL@@D-V4操作手册,2010(2).
[2] OMRONCORPOTAION.SYS MACCSSeriesProgrammableControllers ProgrammingManmal,2003.
[3] Thomcast.M2W中波发射机技术手册,1998(4).
[4] 张丕灶.数字式调幅中波发射机.厦门大学出版社,2002(5).