概述
Motion Control 系统常需要在由外部事件决定的时间点上检测和保存驱动轴的位置。外部事件比如有测头的信号沿。此时系统需要满足以下条件:
- 必须对多个测头进行检测。
- 发生一个测头事件时能保存多个轴上的位置值
功能说明
使用中央测头检测功能时,测头信号的时间点会由中央控制级进行采集和存储。接着控制系统会根据各个轴位置信号的采样值对各个测头时间点上的位置实际值进行插补。在 SINAMICS S120 中为此实现了 3 种检测方式。
通过参数p0684可设置以下检测方式:
- 使用握手 (p0684 = 0):出厂设置
- 不使用握手,2 个脉冲沿 (p0684 = 1):在RUN状态下可以设置 p0684 = 0 或 1。
- 不使用握手,多于 2 个脉冲沿 (p0684 = 16):每个测头测量多个脉冲沿,不使用握手:在“保存参数”和“重新上电”后,p0684 = 16 才生效。在“保存参数”和“重新上电”后,将 p0684 = 16 修改为 p0684 = 0 或 1 才生效。
不使用握手时无法确保标准 PROFIdrive 连接的故障安全性。“不使用握手”功能已为“集成”平台(例如 SIMOTION D425 中的 SINAMICS integrated)使能。若需确保测头识别的安全性,必须采用使用握手测量方案。
中央测量功能的 PROFIdrive 报文
- 报文 390:无测头
- 报文 391:有 2 个探针(当 p0684 = 0/1)
- 报文 392:有 6 个探针(当 p0684 = 0/1)
- 报文 393:有 8 个探针(当 p0684 = 0/1)
- 报文 394:无测头
- 报文 395:有 16 个探针时间戳(p0684 = 16)
使用/不使用握手的中央测量
两种测量方案有以下共性:
- 在 p0680 中设置输入端子
- 在 p0681 中设置同步信号信号源
- 在 p0682 中设置测头控制字信号源
- 通过 PROFIdrive 通讯接口进行传输
- 进行等时同步 PROFIdrive 同步和监控。
- 测量前提条件是控制系统和驱动的同步。
- PROFIBUS 周期(大 8ms)中,在 To 时间点接收设定值,在 Ti 时间点传输实际值。
- 时间戳:格式(驱动中递增,NC中递减)
- 为了将有效的测量时间零与无效的时间格式区别开,驱动中的有效时间戳每次增 1。在控制系统中,该时间错戳再次递减。
- 接口中的值“0”是无效的时间格式,表明无测量值存在。
- 控制字/状态字执行的定序器
- 监控(生命符号)
- 故障
说明
| ||
时间要求苛刻的数据传输 根据协议,对报文 39x 中的状态信息 E_DIGITAL 和 A_DIGITAL 没有的时间要求。E_DIGITAL 的输入和 A_DIGITAL 的输出根据通过 p2048 设置的 PROFIdrive PZD 采样时间进行,与 PROFIBUS 周期无关。根据模块,此参数可设置为 1 ms 至 16 ms 的值。因此在接收输出值和对输入值进行信息反馈时必须将时滞考虑在内。 测头状态字 MT_ZSW 尽管内容与 E_DIGITAL 相同,但是会直接传输至 PZD。因此对时间要求苛刻的应用必须使用测头或凸轮。 | ||
使用握手的中央测量
设置 p0684 = 0 激活“使用握手”的中央测头检测。您可以多在 4 个 DP 周期内分析每个测头的一个上升沿和/或下降沿。
TDP = PROFIBUS 周期(也为 DP 周期)
TMAPC = 主站应用周期(主站应用生成新的设定值的时帧)
- 在 MAPC 周期的时间点 To 上接收探针控制字(BICO p0682 到 PZD3)
- 测头控制字中的下降沿/上升沿引起控制位从 0 变 1 后,测量激活。
- 测量激活后,驱动会以数据总线周期(例如PROFIBUS周期:DP 周期)检查测量值是否存在。
- 若测量值存在,驱动将时间戳记录在 p0686 或 p0687 中。
- 时间戳一直传送,直到控制字中下降沿或上升沿的控制位置 0。之后相应时间戳会置 0。
- 测头控制字中的控制位从 1 变 0 后,测量关闭。
- 数据通过 PROFIdrive 报文 391、392 或 393 传输
不使用握手的中央测量
设置 p0684 = 1 激活“不使用握手”的中央测头检测。可在 2 个 DP 周期内同时检测每个测头的多 2 个信号沿。
前提条件
- TDP = TMAPC(占空比 = 1:1,不可采用减速比)
过程
测量激活后,驱动会以 DP 周期检查是否有测量值。
- 若测量值存在,驱动将时间戳记录在 p0686 或 p0687 中,并自动激活新测量。
- 若测量值不存在,驱动将时间戳记录在 p0686 或 p0687 中。
- 一个时间戳仅会被传输一次,直至其被零或新的时间戳覆盖。
- 读取测量值后会立即重新激活测量。
- 在采集新测头事件的同时,测量结果会在一个 DP 周期内传输至上级控制器,而不会进行结果检查。
- 您可以多在 2 个 DP 周期内检测每个测头的一个上升沿和一个下降沿。
- 数据通过 PROFIdrive 报文 391、392 或 393 传输
不使用握手的中央测量(多 16 个信号沿)
设置 p0684 = 16 激活“不使用握手”的中央测头检测。您可以多在一个 DP 周期内检测2个测头的16个脉冲沿。
DP 周期 = PROFIBUS 周期 = TDP
TMAPC = 主站应用周期(主站应用生成新的设定值的时帧)
- 一个DP周期内,每个测头多有8个上升沿和/或8个下降沿可供检测,测量结果保存在测量缓存中。
- 您可以为每个测头选择是否要考虑上升沿或下降沿。
- 测头控制字中信号沿引起控制位从 0 变为 1 后,循环测量激活。
- 在测量激活后测量缓存会被清空并初始化。
- 若缓存写满,则老的测量值会被覆盖(先入/先出原则)测头诊断字中的位“测量缓存已满”会提示存在丢失测量值的风险。
- 之后会对测量缓存进行循环清空,测量任务得出的测量值会被换算为时间戳。时间戳会根据时序保存在显示参数 r0565[0...15]中以继续传送,老的时间戳排在前面。
- 在有多个测头时,时间戳根据测*从低到高的顺序和测量时序填入报文块中。
- 在报文 395 中多可记录 16 个时间戳(MT_ZS)。
- 如果报文 395 中没有足够的位置记录测头的所有时间戳,MT_DIAG 中的位“报文已满”会置位。示例:
- 从第 1 测头传输 4 个值。
- 从第 2 测头传输 6 个值。
- 从第 3 测头仅传输前 6 个测量值,并删除剩余的测量值,并在 MT_DIAG 中报告“报文已满”。
- 被选中的测头始终会考虑所有信号沿,因此无法选中或撤销某个脉冲沿。
- 在采集新测头事件的同时会进行不使用握手的时间戳传输。一个 DP周期内只传送一个时间戳。然后时间戳会被零或新时间戳覆盖。
- 测头控制字中的下降沿/上升沿引起控制位从 1 变 0 后,循环测量关闭。
- 使用 PROFIdrive 报文 395 传输。
测头时间戳的 PZD 为 BICO 参数,在选择报文块时其会自动与新参数 r0565[16] 连接。
在激活“每个 DP 周期多个测量值”的测量功能后,所采集的时间戳会按照时序保存在 r0565[0...15]中,老的测量值将传输。
测头时间戳
测头时间戳基准MT_ZSB1...4用于测头时间戳MT_ZS_1...16在报文395中的位置。
一个测头时间戳基准 (MT_ZSB) 4 个测头时间戳 (MT_ZS) 的位置:
测头时间戳基准和对应的测头时间戳
测头时间戳基准 | 测头时间戳 | 位 |
---|---|---|
MT_ZSB1 | 基准 ZS1 | 位 0...3 |
基准 ZS2 | 位 4...7 | |
基准 ZS3 | 位 8...11 | |
基准 ZS4 | 位 12...15 | |
MT_ZSB2 | 基准 ZS5 | 位 0...3 |
基准 ZS6 | 位 4...7 | |
基准 ZS7 | 位 8...11 | |
基准 ZS8 | 位 12...15 | |
MT_ZSB3 | 基准 ZS9 | 位 0...3 |
基准 ZS10 | 位 4...7 | |
基准 ZS11 | 位 8...11 | |
基准 ZS12 | 位 12...15 | |
MT_ZSB4 | 基准 ZS13 | 位 0...3 |
基准 ZS14 | 位 4...7 | |
基准 ZS15 | 位 8...11 | |
基准 ZS16 | 位 12...15 |
MT_ZSB1 的位定义(r0566[0])
基准时间戳 | 测头位,二进制值 | 脉冲沿选择位 |
---|---|---|
基准MT_ZS1 | 位 0...2: | 位 3: |
000:MT1 的 MT_ZS1 001:MT2 的 MT_ZS1 010:MT3 的 MT_ZS1 011:MT4 的 MT_ZS1 100:MT5 的 MT_ZS1 101:MT6 的 MT_ZS1 110:MT7 的 MT_ZS1 111:MT8 的 MT_ZS1 | 0:MT_ZS1 下降沿 1:MT_ZS1 上升沿 | |
基准MT_ZS2 | 位 4...6: | 位 7: |
000:MT1 的 MT_ZS2 001:MT2 的 MT_ZS2 ‑ 110:MT7 的 MT_ZS2 111:MT8 的 MT_ZS2 | 0:MT_ZS2 下降沿 1:MT_ZS2 上升沿 | |
基准MT_ZS3 | 位 8...10 | 位 11: |
000:MT1 的 MT_ZS3 001:MT2 的 MT_ZS3 ‑ 110:MT7 的 MT_ZS3 111:MT8 的 MT_ZS3 | 0:MT_ZS3 下降沿 1:MT_ZS3 上升沿 | |
基准MT_ZS4 | 位 12...14 | 位 15 |
000:MT1 的 MT_ZS4 001:MT2 的 MT_ZS4 ‑ 110:MT7 的 MT_ZS4 111:MT8 的 MT_ZS4 | 0:MT_ZS4 下降沿 1:MT_ZS4 上升沿 |
用十六进制值确定测头基准值的例子:
- 0000 = 0 hex = 测头 1 的时间戳,下降沿
- 1000 = 8 hex = 测头 1 的时间戳,上升沿
- 0001 = 1 hex = 测头 2 的时间戳,下降沿
- 1001 = 9 hex = 测头 2 的时间戳,上升沿
测量缓存
控制单元 CU 320-2 或 CU 310-2 上每个测量脉冲输入端多可存储16个测量值(8个上升沿、8个下降沿)。
上升沿和下降沿的测量值会依次写入存储器中。若在存储器已满的情况下出现了新的测量值,则所有数值会下滑一位,老的值被删除。也就是说,存储器上溢时总是只保存的16个值。在读取数值时,总是先读出存储器中老的值。其他数值会下滑一位,留出上面的位置录入新值(FIFO 原则)。
备注
除了上文介绍的方法外,还有其他功能可用于读取测头状态和检测测量值。
示例
EPOS 针对特定轴控制其测头。控制系统可以读取测头的方式和测头相连,将读出的信息集成到驱动报文中。