如何使用 GPS 接收器同步 S7-200 的实时时钟?

说明
通过库中的功能块,可以使用 GPS 接收器读取 GPS 消息中的时间戳和日期。您可以使用该数据补偿 S7-200 实时时钟 (RTC) 的时钟漂移。n

在所附的PLC示例程序中,实时时钟的分钟和秒通过 GPS 消息的时间戳同步。时钟同步仅限定于分钟和秒的同步有以下优点:n

  • 全球通用,与时区无关;n
  • 与冬/夏令制无关。

时间同步在同步指令发出后 xx.20 和 xx.40 之间完成。n

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图01n

通讯
GPS 接收器接收符合 NMEA 标准的消息并将其以 ASCII 码字符串的形式发送到 S7-200 基本模块。每个消息的时间戳和日期均被读出。S7-200 通过 RS 485 连接(端口 0 或端口 1)同 GPS 接收器进行自由口通讯。该库使用了 NEMA 标准中的 RMC 协议。n

传输格式
符合 NEMA 标准的 GPS 消息传输格式需要下列接口参数:n

  • 4800 波特n
  • 8 个数据位n
  • 无校验n
  • 1 停止位

相应地功能块“GPS_NMEA_TIME_UTC”的接口参数设置成 2#1101 (参见“库:读取时间戳和日期”的描述)。n

条件
满足下列条件库和例程即可使用:n

  • 带串口的 GPS 接收器,该串口支持 NMEA 标准并且可以通过 RS232 PC/PPI 电缆连接 S7-200 基本模块n
  • RS232 PC/PPI 电缆

库:读取时间戳和日期
库中包含“GPS_NMEA_TIME_UTC”功能块,该功能块可读出 UTC (世界标准时间)格式的年,月,日,小时,分钟,秒。

No. 注释
1 使用 GPS 接收器
通过 RS232 PC/PPI 电缆连接 GPS 接收器到 S7-200 基本模块的 RS485 接口。PC/PPI 电缆的 DIP 开关设置如图 02 所示。 n

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图02n

注意

不能通过 RS 485 接口给 GPS 接收器供电。

2添加库
保存附件 gps_time_read_port0.zip 或 gps_time_read_port1.zip 在您的电脑中。解压缩文件并添加库到软件 STEP 7 Micro/Win 。 n

注意

关于添加库的指令可参见条目号 16689345。

3添加 GPS 功能块
从“GPS_TIME_READ_PORT0”或“GPS_TIME_READ_PORT1”库中将“GPS_NMEA_TIME_UTC”功能块拖放到一个循环调用网络中。 n

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图03n

分配一段没有使用的存储区给库。n

注意

  • 大约需要 950 个字节的程序存储区。n
  • 库占用 214 个字节的CPU变量存储区n
  • 所需的中断“GPS_NMEA_RC”和子程序“GPS_NMEA_INIT_PORT0”或“GPS_NMEA_INIT_PORT1”自动插入到项目中。n
  • 关于分配库存储区的信息可参见条目号 16689345。
4 连接 GPS 功能块
分配功能块的触点。图 04 中所用变量是一个示例。通过触点“Freeport_Config”配置自由口编程。参数“2#1101”由 NMEA 所使用的传输格式确定(参见“传输格式”)。 n

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图04n

注意
关于配置自由编程通讯的信息可参见 S7-200 手册,章节 7.5 “用自由端口模式创建用户定义的协议”。

5使用 GPS 功能块
n

在输入端“Start”用一个上升沿触发 GPS 运算。通过触点“DONE”,“ABORTED”和“GPS_status”判断运行状态。下表列出了功能块的触点和使用技巧。

触点名称 数据类型 触点 类型 注释
EN BOOL Input SM0.0
START BOOL Input 上升沿=只读一次
Freeport-Config INT Input '2#1101' = 初始化自由口编程参数
DONE BOOL Output 1 = GPS 接收完成
ABORTED BOOL Output 1 = GPS接收失败
UTC_year BYTE Output 输出年
UTC_month BYTE Output 输出月
UTC_day BYTE Output 输出日
UTC_hour BYTE Output 输出小时
UTC_minute BYTE Output 输出分钟
UTC_second BYTE Output 输出秒
UTC_status BYTE Output ASCII编码;
= 65 (A) ->数据正常
<> 65 (A) -> 数据无效

注意
GPS 消息的时间戳包含 UTC 时间。

表 01 n

示例程序:同步时间
示例程序使用了库 gps_time_read_port0.mwl 或 gps_time_read_port1.mwl 的功能。您可以使用示例程序而无需再次添加库。

No. 注释
1

使用GPS接收器

通过 RS232 PC/PPI 电缆连接 GPS 接收器到 S7-200 基本模块的 RS 485 接口。PC/PPI 电缆的 DIP 开关设置如图 05 所示。n

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图 05n

注意
不能通过 RS 485 接口给 GPS 接收器供电。

2打开例程
保存附件“gps_time_read_port0.zip”或“gps_time_read_port1.zip”在您的电脑中。解压缩文件并用 STEP 7 Micro/Win 打开程序 。
3

使用示例程序
在“GPS_SYNC”功能块的输入端“Start”用一个上升沿触发示例程序。本程序在变量表中设置变量 V541.0 为“高”。在到达时间窗口后示例程序被激活直至同步完成。您可以通过触点 'DONE', 'ABORTED', 'GPS_rcvd_warning'以及 'sync_not_in_window' 判断示例程序运行状态。

如何使用 GPS 接收器同步 S7-200 的实时时钟?
图06

示例程序循环读取所接收的 GPS 消息的时间戳。分钟和秒在时间窗口 xx.20 和 xx.40 之间被自动同步。下表列出了功能块的触点和使用技巧。

触点名 数据类型

触点类型

注释
ENBOOLInputSM0.0
STARTBOOLInput上升沿启动同步
CANCELBOOLInput取消同步
DONEBOOLOutput同步完成
BUSYBOOLOutput同步激活
ABORTEDBOOLOutput

同步中止

GPS_rcvd_warningBOOLOutputGPS 接收失败
sync_not_in_windowBOOLOutput同步时间不在时间窗内

注意
在任一时刻将变量 VW802 的值改为‘1000’可进行同步测试。在每次测试结束,将该值重置为‘100’。

表 02

密码
该库的密码是“1234”(无引号)。

下载

说明 下载
库:通过端口 0 读出 GPS 时间 如何使用 GPS 接收器同步 S7-200 的实时时钟? gps_time_read_port0.zip ( 3 KB )
库:通过端口 1 读出 GPS 时间 如何使用 GPS 接收器同步 S7-200 的实时时钟? gps_time_read_port1.zip ( 5 KB )
通过端口‘0’同步实时时钟示例程序 如何使用 GPS 接收器同步 S7-200 的实时时钟? gps_time_sync_port0.zip ( 9 KB )
通过端口‘1’同步实时时钟示例程序 如何使用 GPS 接收器同步 S7-200 的实时时钟? gps_time_sync_port1.zip ( 9 KB )

关键词:
GPS接收器,导航,同步

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论