LXM32A 交流伺服驱动装置用户手册

需积分: 13 7 下载量 69 浏览量 更新于2024-07-15 收藏 5.71MB PDF 举报
"LXM32A_Manual_ZH.pdf" 这篇文档是施耐德电气公司推出的LXM32A交流伺服驱动装置的产品手册,版本号为V1.08,发布日期为2014年4月。手册包含了该驱动器的详细技术信息和安全指南,旨在帮助用户正确安装、配置和使用这款产品。 在安全信息部分,手册强调了正确使用信息的重要性,指出文档中的信息并不完全保证产品在特定应用中的适用性和可靠性,用户或集成商需自行进行风险分析和测试。此外,施耐德电气对于因误用信息导致的后果不承担责任。文档版权属于施耐德电气,未经许可,禁止任何形式的复制。 在安装和使用LXM32A时,必须遵循所有适用的安全法规,只有制造商才能对组件进行维修,以确保安全和数据一致性。若在有技术安全要求的环境中使用,必须严格遵守使用说明,防止人身伤害和设备损坏。 手册还涵盖了设备的基本信息,如DC总线电压测量、安全功能和标准及术语。其中,DC总线电压测量涉及驱动器的电源管理,安全功能则可能包括过载保护、短路防护等,而标准和术语则是为了统一理解和操作流程。 在技术参数章节,手册详细列出了环境条件(如温度、湿度等)、机械参数(尺寸、重量等)以及电气参数(输出级别、不同电源电压下的性能数据)。例如,它分别提供了单相115Vac、230Vac,以及三相208Vac、400Vac和480Vac设备的电气参数数据,这些数据对于计算功率、电流和效率至关重要。 手册的其他部分可能包括设备的序言,如设备概述、组件与接口的描述、铭牌信息和型号代码的解释。这些内容有助于用户理解设备的功能、结构和定制选项。 LXM32A手册是全面了解和操作这款交流伺服驱动器的重要参考资料,它提供了必要的技术细节、安全指导和安装维护信息,帮助用户正确并安全地利用该设备。

# -*- coding: utf-8 -*- """ Created on Fri Mar 5 19:13:21 2021 @author: LXM """ import torch import torch.nn as nn from torch.autograd import Function class UpdateRange(nn.Module): def __init__(self, device): super(UpdateRange, self).__init__() self.device = device self.flag = 0 self.fmin = torch.zeros((1), dtype = torch.float32, device = self.device) self.fmax = torch.zeros((1), dtype = torch.float32, device = self.device) def Update(self, fmin, fmax): if self.flag == 0: self.flag = 1 new_fmin = fmin new_fmax = fmax else: new_fmin = torch.min(fmin, self.fmin) new_fmax = torch.max(fmax, self.fmax) self.fmin.copy_(new_fmin) self.fmax.copy_(new_fmax) @torch.no_grad() def forward(self, input): fmin = torch.min(input) fmax = torch.max(input) self.Update(fmin, fmax) class Round(Function): @staticmethod def forward(self, input): # output = torch.round(input) # output = torch.floor(input) output = input.int().float() return output @staticmethod def backward(self, output): input = output.clone() return input class Quantizer(nn.Module): def __init__(self, bits, device): super(Quantizer, self).__init__() self.bits = bits self.scale = 1 self.UpdateRange = UpdateRange(device) self.qmin = torch.tensor((-((1 << (bits - 1)) - 1)), device = device) self.qmax = torch.tensor((+((1 << (bits - 1)) - 1)), device = device) def round(self, input): output = Round.apply(input) return output def Quantization(self): quant_range = float(1 << (self.bits - 1)) float_range = torch.max(torch.abs(self.UpdateRange.fmin), torch.abs(self.UpdateRange.fmax)) scale = 1 for i in range(32): if torch.round(float_range * (1 << i)) < quant_range: scale = 1 << i else: break self.scale = scale def forward(self, input): if self.training: self.UpdateRange(input) self.Quantization() output = (torch.clamp(self.round(input * self.scale), self.qmin, self.qmax)) / self.scale return output

2023-07-10 上传