武 鹏,凌海风,陈海松,杨炜辰
(解放军理工大学,南京 210007)
相比于部队级工程兵仓库,总部级、军区级的工程兵器材仓库具有储存器材数量大、种类多,出入库业务频繁等特点,经常会有大量器材一次性出入库的情况发生,比如在出库单中若包含上百种器材时,如果仅凭仓库保管员对照出库单中的器材存放货位对器材一一进行手工查找拣货,很明显会降低器材出库的速度和准确率;或是多个保管员协同拣货,这也只是人力上的堆积,并未解决根本问题,且会占用较大的人力物力资源[1]。因此,需要在出入库业务中引入适合的信息技术,技术的引入主要解决以下4 点需求[1]:①实现准确、快速的货位提示功能;②具有高可靠性的货位查找功能;③货位提示可视化;④操作人员使用维护简便。
可编程逻辑控制器(programming logic controller,PLC)是一种数字运算操作的电子系统,专为在工业环境应用而设计的,它具有高可靠性、高处理性能、安装简单等特点。将PLC应用到实际的出入库业务中,通过设计用来控制PLC 的软件实现对器材货位的提醒,可以在很大程度上提高器材的收发效率和准确度[2]。
PLC 是一种以微处理器为核心的主要用作数字控制的特殊计算机,是微机技术和继电器常规控制概念相结合的产物。因此,它的硬件配置与一般微机装置类似,PLC 的硬件主要由中央处理器(CPU)、存储器、电源、输入单元、输出单元、通信接口、扩展接口电源等部分组成,它的组成示意图如图1 所示。
其中,CPU 是整个PLC 的核心,它主要负责接收并存储从编程器输入的数据和程序、诊断电源以及PLC 内部电路的工作故障和程序中的语法等错误、通过输入接口接收现场的数据[3]。
1.2.1 PLC 的选型
PLC 在自动控制领域的应用非常广泛,专业性的生产厂商也有很多,这其中主要包括OMRON、西门子、三菱等实力雄厚的大企业。OMRON 在业内一直享有很高的盛誉,是PLC 界的佼佼者,它所生产的PLC 性能优越、功能强大,已经在工业自动控制领域得到了较为广泛的应用。因此,选用OMRON 生产的PLC 作为应用在仓库的控制器。欧姆龙现在的主流机型为CJ1 系列,它包括CJ1M、CJ1G、CJ1H3 种类型。这3 种PLC 的性能都很出色,CJ1G、CJ1H 型PLC 虽然性能更为卓越,但是成本也更高。而CJ1M 型PLC 所具有的320、640I/O 点和10k、20k 步程序容量已经足以满足PLC 的货位提示功能了。因此我们选择OMRON CJ1M 型PLC 作为应用在仓库中的控制器[4]。
1.2.2 PLC 的控制方式选择
PLC 的控制方式主要有通过串口通信对PLC 直接发送指令以及通过组态软件间接控制PLC 2 种。
PLC 组态软件主要运行在电脑上,完成画面显示、报表、存储查询、报警等供用户直观查看的功能。它可以将逻辑原理图转换为实际顺序控制。但是由于PLC 组态软件价格较为昂贵的原因,这在现阶段很大程度上限制了其在PLC 控制领域的普遍应用。一套常用的组态软件价格常常达到数万元,这不可避免地制约了它的进一步应用。
通过串口通信对PLC 直接发送指令是控制PLC 的另一种方式,它是通过串口通信的方式对PLC 发送命令包,这些命令包符合该型号PLC 与上位机的串口通信协议,从而实现对PLC 的直接控制。这种方式虽然较组态软件控制方式繁琐,但是是在熟练掌握PLC 与上位机通信协议的基础之上完成的,这样有利于明晰控制流程,而且整个的成本较组态软件低很多,因此也不失为一种较为理想的控制方式,在此我们选用通过串口通信对PLC 直接发送指令的方式对PLC 进行控制。
本器材出入库货位提示系统的核心理念为实现准确快速地货位提示功能,系统部署在总部级、军区级器材仓库内的PC 机(PLC 的上位机)上,采用C/S 结构,使用的数据库部署在服务器上,方便数据的及时更新与获取。本系统所控制的PLC 选用CJ1M 型OMRON PLC,PLC 所控制的货架的每个货位均装有一个LED 指示灯和一个蜂鸣报警器。上位机与PLC 的连接采用串口通信方式,PLC 与具体货位的LED灯和蜂鸣器选用BV 铜芯线进行连接。系统的网络拓扑结构图如图2 所示。
图2 器材出入库货位提示系统拓扑结构
CJ1M 型OMRON PLC 自带RS-232C 接口,因此可以与上位机直接相连。
2.2.1 器材出入库货位提示系统功能设计
器材出入库货位提示系统应用在军区级、总部级仓库的器材出入库业务中,它是通过基于PLC 的逻辑控制功能从而实现器材在出库拣货过程中的货位自动提示功能。具体的提示方式包括LED 指示灯闪烁和蜂鸣器报警。
本系统的功能简单但目的性很强,突出满足了军区级、总部级仓库的器材出入库业务中的实际需求,具有很强的实用性。具体的功能流程如图3 所示。
货位提示的流程主要分以下4 个步骤:
1)获取器材货位代码
从出库单中获取每条器材的信息,并从中筛选出货位代码信息。
2)生成命令包
按照之前所述的PLC 与上位机的通信协议,将具体命令动作以及货位代码等信息编入命令包。
3)向PLC 发送命令包
通过向PLC 发送已经生成好的命令包从而实现对于货位提示的精确控制。
4)PLC 执行命令包并反馈响应
PLC 执行由上位机发送过来的命令包,随后向上位机发送响应包,通知其已完成操作或反馈通信中的错误、FCS 错误、代码错误等错误。
图3 系统功能流程
2.2.2 PLC 控制设计
1)器材货位代码的获取与格式转化
通过实地调研某器材仓库,它的布局如图4 所示。
图4 某军区仓库布局简图
在仓库中并排摆放着若干货架,每一个货架都有一个“行号”;每个货架上有纵向两列货位,故有1、2 两“列”;而每一列有从一到八8 个货位,称之为“高度号”。因此,货位代码可作以下规定:由五位阿拉伯数字组成,前三位为行号,范围为1 ~999,接下来一位为列号,范围为1 ~2,最后一位为高度号,范围为1 ~8。
在器材入库时,仓库保管员需将器材存放位置记录在数据库中,待出库时,出库单中涉及到的每条记录都包含有货位代码,一目了然。例如,某器材的货位代码为“10015”,就表示该器材位于第100 货架第一列第五层。
在上位机发给PLC 的命令包中,写入数据区的数据格式为十六进制;在PLC 处理分析命令包时,会将十六进制数转换为二进制数。因此需要将十进制的货位代码进行格式转化。
2)命令包设计
CJ1M 型OMRON PLC 与上位机的通信过程是由上位机率先发起的,它向PLC 发送命令包,它的格式如图5 所示。
图5 CJ1M 型OMRON PLC 命令包格式
根据图5 所示命令包格式,现对命令包进行详细设计。
现以一个格式为“@00WR0100357D31* ”的命令包为例,详细说明其对PLC 的控制原理。
a)“@”作为命令开始符是每条命令所必备的。
b)“节点号”即为所控制PLC 编号,一台上位机可控32台PLC,故编号分别为00 ~31,“00”表示第一台PLC。
c)“命令”即为上位机控制PLC 所执行的动作,此处的“WR”表示向CIO 区写数据。
d)“起始字”是命令包的首地址,由一个四位的BCD 码组成,在此设计将其作为货位代码的行号的承载,此处的“0100”表示第100 行货架。
e)“写数据”是实际的数据写入区,它是一个由四个十六进制数组成的四位数。之前提到的一个货架共有16 个货位,因此可以用0 ~15 表示16 个货位,由于在PLC 中数据的操作格式为二进制,因此可以将16 个货位分为4 个区。每个区对应一个数据写入区的一位十六进制数,具体的写入数据控制货位原理如图6 所示。
图6 写入数据与对应货位代码关系表
如图6 内表格所示,例举写入数据为“357D”,根据上表的对应关系得出16 个货位的有值位(带下划线的数据位),又因为“起始字”表示为“0100”,故由命令“@00WR0100357D31* ”可知100.00、100.02、100.03、100.04、100.05、100.06、100.08、100.10、100.12、100.13 为ON,即第100 个货架的第一列的一、三、四、五、六、七货位以及第二列的一、三、五、六货位这十个货位的LED 指示灯亮、蜂鸣器报警。
f)长度为2 字符的FCS 校验码为“31”,它的计算是在上位机上完成的。
器材出入库货位提示系统作为战备维修器材出入库管理系统的软件部分,它的开发是在台式机上基于Windows 操作系统进行的,然后将开发好的客户端安装到位于维修器材仓库的PC 机中。它的开发环境和运行环境分别如表1、表2所示。
表1 器材出入库货位提示系统开发环境
表2 战备维修器材出入库管理系统运行环境
器材出入库货位提示系统的功能是将上位机与PLC 建立连接,通过向PLC 发送自动生成的命令包,从而实现PLC对出库单中所包含器材的货位即时提示功能。系统的界面截图如图7 所示。
图7 器材出入库货位提示系统截图
1)建立与PLC 的连接
利用Delphi 所提供的TMscomm 控件与PLC 建立连接并设置相关串口通信属性。具体代码如下所示:
2)获得器材货位代码
选择完出库单后,系统会自动将该出库单内所包含器材的货位代码取出,并将每个代码放到数组iss[]中。
3)自动生成命令包并向PLC 发送
系统结合取到的货位代码,自动生成命令包并向PLC 发送,执行PLC_SendCmd(20,@iis[0],19)函数。具体代码如下所示:
4)取消所有报点
在进行两个出库单的器材货位提示之间需要对前一次的报点数据进行清空处理,具体执行代码如下:
PLC 是一种数字运算操作的电子系统,具有处理高性能、模块化结构、多样化I/O 接口、安装维护简便等特点。将其引入到维修器材出入库业务中,较好地实现了准确、快速的货位提示,货位查找高可靠性,货位提示可视化等目标。对提升维修器材出入库业务的质量、效率和效益在一定程度上起到了积极作用。
[1]曹小平.装备维修器材保障[M].北京:国防大学出版社,2005:106-109.
[2]高钦和.可编程控制器应用技术与设计实例[M].北京:人民邮电出版社,2004:8-10.
[3]张巍.PCPLC 机电控制系统研究[D].西安:西北工业大学,2003.
[4]孙旭松,胡雪梅.PLC 与上位机的通信实现[J].科技资讯,2006,25(2):81-82.