茅晓晨
(上海市计量测试技术研究院,上海 201203)
压力计量系统可以实现压力仪表的数据采集和校准,常规压力仪表的电气接口包括:电流环4mA ~20mA、RS485、RJ45、HART、CAN、频率等。由于工控设备OCS具有诸多电气接口,应用控制器可以稳定高效地采集压力仪表的实数数据及配置参数。压力仪表在很多应用场合需要进行授权管理,如针对不同用户赋予不同的操作权限,或者设备集成商从设备使用追踪管理和商务追款等原因,对系统设备进行授权控制,稳定的硬件OCS 系统授权是实现高效管理的基本前提[1]。
图1 授权码Excel计算表格Fig.1 Excel calculation form of authorization code
计量授权系统的技术关键在于设备的授权计算模型,控制逻辑在OCS 处理器内部设计一个鉴权算法,依据算法的逻辑计算结论来判断是否允许OCS 正常运行。一般常用的方法是设计一个“密码计算表”,如应用明文设备当前运行时间RTC 和明文授权到期时间生成暗文设备运行授权码。例如:OCS 控制器的当前运行时间为2020 年9 月27 日,授权到期时间为2025 年12 月31 日,此时在excel 计算表内依次输入:A2 表格输入年份后两位20、B2表格输入年份9、C2 表格输入日期27、D2 表格授权到期年份后两位25、E2 表格授权到期月份12 和F2 表格授权到期日期31。在电子Excel 上编写的计算逻辑为:授权码=(A-A2)×1000000000000+(B-B2)×10000000000+(CC2)×100000000+(D-D2)×1000000+(E-E2) ×10000+(F-F2)×100+MOD((A2+B2+C2+D2+E2+F2),100),公式中的变量A、B、C、D、E、F 秘钥数值根据开发者的自定义情况填写,如上述填写下计算的授权码为“80282275534124”。在控制器交互界面上输入授权码(触摸屏或按键触发),逻辑判断正确则可以进入主界面,如果错误屏幕有错误提示,用户可以依照提示界面联系应用技术工程师索要授权。为了便于VIP 用户长期具有使用权限,逻辑判断中可以预置一个超级密码,例如112233445588,当OSC 判断授权码为超级密码时,同样进行解锁操作[2]。
图2 OCS设备授权界面图Fig.2 OCS Device authorization interface
压力计量系统未到期或者授权功能未开启,主画面按钮显示,点击可以返回。而当授权到期时,主画面按钮消失,直到用户重新输入正确的授权码再显示主画面,否则系统停止运行并告警,且无法再次启动。如果电池没电,控制器的RTC 时间上电自动恢复至1996 年,则取消该功能。系统%SR049 寄存器代表硬件时钟年,如果逻辑判断RTC 时钟为1996 则置保持寄存器%M02001 为R 即取消授权功能并Jump 至梯形图的结尾End 处。%R04901 开始的寄存器用于存储输入的授权码,当%R04901 等于超级密码(112233445588)时,寄存器%R04976 赋值99,即2099 年,然后置保持寄存器%M02001 为R 即取消授权功能并也Jump 至梯形图的结尾End 处,置位%AQ117.1 文本显示“当前授权为无限授权模式”。当用户在输入框输入授权码后,确认按钮触发%T02005 寄存器,进而产生上升沿%T02001。首先,比较授权码是否合法,%R04901 当前年转换为%R04961,以此类推分别转换为寄存器%R4961开始的整形数据,%R04961 是RTC 年、%R04962 是RTC月、%R04963 是RTC 日、%R04964 是授权年、%R04965是授权月、%R04966 是授权日而%R04967 是校验和,如果计算得到的“校验和%R04966”与填写授权码中的“校验和%R04969”相同,则可以判断授权码为符合逻辑要求的合法秘钥,在这个前提下获取的“授权输入时间”和“授权时间”都是正确有效的[3]。
图3 授权系统逻辑梯形图Fig.3 Logic ladder diagram of authorization system
完成授权码7 合法性判断之后,要进行解锁码计算。由于给用户授权时涉及到秘钥的时效性判断,例如,用户在2020 年9 月27 日索要设备授权码,则用户必须在2020年9 月27 日当前输入得到的授权码才有效,寄存器%R04981等于寄存器%SR49,%R04982 等于%SR48,%R04983 等于%SR47,这样可以避免用户拖延操作也便于授权记录管理操作。相同时触发上升沿T2002,您输入的授权码有误,请重新输入!%AQ109.1 置高;而不相同时触发上升沿T2003。非法则提示输入密码错误,已收到新的授权码%AQ116.1 置高,为了达到更好的用户操作效果,文本内容显示4s 以后自动消失[4]。
将授权码的数值赋值给寄存器%R4976(授权年)、%R4977(授权月)、%R4978(授权日)。如2025 年12 月31 日,OCS 控制器在应用的过程中将对RTC 的是当前年、当前月和当前日分别于上述3 个寄存器进行比较判断,当RTC 日期处于授权日期之前时,则置设备正常运行。控制运行寄存器%M2001 为OFF 时,可以使用机器,%M2001 为ON 时,强制系统停机,并显示对应画面[5]。
OCS 可 以 实 现 开 关 量 输 入I1 ~I8、 脉 冲 输 入HSC1 ~HSC4,开关量输出Q3 ~Q12,脉冲PWM 输出Q1 ~Q2,三线制RTD 的A、B、B。在进行压力仪表的连接时,可以应用MA1+和MA2+采集4mA ~20mA,如果自身控制器实现自环测试,应用AQ1 连接MA1+,AQ2+连接MA2+。FO 和FI 的频率自环测试可以应用Q1 连接HCS1 端口,频率输入HCS1 对应%AI5 而频率输出Q1 对应 频 率5kHz。Q1 的PWM 占 空 比 用%AQ7 设 置,频 率用%AQ9 设置,Q2 的PWM 占空比用%AQ11 设置,频率用%AQ13 设置。对于RJ45 网口的IP 地址为192.168.1.17掩码255.255.255.0 网关192.168.1.1,可以应用路由器连接上行WAN 口,而PLC 应用RJ45 网口连接路由器的LAN口,用户就可以应用WIFI 连接PLC 实现无线控制。可以将RJ45 接口设置为Modbus Tcp 协议作为从机,在PC 上运行Modbus Poll 测试软件实现通信测试。压力计量系统的搭建应用上述硬件端口可以实现仪表的连接。4mA ~20mA是模拟信号、RS485、HART、RJ45 和CAN 所采集的是数字信号[6-8]。
压力计量控制系统可以依据用户的支付情况和用户的权限等级分配不同的授权码,设备用户可以现场更改系统时间RTC,但是用户获取的授权码只针对当前的时间输入有效。如果用户在当前日期使用授权码激活设备,而又将RTC 时钟向前调,虽可以使用但是设备的记录时间将不准确。文中所述的授权方法便于让用户在一天内用一个授权码将设备完全激活,如果针对个体设备进行更严密的授权操作,可将用设备的寄存器%SR35 和%SR36(设备唯一ID)参与编程,这样每个设备都需要单独的一个授权码来激活[9]。
本文介绍了应用OCS 控制器实现压力仪表的计量采集和系统授权管理,可以直接应用OCS 控制器实现压力仪表的数据采集和参数配置。所设计出的授权模型可以满足设备用户的权限授权和商务追款需求,依次通过授权码合法性判断、操作时效性限制、授权时效性约束等实现压力计量授权系统的授权管理。经测试验证,所设计的压力计量仪表授权系统可以较稳定高效地实现数据采集和授权管理,达到了预期的设计效果。