电子看板中数制转换算法研究
2016-11-22张东宁王前斌邵源汉
梁 寅 李 宏 张东宁 王前斌 邵源汉
(1.昆明电器科学研究所,昆明 650221;2.昆钢集团公司玉溪新兴钢铁有限公司,云南 玉溪 650093;3.沈机集团昆明机床股份有限公司,昆明 650203)
电子看板中数制转换算法研究
梁 寅1李 宏1张东宁1王前斌2邵源汉3
(1.昆明电器科学研究所,昆明 650221;2.昆钢集团公司玉溪新兴钢铁有限公司,云南 玉溪 650093;3.沈机集团昆明机床股份有限公司,昆明 650203)
为了解决国内某钢厂煤气加压站分布式控制系统的信息发布装置无法向LED数字看板发布数字消息的问题,对ASCII码表示十进制数字的过程进行分析,发现用ASCII码表示进位计数制数字时应将数字转换为非进位计数制,这种转换由一簇以按权展开式为基础导出的递推公式所描述的数学模型实现,模型将进位计数制数字的系数同权值相分离,按原有顺序排列,形成非进位计数制数字;结合LED数字看板使用ASCII编码发布数字消息的原理,在SIMATIC平台上实现该模型,使得由分布式自动化系统采集的反应生产工况的数字消息能在数字看板中发布。
非进位记数制 进位记数制 数制转换 分布式自动化系统 生产看板
自20世纪70年代单色低发光效率LED用于发布文本信息以来,LED平板显示设备经历了从红绿双色、4级调灰、内容静态显示,到红绿蓝三基色、16/64级调灰、内容动态显示,再到全彩色、256级调灰及数码图文视频等多媒体信息动态显示3个阶段的发展,现已广泛应用于商业、娱乐、交通及市政等需要进行公共信息发布的领域[1]。①收稿日期:2016-03-18(修改稿)
当工业生产领域中将来自底层自动化系统的数据或信息当作公共信息发布的需求产生时,往往也采用LED平板显示设备,并将该设备直接同控制系统(SCADA/DCS系统)或计算机制造系统(CIMS系统)集成起来,形成电子看板[2]。在离散制造工业中,电子看板常用于更新产量、成品率及合格率等参数,达到以实施协调生产、优化工序及提高效率等为目标的看板管理[3]。陆泽勇报道了一种用在汽车冲压厂物流系统上的拉动式生产看板系统,用于实现生产线上的准时化生产[4];纪寿文等报道了一种应用在机加工行业的电子看板系统,用于优化零部件供应管理[5]。在流程工业中,LED平板显示设备往往作为仪表的面板与之结合成一个整体,而作为电子看板与底层自动化系统结合的报道并不多见,曾荣杰报道了将240×128单色LED点阵用于发布选矿厂在线分析仪的测量结果[6];石长华和黄新华报道了将16×64双色LED点阵用于发布在陶瓷烧窑炉内和炉旁测得的温度参数信息[7]。钢铁冶炼行业属于典型的流程工业,炼铁和炼钢厂的副产品“冶金副产煤气”是钢铁行业广泛使用的二次能源[8],为合理利用副产煤气,减少管网运行压力波动和煤气放散引发的能源消耗和环境污染,钢铁联合生产企业通常针对副产煤气系统,建立覆盖全厂的煤气调度中心,并围绕煤气储柜、煤气管网等基础设施,在厂区建立多个调度室。监控中心设置底层自动化系统,调度室设置与调度中心系统互联的信息发布系统,形成分级调度系统,使班组操作人员及时了解诸如产气源发生量、煤气用户消耗量、气柜高度(煤气储量)、管网压力、用户支管压力及总管煤气一氧化碳含量等反映煤气系统运行状态的参数值,从而实施相应的调度或调节操作。针对煤气系统的运维,需要建设一套电子看板系统与底层自动化系统结合在一起,将取自底层自动化系统的参数信息在不同调度室中通过电子看板同步发布出来,其中信息发布终端的低成本技术方案就是选用LED平板显示设备,然而从过程自动化系统角度看,LED平板显示设备属于第三方设备,该种信息发布设备与自动化系统存在兼容性问题[9]。笔者针对国内某钢厂在煤气加压站厂区调度室建设电子看板系统过程中出现的采集自集散控制系统的生产工况参数不能在LED平板显示设备上发布的问题,展开数制转换算法研究,并在连接LED平板显示设备和集散控制系统的可编程终端设备上实现该算法,使得采集自底层自动化系统的参数值能在LED平板显示设备上发布,实现煤气储柜管网等基础设施的看板管理。
1 背景介绍
国内某钢厂煤气加压站建设了一套监控高炉煤气储柜、转炉煤气储柜与加压站运行的过程自动化系统,系统的组成和结构如图1所示。该系统设置两个控制站用于监控高炉煤气储柜、转炉煤气储柜和加压站。安装在设施上的变送器和执行机构通过远程IO站接入控制系统,IO站通过Profibus总线接入本地控制站,两个本地控制站通过Profinet工业以太网和上位监控计算机连接。系统中硬件采用了S7-200系列的产品,软件选用WinCC产品。在原控制系统投运后,该企业出于对班组操作人员和管理人员公布运行过程中煤气系统状态参数以方便实施看板管理的需求,建设了一个基于LED平板显示设备的看板系统,用于发布高炉煤气储柜柜位、转炉煤气储柜位、储柜回收量、煤气管网的总管压力和各用户支管压力、各用户煤气使用量及总管放散塔放散量等参数的实时值,并将看板系统部署在下设的一个现场调度室中。
基于对所搭建的生产看板系统与原自动化系统的集成需要,看板系统选择S7-200系列的可编程逻辑控制器作为子站,从技术层面分析,选型的依据是:
a. S7-200提供自由口通信模式[10],其特点是除物理层外其余协议层由用户编程实现;
b. S7-200的串口波特率可组态,可使系统中控制器与信息发布设备之间的串口波特率相匹配;
c. S7-200支持Profinet工业以太网通信,可实现控制器与原控制系统的集成。
看板系统的终端选择了双色LED显示屏,并选用某厂家提供的图文控制卡驱动该设备。系统硬件选型确定后,通过在S7-200控制器的变量寄存器中编程,实现将LED屏驱动卡的分层协议模型在S7-200控制器中的压栈处理,使得系统子站自由口通信模式下的通信协议与驱动卡的通信协议完全一致,如图2所示。
图2 子站的协议模型
2 问题的提出与分析
在S7-200子站自由口上编程虽然实现了LED信息发布设备协议的压栈处理,使得生产线看板系统中信息源和信息发布设备以完全一致的协议进行数据交互。但煤气系统基础设施运行时的各状态参数信息发布仍存在问题——参数的数值无法直接传送到LED显示屏上显示。
生产线看板系统在LED显示屏上所要发布的信息分为固定信息和可变信息两类。固定信息是在LED屏上显示出来的参数名称和单位;可变信息是参数的数值,它是随时间变动的数字。如:“高炉煤气柜位:”“数值”“m3”、“转炉煤气柜位:”“数值”“m3”、“高炉煤气回收量:”“数值”“m3”、“转炉煤气回收量:”“数值”“m3”、“总管压力:”“数值”“m3”及“燃气机组煤气消耗量:”“数值”“m3”等,仅有“数值”为可变信息,其余均为固定信息。
需要在LED显示屏上同时显示固定信息和可变信息,才能使集成到原控制系统的生产线看板系统的功能得以实现。LED信息发布设备使用ASCII码和区位码表示的字母、数字和汉字编码驱动点阵,显示编码所对应的字符、字母与数字用ASCII码编码,汉字用区位码(信息交换用汉字编码字符集)编码。可变信息无法直接传送到LED显示屏上显示这一问题,是由ASCII码表示数字的特点所决定的。ASCII码表中用0x30、0x31、0x32、0x33、0x34、0x35、0x36、0x37、0x38、0x39编码十进制数字的10个数码0、1、2、3、4、5、6、7、8、9[11]。对于大于10的整数没有对应的编码,为了实现数字的ASCII码编码,需要将数字按权展开,具体如下:
(kn…k2k1k0)10=kn×10n+…+k2×102+k1×101+
k0×100
(1)
其中,系数kn,kn-1,kn-2,…,k1,k0取值为9、8、7、6、5、4、3、2、1、0。
展示中系数的ASCII码见表1。
表1 系数的ASCII编码
注:0x表示后面的数字是十六进制;*前的字母a、b、c、d依系数的实际值取0、1、2、3、4、5、6、7、8、9。
将不同权位的系数提取出来按ASCII码编码,再按表1第二列中的值0x3d … 0x3c 0x3b 0x3a排序,就能将十进制数表示为非进位计数制,实现用ASCII码表示数字的目的。值大于10的数字的ASCII编码原理表明:当LED信息发布设备接收十进制数字信息时,设备并非将信息当作数字对待,而是当作独立的按顺序排列的字符对待。以数字(17350)10为例:人或控制器对该值的理解是“一万七千三百五十”或“100001111000110”,信息发布设备对该值的理解是“1”、“7”、“3”、“5”、“0”这5个字符组成的一串码,即0x31 0x37 0x33 0x35 0x30。
3 数制转换算法的数学模型
上述分析表明,应设计一种数制转换算法将进位计数制数字转换成非进位计数制数字[12],将非进位计数制数字不同权位上提出的系数按序排列转换成ASCII码发送给LED数字看板,才能实现可变类型信息的显示。将采集自集散控制系统的可变信息用下式表示:
(knkn-1kn-2…k1k0)10
(2)
其中10n,10n-1,10n-2,…,101,100是从最高位至最低位各位置上的权值;kn,kn-1,kn-2,…,k1,k0是给定位置上权值对应的系数。
系数kn的提取按下式:
(3)
其中[ ]表示截尾运算,以下公式中出现的[ ]均为截尾运算符。
系数kn-1的提取按以下两个公式:
(kn-1kn-2…k1k0)10=(knkn-1kn-2…k1k0)10-kn10n
(4)
(5)
系数kn-2的提取按以下两个公式:
(kn-2…k1k0)10=(kn-1kn-2…k1k0)10-kn-110n-1
(6)
(7)
以相同的运算规则构造递推表达式逐位提取系数,直到提取系数k1。系数k1的提取按以下两个公式:
(k1k0)10=(k2k1k0)10-k2102
(8)
(9)
系数k0的提取按下式:
k0=(k1k0)10-k110
(10)
式(3)~(10)的递推公式,描述了实现将进位计数制数字转换为非进位计数制数字算法的数学模型。递推公式能提取各权值对应的系数。LED信息发布设备发布数字信息时,顺序接收系数kn,kn-1,kn-2,…,k1,k0对应的ASCII码序列,就能按排列顺序显示系数。
4 算法设计
数制转换算法的设计是在控制器变量寄存器中分配适当的存储空间,根据具体数字消息的位数,按式(3)~(10)递推公式的构造方法构造对应的递推公式,按SIMATIC软硬件平台的编程规则用代码实现。以“高炉煤气储柜柜位”值和“转炉煤气储柜柜位”值,这类生产线看板系统中所要显示的最大数字为例说明:由于两个储柜的柜位值是万位数字,因此递推公式中n值取4,构造含9个表达式的递推公式,设计算法将递推公式在控制器中实现,以看板系统控制器的选型为例,算法设计流程如图3所示。
图3 数制转换算法流程
算法用一个子例程实现,流程被设计成顺序结构,这是由递推公式的执行顺序所决定的。由于n取值为4,因此该顺序流程由15步运算组成,主要由前12步实现式(3)~(10)递推公式的运算,后3步调用系统函数实现转换与赋值。前12步中,每执行一步运算指令,中间结果都会存入一个预分配的16位存储区。16位存储区的功能划分如图4所示。
图4反映出在算法设计的过程中,控制器的变量存储器中分配了3组16位存储空间(也称为变量字)。按递推公式执行运算的结果——原进位计数制数字中各位上的系数被设计为存放在变量1~5的5个16位存储区中;运算中需要将每位权值与该位权值对应的系数相乘,因此分配变量10~13的4个位存储区用于存储乘法运算的结果;运算中需要以递推方式连续执行4次减法运算,第四次减法运算提取最低位系数作为结果存入变量5,因此分配3个连续的16位存储区用于存储减法运算的结果。
5 结束语
笔者对以LED平板显示设备为生产看板的数制转换问题进行分析,针对ASCII码表示数字的特点,建立了数学模型,将进位计数制数字转换为非进位计数制数字,并针对具体的系统环境和硬件平台对数制转换算法进行设计,实现了生产看板系统中可变类型信息在LED数字看板上的发布。
图4 16位存储区的功能划分
[1] 黄春霞.浅谈我国LED显示屏发展历程和应用领域[J].科技致富向导,2011,(26):145.
[2] 周天宇,鲍敏,章近达.基于TOC与OEE的生产电子看板系统[J].机电工程,2015,32(4):497~500.
[3] 洪旭东,徐克林,夏天.基于看板的生产线物料循环配送方式[J].工业工程,2009,12(4):116~120.
[4] 陆泽勇.冲压生产的电子看板物流系统[J].物流技术,2005,(3):70~71.
[5] 纪寿文,缪立新,李克强,等.一种生产物流电子看板系统的设计[J].机械制造,2004,42(1):33~35.
[6] 曾荣杰.超大LED显示屏在工业中的应用与研究[J].矿冶,1995,4(2):85~92.
[7] 石长华,黄新华.陶瓷窑炉无线温度检测及LED点阵显示系统设计[J].陶瓷学报,2012,33(4):508~512.
[8] 聂秋平,吴敏,曹卫华,等.一种基于消耗预测的钢铁企业煤气平衡与数据校正方法[J].化工自动化及仪表,2010,37(2):14~18.
[9] 霍兴旺,岑娜.PLC自由口和单片机通信在LED显示中的应用[J].可编程控制器与工厂自动化,2011,(12):40~42.
[10] 李秀芹,杜向阳.VB与PLC自由口通信模式在断路器测试系统的应用[J].化工自动化及仪表,2015,42(2):195~199.
[11] 谭浩强,崔武子.C语言程序设计基础版[M].北京:华夏出版社,2005.
[12] 刘浩斌,汪良能.数字电路与逻辑设计[M].北京:电子工业出版社,2003.
ResearchofNumeralSystemConversionAlgorithmforProductionKanban
LIANG Yin1, LI Hong1, ZHANG Dong-ning1, WANG Qian-bin2, SHAO Yuan-han3
(1.KunmingElectricalApparatusResearchInstitute,Kunming650021,China;2.YuxiXinxingIron&SteelHoldingCo.,Ltd.,KunmingIron&SteelGroupCo.,Yuxi650093,China;3.ShenjiGroupKunmingMachineToolLimited,Kunming650203,China)
Considering DCS information-releasing device’s incapability in sending data to gas station’s LED production Kanban in iron & steel plants, having the process of applying ASCII code to notate the decimal numeral analyzed to find that the numeral notated by carry counter system has to be transmitted into non-carry counter system when adopting ASCII code to notate the numeral in positional number system. This transmission can be realized by a numerical model and represented by series of recursive equations. The model can separate coefficients from the positions and then arranges them in original sequence to form a non-carry counter system. According to the principle that LED numeral Kanban releases numerical information in the form of ASCII code, this model can be realized on SIMATIC platform so that numerical information in relation to the production and collected by DCS can be published on the production Kanban.
non-carry counter system, carry counter system, numeral system conversion, DCS, production Kanban
科技创新平台建设计划-科研院所技术开发研究专项——钢铁企业副产煤气能效管控系统研发及应用示范(2013DC006)
TH89
B
1000-3932(2016)07-0758-05