n
描述
使用 S7-1200 控制器可以接收依据 NMEA 0183 标准 RMC 数据类型的 GPS 报文帧。GPS 报文帧通过连接在 S7-1200 通讯模块 CM1241 RS 232 接口的 GPS 接收器读取。
附件库中提供的的“gps_rcv”功能块,将提供给您当前位置的经度和纬度以及 UTC 时间日期格式的 DTL 数据变量,并且更新系统时间。“ gps_rcv” 功能块需要按照表 02 中的参数预先在硬件组态中设置。S7-1200 CM1241 RS 232 通讯模块不需要其他附加的端口组态。
“gps_rcv” 功能块在 CPU 一个循环周期被执行。当前位置值和日期时间信息会在若干周期后可用。变量的更多细节可参考表 06。n
使用说明
推荐的 NMEA-0183标准最小数据记录 C (RMC) 用于评估地理位置和 UTC 时间。数据结构如下。n
信息 | 内容 | 注释 |
数据记录的识别 | $GPRMC | 数据记录的开始 |
UTC时间 | "hhmmss" or "hhmmss.sss" | - 用于同步的数据连接 |
状态 | "A" for OK or "V" for warning | - 用于评估数据的有效性 |
纬度 | "ddmm.mmmm" | - 用于小数格式的纬度计算 |
方向 | "N" for North or "S" for South | |
经度 | "dddmm.mmmm" | - 用于小数格式的经度计算 |
方向 | "E" for East or "W" for West | |
速度 | - 不适应 | |
路线 | ||
日期 | "ddmmyy" | - 用于同步的 UTC 时间连接 |
偏离 | - 不适应 | |
标记 | ||
信号完整性 | 仅适应于 NMEA 0183 版本 V2.3 | |
校验和 | "*hh" | 数据记录的结束 |
表01
n
单独的信息块以逗号分隔 (“,”)。n
注意
Microsoft Windows 自带的超级终端也可用于检测数据记录的读取。n
通讯参数
“gps_rcv” 功能块用于配置接收 NMEA 0183 标准的 GPS 接收器。规格如下:n
参数 | 设定 |
奇偶 校验 | 无 |
数据 位 | 每个字符 8 个数据位 |
停止 位 | 1 |
流量 控制 | 无 |
表 02
n
硬件构成
“gps_rcv” 功能块在下面列出的 GPS 接收机上测试成功。n
- NAVILOCK NL-403P (额外的电源供电:5 V 直流电源 LOGO! POWER 5V DC/3A)n
- GARMIN GPS18x PC (额外的电源供电:通过 S7-1200 CPU 供电,8-30 V直流 )
图 01n
S7-1200 PLC 硬件组态
No. | S7-1200 PLC 硬件组态 |
1. | 连接 GPS 接收器到 S7-1200 PLC。 n
按照如下步骤:n
注意 |
2. | “设备组态” 中添加通讯模块 按照如下步骤:n
|
表 03
n
评估位置值和同步 S7-1200 PLC 系统时间和日期
请参考项目附件中的“gps_rcv_proj.zip” 压缩文件中的例子。
No. | 同步 S7-1200 PLC 的系统时间和日期 |
1. | 下载并打开 S7-1200 全局库“gps_rcv”。 n
按照如下步骤:n
|
2. | 调用“gps_rcv” 功能块 n
按照如下步骤:n
|
表 04
n
“gps_rcv”功能块输入参数
连 接 |
数据类型 | 注释 |
cmd_get_ time_n_date | BOOL | RMC-GPS 消息的评估是上升沿触发的。 示例程序中使用时钟存储器位作为周期触发信号。 n
图05 |
cmd_hw_id | PORT | 在这里,输入通信模块的硬件标识符。硬件标识符在“设备组态” > “CM 1241 属性” > “RS 232 接口” > “硬件标识符”中显示。n 图06 |
cmd_baud | UInt | RS 232端口的波特率: n
|
cmd_restart | BOOL | 可选:这个变量的上升沿时可以修改 RS 232 接口的波特率。 |
表 05
n
“gps_rcv”功能块输出参数
变 量 | 数 据类型 | 注释 |
"gps_rcv_DB.gps_latitude_Real" | Real | 此变量包含小数格式(32 位浮点数)的当前纬度位置。结合“return_done” 评估该变量。 |
"gps_rcv_DB.gps_latitude_LReal" | LReal | 此变量包含小数格式(64 位浮点数)的当前纬度位置。结合“return_done” 评估该变量。 |
"gps_rcv_DB.gps_longitude_Real" | Real | 此变量包含小数格式(32 位浮点数)的当前经度位置。结合“return_done” 评估该变量。 |
"gps_rcv_DB.gps_longitude_LReal" | LReal | 此变量包含小数格式(64 位浮点数)的当前经度位置。结合“return_done” 评估该变量。 |
"gps_rcv_DB.return_done" | BOOL | 当 GPS 数据帧被成功接收和 CPU 系统时间更新成功时,在这个扫描周期该变量被置位为 “true” 。 |
"gps_rcv_DB.return_aborted" | BOOL | 当 GPS 数据帧或 CPU 系统时间同步失败时,在这个扫描周期该变量被置位为 “true” 。 |
"gps_rcv_DB.gps_time_n_date" | DTL | 该变量包含接收 GPS 数据的当前 UTC 时间。“return_done” 为 “true” 时,CPU 系统时间被同步为该变量。 |
表 06
下载
下载包含程序库和测试项目。
复制所需的文件到一个单独的目录,然后双击打开文件。
按照表 04 步骤解压装载程序库。解压项目后,您可以使用 STEP7 V11.0 SP2 打开和编辑该项目。
程 序库 | 测试 项目 |
gps_rcv_V11d2.zip ( 954 KB ) | gps_rcv_proj_V11d2.zip ( 2043 KB ) |
Table 06
附加说明
SIMATIC S7-1200 “点对点操作”的详细信息请参考条目36932465 或者 STEP 7 V11.0 SP2 的帮助。
创建环境
此 FAQ 相关的图片和下载使用 STEP 7 V11.0 SP2 Update 5 创建。该条目对于 CPU 固件版本 V2.2 或更高版本有效。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc329157.html