前言:
对于大部分OEM厂商来说,PLC的使用更多会关注本身的运行稳定和响应效率上。但是随着上位机、MES系统、边缘计算等新技术引入,OEM厂商技术也会迎来新一轮技术更新。
今天讨论的一个话题就是一个好好的例子,原始设备的实时时钟应用。
故事是这样的,有一个项目需要北京时间八点准时运行PLC的某个功能。常见的做法是,上位机实时信号输出就可以,但是现场设备是网络孤岛没有与上位机进行一个连接。
以西门子200smart为例,
方法一,利用0.5s脉冲信号,运用累加器进行计时。(误差很大,不适用,本次不介绍)
方法二,利用程序自带时钟,CPU断电状态下可保持7天,时钟精度是±120 秒/月。若增加电池板(SB BA01),可以维持到1年时间。(精度校准,但是也不能确保准时。)
方法三,利用边缘计算网关,进行边缘计算程序获取实时时间。
1. PLC时钟
1.1硬件介绍
PLC:西门子200smart系列
1.2时钟设置
第一步,找到时钟指令。
第二步,设置读取时钟指令。
以VB10为例,VB10-VB17字节分别存放年,月,日,小时,分,秒,保留(始终为00),星期几(由于国外原因,起始为星期日,所以1=星期日,7=星期六)。
第三步,同步时间
2.边缘计算网关实时时钟
2.1硬件介绍
PLC:西门子200smart系列
4G网关:国产名优
2.2边缘计算脚本
第一步,新建脚本
第二步,创建变量,使用Date类,获取实时时间。
代码如下:
// 获取当前时间
var date =new Date();//使用Date类
//读取年,返回年份四位数字
var year =date.getFullYear();
//读取月,返回月数值0~11,需要增加1
var month=date.getMonth()+1;
//读取日期,返回数值(1~31)
var day=date.getDate();
//读取小时,返回数值(0~24)
var hour=date.getHours();
//读取分钟,返回数值(0~59)
var minute=date.getMinutes();
//读取秒,返回数值(0~59)
var second =date.getSeconds();
第三步,保存并执行。
第四步,验证时间
3.经验总结
边缘计算的引入使得原始设备具有更大的活力,特别是数十个甚至数百个设备同时运转的时候,边缘计算能够大大减轻中控处理的量和响应时间。一个技术的创新就会引发多个行业的革新,OEM厂商将面临一轮又一轮新的革新。
喜欢我的文章的朋友,麻烦帮我点个赞,你们的支持是我最大的动力。