系统时钟修改
NA-PLC CPU时钟显示在SW寄存器,如下图:
时钟的修改可以通过如下三种方式实现:
1、MODBUS 通信命令修改
系统时钟通信地址:
分类前缀 | 测点类型 | 读操作功能码 | 写操作功能码 | 规约地址范围 | 备注 |
4x | Clock | 03 | 16 | 30000~30004 |
系统时钟格式:
年 | 月 | 日 | 时 | 分 | 秒 | 毫秒 | |
地址 | 30000 | 30001 | 30001 | 30002 | 30003 | 30003 | 30004 |
字节 | 2 | 1 | 1 | 2 | 1 | 1 | 2 |
读取系统时间
系统时间的地址为30000~30004。
【示例】在从站17读系统时间
字节 | 含义 | 示例(Hex) |
1 | 从站地址 | 11 |
2 | 功能码 | 03 |
3 | 起始地址高8位 | 75 |
4 | 起始地址低8位 | 30 |
5 | 数据个数高8位 | 00 |
6 | 数据个数低8位 | 05 |
CRC16 | - | - |
【示例】从站响应信文如下:
字节 | 含义 | 示例(Hex) |
1 | 从站地址 | 11 |
2 | 功能码 | 03 |
3 | 字节数 | 0A |
4 | 年高8位 | 07 |
5 | 年低8位 | D8 |
6 | 日 | 0A |
7 | 月 | 09 |
8 | 时高8位 | 00 |
9 | 时低8位 | 0C |
10 | 秒 | 0E |
11 | 分 | 0D |
12 | 毫秒高8位 | 01 |
13 | 毫秒低8位 | 02 |
CRC16 | - | - |
示例中,
返回时间为:2008(07D8H)年9(09H)月10(0AH)日12(0CH)时13(0DH)分14(0EH)秒258(0102H)毫秒。
设置系统时间
系统时间的地址为30000~30004。
【示例】设置从站17系统时间为:2008(07D8H)年9(09H)月10(0AH)日12(0CH)时13(0DH)分14(0EH)秒0(0000H)毫秒。
字节 | 含义 | 示例(Hex) |
1 | 从站地址 | 11 |
2 | 功能码 | 10 |
3 | 起始地址高8位 | 75 |
4 | 起始地址低8位 | 30 |
5 | 写寄存器个数高8位 | 00 |
6 | 写寄存器个数低8位 | 05 |
7 | 写数据字节数 | 0A |
8 | 年高8位 | 07 |
9 | 年低8位 | D8 |
10 | 日 | 0A |
11 | 月 | 09 |
12 | 时高8位 | 00 |
13 | 时低8位 | 0C |
14 | 秒 | 0E |
15 | 分 | 0D |
16 | 毫秒高8位 | 00 |
17 | 毫秒低8位 | 00 |
CRC16 | - | - |
【示例】从站响应信文如下:
字节 | 含义 | 示例(Hex) |
1 | 从站地址 | 11 |
2 | 功能码 | 10 |
3 | 起始地址高8位 | 75 |
4 | 起始地址低8位 | 30 |
5 | 写寄存器个数高8位 | 00 |
6 | 写寄存器个数低8位 | 05 |
CRC16 | - | - |
2、通过BLKMOV编程指令修改
说明:上图中,使用BLKMOV功能块,写入%O1寄存器(此寄存器即为%SW1~%SW6,共6个字,系统时间寄存器)的值,输入端IN可用%MW、%NW、%V(WORD型)寄存器,每个寄存器独立存储年、月、日、时、分、秒,请注意数据范围,如果有数据范围不对的,写入将不成功,比如月超过12,小时超过24等。
3、NTP对时服务器自动修改
如果系统有时钟服务器,可以通过NTP网络对时功能,自动修改系统时钟,需要把CPU以太网接口和时钟服务器接入同一个交换机。在CPU属性里面设置时钟服务器的IP地址,CPU每分钟自动连接时钟服务器进行一次对时。