蚁象自动化:通过GPS接收器确定S7-1200 PLC的坐标
使用 S7-1200 接收根据 NMEA 0183 标准的 RMC 数据类型的 GPS 报文帧。GPS 报文帧通过连接在S7-1200 CM1241 RS232 接口的通讯模块的 GPS 接收器读取。
附件库的“gps_rcv” 功能块提供给您当前位置的精度和纬度值。
“gps_rcv” 功能块需要按照表 01 中的参数预先在硬件组态中设置。S7-1200 CM1241 RS232 通讯模块不需要其他附加的端口组态。
“gps_rcv” 功能块在 CPU 一个循环周期被执行。实际的位置值会在若干周期后可用。
通讯参数
“gps_rcv” 功能块设计用于接收 NMEA 0183 标准的 GPS 接收器。规格如下:
参数 | 设定 | 说明 |
波特率 | 38400 bit | 没有用其他波特率测试过,GPS 接收器仅有一种波特率可用。 |
奇偶校验 | 否 | - |
数据位 | 8 位 | 每个字符8位 |
停止位 | 1 | - |
流量控制 | 否 | - |
表 01
硬件构成
此例中,NAVILOCK NL-403P 和一条 navilock 连接电缆一起使用 (MD6 to RS232)。
图. 01
S7-1200 PLC 硬件组态
No. | S7-1200 PLC 硬件组态 |
1. | 连接 GPS 接收器到 S7-1200 PLC
注意 |
2. | 添加在“设备配置” 添加通讯模块
|
表 02
计算 S7-1200 PLC 的位置值
请找出例子项目中附件“gps_rcv_proj.zip” zip 格式压缩文件。
No. | 同步 S7-1200 PLC 的系统日期时间 |
1. | 下载并在 S7-1200 全局库打开附件中的“gps_rcv”
|
2. | 调用“gps_rcv” 功能块
|
3. | 注意:
|
表 03
“gps_rcv” 功能块接口参数
接口参数 | 数据类型 | 说明 |
cmd_get_ | 布尔 | 上升沿开始 RMC GPS 电报的计算。 S7-1200 PLC “设备配置” 属性标签选择“系统和时间存储器” 条目,在选择栏激活时钟存储器位,输入作为时钟存储器字节的地址。例子中 0.5 HZ 存储器位地址M10.7 。 |
cmd_hw_id | 端口 | 输入通讯模块的硬件标识符。请在“设备配置” >“CM1241 属性” > “I/O 地址硬件标识符”。
|
return_done | 布尔 | 可选择;该循环中成功接收 GPS 报文帧,变量为真。 |
return_aborted | 布尔 | 可选择;该循环中接收 GPS 报文帧失败,变量为真。 |
表 04
保存精度和纬度的变量
这些变量可以通过“gps_rcv”功能块的背景数据块访问 (例如,“gps_rcv_DB.gps_latitude_LReal”)。
变量 | 数据类型 | 说明 |
“gps_latitude_LReal” | LReal | 该变量保存实际的纬度。 |
“gps_longitude_LReal” | LReal | 该变量保存实际的经度。 |
表 05
要求
- S7-1200 PLC
- CM1241 RS232 通讯模块
- 以太网线
- PG / PC
- STEP 7 Basic V10.5
- GPS 接收器 NAVILOCK NL-403P
- NAVILOCK GPS receiver 连接电缆 (MD6 to RS 232)

提交
西门子 S7-1200 CPU
蚁象自动化 工业数据化采集柜
蚁象 7寸触摸屏-人机交互界面
S7-200 SMART 系统手册
怎样解决PLC控制系统抗干扰问题