当前位置: 首页 > news >正文

上位机编程:CP56Time2a格式精讲

Cp56Time2a介绍:

        Cp56Time2a是西门子PLC(可编程逻辑控制器)中用于时间数据传输的一种特殊格式,主要用于PCS7和基于TCP/IP的S7通信过程中。这种时间格式主要为了确保在不同的系统和设备之间进行精确的时间同步。

Cp56Time2a格式,如图:

Cp56Time2a格式的具体结构如下:

  1. 字节0-1:包含秒值的低16位。
  2. 字节2-3:包含秒值的高16位。
  3. 字节4-5:毫秒值,最高有效位(第16位)表示是否闰秒,其余15位表示毫秒。
  4. 字节6-7:日期信息,其中:
    • 低5位表示日(1-31)
    • 第6位表示月中的哪一天(星期几,0代表星期日,1代表星期一,以此类推)
    • 高2位表示月份(1-12)
  5. 字节8-9:年份的低16位。
  6. 字节10-11:年份的高16位。

总的来说,Cp56Time2a格式使用了12个字节来表示完整的日期和时间信息,包括秒、毫秒、日期(日、星期、月)、以及年份,并且考虑到了闰秒的情况,能够满足工业自动化领域对时间精度和一致性的要求。

Cp56Time2a编码:

  用java实现时间格式转换Cp56Time2a编码,如下图:

//Cp56Time2a编码
public static byte[] toBytes(Date date) {SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("下发时间:"+sdf.format(date));byte[] result = new byte[7];Calendar aTime = Calendar.getInstance();aTime.setTime(date);aTime.add(Calendar.MONTH,1);int milliseconds = aTime.get(Calendar.SECOND);milliseconds=milliseconds*1000;result[0] = (byte) (milliseconds % 256);result[1] = (byte) (milliseconds / 256);result[2] = (byte) aTime.get(Calendar.MINUTE);result[3] = (byte) aTime.get(Calendar.HOUR_OF_DAY);result[4] = (byte) aTime.get(Calendar.DAY_OF_MONTH);result[5] = (byte) aTime.get(Calendar.MONTH);result[6] = (byte) (aTime.get(Calendar.YEAR) % 100);return result;}

相关文章:

上位机编程:CP56Time2a格式精讲

Cp56Time2a介绍: Cp56Time2a是西门子PLC(可编程逻辑控制器)中用于时间数据传输的一种特殊格式,主要用于PCS7和基于TCP/IP的S7通信过程中。这种时间格式主要为了确保在不同的系统和设备之间进行精确的时间同步。 Cp56Time2a格式&a…...

Webpack5入门到原理12:处理 Html 资源

1. 下载包 npm i html-webpack-plugin -D 2. 配置 webpack.config.js const path require("path"); const ESLintWebpackPlugin require("eslint-webpack-plugin"); const HtmlWebpackPlugin require("html-webpack-plugin");module.expo…...

Vue3-Axios二次封装与Api接口统一管理

一、安装axios npm i axios 二、创建utils工具文件夹 创建request.ts文件 import axios from axios //引入element-plus消息提示 import { ElMessage } from element-plus //引入用户相关的仓库 import useUserStore from /store/modules/user //使用axios对象create方法,创建…...

RHCE: 主从DNS服务器配置 (实现正反向解析)

主服务器配置: 准备工作: #关闭防火墙 [root192 ~]# systemctl stop firewalld#关闭selinux [root192 ~]# setenforce 0#查看selinux状态 [root192 ~]# getenforce Permissive#安装bind包 [root192 ~]# yum install bind -y#查询软件包下的文件 /etc/named.conf #主配置文…...

Git学习笔记(第6章):GitHub操作(远程库操作)

目录 6.1 远程库操作 6.1.1 创建远程库 6.1.2 命名远程库 6.1.3 本地库推送到远程库(push) 6.1.4 远程库拉取到本地库(pull) 6.1.5 远程库克隆到本地库(clone) 6.2 团队内协作 6.3 跨团队协作 6.4 SSH免密登录 6.1 远程库操作 命令 作用 git remote -v 查看所有远程…...

【主题广范|见刊快】2024年海洋工程与测绘遥感国际学术会议(ICOESRS 2024)

【主题广范|见刊快】2024年海洋工程与测绘遥感国际学术会议(ICOESRS 2024) 2024 International Conference Ocean Engineering and Surveying Remote Sensing(ICOESRS 2024) 一、【会议简介】 随着人类对海洋的认识和开发不断深入,海洋工程和测绘遥感技术的研究和应…...

解决el-radio-group只触发一次的问题

1.需求是点击合并后&#xff0c;出来二次确认框。现在的问题是点击完出现二次确认框后&#xff0c;再次点击不出来二次确认框了 2.一开始代码是这样写的 <el-radio-group v-model"unfold" size"mini" changechangeMerge><el-radio-button :labe…...

openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c

文章目录 openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c概述笔记END openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_RSA_keygen.c 概述 官方指出 : RSA key 如果小于2048位, 就属于弱key 官方demo中, 给出的默认key长度为4096位 从名字生成上下文 初始化上下文…...

密码搜|Facebook 8组问答,搞定Pixel与广告之间的关系!

Q1&#xff1a;Pixel&#xff08;像素/代码&#xff09;是什么&#xff1f; A&#xff1a;Pixel有多种称呼&#xff1a;Pixel、像素、代码。它只是一种分析工具&#xff0c;可帮助广告主了解用户在网站上采取的操作&#xff0c;继而衡量广告成效。 设置Facebook Pixel像素代码…...

Apache StringUtils:Java字符串处理工具类

简介 在我们的代码中经常需要对字符串判空&#xff0c;截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。如果只用 String 类提供的那些方法&#xff0c;我们需要手写大量的额外代码&#xff0c;不然容易出现各种异常。现在有…...

设计模式 代理模式(静态代理 动态代理) 与 Spring Aop源码分析 具体是如何创建Aop代理的

代理模式 代理模式是一种结构型设计模式&#xff0c;它通过创建一个代理对象来控制对真实对象的访问。这种模式可以用于提供额外的功能操作&#xff0c;或者扩展目标对象的功能。 在代理模式中&#xff0c;代理对象与真实对象实现相同的接口&#xff0c;以便在任何地方都可以使…...

【EI会议征稿通知】第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)

第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024&#xff09; 2024 7th International Conference on Advanced Electronic Materials, Computers and Software Engineering 第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)将于2024年5月10-1…...

Verilog基础:强度建模(一)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 一、强度建模基础 Verilog HDL提供了针对线网信号0、1、x、z的精准强度建模方式&#xff0c;这样可以允许将两个线网信号进行线与操作从而更加精确地描述出硬件行…...

Spring Boot各类变量的使用

文章目录 1. 变量类型2. 获取变量2.1 获取方式2.2 获取方法2.2.1 通过Value注入获取变量值2.2.2 System.genenv 获取变量值2.2.3 System.getProperty 获取变量值2.2.4 Environment 获取变量值2.2.5 ConfigurationProperties 获取变量值2.2.6 SpringApplication.run 程序启动参数…...

Hive管理UDF详解

大数据集群下,共有三种管理Hive UDF的方式,如下: 名称重启Hive服务Jar保存目录场景直接JAR配置需要HDFS开发辅助JARs目录配置需要本地目录防止意外覆盖文件可重载辅助JAR配置不需要本地目录频繁更新UDF场景{HIVE_HOME}/auxlib目录需要本地目录不建议{HIVE_HOME}/lib目录需要…...

bug笔记:解决 HTTP Error 500.30 - ASP.NET Core app failed to start

总结下后端部署windos iis环境net6版本&#xff0c;500.30问题报错的一种解决方案&#xff1a; 一、问题描述 二、解决方案 检查下是否安装了net6对应的环境&#xff0c;是否已经安装 然后在事件管理器>Windows日志>应用程序&#xff0c;里面查看详细异常记录 在iis下面…...

理解pytorch系列:transpose是怎么实现的

在PyTorch中&#xff0c;transpose()是一种操作&#xff0c;它交换张量中两个指定维度的位置。实现这一点的关键在于不实际移动数据&#xff0c;而是通过改变张量的元数据&#xff08;包括步长&#xff08;stride&#xff09;和尺寸&#xff08;size&#xff09;&#xff09;来…...

Linux tftp命令教程:文件传输利器(附案例详解和注意事项)

Linux tftp命令介绍 tftp&#xff0c;全称为Trivial File Transfer Protocol&#xff08;简单文件传输协议&#xff09;。tftp是一个用于文件传输的客户端命令&#xff0c;用于从远程主机传输文件&#xff0c;包括一些非常简洁、通常嵌入的系统。 Linux tftp命令适用的Linux版…...

beego的模块篇 - task任务

利用该工具来定时的做一些任务&#xff0c;但是有些时候我们的进程内也希望定时的来处理一些事情&#xff0c;可以使用crontab。 1 任务计划 1.1 初始化一个任务 tk1 : task.NewTask("tk1", "0 12 * * * *", func(ctx context.Context) error { fmt.Pri…...

ThreadLocal工具类

ThreadLocal工具类 ThreadLocalUtil.java public class ThreadLocalUtil {static final ThreadLocal THREAD_LOCAL new ThreadLocal();public static <T> T get() {return (T) THREAD_LOCAL.get();}public static void set(Object value) {THREAD_LOCAL.set(value);}p…...

复杂干扰下考虑异质性的非机动车微观行为建模与仿真【附仿真】

✨ 长期致力于非机动车微观交通行为、异质性、感知—决策—行动三阶段、社会力模型、模糊逻辑研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;非机动车…...

保姆级教程:在Ubuntu上配置Frida环境,搞定Android App的签名与CRC校验

从零构建Ubuntu下的Android逆向工作流&#xff1a;Frida实战签名与CRC校验 当第一次尝试在Linux环境下搭建Android逆向工具链时&#xff0c;我花了整整三天时间解决各种依赖冲突和设备连接问题。这份经历让我意识到&#xff0c;一个完整的Ubuntu环境配置指南对逆向新手有多重要…...

提示词失效?双色调渲染偏色?深度解析Midjourney色彩空间转换机制,精准锁定sRGB→Lab双色域锚点

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;提示词失效&#xff1f;双色调渲染偏色&#xff1f;深度解析Midjourney色彩空间转换机制&#xff0c;精准锁定sRGB→Lab双色域锚点 当用户在Midjourney中输入高饱和度提示词&#xff08;如“vibrant cyan neo…...

告别PS和蓝湖!用PxCook离线搞定前端切图与标注(附学成在线实战)

前端开发者的效率革命&#xff1a;PxCook离线工作流全解析 在快节奏的前端开发领域&#xff0c;效率工具的选择往往决定了项目交付的速度和质量。传统的工作流程中&#xff0c;设计师使用Photoshop完成设计稿后&#xff0c;前端开发者需要反复在PS中测量尺寸、提取颜色值、导出…...

Claude Mythos:AI自主攻防与零日漏洞发现的范式革命

1. 项目概述&#xff1a;一场静默却震耳欲聋的AI能力跃迁这周&#xff0c;整个AI安全圈没有爆炸性新闻稿&#xff0c;没有铺天盖地的发布会直播&#xff0c;只有一份措辞克制、数据密集的系统卡片&#xff08;System Card&#xff09;和一份由英国AI安全研究所&#xff08;AISI…...

NebulaGraph Console终极指南:简单快速掌握图数据库命令行工具

NebulaGraph Console终极指南&#xff1a;简单快速掌握图数据库命令行工具 【免费下载链接】nebula-console Command line interface for the Nebula Graph service 项目地址: https://gitcode.com/gh_mirrors/ne/nebula-console NebulaGraph Console是NebulaGraph图数据…...

Godot 4.x RTS游戏开发实战:从MVP内核到千单位性能优化

1. 这不是又一个“Godot入门教程”&#xff0c;而是一份专为RTS开发者准备的实战切片你有没有试过在Godot里拖一个Unit节点&#xff0c;加个move_and_slide()&#xff0c;然后兴冲冲地拉出十个单位——结果它们像被磁铁吸住一样挤成一团&#xff0c;路径重叠、碰撞卡死、指令延…...

WT32-S3-DK开发板全解析:从硬件设计到物联网项目实战

1. 项目概述&#xff1a;一块“小而全”的物联网开发板最近在捣鼓一个智能家居的传感器节点项目&#xff0c;需要一块性能足够、接口丰富、最好还带屏幕的开发板。市面上ESP32-S3的方案很多&#xff0c;但要么是核心板&#xff0c;需要自己配底板和屏幕&#xff0c;要么就是功能…...

前端架构演进:从单体到微前端

前端架构演进&#xff1a;从单体到微前端 前端架构的发展历程 第一阶段&#xff1a;单体应用&#xff08;Mono Repo&#xff09; ├── src/ │ ├── components/ │ ├── pages/ │ ├── services/ │ ├── utils/ │ └── styles/ └── index.html…...

2026降AI工具怎么选?4款主流工具实测,轻松把AI率压到20%内

2026年毕业季临近&#xff0c;知网、维普、万方等平台的AIGC检测标准持续收紧&#xff0c;降AI工具已经成为学生和科研群体的刚需。但市面上工具质量参差不齐&#xff0c;功能定位差异大&#xff0c;如何选到真正适合自己的工具&#xff1f;本文将从支持平台、核心技术、价格门…...