Siemens S7 Client

您正在查看最新版本(V2.2.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

Mech-MSR 可与外部设备进行 Siemens S7 Client 通信。阅读以下内容前,请确保已在 Mech-MSR 中完成通信配置

关于 Siemens S7 Client

西门子 S7 系列 PLC 通过 TIA Portal 软件与 Mech-MSR 软件进行 Siemens S7 Client 通信。在此通信方式下,Mech-MSR 是客户端,PLC 是服务端。

所需软硬件

硬件

  • 支持西门子以下 S7 系列 PLC:

    • S7-300:集成 PN 网口或 CP343-1

    • S7-400:集成 PN 网口或 CP443-1

    • S7-1200:无特殊模块要求

    • S7-1500:无特殊模块要求

  • 220V AC 转 24V DC 电源适配器

  • 支持以下工控机:

    • 梅卡曼德提供的标准工控机(推荐)

    • 自有设备

  • 网线

软件

  • 西门子 PLC 编程软件 TIA Portal V15.1。

  • 3D测量与检测软件 Mech-MSR(推荐使用最新版本2.2.0)。

  • 西门子 TIA Portal 软件与 Mech-MSR 软件进行 Siemens PLC Snap 7 通信的接口文件MM MSR Interface.db(用于实现数据通信)。

  • 如需传输字符串数据,接口文件必须使用MM MSR Interface Supporting String.db

  • MM MSR Interface.dbMM MSR Interface Supporting String.db文件存放于 Mech-MSR 软件安装目录的center/MSR_Interface/Siemens S7路径下,请将文件复制至安装有博图软件的电脑上。

  • 请勿将 MM MSR Interface 数据块作为功能块的 IN/OUT 接口参数。因为功能块如果一直处于使能状态,PLC 在每个扫描周期都会读、写一次 IN/OUT 接口参数,偶尔会覆盖 3D 测量系统已发送的数据。为避免此问题,MM MSR Interface 数据块中的 ToCamera 和 FromCamera 结构体数据应分别作为功能块的 OUT 接口参数和IN接口参数。

通信流程

Siemens S7 Client 通信流程如下图所示。

查看输入信号表输出信号表了解各信号含义。
handshake-workflow

输入信号表(从 PLC 到 Mech-MSR)

名称 说明 数据类型 DB 偏移量

CMD_ENABLE

使能

布尔值

0.0

CMD_TRIGGER

指令触发

布尔值

0.1

DATA_READ_FINISHED

数据读取完成

布尔值

0.2

RESET

复位输出数据

布尔值

0.3

BIT_SPARE_1

预留字段

布尔值

0.4

BIT_SPARE_2

预留字段

布尔值

0.5

BIT_SPARE_3

预留字段

布尔值

0.6

BIT_SPARE_4

预留字段

布尔值

0.7

BYTE_SPARE_1

预留字段

字节

1.0

BYTE_SPARE_2

预留字段

字节

2.0

BYTE_SPARE_3

预留字段

字节

3.0

COMMAND

指令码

整数

4.0

CMD_PARAM_1

指令参数1

整数

6.0

CMD_PARAM_2

指令参数2

整数

8.0

CMD_PARAM_3

指令参数3

整数

10.0

CMD_PARAM_4

指令参数4

整数

12.0

CMD_PARAM_5

指令参数5

整数

14.0

CMD_PARAM_6

指令参数6

整数

16.0

CMD_PARAM_7

指令参数7

整数

18.0

CMD_PARAM_8

指令参数8

整数

20.0

CMD_PARAM_9

指令参数9

整数

22.0

CMD_PARAM_10

指令参数10

整数

24.0

VAR_1

变量1

浮点数

26.0

VAR_2

变量2

浮点数

30.0

VAR_3

变量3

浮点数

34.0

VAR_4

变量4

浮点数

38.0

VAR_5

变量5

浮点数

42.0

VAR_6

变量6

浮点数

46.0

VAR_7

变量7

浮点数

50.0

VAR_8

变量8

浮点数

54.0

VAR_9

变量9

浮点数

58.0

VAR_10

变量10

浮点数

62.0

WORD_SPARE

预留字段

字(0~30)

66.0

CMD_ENABLE(使能)

仅当“使能”信号置为 1 时,其他输入信号才会被认为有效。

CMD_TRIGGER(指令触发)

当指令触发信号由 0 变为 1(上升沿)时,Mech-MSR 才会读取指令码和指令参数。当 Mech-MSR 返回指令触发ACK信号时,可将指令触发信号置为 0。

DATA_READ_FINISHED(数据读取完成)

PLC 完成数据读取后,将该信号置为 1。当数据就绪信号变为 0 后,才可将该信号置为 0。

RESET(复位输出数据)

当该信号置为 1 时,表示将 PLC 收到的判定结果和测量结果(输出)清空。此时,PLC 可发送新的指令,相关状态码也将复位。

COMMAND(指令码)

当前协议下,支持的指令及对应的指令码、指令参数如下表:

指令 指令码 指令参数 解释

execute

1

工程编号,一次只能设置 1 个。

用于触发工程并获取工程的判定结果和测量结果。

trigger

2

工程编号,可一次性设置 1~4 个。

用于触发工程运行。

return

3

工程编号,一次只能设置 1 个。

用于获取指定工程的判定结果和测量结果。

judge

4

用于获取指定工程的整体质量判定结果或单个测量项的质量判定结果。

value

5

主要用于获取指定工程的测量值。

recipe

6

工程编号、参数配方编号。

用于切换工程使用的参数配方。

solution

7

方案ID。

用于切换方案。

SetNumVar

8

全局变量的编号,一次只能设置 1 个。

用于给数值类型的全局变量设置值,其中变量值通过VAR_INPUT传入。

GetNumVar

9

全局变量的编号,一次只能设置 1 个。

用于读取数值类型全局变量的值,读取结果通过VALUE返回。

VAR_INPUT(变量输入)

执行SetNumVar指令时,设置的值写入VAR_INPUT

名称 说明 数据类型 DB 偏移量

VAR_1

变量1

浮点数

26.0

VAR_2

变量2

浮点数

30.0

VAR_3

变量3

浮点数

34.0

VAR_4

变量4

浮点数

38.0

VAR_5

变量5

浮点数

42.0

VAR_6

变量6

浮点数

46.0

VAR_7

变量7

浮点数

50.0

VAR_8

变量8

浮点数

54.0

VAR_9

变量9

浮点数

58.0

VAR_10

变量10

浮点数

62.0

输出信号表(从 Mech-MSR 到 PLC)

名称 说明 数据类型 DB 偏移量

HEARTBEAT

心跳信号

布尔值

128.0

TRIGGER_ACKNOWLEDGE

指令触发ACK

布尔值

128.1

DATA_READY

数据就绪

布尔值

128.2

EXEC_COMPLETED

指令执行完成

布尔值

128.3

BIT_SPARE_1

预留字段

布尔值

128.4

BIT_SPARE_2

预留字段

布尔值

128.5

BIT_SPARE_3

预留字段

布尔值

128.6

ERROR

错误

布尔值

128.7

OVERALL_JUDGE

综合判定结果

布尔值

129.0

JUDGE_SPARE_1

预留字段

布尔值

129.1

JUDGE_SPARE_2

预留字段

布尔值

129.2

JUDGE_SPARE_3

预留字段

布尔值

129.3

JUDGE_SPARE_4

预留字段

布尔值

129.4

JUDGE_SPARE_5

预留字段

布尔值

129.5

JUDGE_SPARE_6

预留字段

布尔值

129.6

JUDGE_SPARE_7

预留字段

布尔值

129.7

BYTE_SPARE_1

预留字段

字节

130.0

BYTE_SPARE_2

预留字段

字节

131.0

STATUS_CODE

状态码

整数

132.0

BYTE_SPARE_3

预留字段

字节

134.0

BYTE_SPARE_4

预留字段

字节

135.0

JUDGE

判定结果

布尔值(0~63)

136.0

VALUE

测量结果和变量值

浮点数(0~63)

144.0

HEARTBEAT(心跳信号)

系统心跳,1 秒反转一次。可用于判断 PLC 与 Mech-MSR 之间的通信连接处于正常状态还是中断状态。

TRIGGER_ACKNOWLEDGE(指令触发ACK)

当 Mech-MSR 收到指令触发信号的上升沿时,此信号将被置为 1。当指令触发信号为下降沿时,将此信号置为 0。

DATA_READY(数据就绪)

Mech-MSR 向输出端口写入数据,等待 PLC 读取。当数据读取完成信号为 1 时,将此信号置为 0。

EXEC_COMPLETED(指令执行完成)

当指令执行结束时,将此信号置为 1,表示指令已完成处理。

ERROR(错误)

当 Mech-MSR 返回的状态码不为 1 时,表示存在错误,此信号置为 1。

OVERALL_JUDGE(综合判定结果)

工程的综合判定结果,1 表示合格(OK),0 表示不合格(NG)。

需在Mech-MSR的输出管理窗口中为工程设定质量判定规则,并确定质量判定时需要考虑的测量项。完成配置后,才可以得到有效的质量判定结果。

STATUS_CODE(状态码)

Mech-MSR 可能返回的状态码如下:

  • 正常状态码:1,表示指令执行成功。

  • 错误状态码:-1、-2、-3、-4、-5。查看错误状态码说明了解详情。

JUDGE(判定结果)

输出管理窗口通信输出选项卡下,已添加测量项的质量判定结果,1 表示合格(OK),0 表示不合格(NG)。

对于单个工程,支持一次性输出至多 64 个判定结果。

VALUE(测量结果)

VALUE 模块可返回以下数据:

  • 输出管理窗口通信输出选项卡下,已添加测量项的测量结果。

  • 执行GetNumVar指令时,读取到的数值类型全局变量的值。

对于单个工程,支持一次性输出至多 64 个测量值。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。