前言:  

 

      对于大部分OEM厂商来说,PLC的使用更多会关注本身的运行稳定和响应效率上。但是随着上位机、MES系统、边缘计算等新技术引入,OEM厂商技术也会迎来新一轮技术更新。    

      今天讨论的一个话题就是一个好好的例子,原始设备的实时时钟应用。


 

       故事是这样的,有一个项目需要北京时间八点准时运行PLC的某个功能。常见的做法是,上位机实时信号输出就可以,但是现场设备是网络孤岛没有与上位机进行一个连接。

       以西门子200smart为例,

       方法一,利用0.5s脉冲信号,运用累加器进行计时。(误差很大,不适用,本次不介绍)

       方法二,利用程序自带时钟,CPU断电状态下可保持7天,时钟精度是±120 秒/月。若增加电池板(SB BA01),可以维持到1年时间。(精度校准,但是也不能确保准时。)

       方法三,利用边缘计算网关,进行边缘计算程序获取实时时间。

 

1.  PLC时钟

1.1硬件介绍

PLC:西门子200smart系列

 

1.2时钟设置

第一步,找到时钟指令。

d09e9114e34c4632800c7cb7ba8bbb22.png

第二步,设置读取时钟指令。

ecba8081461b47c186a23ee93057c5e5.png

以VB10为例,VB10-VB17字节分别存放年,月,日,小时,分,秒,保留(始终为00),星期几(由于国外原因,起始为星期日,所以1=星期日,7=星期六)。

 

第三步,同步时间

22349e9b285844228d9a01a4fe406693.png

e61fb67bd68a43b7aa9de238a37c0390.png

 

 

2.边缘计算网关实时时钟

2.1硬件介绍

PLC:西门子200smart系列

4G网关:国产名优

 

2.2边缘计算脚本

第一步,新建脚本5befaac2117f4603bfd883cd5d38b6a7.png

 

第二步,创建变量,使用Date类,获取实时时间。

6b87ca777a884c5aa09f4238280b13c0.png

代码如下:

// 获取当前时间

    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();

 

第三步,保存并执行。

fc187477067849a7bec2735e62f028f3.png

 

第四步,验证时间

6b487069b3fc4bb1bc8066f1503bf74e.png

 

 

3.经验总结

      边缘计算的引入使得原始设备具有更大的活力,特别是数十个甚至数百个设备同时运转的时候,边缘计算能够大大减轻中控处理的量和响应时间。一个技术的创新就会引发多个行业的革新,OEM厂商将面临一轮又一轮新的革新。

        喜欢我的文章的朋友,麻烦帮我点个赞,你们的支持是我最大的动力。

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐